getList() {
+ return list;
+ }
+
+ @NonNull
+ @Override
+ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_msg_message, parent, false));
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
+ holder.setData(list.get(position), position);
+ }
+
+ @Override
+ public int getItemCount() {
+ return list.size();
+ }
+
+ public class ViewHolder extends RecyclerView.ViewHolder {
+ ImageView avatar;
+ TextView name;
+ TextView content;
+ TextView time;
+ TextView read;
+
+ public ViewHolder(@NonNull View itemView) {
+ super(itemView);
+ avatar = itemView.findViewById(R.id.msg_message_avatar);
+ name = itemView.findViewById(R.id.msg_message_title);
+ content = itemView.findViewById(R.id.msg_message_content);
+ time = itemView.findViewById(R.id.msg_message_content_time);
+ read = itemView.findViewById(R.id.msg_message_content_not_read);
+ }
+
+ public void setData(MsgMessageBean bean, int position) {
+ if (bean.isNotRead()) {
+ read.setVisibility(View.VISIBLE);
+ read.setText(bean.getNotReadNum() + "");
+ } else {
+ read.setVisibility(View.GONE);
+ }
+ ImgLoader.display(mContext, bean.getAvatar(), avatar);
+ name.setText(bean.getNickname());
+ content.setText(bean.getContent());
+ time.setText(String.format("·%s", bean.getTime()));
+ }
+ }
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgGreetConfigBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgGreetConfigBean.java
new file mode 100644
index 000000000..72c6b5b2d
--- /dev/null
+++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgGreetConfigBean.java
@@ -0,0 +1,39 @@
+package com.shayu.onetoone.bean;
+
+import com.yunbao.common.bean.BaseModel;
+
+public class MsgGreetConfigBean extends BaseModel {
+ private int id;
+ private String content;
+
+ public MsgGreetConfigBean(String content) {
+ this.content = content;
+ }
+
+ public MsgGreetConfigBean() {
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ @Override
+ public String toString() {
+ return "MsgGreetConfigBean{" +
+ "id=" + id +
+ ", content='" + content + '\'' +
+ '}';
+ }
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgMessageBean.java b/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgMessageBean.java
new file mode 100644
index 000000000..c46db4e75
--- /dev/null
+++ b/OneToOne/src/main/java/com/shayu/onetoone/bean/MsgMessageBean.java
@@ -0,0 +1,85 @@
+package com.shayu.onetoone.bean;
+
+import com.yunbao.common.bean.BaseModel;
+
+public class MsgMessageBean extends BaseModel {
+ private int id;
+ private String avatar;
+ private String nickname;
+ private String content;
+ private String time;
+ private boolean isNotRead;//是否有未读
+ private int notReadNum;//未读数量
+
+ public MsgMessageBean() {
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getAvatar() {
+ return avatar;
+ }
+
+ public void setAvatar(String avatar) {
+ this.avatar = avatar;
+ }
+
+ public String getNickname() {
+ return nickname;
+ }
+
+ public void setNickname(String nickname) {
+ this.nickname = nickname;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+
+ public boolean isNotRead() {
+ return isNotRead;
+ }
+
+ public void setNotRead(boolean notRead) {
+ isNotRead = notRead;
+ }
+
+ public int getNotReadNum() {
+ return notReadNum;
+ }
+
+ public void setNotReadNum(int notReadNum) {
+ this.notReadNum = notReadNum;
+ }
+
+ @Override
+ public String toString() {
+ return "MsgMessageBean{" +
+ "id=" + id +
+ ", avatar='" + avatar + '\'' +
+ ", nickname='" + nickname + '\'' +
+ ", content='" + content + '\'' +
+ ", time='" + time + '\'' +
+ ", isNotRead=" + isNotRead +
+ ", notReadNum=" + notReadNum +
+ '}';
+ }
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java b/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java
new file mode 100644
index 000000000..ce35c8fe3
--- /dev/null
+++ b/OneToOne/src/main/java/com/shayu/onetoone/dialog/MsgMoreDialog.java
@@ -0,0 +1,43 @@
+package com.shayu.onetoone.dialog;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.lxj.xpopup.core.AttachPopupView;
+import com.shayu.onetoone.R;
+import com.shayu.onetoone.manager.RouteManager;
+
+public class MsgMoreDialog extends AttachPopupView implements View.OnClickListener {
+ View config, read;
+
+ public MsgMoreDialog(@NonNull Context context) {
+ super(context);
+ }
+
+ @Override
+ protected int getImplLayoutId() {
+ return R.layout.dialog_msg_more;
+ }
+
+ @Override
+ protected void onCreate() {
+ super.onCreate();
+ config = findViewById(R.id.ll_config);
+ read = findViewById(R.id.ll_read);
+ config.setOnClickListener(this);
+ read.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ if (id == R.id.ll_config) {
+ RouteManager.forwardMsgMoreConfigActivity();
+ } else if (id == R.id.ll_read) {
+
+ }
+ dismiss();
+ }
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java
new file mode 100644
index 000000000..b7052c4ea
--- /dev/null
+++ b/OneToOne/src/main/java/com/shayu/onetoone/manager/RouteManager.java
@@ -0,0 +1,28 @@
+package com.shayu.onetoone.manager;
+
+import com.alibaba.android.arouter.launcher.ARouter;
+
+/**
+ * 路由跳转Activity
+ */
+public class RouteManager {
+ public static final String ACTIVITY_MAIN = "/activity/MainActivity";
+ public static final String ACTIVITY_MSG_MORE_CONFIG_ACTIVITY = "/activity/MsgMoreConfigActivity";
+ public static final String ACTIVITY_MSG_CHAT = "/activity/ChatActivity";
+
+
+ public static void forwardMainActivity() {
+ ARouter.getInstance().build(ACTIVITY_MAIN)
+ .navigation();
+ }
+
+ public static void forwardMsgMoreConfigActivity() {
+ ARouter.getInstance().build(ACTIVITY_MSG_MORE_CONFIG_ACTIVITY)
+ .navigation();
+ }
+
+ public static void forwardMsgChatActivity() {
+ ARouter.getInstance().build(ACTIVITY_MSG_CHAT)
+ .navigation();
+ }
+}
diff --git a/OneToOne/src/main/java/com/shayu/onetoone/utils/NeverCrashUtils.java b/OneToOne/src/main/java/com/shayu/onetoone/utils/NeverCrashUtils.java
new file mode 100644
index 000000000..6758587d8
--- /dev/null
+++ b/OneToOne/src/main/java/com/shayu/onetoone/utils/NeverCrashUtils.java
@@ -0,0 +1,157 @@
+package com.shayu.onetoone.utils;
+
+import android.app.Application;
+import android.content.Context;
+import android.os.Build;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.yunbao.common.bean.CrashSaveBean;
+import com.yunbao.common.utils.AppManager;
+import com.yunbao.common.utils.FileUtil;
+import com.yunbao.common.utils.SpUtil;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Arrays;
+
+/**
+ * @ClassName NeverCrashUtils
+ * @Description 全局捕获异常
+ */
+public class NeverCrashUtils {
+
+ private final static String TAG = NeverCrashUtils.class.getSimpleName();
+ private final static NeverCrashUtils INSTANCE = new NeverCrashUtils();
+
+ private boolean debugMode;
+ private MainCrashHandler mainCrashHandler;
+ private UncaughtCrashHandler uncaughtCrashHandler;
+
+ private NeverCrashUtils() {
+ }
+
+ public static NeverCrashUtils getInstance() {
+ return INSTANCE;
+ }
+
+ private synchronized MainCrashHandler getMainCrashHandler() {
+ if (null == mainCrashHandler) {
+ mainCrashHandler = (t, e) -> {
+ };
+ }
+ return mainCrashHandler;
+ }
+
+ /**
+ * 主线程发生异常时的回调,可用于打印日志文件
+ *
+ * 注意跨线程操作的可能
+ */
+ public NeverCrashUtils setMainCrashHandler(MainCrashHandler mainCrashHandler) {
+ this.mainCrashHandler = mainCrashHandler;
+ return this;
+ }
+
+ private synchronized UncaughtCrashHandler getUncaughtCrashHandler() {
+ if (null == uncaughtCrashHandler) {
+ uncaughtCrashHandler = (t, e) -> {
+ };
+ }
+ return uncaughtCrashHandler;
+ }
+
+ /**
+ * 子线程发生异常时的回调,可用于打印日志文件
+ *
+ * 注意跨线程操作的可能
+ */
+ public NeverCrashUtils setUncaughtCrashHandler(UncaughtCrashHandler uncaughtCrashHandler) {
+ this.uncaughtCrashHandler = uncaughtCrashHandler;
+ return this;
+ }
+
+ private boolean isDebugMode() {
+ return debugMode;
+ }
+
+ /**
+ * debug模式,会打印log日志,且toast提醒发生异常,反之则都没有
+ */
+ public NeverCrashUtils setDebugMode(boolean debugMode) {
+ this.debugMode = debugMode;
+ return this;
+ }
+
+ /**
+ * 完成监听异常的注册
+ *
+ * @param application application
+ */
+ private boolean errorWhile = true;
+
+ public void register(Application application) {
+ //主线程异常拦截
+ new Handler(Looper.getMainLooper()).post(() -> {
+ while (errorWhile) {
+ try {
+ Looper.loop();
+ } catch (Throwable e) {
+ if (isDebugMode()) {
+ Log.e(TAG, "未捕获的主线程异常行为", e);
+ }
+ e.printStackTrace();
+ AppManager.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
+ FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()), throwableToString(e), "error.log");
+ getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
+ AppManager.runDebugCode(() -> errorWhile = false);
+ // return;
+ }
+ }
+ });
+/*
+ //子线程异常拦截
+ Thread.setDefaultUncaughtExceptionHandler((t, e) -> {
+ if (isDebugMode()) {
+ Log.e(TAG, "未捕获的子线程异常行为", e);
+ }
+ e.printStackTrace();
+ Toast.makeText(application, "发生闪退", Toast.LENGTH_SHORT).show();
+ FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()),throwableToString(e),"error.log");
+ getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
+ getUncaughtCrashHandler().uncaughtException(t, e);
+
+ });*/
+ }
+
+ public interface MainCrashHandler {
+ void mainException(Thread t, Throwable e);
+ }
+
+ public interface UncaughtCrashHandler {
+ void uncaughtException(Thread t, Throwable e);
+ }
+
+ private static String throwableToString(Throwable e) {
+ StringWriter writer = new StringWriter();
+ writer.write("time=" + System.currentTimeMillis() + "\n");
+ writer.write("AndroidVersion=" + Build.VERSION.SDK_INT + "\n");
+ writer.write("AndroidName=" + Build.VERSION.RELEASE + "\n");
+ writer.write("PhoneName=" + Build.BRAND + "\n");
+ writer.write("Phone=" + Build.MODEL + "\n");
+ writer.write("CPU=" + Arrays.toString(Build.SUPPORTED_ABIS) + "\n");
+ writer.write("runTime=" + (System.currentTimeMillis() - CrashSaveBean.getInstance().getStartTime()) + "\n");
+ writer.write("enterRoom=" + CrashSaveBean.getInstance().getEnterRoom() + "\n");
+ writer.write("slidingRoom=" + CrashSaveBean.getInstance().getSlidingRoom() + "\n");
+ writer.write("playSvga=" + CrashSaveBean.getInstance().getPlaySvga() + "\n");
+ writer.write("ActivitySize=" + CrashSaveBean.getInstance().getActivitySize() + "\n");
+ writer.write("UserData=" + SpUtil.getInstance().getStringValue(SpUtil.USER_INFO) + "\n");
+ writer.write("[ERROR]");
+ PrintWriter printWriter = new PrintWriter(writer);
+ e.printStackTrace(printWriter);
+ return writer.toString();
+ }
+}
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_apply.xml b/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_apply.xml
new file mode 100644
index 000000000..c42d29374
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_apply.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_cancel.xml b/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_cancel.xml
new file mode 100644
index 000000000..fd834efe6
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_msg_greet_config_btn_cancel.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_msg_more_config.xml b/OneToOne/src/main/res/drawable/bg_msg_more_config.xml
new file mode 100644
index 000000000..91eccf1db
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_msg_more_config.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
- #d000000
+ - 0
+ - 4
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_msg_more_config_img.xml b/OneToOne/src/main/res/drawable/bg_msg_more_config_img.xml
new file mode 100644
index 000000000..8ab9e41fe
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_msg_more_config_img.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
- #d000000
+ - 0
+ - 4
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_msg_more_config_top.xml b/OneToOne/src/main/res/drawable/bg_msg_more_config_top.xml
new file mode 100644
index 000000000..7961a714c
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_msg_more_config_top.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
- #d000000
+ - 0
+ - 4
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/drawable/bg_red_point.xml b/OneToOne/src/main/res/drawable/bg_red_point.xml
new file mode 100644
index 000000000..685b0aef1
--- /dev/null
+++ b/OneToOne/src/main/res/drawable/bg_red_point.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout-v26/item_msg_message.xml b/OneToOne/src/main/res/layout-v26/item_msg_message.xml
new file mode 100644
index 000000000..b739809f1
--- /dev/null
+++ b/OneToOne/src/main/res/layout-v26/item_msg_message.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/activity_launcher.xml b/OneToOne/src/main/res/layout/activity_launcher.xml
index 2c09d16ba..d2960a407 100644
--- a/OneToOne/src/main/res/layout/activity_launcher.xml
+++ b/OneToOne/src/main/res/layout/activity_launcher.xml
@@ -5,6 +5,6 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".activitys.LauncherActivity">
+ tools:context=".activity.LauncherActivity">
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/activity_main.xml b/OneToOne/src/main/res/layout/activity_main.xml
index 24e3acc4f..9853df0ee 100644
--- a/OneToOne/src/main/res/layout/activity_main.xml
+++ b/OneToOne/src/main/res/layout/activity_main.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".activitys.MainActivity">
+ tools:context=".activity.MainActivity">
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/activity_msg_config.xml b/OneToOne/src/main/res/layout/activity_msg_config.xml
new file mode 100644
index 000000000..27daaaf23
--- /dev/null
+++ b/OneToOne/src/main/res/layout/activity_msg_config.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/dialog_msg_more.xml b/OneToOne/src/main/res/layout/dialog_msg_more.xml
new file mode 100644
index 000000000..c14bb9668
--- /dev/null
+++ b/OneToOne/src/main/res/layout/dialog_msg_more.xml
@@ -0,0 +1,61 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/fragment_msg_message.xml b/OneToOne/src/main/res/layout/fragment_msg_message.xml
index 77d9ef65f..4152d31e2 100644
--- a/OneToOne/src/main/res/layout/fragment_msg_message.xml
+++ b/OneToOne/src/main/res/layout/fragment_msg_message.xml
@@ -1,6 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/item_msg_greet_config.xml b/OneToOne/src/main/res/layout/item_msg_greet_config.xml
new file mode 100644
index 000000000..9f1e58b07
--- /dev/null
+++ b/OneToOne/src/main/res/layout/item_msg_greet_config.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/item_msg_message.xml b/OneToOne/src/main/res/layout/item_msg_message.xml
new file mode 100644
index 000000000..03fb56c77
--- /dev/null
+++ b/OneToOne/src/main/res/layout/item_msg_message.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/rc_conversation_fragment.xml b/OneToOne/src/main/res/layout/rc_conversation_fragment.xml
new file mode 100644
index 000000000..ab8e7277a
--- /dev/null
+++ b/OneToOne/src/main/res/layout/rc_conversation_fragment.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/view_activity_title.xml b/OneToOne/src/main/res/layout/view_activity_title.xml
new file mode 100644
index 000000000..9cb803bf5
--- /dev/null
+++ b/OneToOne/src/main/res/layout/view_activity_title.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/layout/view_msg_greet_config_add.xml b/OneToOne/src/main/res/layout/view_msg_greet_config_add.xml
new file mode 100644
index 000000000..10720b4df
--- /dev/null
+++ b/OneToOne/src/main/res/layout/view_msg_greet_config_add.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/bg_msg_more.png b/OneToOne/src/main/res/mipmap-xxhdpi/bg_msg_more.png
new file mode 100644
index 000000000..b1502ec33
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/bg_msg_more.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_message_tab_you.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_message_tab_right.png
similarity index 100%
rename from OneToOne/src/main/res/mipmap-xxhdpi/ic_message_tab_you.png
rename to OneToOne/src/main/res/mipmap-xxhdpi/ic_message_tab_right.png
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config.png
new file mode 100644
index 000000000..75415ff1f
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add.png
new file mode 100644
index 000000000..130b8e37b
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add_image.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add_image.png
new file mode 100644
index 000000000..6f3c54a7c
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_add_image.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_del.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_del.png
new file mode 100644
index 000000000..9575865d4
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_del.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_edit.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_edit.png
new file mode 100644
index 000000000..67f470a5e
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_config_edit.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_read.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_read.png
new file mode 100644
index 000000000..24e17fe04
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_msg_more_read.png differ
diff --git a/OneToOne/src/main/res/mipmap-xxhdpi/ic_top_break.png b/OneToOne/src/main/res/mipmap-xxhdpi/ic_top_break.png
new file mode 100644
index 000000000..35916e402
Binary files /dev/null and b/OneToOne/src/main/res/mipmap-xxhdpi/ic_top_break.png differ
diff --git a/OneToOne/src/main/res/values/style.xml b/OneToOne/src/main/res/values/style.xml
new file mode 100644
index 000000000..9b54d20db
--- /dev/null
+++ b/OneToOne/src/main/res/values/style.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 7d45ccc5a..e5625c196 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.fabric.io/public' }
- maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
+ maven { url 'https://maven.faceunity.com/repository/maven-public/' }//美颜库
google()
mavenCentral()
}
@@ -37,9 +37,9 @@ allprojects {
maven { url "https://mvn.mob.com/android" }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
- maven { url 'http://developer.huawei.com/repo'}//华为库
+ maven { url 'https://developer.huawei.com/repo'}//华为库
maven { url 'https://maven.fabric.io/public' }
- maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
+ maven { url 'https://maven.faceunity.com/repository/maven-public/' }//美颜库
maven { url "https://jitpack.io" }
google() // Google's Maven repository
}
diff --git a/gradle.properties b/gradle.properties
index e850a38e3..2a9224bc0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -13,7 +13,7 @@
#Thu Feb 04 00:05:45 CST 2021
android.injected.testOnly=false
org.gradle.daemon=true
-org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
android.useAndroidX=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 9276a5849..d8213d257 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,4 +1,4 @@
-#Mon Sep 17 11:16:30 CST 2018
+#Thu Sep 28 15:02:07 CST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME