diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 88b48481f..f980b5087 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -154,6 +154,9 @@
+
diff --git a/app/src/main/java/com/shayu/phonelive/AppContext.java b/app/src/main/java/com/shayu/phonelive/AppContext.java
index ee41cd019..e4815b9e9 100644
--- a/app/src/main/java/com/shayu/phonelive/AppContext.java
+++ b/app/src/main/java/com/shayu/phonelive/AppContext.java
@@ -184,6 +184,9 @@ public class AppContext extends CommonAppContext {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
activities.add(new WeakReference<>(activity));
+ if(activity instanceof LoginActivity){
+ AppManager.getInstance().clear();
+ }
CrashSaveBean.getInstance().setActivitySize(activities);
AppManager.getInstance().addActivity(activity);
}
diff --git a/app/tmp/full-r8-config.txt b/app/tmp/full-r8-config.txt
index d6a3ce2f8..d1d124d29 100644
--- a/app/tmp/full-r8-config.txt
+++ b/app/tmp/full-r8-config.txt
@@ -1,4 +1,4 @@
-# The proguard configuration file for the following section is E:\pdlsy\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
+# The proguard configuration file for the following section is C:\Users\58381\Documents\AndroidProject\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
#
@@ -95,8 +95,8 @@
# These classes are duplicated between android.jar and core-lambda-stubs.jar.
-dontnote java.lang.invoke.**
-# End of content from E:\pdlsy\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
-# The proguard configuration file for the following section is E:\pdlsy\pandorapan\app\proguard-rules.pro
+# End of content from C:\Users\58381\Documents\AndroidProject\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
+# The proguard configuration file for the following section is C:\Users\58381\Documents\AndroidProject\pandorapan\app\proguard-rules.pro
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt
@@ -377,6 +377,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class tech.sud.mgp.hello.ui.main.settings.model.** {*;}
-keep class tech.sud.mgp.hello.ui.main.nft.model.** {*;}
-keep class tech.sud.mgp.hello.common.event.model.** {*;}
+-keep class tech.sud.mgp.**{*;}
+
+-keep class bitter.jnibridge.** { *; }
+-keep class com.google.androidgamesdk.** { *; }
+-keep class com.unity3d.** { *; }
+-keep class do.do.do.** { *; }
+-keep class do.if.do.** { *; }
+-keep class for.do.** { *; }
+-keep class if.do.do.do.** { *; }
+-keep class org.fmod.** { *; }
+-keep class tech.sud.** { *; }
+-keep class tech.unity3d.** { *; }
-keep class com.yunbao.common.sud.** {*;}
@@ -399,8 +411,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.qiniu.**{public ();}
-ignorewarnings
-# End of content from E:\pdlsy\pandorapan\app\proguard-rules.pro
-# The proguard configuration file for the following section is E:\pdlsy\pandorapan\app\build\intermediates\aapt_proguard_file\release\processReleaseResources\aapt_rules.txt
+# End of content from C:\Users\58381\Documents\AndroidProject\pandorapan\app\proguard-rules.pro
+# The proguard configuration file for the following section is C:\Users\58381\Documents\AndroidProject\pandorapan\app\build\intermediates\aapt_proguard_file\release\processReleaseResources\aapt_rules.txt
-keep class androidx.core.app.CoreComponentFactory { (); }
-keep class androidx.core.content.FileProvider { (); }
-keep class androidx.core.content.FileProvider4Utils { (); }
@@ -502,6 +514,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.yunbao.main.activity.EditUserHobbyActivity { (); }
-keep class com.yunbao.main.activity.EntryActivity { (); }
-keep class com.yunbao.main.activity.FansActivity { (); }
+-keep class com.yunbao.main.activity.FeedbackActivity { (); }
+-keep class com.yunbao.main.activity.FeedbackEditActivity { (); }
+-keep class com.yunbao.main.activity.FeedbackSuccessActivity { (); }
-keep class com.yunbao.main.activity.FindPwdActivity { (); }
-keep class com.yunbao.main.activity.FollowActivity { (); }
-keep class com.yunbao.main.activity.LanguageSettingActivity { (); }
@@ -901,6 +916,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.yunbao.common.views.AutoSplitTextView { (android.content.Context, android.util.AttributeSet); }
+-keep class com.yunbao.common.views.CustomLayout { (android.content.Context, android.util.AttributeSet); }
+
-keep class com.yunbao.common.views.FlowLayout { (android.content.Context, android.util.AttributeSet); }
-keep class com.yunbao.common.views.MyFrameLayout2 { (android.content.Context, android.util.AttributeSet); }
@@ -1064,8 +1081,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keepclassmembers class * { *** videoEditClick(android.view.View); }
-# End of content from E:\pdlsy\pandorapan\app\build\intermediates\aapt_proguard_file\release\processReleaseResources\aapt_rules.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
+# End of content from C:\Users\58381\Documents\AndroidProject\pandorapan\app\build\intermediates\aapt_proguard_file\release\processReleaseResources\aapt_rules.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
# Generated keep rule for Lifecycle observer adapter.
-if class com.lxj.xpopup.core.BasePopupView {
(...);
@@ -1074,8 +1091,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
(...);
}
-# End of content from F:\AS\gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1123,16 +1140,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
}
-# End of content from F:\AS\gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
-# The proguard configuration file for the following section is E:\pdlsy\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
+# The proguard configuration file for the following section is C:\Users\58381\Documents\AndroidProject\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
-# End of content from E:\pdlsy\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
+# End of content from C:\Users\58381\Documents\AndroidProject\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
-keepattributes *Annotation*
-# End of content from F:\AS\gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
@@ -1172,8 +1189,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
}
-# End of content from F:\AS\gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1214,8 +1231,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.gamingservices.GamingServices
-# End of content from F:\AS\gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1256,8 +1273,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.share.Share
-# End of content from F:\AS\gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1298,8 +1315,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.login.Login
-# End of content from F:\AS\gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1340,12 +1357,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.common.Common
-# End of content from F:\AS\gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
-keep class com.davemorrissey.labs.subscaleview.** { *; }
-# End of content from F:\AS\gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1369,13 +1386,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
;
}
-# End of content from F:\AS\gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
#Picasso Proguard Config https://github.com/square/picasso
-dontwarn com.squareup.okhttp.**
-# End of content from F:\AS\gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1402,13 +1419,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations
-# End of content from F:\AS\gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
-keepclasseswithmembers class androidx.recyclerview.widget.RecyclerView$ViewHolder {
public final android.view.View *;
}
-# End of content from F:\AS\gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
# Proguard rules specific to the UI module.
# Constructor method accessed via reflection in StyledPlayerView
@@ -1449,8 +1466,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**
-# End of content from F:\AS\gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1476,8 +1493,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
public void suppressLayout(boolean);
public boolean isLayoutSuppressed();
}
-# End of content from F:\AS\gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
@@ -1506,8 +1523,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep @com.blankj.utilcode.util.ApiUtils$Api class *
-keepattributes *Annotation*
-# End of content from F:\AS\gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1548,8 +1565,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.applinks.AppLinks
-# End of content from F:\AS\gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1594,8 +1611,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.facebook.messenger.Messenger
-# End of content from F:\AS\gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1624,16 +1641,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
android.view.View findViewByAccessibilityIdTraversal(int);
}
-# End of content from F:\AS\gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
}
-# End of content from F:\AS\gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
-dontwarn jp.co.cyberagent.android.gpuimage.**
-keep public class * implements com.bumptech.glide.module.GlideModule
@@ -1643,8 +1660,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
public *;
}
-# End of content from F:\AS\gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
(...);
@@ -1660,8 +1677,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# Uncomment for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
-# End of content from F:\AS\gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\af9bdee4e01691bfa29595eaf6011f49\transformed\jetified-play-services-base-18.0.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\af9bdee4e01691bfa29595eaf6011f49\transformed\jetified-play-services-base-18.0.1\proguard.txt
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian;
@@ -1669,18 +1686,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-# End of content from F:\AS\gradle\caches\transforms-3\af9bdee4e01691bfa29595eaf6011f49\transformed\jetified-play-services-base-18.0.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\af9bdee4e01691bfa29595eaf6011f49\transformed\jetified-play-services-base-18.0.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
-dontwarn com.google.firebase.platforminfo.KotlinDetector
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder
-# End of content from F:\AS\gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\4566a60c961a57d307c42a2fd5514004\transformed\jetified-play-services-tasks-18.0.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\4566a60c961a57d307c42a2fd5514004\transformed\jetified-play-services-tasks-18.0.1\proguard.txt
-# End of content from F:\AS\gradle\caches\transforms-3\4566a60c961a57d307c42a2fd5514004\transformed\jetified-play-services-tasks-18.0.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\98374b479c7a7c4245d90ea630585909\transformed\jetified-play-services-basement-18.1.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\4566a60c961a57d307c42a2fd5514004\transformed\jetified-play-services-tasks-18.0.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\98374b479c7a7c4245d90ea630585909\transformed\jetified-play-services-basement-18.1.0\proguard.txt
# Needed when building against pre-Marshmallow SDK.
-dontwarn android.security.NetworkSecurityPolicy
@@ -1753,8 +1770,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-# End of content from F:\AS\gradle\caches\transforms-3\98374b479c7a7c4245d90ea630585909\transformed\jetified-play-services-basement-18.1.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\98374b479c7a7c4245d90ea630585909\transformed\jetified-play-services-basement-18.1.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1775,12 +1792,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
public ();
}
-# End of content from F:\AS\gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
# 本库模块专用的混淆规则
-# End of content from F:\AS\gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -1838,8 +1855,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
public ;
}
-# End of content from F:\AS\gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
();
}
@@ -1848,8 +1865,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
(android.app.Application);
}
-# End of content from F:\AS\gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
(androidx.lifecycle.SavedStateHandle);
}
@@ -1858,8 +1875,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
(android.app.Application,androidx.lifecycle.SavedStateHandle);
}
-# End of content from F:\AS\gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
+# End of content from C:\gradle-6.1.1\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
# When editing this file, update the following files as well:
# - META-INF/proguard/coroutines.pro
# - META-INF/com.android.tools/proguard/coroutines.pro
@@ -1887,8 +1904,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# An annotation used for build tooling, won't be directly accessed.
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-# End of content from F:\AS\gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
+# End of content from C:\gradle-6.1.1\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
# Allow R8 to optimize away the FastServiceLoader.
# Together with ServiceLoader optimization in R8
# this results in direct instantiation when loading Dispatchers.Main
@@ -1913,8 +1930,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
boolean getDEBUG() return false;
boolean getRECOVER_STACK_TRACES() return false;
}
-# End of content from F:\AS\gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
#GSON
# Retain Annotations for model objects
-keepattributes *Annotation*
@@ -1938,8 +1955,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keepclasseswithmembers class * {
@retrofit2.http.* ;
}
-# End of content from F:\AS\gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
+# End of content from C:\gradle-6.1.1\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
@@ -1952,16 +1969,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform
-# End of content from F:\AS\gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
+# End of content from C:\gradle-6.1.1\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
-# End of content from F:\AS\gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
-# End of content from F:\AS\gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
-keep class cn.rongcloud.xcrash.NativeHandler {
native ;
void crashCallback(...);
@@ -1969,22 +1986,22 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
void traceCallbackBeforeDump(...);
}
-# End of content from F:\AS\gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
# Proguard configuration.
-dontwarn com.squareup.okhttp.**
# References to Picasso are okay if the consuming app doesn't use it
-dontwarn com.squareup.picasso.Transformation
-# End of content from F:\AS\gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
-keep public class pl.droidsonroids.gif.GifIOException{(int, java.lang.String);}
#Prevents warnings for consumers not using AndroidX
-dontwarn androidx.annotation.**
-# End of content from F:\AS\gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
#https://github.com/leolin310148/ShortcutBadger/issues/46
-keep class me.leolin.shortcutbadger.impl.AdwHomeBadger { (...); }
-keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { (...); }
@@ -1995,8 +2012,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { (...); }
-keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { (...); }
-keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { (...); }
-# End of content from F:\AS\gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
# Add project specific ProGuard rules here.
# You can control the filterSet of applied configuration files using the
# proguardFiles setting in build.gradle.
@@ -2034,8 +2051,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# 保持反射不被混淆
-keepattributes EnclosingMethod
-# End of content from F:\AS\gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
@@ -2057,15 +2074,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-# End of content from F:\AS\gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
# 本库模块专用的混淆规则
-# End of content from F:\AS\gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3dd60f4554da3e797ddfca5958de5029\transformed\jetified-uyumao-1.1.2\proguard.txt
-
-# End of content from F:\AS\gradle\caches\transforms-3\3dd60f4554da3e797ddfca5958de5029\transformed\jetified-uyumao-1.1.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\21d010a917a570a947ff266441748328\transformed\jetified-SudMGP-1.3.3.1158\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\21d010a917a570a947ff266441748328\transformed\jetified-SudMGP-1.3.3.1158\proguard.txt
-keep class com.cocos.game.**{ *; }
-keep class tech.sud.runtime.**{ *; }
-keep class tech.sud.mgp.core.**{ *; }
@@ -2217,8 +2231,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-# End of content from F:\AS\gradle\caches\transforms-3\21d010a917a570a947ff266441748328\transformed\jetified-SudMGP-1.3.3.1158\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\9bc6fb118e278279304d710763b86c85\transformed\jetified-SudASR-1.3.3.1158\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\21d010a917a570a947ff266441748328\transformed\jetified-SudMGP-1.3.3.1158\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\9bc6fb118e278279304d710763b86c85\transformed\jetified-SudASR-1.3.3.1158\proguard.txt
-keep class com.microsoft.cognitiveservices.** { *; }
-keep class tech.sud.mgp.asr.azure.** { *; }
@@ -2233,8 +2247,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
*** *Callback(long);
}
-# End of content from F:\AS\gradle\caches\transforms-3\9bc6fb118e278279304d710763b86c85\transformed\jetified-SudASR-1.3.3.1158\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3d3f072f1af512d0e751a2c7c5e8b8ec\transformed\jetified-core-8.3.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\9bc6fb118e278279304d710763b86c85\transformed\jetified-SudASR-1.3.3.1158\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\3d3f072f1af512d0e751a2c7c5e8b8ec\transformed\jetified-core-8.3.1\proguard.txt
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
@@ -2261,8 +2275,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class com.faceunity.wrapper.faceunity {*;}
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
-# End of content from F:\AS\gradle\caches\transforms-3\3d3f072f1af512d0e751a2c7c5e8b8ec\transformed\jetified-core-8.3.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\3d3f072f1af512d0e751a2c7c5e8b8ec\transformed\jetified-core-8.3.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
# Proguard rules specific to the core module.
# Constructors accessed via reflection in DefaultRenderersFactory
@@ -2319,8 +2333,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
();
}
-# End of content from F:\AS\gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2339,8 +2353,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
();
}
-# End of content from F:\AS\gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2360,8 +2374,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
}
-# End of content from F:\AS\gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2382,8 +2396,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
*** get*();
}
-# End of content from F:\AS\gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
@@ -2419,8 +2433,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
java.lang.Object readResolve();
}
-# End of content from F:\AS\gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2444,8 +2458,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class androidx.media.** implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-# End of content from F:\AS\gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\4bf1220f49ce7953fbb445d1fb03d04a\transformed\core-1.8.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\4bf1220f49ce7953fbb445d1fb03d04a\transformed\core-1.8.0\proguard.txt
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
;
@@ -2463,8 +2477,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
;
}
-# End of content from F:\AS\gradle\caches\transforms-3\4bf1220f49ce7953fbb445d1fb03d04a\transformed\core-1.8.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\4bf1220f49ce7953fbb445d1fb03d04a\transformed\core-1.8.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
-keepattributes AnnotationDefault,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
@@ -2488,8 +2502,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
-# End of content from F:\AS\gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
# Proguard rules specific to the DataSource module.
# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening.
@@ -2503,8 +2517,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
();
}
-# End of content from F:\AS\gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
# Proguard rules specific to the extractor module.
# Methods accessed via reflection in DefaultExtractorsFactory
@@ -2522,8 +2536,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**
-# End of content from F:\AS\gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
# Proguard rules specific to the common module.
# Don't warn about checkerframework and Kotlin annotations
@@ -2547,20 +2561,20 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
# This is needed for ProGuard but not R8.
-keepclassmembernames class com.google.common.base.Function { *; }
-# End of content from F:\AS\gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl
-# End of content from F:\AS\gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
-keep class * extends androidx.room.RoomDatabase
-dontwarn androidx.room.paging.**
-# End of content from F:\AS\gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
# This Proguard rule ensures that ComponentInitializers are are neither shrunk nor obfuscated.
# This is because they are discovered and instantiated during application initialization.
-keep class * extends androidx.startup.Initializer {
@@ -2570,29 +2584,29 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-assumenosideeffects class androidx.startup.StartupLogger
-# End of content from F:\AS\gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\f137f81e3ba6bf4187612f01b8d596d6\transformed\jetified-transport-backend-cct-3.1.7\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\f137f81e3ba6bf4187612f01b8d596d6\transformed\jetified-transport-backend-cct-3.1.7\proguard.txt
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder
-# End of content from F:\AS\gradle\caches\transforms-3\f137f81e3ba6bf4187612f01b8d596d6\transformed\jetified-transport-backend-cct-3.1.7\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\f137f81e3ba6bf4187612f01b8d596d6\transformed\jetified-transport-backend-cct-3.1.7\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder
-# End of content from F:\AS\gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
-dontwarn com.google.firebase.components.Component$Instantiation
-dontwarn com.google.firebase.components.Component$ComponentType
-keep class * implements com.google.firebase.components.ComponentRegistrar
-keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar
-# End of content from F:\AS\gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
-# End of content from F:\AS\gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\3b7d5c4af95619f43e4d0ea1cb1bf304\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
+# End of content from C:\gradle-6.1.1\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\3b7d5c4af95619f43e4d0ea1cb1bf304\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
-keep,allowobfuscation @interface androidx.annotation.Keep
-keep @androidx.annotation.Keep class * {*;}
@@ -2612,8 +2626,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
@androidx.annotation.DoNotInline ;
}
-# End of content from F:\AS\gradle\caches\transforms-3\3b7d5c4af95619f43e4d0ea1cb1bf304\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\e7e2a2183722056abf9bd4188272512b\transformed\jetified-annotation-experimental-1.1.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\3b7d5c4af95619f43e4d0ea1cb1bf304\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\e7e2a2183722056abf9bd4188272512b\transformed\jetified-annotation-experimental-1.1.0\proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2638,8 +2652,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-dontwarn kotlin.annotation.Retention
-dontwarn kotlin.annotation.Target
-# End of content from F:\AS\gradle\caches\transforms-3\e7e2a2183722056abf9bd4188272512b\transformed\jetified-annotation-experimental-1.1.0\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\e7e2a2183722056abf9bd4188272512b\transformed\jetified-annotation-experimental-1.1.0\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Developer/android-sdk-osx/tools/proguard/proguard-android.txt
@@ -2661,8 +2675,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-keep class io.github.inflationx.calligraphy3.* { *; }
-keep class io.github.inflationx.calligraphy3.*$* { *; }
-# End of content from F:\AS\gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
-# The proguard configuration file for the following section is F:\AS\gradle\caches\transforms-3\a358ff6705c32d8c6337aefd4316f1b9\transformed\jetified-billing-5.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
+# The proguard configuration file for the following section is C:\gradle-6.1.1\caches\transforms-3\a358ff6705c32d8c6337aefd4316f1b9\transformed\jetified-billing-5.0.0\proguard.txt
# Keep the AIDL interface
-keep class com.android.vending.billing.** { *; }
@@ -2671,7 +2685,7 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
-dontwarn com.google.android.apps.common.proguard.UsedByReflection
-keepnames class com.android.billingclient.api.ProxyBillingActivity
-# End of content from F:\AS\gradle\caches\transforms-3\a358ff6705c32d8c6337aefd4316f1b9\transformed\jetified-billing-5.0.0\proguard.txt
+# End of content from C:\gradle-6.1.1\caches\transforms-3\a358ff6705c32d8c6337aefd4316f1b9\transformed\jetified-billing-5.0.0\proguard.txt
# The proguard configuration file for the following section is
# End of content from
\ No newline at end of file
diff --git a/common/src/main/java/com/yunbao/common/CommonAppConfig.java b/common/src/main/java/com/yunbao/common/CommonAppConfig.java
index 3183184e6..bb2d113d0 100644
--- a/common/src/main/java/com/yunbao/common/CommonAppConfig.java
+++ b/common/src/main/java/com/yunbao/common/CommonAppConfig.java
@@ -39,6 +39,7 @@ public class CommonAppConfig {
public static final boolean IS_UPLOAD_ERROR_LOG = getMetaDataBoolean("IS_UPLOAD_ERROR_LOG");
//是否为插件包模式
public static final boolean IS_PLUGIN_MODEL = getMetaDataBoolean("IS_PLUGIN_MODEL");
+ public static final String BUILD_TIME = getMetaDataString("BUILD_TIME");
//外部sd卡
public static final String DCMI_PATH = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath();
diff --git a/common/src/main/java/com/yunbao/common/bean/IMLoginModel.java b/common/src/main/java/com/yunbao/common/bean/IMLoginModel.java
index 1e3cab7d2..f0f2945b4 100644
--- a/common/src/main/java/com/yunbao/common/bean/IMLoginModel.java
+++ b/common/src/main/java/com/yunbao/common/bean/IMLoginModel.java
@@ -3,6 +3,8 @@ package com.yunbao.common.bean;
import android.text.TextUtils;
import com.google.gson.annotations.SerializedName;
+import com.yunbao.common.CommonAppConfig;
+import com.yunbao.common.utils.StringUtil;
import java.util.List;
@@ -421,7 +423,13 @@ public class IMLoginModel extends BaseModel {
}
public String getAvatar() {
- return avatar;
+ if ("/default.jpg".equals(avatar)) {
+ avatar = CommonAppConfig.HOST + avatar;
+ }
+ if (StringUtil.isEmpty(avatar)) {
+ return "";
+ }
+ return avatar.trim();
}
public IMLoginModel setAvatar(String avatar) {
diff --git a/common/src/main/java/com/yunbao/common/bean/MainMessageChatListTimer.java b/common/src/main/java/com/yunbao/common/bean/MainMessageChatListTimer.java
new file mode 100644
index 000000000..5ec6a8076
--- /dev/null
+++ b/common/src/main/java/com/yunbao/common/bean/MainMessageChatListTimer.java
@@ -0,0 +1,30 @@
+package com.yunbao.common.bean;
+
+import com.google.gson.annotations.SerializedName;
+import com.yunbao.common.utils.StringUtil;
+
+public class MainMessageChatListTimer extends BaseModel {
+ @SerializedName("uid")
+ private String uid;
+ @SerializedName("time")
+ private int time;
+
+ public MainMessageChatListTimer() {
+ }
+
+ public String getUid() {
+ return uid;
+ }
+
+ public void setUid(String uid) {
+ this.uid = uid;
+ }
+
+ public int getTime() {
+ return time;
+ }
+
+ public void setTime(int time) {
+ this.time = time;
+ }
+}
diff --git a/common/src/main/java/com/yunbao/common/bean/UserBean.java b/common/src/main/java/com/yunbao/common/bean/UserBean.java
index 2cd6e34b3..c314124d7 100644
--- a/common/src/main/java/com/yunbao/common/bean/UserBean.java
+++ b/common/src/main/java/com/yunbao/common/bean/UserBean.java
@@ -6,6 +6,7 @@ import android.text.TextUtils;
import com.alibaba.fastjson.annotation.JSONField;
import com.google.gson.annotations.SerializedName;
+import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.utils.StringUtil;
/**
@@ -417,7 +418,13 @@ public class UserBean implements Parcelable {
}
public String getAvatar() {
- return avatar;
+ if ("/default.jpg".equals(avatar)) {
+ avatar = CommonAppConfig.HOST + avatar;
+ }
+ if (StringUtil.isEmpty(avatar)) {
+ return "";
+ }
+ return avatar.trim();
}
public void setAvatar(String avatar) {
diff --git a/common/src/main/java/com/yunbao/common/dialog/DebugDialog.java b/common/src/main/java/com/yunbao/common/dialog/DebugDialog.java
index 48131bfbf..c65520ff4 100644
--- a/common/src/main/java/com/yunbao/common/dialog/DebugDialog.java
+++ b/common/src/main/java/com/yunbao/common/dialog/DebugDialog.java
@@ -15,6 +15,7 @@ import com.lzf.easyfloat.EasyFloat;
import com.lzf.easyfloat.enums.ShowPattern;
import com.lzf.easyfloat.interfaces.OnPermissionResult;
import com.lzf.easyfloat.permission.PermissionUtils;
+import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.adapter.DebugDialogAdapter;
import com.yunbao.common.utils.AppManager;
import com.yunbao.common.utils.ToastUtil;
@@ -129,6 +130,7 @@ public class DebugDialog {
recyclerView.setAdapter(adapter);
recyclerView.setBackgroundColor(Color.WHITE);
TextView textView = new TextView(mContext);
+ TextView buildTime = new TextView(mContext);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -137,6 +139,7 @@ public class DebugDialog {
}
});
params.put("debug弹窗", textView);
+ params.put("发包时间:" + CommonAppConfig.BUILD_TIME, buildTime);
adapter.setParamMap(params);
EasyFloat.with(mContext)
@@ -144,7 +147,6 @@ public class DebugDialog {
.setShowPattern(this.showPattern)
.setLayout(recyclerView)
.show();
- runnable.run(this);
Log.i("debug弹窗", "createView: 创建");
}
diff --git a/common/src/main/java/com/yunbao/common/glide/ImgLoader.java b/common/src/main/java/com/yunbao/common/glide/ImgLoader.java
index 045c9f413..43881950d 100644
--- a/common/src/main/java/com/yunbao/common/glide/ImgLoader.java
+++ b/common/src/main/java/com/yunbao/common/glide/ImgLoader.java
@@ -14,6 +14,7 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestBuilder;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
+import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.CustomTarget;
@@ -48,10 +49,10 @@ public class ImgLoader {
if (!contextIsExist(context)) {
return;
}
- if(StringUtil.isEmpty(url)){
+ if (StringUtil.isEmpty(url)) {
return;
}
- if(!url.startsWith("http")){
+ if (!url.startsWith("http")) {
return;
}
RequestBuilder builder = Glide.with(context)
@@ -159,11 +160,33 @@ public class ImgLoader {
displayAvatar(context, url, imageView, -1, -1);
}
+ public static void displayAvatarCircleCrop(Context context, String url, ImageView imageView) {
+ if (!contextIsExist(context)) {
+ return;
+ }
+ if (!contextIsExist(context) || imageView == null) {
+ return;
+ }
+ if (StringUtil.isEmpty(url)) {
+ return;
+ }
+ if (!url.startsWith("http")) {
+ imageView.setImageResource(R.mipmap.chat_head_mo);
+ return;
+ }
+ RequestBuilder builder = Glide.with(context)
+ .load(url)
+ .thumbnail(thumbnail)
+ .apply(RequestOptions.bitmapTransform(new CircleCrop()))
+ .error(R.mipmap.icon_avatar_placeholder);
+ builder.into(imageView);
+ }
+
public static void displayAvatar(Context context, String url, ImageView imageView, int width, int height) {
if (!contextIsExist(context) || imageView == null) {
return;
}
- if(StringUtil.isEmpty(url)){
+ if (StringUtil.isEmpty(url)) {
return;
}
if (!url.startsWith("http")) {
diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java
index cf0e9f038..f4b7acbaa 100644
--- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java
+++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java
@@ -51,6 +51,7 @@ import com.yunbao.common.bean.LiveRoomVoteModel;
import com.yunbao.common.bean.LiveStetUpStatusModel;
import com.yunbao.common.bean.LiveTaskModel;
import com.yunbao.common.bean.LiveUserMailBoxModel;
+import com.yunbao.common.bean.MainMessageChatListTimer;
import com.yunbao.common.bean.MedalAchievementModel;
import com.yunbao.common.bean.MessageChatIsAnchor;
import com.yunbao.common.bean.MessageChatUserBean;
@@ -1346,6 +1347,14 @@ public interface PDLiveApi {
@GET("/api/public/?service=User.userFeedbackRestrict")
Observable>> checkFeedback();
+ @GET("/api/public/?service=Pdlinfos.getOtherList")
+ Observable>> getOtherList(@Query("ids") String uids);
+
+ @GET("/api/public/?service=Pdlinfos.getRelation")
+ Observable>> getRelation(@Query("type") String type);
+ @GET("/api/public/?service=Pdlinfos.getIsLook")
+ Observable>> getIsLook(@Query("ids") String uids);
+
/**
*
* @param roomId 房间ID
diff --git a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java
index ddfba2000..b57535246 100644
--- a/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java
+++ b/common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java
@@ -55,6 +55,7 @@ import com.yunbao.common.bean.LiveRoomVoteModel;
import com.yunbao.common.bean.LiveStetUpStatusModel;
import com.yunbao.common.bean.LiveTaskModel;
import com.yunbao.common.bean.LiveUserMailBoxModel;
+import com.yunbao.common.bean.MainMessageChatListTimer;
import com.yunbao.common.bean.MedalAchievementModel;
import com.yunbao.common.bean.MessageChatIsAnchor;
import com.yunbao.common.bean.MessageChatUserBean;
@@ -3887,8 +3888,61 @@ public class LiveNetManager {
}).isDisposed();
}
+ public void getOtherList(String uids, HttpCallback> callback) {
+ API.get().pdLiveApi(mContext)
+ .getOtherList(uids)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Consumer>>() {
+ @Override
+ public void accept(ResponseModel> messageUserInfoBeanResponseModel) throws Exception {
+ if (callback != null) {
+ callback.onSuccess(messageUserInfoBeanResponseModel.getData().getInfo());
+ }
+ }
+ }, new Consumer() {
+ @Override
+ public void accept(Throwable throwable) throws Exception {
+ throwable.printStackTrace();
+ if (callback != null) {
+ callback.onError(mContext.getString(R.string.net_error));
+ }
+ }
+ }).isDisposed();
+ }
-
+ public void getRelation(String type, HttpCallback> callback) {
+ API.get().pdLiveApi(mContext)
+ .getRelation(type)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(messageUserInfoBeanResponseModel -> {
+ if (callback != null) {
+ callback.onSuccess(messageUserInfoBeanResponseModel.getData().getInfo());
+ }
+ }, throwable -> {
+ throwable.printStackTrace();
+ if (callback != null) {
+ callback.onError(mContext.getString(R.string.net_error));
+ }
+ }).isDisposed();
+ }
+ public void getIsLook(String uids, HttpCallback> callback) {
+ API.get().pdLiveApi(mContext)
+ .getIsLook(uids)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(messageUserInfoBeanResponseModel -> {
+ if (callback != null) {
+ callback.onSuccess(messageUserInfoBeanResponseModel.getData().getInfo());
+ }
+ }, throwable -> {
+ throwable.printStackTrace();
+ if (callback != null) {
+ callback.onError(mContext.getString(R.string.net_error));
+ }
+ }).isDisposed();
+ }
private MultipartBody.Part createUploadFile(File file) {
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
return MultipartBody.Part.createFormData("file", file.getName(), requestBody);
diff --git a/common/src/main/java/com/yunbao/common/interfaces/OnRecyclerListRefreshListener.java b/common/src/main/java/com/yunbao/common/interfaces/OnRecyclerListRefreshListener.java
new file mode 100644
index 000000000..9b227d668
--- /dev/null
+++ b/common/src/main/java/com/yunbao/common/interfaces/OnRecyclerListRefreshListener.java
@@ -0,0 +1,5 @@
+package com.yunbao.common.interfaces;
+
+public interface OnRecyclerListRefreshListener {
+ void onFinish(T t);
+}
diff --git a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java
index 01a354eff..863aad832 100644
--- a/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java
+++ b/common/src/main/java/com/yunbao/common/manager/IMLoginManager.java
@@ -427,7 +427,12 @@ public class IMLoginManager extends BaseCacheManager {
public boolean isGiftEffect() {
return getBoolean(GiftEffect, !(Build.VERSION.SDK_INT < Build.VERSION_CODES.O));
}
-
+ public void setAnchorB(int isAnchor) {
+ put("isAnchorB", isAnchor);
+ }
+ public int getAnchorB(){
+ return getInt("isAnchorB", -1);
+ }
public void setLiveNotifySettings(boolean isTrue) {
put(LIVE_NOTIFY_SETTINGS, isTrue);
}
@@ -584,4 +589,5 @@ public class IMLoginManager extends BaseCacheManager {
}
});
}
+
}
diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java
index e08cb5c16..27a7af298 100644
--- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java
+++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java
@@ -5,6 +5,7 @@ import android.util.Log;
import com.google.gson.Gson;
import com.yunbao.common.bean.IMLoginModel;
+import com.yunbao.common.utils.ToastUtil;
import java.util.List;
@@ -28,11 +29,41 @@ public class PDMessageInterceptor implements MessageInterceptor {
TextMessage textMessage = (TextMessage) message.getContent();
String context = textMessage.getContent();
//符合条件的接受消息不做展示
- if (context.contains("LivePK")||context.contains("LiveDRPK")||context.contains("LiveRandomPK")) {
+ if (context.contains("LivePK") ||
+ context.contains("LivePKDRLM") ||
+ context.contains("LiveDRPK") ||
+ context.contains("LiveRandomPK")) {
Message[] messages = new Message[]{message};
- Log.e("PDMessageInterceptor", textMessage.getContent());
+ Log.e("PDMessageInterceptor", message.getMessageId() + "|" + textMessage.getContent());
//删除消息
- IMCenter.getInstance().deleteRemoteMessages(Conversation.ConversationType.PRIVATE, message.getTargetId(), messages, null);
+ IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE, message.getTargetId(), new int[]{
+ message.getMessageId()
+ }, new RongIMClient.ResultCallback() {
+ @Override
+ public void onSuccess(Boolean aBoolean) {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除成功:" + aBoolean+" "+ message.getMessageId());
+ }
+
+ @Override
+ public void onError(RongIMClient.ErrorCode errorCode) {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除失败:" + errorCode);
+ ToastUtil.showDebug("删除消息失败:"+errorCode.code+"|"+errorCode.msg);
+ }
+ });
+
+ IMCenter.getInstance().deleteRemoteMessages(Conversation.ConversationType.PRIVATE, message.getTargetId(), messages, new RongIMClient.OperationCallback() {
+ @Override
+ public void onSuccess() {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除成功:" + message.getMessageId());
+ }
+
+ @Override
+ public void onError(RongIMClient.ErrorCode errorCode) {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除失败:" + errorCode);
+ ToastUtil.showDebug("删除消息失败:"+errorCode.code+"|"+errorCode.msg);
+ }
+ });
+
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, message.getTargetId(), null);
// return true;
diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java
index 8feb19b11..6b9c8c3d3 100644
--- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java
+++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java
@@ -214,7 +214,7 @@ public class RongcloudIMManager {
break;
//用户账号在其它设备登录,此设备被踢下线
case KICKED_OFFLINE_BY_OTHER_CLIENT:
- EventBus.getDefault().post(new RongIMConnectionStatusEvent());
+ EventBus.getDefault().post(new RongIMConnectionStatusEvent().setStatus(-1));
break;
//连接暂时挂起(多是由于网络问题导致),SDK 会在合适时机进行自动重连
case SUSPEND:
diff --git a/common/src/main/java/com/yunbao/common/utils/AppManager.java b/common/src/main/java/com/yunbao/common/utils/AppManager.java
index 23f590dcf..b79292566 100644
--- a/common/src/main/java/com/yunbao/common/utils/AppManager.java
+++ b/common/src/main/java/com/yunbao/common/utils/AppManager.java
@@ -1,6 +1,7 @@
package com.yunbao.common.utils;
import android.app.Activity;
+import android.util.Log;
import com.yunbao.common.BuildConfig;
@@ -11,7 +12,7 @@ public class AppManager {
private static Stack activityStack;
public AppManager() {
- activityStack=new Stack<>();
+ activityStack = new Stack<>();
}
/**
@@ -48,6 +49,10 @@ public class AppManager {
return null;
}
+ public void clear() {
+ activityStack.clear();
+ }
+
public static class SingleApp {
public static AppManager INSTANCE = new AppManager();
}
@@ -59,6 +64,10 @@ public class AppManager {
if (activityStack == null) {
activityStack = new Stack();
}
+ //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>class com.yunbao.main.activity.MsgAddressBookActivity
+ if (getActivity(activity.getClass()) != null) {
+ activityStack.remove(getActivity(activity.getClass()));
+ }
activityStack.add(activity);
}
diff --git a/common/src/main/java/com/yunbao/common/utils/ViewPageIndicatorUtils.java b/common/src/main/java/com/yunbao/common/utils/ViewPageIndicatorUtils.java
new file mode 100644
index 000000000..935f6a4e0
--- /dev/null
+++ b/common/src/main/java/com/yunbao/common/utils/ViewPageIndicatorUtils.java
@@ -0,0 +1,38 @@
+package com.yunbao.common.utils;
+
+import androidx.viewpager2.widget.ViewPager2;
+
+import net.lucode.hackware.magicindicator.MagicIndicator;
+
+public class ViewPageIndicatorUtils {
+ public static void bind(final MagicIndicator magicIndicator, ViewPager2 viewPager,ViewPager2.OnPageChangeCallback callback) {
+ viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ super.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ if(callback!=null){
+ callback.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ }
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ super.onPageSelected(position);
+ magicIndicator.onPageSelected(position);
+ if (callback != null) {
+ callback.onPageSelected(position);
+ }
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ super.onPageScrollStateChanged(state);
+ magicIndicator.onPageScrollStateChanged(state);
+ if (callback != null) {
+ callback.onPageScrollStateChanged(state);
+ }
+ }
+ });
+ }
+}
diff --git a/common/src/main/java/com/yunbao/common/views/AutoSplitTextView.java b/common/src/main/java/com/yunbao/common/views/AutoSplitTextView.java
index c85e10a2e..4e3fd63cf 100644
--- a/common/src/main/java/com/yunbao/common/views/AutoSplitTextView.java
+++ b/common/src/main/java/com/yunbao/common/views/AutoSplitTextView.java
@@ -2,8 +2,10 @@ package com.yunbao.common.views;
import android.content.Context;
import android.graphics.Paint;
+import android.text.TextPaint;
import android.text.TextUtils;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.ViewTreeObserver;
import android.widget.TextView;
@@ -42,6 +44,49 @@ public class AutoSplitTextView extends androidx.appcompat.widget.AppCompatTextVi
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}*/
+ StringBuffer sb = new StringBuffer();
+ StringBuffer tmp = new StringBuffer();
+
+
+ @Override
+ protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+ super.onLayout(changed, left, top, right, bottom);
+ TextPaint paint = getPaint();
+ String text = getText().toString();
+ Log.i("用户备注卡片", "默认值:" + text);
+ float textWidth = paint.measureText(text);
+ if (textWidth > getWidth()) {
+ sb.setLength(0);
+ tmp.setLength(0);
+ for (int i = 0; i < text.length(); i++) {
+ String str;
+ str = text.substring(i, i + 1);
+ Log.i("用户备注卡片", "添加:" + str + "|" + i);
+ if (str.contains("\n") || str.contains("\r") || str.contains("\t")) {
+ if(tmp.length()>0) {
+ sb.append(tmp);
+ }
+ sb.append(str);
+ tmp.setLength(0);
+ continue;
+ }
+ float measured = paint.measureText(tmp.toString() + str);
+ if (measured > getWidth()) {
+ sb.append(tmp).append("\n");
+ tmp.setLength(0);
+ tmp.append(str);
+ } else {
+ tmp.append(str);
+ }
+ }
+ if (tmp.length() > 0) {
+ sb.append(tmp);
+ }
+ Log.i("用户备注卡片", "最终值:" + sb.toString());
+ setText(sb);
+ }
+ }
+
public void setAutoText(CharSequence text) {
this.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
diff --git a/common/src/main/java/com/yunbao/common/views/CustomLayout.java b/common/src/main/java/com/yunbao/common/views/CustomLayout.java
new file mode 100644
index 000000000..570aac96d
--- /dev/null
+++ b/common/src/main/java/com/yunbao/common/views/CustomLayout.java
@@ -0,0 +1,136 @@
+package com.yunbao.common.views;
+
+
+import android.content.Context;
+import android.graphics.Color;
+import android.text.Layout;
+import android.text.StaticLayout;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.lzf.easyfloat.enums.ShowPattern;
+import com.yunbao.common.dialog.DebugDialog;
+import com.yunbao.common.utils.DpUtil;
+
+/**
+ * TextView + View 动态布局
+ */
+public class CustomLayout extends ViewGroup {
+ //单行显示
+ private static final int SINGLE_LINE = 0x01;
+ //多行显示
+ private static final int MULTI_LINE = 0x02;
+ //显示到下一行
+ private static final int NEXT_LINE = 0x03;
+ //显示样式
+ private int type;
+ //绘制文字最后一行的顶部坐标
+ private int lastLineTop;
+ //绘制文字最后一行的右边坐标
+ private float lastLineRight;
+
+ public CustomLayout(Context context) {
+ super(context);
+ }
+
+ public CustomLayout(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public CustomLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ int childCount = getChildCount();
+ final int w = MeasureSpec.getSize(widthMeasureSpec);
+ if (childCount == 2) {
+ TextView tv = null;
+ if(getChildAt(0) instanceof TextView){
+ tv = (TextView) getChildAt(0);
+ initTextParams(tv.getText(), tv.getMeasuredWidth(), tv.getPaint());
+ }else{
+ throw new RuntimeException("CustomLayout first child view not a TextView");
+ }
+
+ View sencodView = getChildAt(1);
+
+ //测量子view的宽高
+ measureChildren(widthMeasureSpec, heightMeasureSpec);
+
+ final String textWidth=String.valueOf(tv.getMeasuredWidth());
+ final String viewWidth=String.valueOf(sencodView.getMeasuredWidth());
+ final String maxWidth=String.valueOf(tv.getMeasuredWidth()+sencodView.getMeasuredWidth());
+
+ //两个子view宽度相加小于该控件宽度的时候
+ if (tv.getMeasuredWidth() + sencodView.getMeasuredWidth() <= w) {
+ int width = tv.getMeasuredWidth()+sencodView.getMeasuredWidth();
+ //计算高度
+ int height = Math.max(tv.getMeasuredHeight(), sencodView.getMeasuredHeight());
+ //设置该viewgroup的宽高
+ setMeasuredDimension(width, height);
+ type = SINGLE_LINE;
+ return;
+ }
+ if (getChildAt(0) instanceof TextView) {
+ //最后一行文字的宽度加上第二个view的宽度大于viewgroup宽度时第二个控件换行显示
+ if (lastLineRight + sencodView.getMeasuredWidth() > w) {
+ setMeasuredDimension(tv.getMeasuredWidth(), tv.getMeasuredHeight() + sencodView.getMeasuredHeight());
+ type = NEXT_LINE;
+ return;
+ }
+
+ int height = Math.max(tv.getMeasuredHeight(), lastLineTop + sencodView.getMeasuredHeight());
+ setMeasuredDimension(tv.getMeasuredWidth(), height);
+ type = MULTI_LINE;
+ }
+ } else {
+ throw new RuntimeException("CustomLayout child count must is 2");
+ }
+
+ }
+
+
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ if (type == SINGLE_LINE || type == MULTI_LINE) {
+ TextView tv = (TextView) getChildAt(0);
+ View v1 = getChildAt(1);
+ //设置第二个view在Textview文字末尾位置
+ tv.layout(0, 0, tv.getMeasuredWidth(), tv.getMeasuredHeight());
+ int left = (int) lastLineRight;
+ int top = lastLineTop;
+ //最后一行的高度 注:通过staticLayout得到的行高不准确故采用这种方式
+ int lastLineHeight = tv.getBottom()-tv.getPaddingBottom() -lastLineTop;
+ //当第二view高度小于单行文字高度时竖直居中显示
+ if(v1.getMeasuredHeight() < lastLineHeight){
+ top = lastLineTop + (lastLineHeight - v1.getMeasuredHeight())/2;
+ }
+ v1.layout(left, top, left + v1.getMeasuredWidth(), top+v1.getMeasuredHeight());
+ } else if (type == NEXT_LINE) {
+ View v0 = getChildAt(0);
+ View v1 = getChildAt(1);
+ //设置第二个view换行显示
+ v0.layout(0, 0, v0.getMeasuredWidth(), v0.getMeasuredHeight());
+ v1.layout(0, v0.getMeasuredHeight(), v1.getMeasuredWidth(), v0.getMeasuredHeight() + v1.getMeasuredHeight());
+ }
+ }
+
+ /**
+ * 得到Textview绘制文字的基本信息
+ * @param text Textview的文字内容
+ * @param maxWidth Textview的宽度
+ * @param paint 绘制文字的paint
+ */
+ private void initTextParams(CharSequence text, int maxWidth, TextPaint paint) {
+ System.out.println("text = " + text + ", maxWidth = " + maxWidth + ", paint = " + paint);
+ StaticLayout staticLayout = new StaticLayout(text, paint, maxWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
+ int lineCount = staticLayout.getLineCount();
+ lastLineTop = staticLayout.getLineTop(lineCount - 1);
+ lastLineRight = staticLayout.getLineRight(lineCount - 1);
+ }
+
+}
\ No newline at end of file
diff --git a/common/src/main/java/com/yunbao/common/views/MainMessageChatListItemLayout.java b/common/src/main/java/com/yunbao/common/views/MainMessageChatListItemLayout.java
new file mode 100644
index 000000000..c0cd3d67a
--- /dev/null
+++ b/common/src/main/java/com/yunbao/common/views/MainMessageChatListItemLayout.java
@@ -0,0 +1,118 @@
+package com.yunbao.common.views;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewParent;
+import android.view.ViewTreeObserver;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+
+import com.yunbao.common.R;
+
+public class MainMessageChatListItemLayout extends LinearLayout {
+ private static final String TAG = "消息列表佈局";
+
+ public int autoText = 0;
+
+ public MainMessageChatListItemLayout(Context context) {
+ super(context);
+ onLayoutChanged();
+ }
+
+ public MainMessageChatListItemLayout(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MainMessageChatListItem_Layout);
+ autoText = array.getResourceId(R.styleable.MainMessageChatListItem_Layout_autoTextEllipsize, 0);
+ onLayoutChanged();
+ }
+
+ public MainMessageChatListItemLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MainMessageChatListItem_Layout);
+ autoText = array.getResourceId(R.styleable.MainMessageChatListItem_Layout_autoTextEllipsize, 0);
+ onLayoutChanged();
+ }
+
+ public MainMessageChatListItemLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ int itemIndex = 0;
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+ /*int width = getWidth();
+ int count = getChildCount();
+ double max = 0;
+ double autoTextViewMeasuredWidth = 0;
+ double otherViewWidth = 0;
+ int autoId = -1;
+ for (int i = 0; i < count; i++) {
+ View item = getChildAt(i);
+ // item.layout(l, t, r, b);
+ double itemWidth = item.getMeasuredWidth();
+ int padding = item.getPaddingLeft() + item.getPaddingRight();
+ if (item instanceof TextView) {
+ TextPaint paint = ((TextView) item).getPaint();
+ itemWidth = paint.measureText(((TextView) item).getText().toString());
+ if (item.getId() == autoText) {
+ autoId = i;
+ autoTextViewMeasuredWidth = itemWidth;
+ } else {
+ otherViewWidth += itemWidth;
+ }
+ Log.i(TAG, "TextView: " + ((TextView) item).getText() + "|" + paint.measureText(((TextView) item).getText().toString()));
+ } else {
+ Log.i(TAG, "onLayout: 不是TextView");
+ }
+ max += itemWidth + padding;
+ Log.i(TAG, "autoId = " + autoId + "vid = " + autoText + " item = " + item + " width = " + itemWidth + "changed = " + changed + ", l = " + l + ", t = " + t + ", r = " + r + ", b = " + b);
+ }
+ Log.i(TAG, "布局总宽度 = " + width + "|" + "item总宽度 = " + max);
+ if (autoId != -1 && max > width) {
+ int diffValue = (int) (width - otherViewWidth);
+ diffValue=20;
+ int layoutChildViewCurX = 0;
+ for (int i = 0; i < count; i++) {
+ View view = getChildAt(i);
+ if (view.getId() == autoId) {
+ view.layout(layoutChildViewCurX, t, layoutChildViewCurX+diffValue, b);
+ layoutChildViewCurX += diffValue;
+ } else {
+ view.layout(layoutChildViewCurX, t, layoutChildViewCurX + view.getMeasuredWidth(), b);
+ layoutChildViewCurX += view.getMeasuredWidth();
+ }
+ }
+ *//*int layoutChildViewCurX = l, tr = r, tt = t, tb = b;
+ for (int i = 0; i < count; i++) {
+ View item = getChildAt(i);
+ tr=item.getMeasuredWidth();
+ if (item.getId() == autoId) {
+ int diffValue = (int) (width - otherViewWidth);
+ item.layout(layoutChildViewCurX, tt, layoutChildViewCurX+item.getMeasuredWidth(), tb);
+ layoutChildViewCurX=item.getMeasuredWidth();
+ continue;
+ }
+ item.layout(layoutChildViewCurX, tt, layoutChildViewCurX+item.getMeasuredWidth(), tb);
+ layoutChildViewCurX=item.getMeasuredWidth();
+ }*//*
+ }*/
+ }
+
+ @Override
+ protected void onFinishInflate() {
+ super.onFinishInflate();
+
+ }
+
+ void onLayoutChanged() {
+
+ }
+}
diff --git a/common/src/main/res/drawable/bg_main_message_chat_list_live_timer.xml b/common/src/main/res/drawable/bg_main_message_chat_list_live_timer.xml
new file mode 100644
index 000000000..b2bbadd1f
--- /dev/null
+++ b/common/src/main/res/drawable/bg_main_message_chat_list_live_timer.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/layout/activity_user_home.xml b/common/src/main/res/layout/activity_user_home.xml
index ab597c2ad..af0023e3c 100644
--- a/common/src/main/res/layout/activity_user_home.xml
+++ b/common/src/main/res/layout/activity_user_home.xml
@@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ xmlns:tools="http://schemas.android.com/tools"
android:background="@color/white"
android:orientation="vertical">
@@ -361,8 +362,10 @@
diff --git a/common/src/main/res/values-en-rUS/string.xml b/common/src/main/res/values-en-rUS/string.xml
index 900a43108..babd3ac2e 100644
--- a/common/src/main/res/values-en-rUS/string.xml
+++ b/common/src/main/res/values-en-rUS/string.xml
@@ -659,7 +659,7 @@
Reportretryrefuse
- Preservation
+ SaveRegisterNo one is currently in the voice linkWelcome to PDLive
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index ae6af410d..1f0e04f1c 100644
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -659,7 +659,7 @@
Reportretryrefuse
- Preservation
+ SaveRegisterNo one is currently in the voice linkWelcome to PDLive
diff --git a/common/src/main/res/values/style.xml b/common/src/main/res/values/style.xml
index 0511f2543..f3a12b7f6 100644
--- a/common/src/main/res/values/style.xml
+++ b/common/src/main/res/values/style.xml
@@ -138,4 +138,7 @@
@anim/out_to_right_abit@anim/out_to_right
+
+
+
\ No newline at end of file
diff --git a/config.gradle b/config.gradle
index d00aa4f91..00d103a4d 100644
--- a/config.gradle
+++ b/config.gradle
@@ -4,8 +4,8 @@ ext {
buildToolsVersion: "29.0.2",
minSdkVersion : 23,
targetSdkVersion : 33,
- versionCode : 525,
- versionName : "6.6.8",
+ versionCode : 526,
+ versionName : "6.6.9",
namespace : "com.pandoralive.shayu"
]
manifestPlaceholders = [
@@ -13,6 +13,7 @@ ext {
serverHost : "https://napi.yaoulive.com",
// 测试
// serverHost : " https://ceshi.yaoulive.com",
+ buildTime : new Date().format("MM-dd HH:mm", TimeZone.getTimeZone("GMT+8")),
//百度语音识别
baiduAppId : "23774720",
diff --git a/live/src/main/java/com/yunbao/live/activity/EditNameRemarksActivity.java b/live/src/main/java/com/yunbao/live/activity/EditNameRemarksActivity.java
index b409d0c31..d5a576a7b 100644
--- a/live/src/main/java/com/yunbao/live/activity/EditNameRemarksActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/EditNameRemarksActivity.java
@@ -47,7 +47,7 @@ public class EditNameRemarksActivity extends AbsActivity implements View.OnClick
userId = getIntent().getStringExtra(NAMEREMARK);
mEditText = (EditText) findViewById(R.id.edit);
mEditText.setFilters(new InputFilter[]{
- new InputFilter.LengthFilter(10)
+ new InputFilter.LengthFilter(25)
});
findViewById(R.id.btn_save).setOnClickListener(this);
String content = InstructorRemarkManager.get(mContext).getInstructorRemark().get(userId);
diff --git a/live/src/main/java/com/yunbao/live/adapter/InteractionMessageAdapter.java b/live/src/main/java/com/yunbao/live/adapter/InteractionMessageAdapter.java
index 4f70af374..936c643b8 100644
--- a/live/src/main/java/com/yunbao/live/adapter/InteractionMessageAdapter.java
+++ b/live/src/main/java/com/yunbao/live/adapter/InteractionMessageAdapter.java
@@ -1,10 +1,13 @@
package com.yunbao.live.adapter;
import android.content.Context;
+
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
@@ -15,7 +18,9 @@ import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.adapter.RefreshAdapter;
import com.yunbao.common.glide.ImgLoader;
+import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.utils.RouteUtil;
+import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.R;
import com.yunbao.live.bean.SystemMessageBean;
import com.yunbao.live.views.SystemMessageViewHolder;
@@ -23,6 +28,9 @@ import com.yunbao.live.views.SystemMessageViewHolder;
import java.text.SimpleDateFormat;
import java.util.Date;
+import io.rong.imkit.utils.RouteUtils;
+import io.rong.imlib.model.Conversation;
+
/**
* 互動信息
*/
@@ -53,6 +61,7 @@ public class InteractionMessageAdapter extends RefreshAdapter
LinearLayout toView, lt_content2, lt_reply, lt_img;
ImageView img_content_pic1, img_content_pic2, img_content_pic3, img_content2_pic1, img_content2_pic2, img_item_interaction;
RelativeLayout rt_root;
+ Button mBtnChat;
public Vh(View itemView) {
super(itemView);
@@ -67,6 +76,7 @@ public class InteractionMessageAdapter extends RefreshAdapter
img_content_pic3 = itemView.findViewById(R.id.img_content_pic3);
img_content2_pic1 = itemView.findViewById(R.id.img_content2_pic1);
img_content2_pic2 = itemView.findViewById(R.id.img_content2_pic2);
+ mBtnChat = itemView.findViewById(R.id.btn_chat);
rt_root = itemView.findViewById(R.id.rt_root);
lt_reply = itemView.findViewById(R.id.lt_reply);
lt_img = itemView.findViewById(R.id.lt_img);
@@ -87,13 +97,29 @@ public class InteractionMessageAdapter extends RefreshAdapter
RouteUtil.forwardUserHome(mContext, bean.getUid(), 2);
}
});
+ if (IMLoginManager.get(mContext).getAnchorB() == 1) {
+ mBtnChat.setVisibility(View.VISIBLE);
+ } else {
+ mBtnChat.setVisibility(View.GONE);
+ }
+
+ ViewClicksAntiShake.clicksAntiShake(mBtnChat, new ViewClicksAntiShake.ViewClicksCallBack() {
+ @Override
+ public void onViewClicks() {
+ RouteUtils.routeToConversationActivity(
+ mContext,
+ Conversation.ConversationType.PRIVATE,
+ bean.getUid()
+ );
+ }
+ });
if (bean.getDynamic_id() != null && !"0".equals(bean.getDynamic_id())) {
lt_img.setVisibility(View.VISIBLE);
rt_root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Constants.myIntoIndex = 2;
- Constants.chatActionUrl=CommonAppConfig.HOST
+ Constants.chatActionUrl = CommonAppConfig.HOST
+ "/h5/shequ/index.html#/h5/shequ/details?isDetailsChat=1&dynamic_uid="
+ bean.getUid()
+ "&id=" + bean.getDynamic_id();
diff --git a/live/src/main/java/com/yunbao/live/dialog/PDLiveMessageListAdapter.java b/live/src/main/java/com/yunbao/live/dialog/PDLiveMessageListAdapter.java
index 3d7251dc8..ec66eb0e9 100644
--- a/live/src/main/java/com/yunbao/live/dialog/PDLiveMessageListAdapter.java
+++ b/live/src/main/java/com/yunbao/live/dialog/PDLiveMessageListAdapter.java
@@ -15,11 +15,14 @@ import androidx.annotation.NonNull;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.dialog.DebugDialog;
+import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.LiveHttpUtil;
+import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.message.content.MessageChatTipsContent;
import com.yunbao.common.utils.DateFormatUtil;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.RouteUtil;
+import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.R;
import com.yunbao.live.event.InputPanelViewHolderEvent;
@@ -73,7 +76,7 @@ public class PDLiveMessageListAdapter extends MessageListAdapter {
}
holder.getConvertView().setBackgroundColor(Color.parseColor("#00000000"));
holder.itemView.setBackgroundColor(Color.parseColor("#00000000"));
- ImageView readReceiptNew = holder.getConvertView().findViewById(R.id.rc_read_receipt_new);
+ TextView readReceiptNew = holder.getConvertView().findViewById(R.id.rc_read_receipt_new);
if (messageDirection == Message.MessageDirection.RECEIVE) {
RongIMClient.getInstance().syncConversationReadStatus(mDataList.get(position).getConversationType(),
@@ -99,9 +102,11 @@ public class PDLiveMessageListAdapter extends MessageListAdapter {
readReceiptNew.setVisibility(View.GONE);
}
if (readReceipt.getVisibility() == View.VISIBLE) {
- readReceiptNew.setBackgroundResource(R.mipmap.icon_message_read);
+ readReceiptNew.setText(WordUtil.getNewString(R.string.message_chat_msg_read_tip));
+ readReceiptNew.setTextColor(Color.parseColor("#777777"));
} else {
- readReceiptNew.setBackgroundResource(R.mipmap.icon_message_unread);
+ readReceiptNew.setText(WordUtil.getNewString(R.string.message_chat_msg_unread_tip));
+ readReceiptNew.setTextColor(Color.parseColor("#FF4874"));
}
if (readReceipt != null) {
readReceipt.setVisibility(View.GONE);
@@ -109,7 +114,6 @@ public class PDLiveMessageListAdapter extends MessageListAdapter {
if (content instanceof MessageChatTipsContent) {
readReceiptNew.setVisibility(View.GONE);
}
- readReceiptNew.setVisibility(View.GONE);
}
holder.getConvertView().setOnTouchListener(new View.OnTouchListener() {
@@ -163,6 +167,8 @@ public class PDLiveMessageListAdapter extends MessageListAdapter {
holder.getView(R.id.right_liveStatus).setVisibility(View.GONE);
}
}
+ tv.setVisibility(View.VISIBLE);
+ ImgLoader.displayAvatarCircleCrop(holder.getContext(), IMLoginManager.get(holder.getContext()).getUserInfo().getAvatar(),holder.getView(R.id.rc_right_portrait));
/* if (messageDirection == Message.MessageDirection.RECEIVE) {
holder.setText(R.id.left_time, DateFormatUtil.formatDate(new Date(mDataList.get(position).getSentTime()), "MM-dd hh:mm:ss"));
holder.getView(R.id.left_time).setVisibility(View.VISIBLE);
diff --git a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
index 206f8deeb..df668c63c 100644
--- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
+++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
@@ -691,6 +691,11 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
} else if (pkInfo != null && pkInfo.getIntValue("drpk_status") == 1) {
if (mLiveRoomViewHolder != null) {
mLiveRoomViewHolder.initPkRank(null);
+ String pkUid = pkInfo.getString("pkuid");
+ if (!StringUtil.isEmpty(pkUid)) {
+ //初始化天梯赛信息
+ mLiveRoomViewHolder.initRankPKInfo(String.valueOf(data.getLiveInfo().getUid()), pkUid);
+ }
}
if (mLivePlayViewHolder != null) {
mLivePlayViewHolder.setViewUP(4);
diff --git a/live/src/main/res/layout/fragment_main_message_chat_list.xml b/live/src/main/res/layout/fragment_main_message_chat_list.xml
new file mode 100644
index 000000000..046620743
--- /dev/null
+++ b/live/src/main/res/layout/fragment_main_message_chat_list.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/live/src/main/res/layout/item_interaction_msg.xml b/live/src/main/res/layout/item_interaction_msg.xml
index ee29a7b47..35c0bb37c 100644
--- a/live/src/main/res/layout/item_interaction_msg.xml
+++ b/live/src/main/res/layout/item_interaction_msg.xml
@@ -1,6 +1,7 @@
@@ -30,8 +31,8 @@
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/live/src/main/res/layout/rc_conversationlist_item.xml b/live/src/main/res/layout/rc_conversationlist_item.xml
index a1ce6d26d..2d13e2781 100644
--- a/live/src/main/res/layout/rc_conversationlist_item.xml
+++ b/live/src/main/res/layout/rc_conversationlist_item.xml
@@ -53,35 +53,71 @@
-
-
-
+ app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait_rl"
+ app:layout_constraintTop_toTopOf="parent">
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/rc_conversation_title_layout" />
+ tools:visibility="visible" />
+ app:layout_goneMarginRight="@dimen/rc_margin_size_12" />
diff --git a/live/src/main/res/layout/rc_message_item.xml b/live/src/main/res/layout/rc_message_item.xml
index 1372854f5..7268c8d1f 100644
--- a/live/src/main/res/layout/rc_message_item.xml
+++ b/live/src/main/res/layout/rc_message_item.xml
@@ -142,12 +142,6 @@
android:src="@drawable/rc_read_receipt"
android:visibility="gone" />
-
+ Fan group level Of Lv%s Can send this gift
Join the fan group can be opened [Join]Join the fan group to open
+ 全部聊天
+ 系統匹配
+ 對方主動
+ 看直播%dmin
+ [Read]
+ [Unread]
+ 發起聊天
\ No newline at end of file
diff --git a/live/src/main/res/values/strings.xml b/live/src/main/res/values/strings.xml
index 6032e4436..d01153a36 100644
--- a/live/src/main/res/values/strings.xml
+++ b/live/src/main/res/values/strings.xml
@@ -115,4 +115,12 @@
粉絲團等級達到 Lv%s 可送出該禮物加入粉絲團可開啟【加入】加入粉絲團可開啟
+ 全部聊天
+ 系統匹配
+ 對方主動
+ 看直播%dmin
+ [已讀]
+ [未讀]
+ 發起聊天
+
diff --git a/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java b/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java
index a5f38b8eb..23e020744 100644
--- a/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java
+++ b/main/src/main/java/com/yunbao/main/activity/EditProfileActivity.java
@@ -59,6 +59,7 @@ import com.yunbao.main.R;
import com.yunbao.main.event.EditProfileEvent;
import com.yunbao.main.http.MainHttpConsts;
import com.yunbao.main.http.MainHttpUtil;
+import com.yunbao.main.manager.imrongcloud.ConversationIMListManager;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
diff --git a/main/src/main/java/com/yunbao/main/activity/MsgAddressBookActivity.java b/main/src/main/java/com/yunbao/main/activity/MsgAddressBookActivity.java
index 6ebf9897d..22f1ff829 100644
--- a/main/src/main/java/com/yunbao/main/activity/MsgAddressBookActivity.java
+++ b/main/src/main/java/com/yunbao/main/activity/MsgAddressBookActivity.java
@@ -30,6 +30,7 @@ import com.yunbao.common.utils.ListUtils;
import com.yunbao.common.utils.RandomUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
+import com.yunbao.common.utils.ViewPageIndicatorUtils;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
import com.yunbao.main.adapter.MainMsgAddressBookListAdapter;
@@ -224,7 +225,7 @@ public class MsgAddressBookActivity extends AbsActivity {
}
});
mIndicator.setNavigator(commonNavigator);
- bind(mIndicator, mViewPager);
+ ViewPageIndicatorUtils.bind(mIndicator, mViewPager,null);
}
private void initViewPager() {
@@ -311,27 +312,7 @@ public class MsgAddressBookActivity extends AbsActivity {
});
}
- public static void bind(final MagicIndicator magicIndicator, ViewPager2 viewPager) {
- viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
- @Override
- public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
- super.onPageScrolled(position, positionOffset, positionOffsetPixels);
- magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels);
- }
- @Override
- public void onPageSelected(int position) {
- super.onPageSelected(position);
- magicIndicator.onPageSelected(position);
- }
-
- @Override
- public void onPageScrollStateChanged(int state) {
- super.onPageScrollStateChanged(state);
- magicIndicator.onPageScrollStateChanged(state);
- }
- });
- }
private List createTempData(int type) {
List list = new ArrayList<>();
diff --git a/main/src/main/java/com/yunbao/main/activity/PDLiveConversationActivity.java b/main/src/main/java/com/yunbao/main/activity/PDLiveConversationActivity.java
index 3efcd13ef..482daed48 100644
--- a/main/src/main/java/com/yunbao/main/activity/PDLiveConversationActivity.java
+++ b/main/src/main/java/com/yunbao/main/activity/PDLiveConversationActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.os.Build;
+import android.text.InputFilter;
import android.text.TextUtils;
import android.util.Log;
import android.view.GestureDetector;
@@ -53,6 +54,7 @@ import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.ViewUtils;
import com.yunbao.common.utils.WordUtil;
+import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.bean.SearchUserBean;
import com.yunbao.live.dialog.MenuPopuwWindow;
import com.yunbao.live.event.InputPanelViewHolderEvent;
@@ -63,7 +65,6 @@ import com.yunbao.main.R;
import com.yunbao.main.adapter.MessageChatTopImageListAdapter;
import com.yunbao.main.adapter.MessageChatTopTopListAdapter;
import com.yunbao.main.http.MainHttpUtil;
-import com.yunbao.main.manager.imrongcloud.ConversationIMListManager;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -262,8 +263,11 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
}
});
- ViewUtils.findViewById(card, R.id.rc_conversation_portrait, ImageView.class).setOnClickListener(view -> {
- RouteUtil.forwardUserHome(targetId);
+ ViewClicksAntiShake.clicksAntiShake(ViewUtils.findViewById(card, R.id.rc_conversation_portrait, ImageView.class), new ViewClicksAntiShake.ViewClicksCallBack() {
+ @Override
+ public void onViewClicks() {
+ RouteUtil.forwardUserHome(targetId);
+ }
});
} catch (Exception e) {
@@ -297,10 +301,10 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
showBanner();
showTag();
if (data.getUser().getAttention() <= 1) {
- ViewUtils.findViewById(card, R.id.follow, Button.class).setOnClickListener(new View.OnClickListener() {
+ ViewClicksAntiShake.clicksAntiShake(ViewUtils.findViewById(card, R.id.follow, Button.class), new ViewClicksAntiShake.ViewClicksCallBack() {
@Override
- public void onClick(View view) {
- follow((Button) view, userInfoBean.getUser().getId() + "");
+ public void onViewClicks() {
+ follow(ViewUtils.findViewById(card, R.id.follow, Button.class), userInfoBean.getUser().getId() + "");
}
});
} else {
@@ -313,30 +317,33 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
public void onSuccess(List data) {
if (data.contains(Integer.parseInt(targetId))) {
ViewUtils.findViewById(card, R.id.liveStatus).setVisibility(View.VISIBLE);
- ViewUtils.findViewById(card, R.id.liveStatus).setOnClickListener(view -> {
- LiveHttpUtil.getLiveInfo(targetId, new com.yunbao.common.http.HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (code == 0 && info.length > 0) {
- LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
- if (liveBean == null) {
- return;
+ ViewClicksAntiShake.clicksAntiShake(ViewUtils.findViewById(card, R.id.liveStatus), new ViewClicksAntiShake.ViewClicksCallBack() {
+ @Override
+ public void onViewClicks() {
+ LiveHttpUtil.getLiveInfo(targetId, new com.yunbao.common.http.HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
+ if (liveBean == null) {
+ return;
+ }
+ liveBean.setParams(new HashMap<>());
+ new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
+ @Override
+ public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
+ RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
+ }
+
+ @Override
+ public void onCheckError(String contextError) {
+
+ }
+ });
}
- liveBean.setParams(new HashMap<>());
- new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
- @Override
- public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
- RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
- }
-
- @Override
- public void onCheckError(String contextError) {
-
- }
- });
}
- }
- });
+ });
+ }
});
}
}
@@ -413,7 +420,7 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
JSONArray array = JSONArray.parseArray(Arrays.toString(info));
for (int i = 0; i < array.size(); i++) {
JSONObject json = array.getJSONObject(0);
- if (json.containsKey(targetId)) {
+ if (json.containsKey(targetId) && !StringUtil.isEmpty(json.getString(targetId))) {
titleView.setText(json.getString(targetId));
ViewUtils.findViewById(card, R.id.userName, TextView.class).setText(json.getString(targetId));
return;
diff --git a/main/src/main/java/com/yunbao/main/adapter/MainConversationListAdapter.java b/main/src/main/java/com/yunbao/main/adapter/MainConversationListAdapter.java
index 835ab895e..6d4231eb0 100644
--- a/main/src/main/java/com/yunbao/main/adapter/MainConversationListAdapter.java
+++ b/main/src/main/java/com/yunbao/main/adapter/MainConversationListAdapter.java
@@ -14,25 +14,42 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
+import com.yunbao.common.bean.MainMessageChatListTimer;
+import com.yunbao.common.dialog.DebugDialog;
import com.yunbao.common.glide.ImgLoader;
+import com.yunbao.common.http.base.HttpCallback;
+import com.yunbao.common.http.live.LiveNetManager;
+import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
+import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.message.content.MessageChatCardContent;
import com.yunbao.common.utils.AppManager;
+import com.yunbao.common.utils.DateFormatUtil;
import com.yunbao.common.utils.ListUtils;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.ViewUtils;
import com.yunbao.common.utils.WordUtil;
+import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.main.R;
import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import io.rong.imkit.IMCenter;
import io.rong.imkit.conversationlist.ConversationListAdapter;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.model.SingleConversation;
import io.rong.imkit.utils.RouteUtils;
import io.rong.imkit.widget.adapter.ViewHolder;
+import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
+import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
+import io.rong.imlib.model.Message;
+import io.rong.imlib.model.MessageContent;
+import io.rong.message.TextMessage;
public class MainConversationListAdapter extends ConversationListAdapter {
public static final int TYPE_SEARCH_TITLE = 500;
@@ -40,12 +57,18 @@ public class MainConversationListAdapter extends ConversationListAdapter {
public static final int TYPE_SEARCH_CHAT = 520;
private List srcList;
private Context mContext;
- private boolean isChat=true;
+ private boolean isChat = true;
+ private OnRecyclerListRefreshListener> onRefreshListener;
+ private Map timerMap = new HashMap<>();
public MainConversationListAdapter(Context mContext) {
this.mContext = mContext;
}
+ public void setOnRefreshListener(OnRecyclerListRefreshListener> onRefreshListener) {
+ this.onRefreshListener = onRefreshListener;
+ }
+
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -92,7 +115,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if (isEmpty() || mDataList.isEmpty()) {
- bindEmpty(holder, position);
+ bindEmpty(holder, position);
return;
}
if (getItemViewType(position) == TYPE_SEARCH_USER) {
@@ -104,28 +127,90 @@ public class MainConversationListAdapter extends ConversationListAdapter {
} else if (getItemViewType(position) != -200) {
super.onBindViewHolder(holder, position);
}
+ if (getItemViewType(position) != -200) {
+ bindDefault(holder, position);
+ }
+ }
+
+ private void bindDefault(ViewHolder holder, int position) {
+ BaseUiConversation conversation = mDataList.get(position);
+ Log.i("列表", "bindDefault: 用户头像:" + conversation.mCore.getPortraitUrl());
+ Log.i("列表", "bindDefault: 用户名字:" + conversation.mCore.getConversationTitle());
+ ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
+ holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
+ if (conversation.mCore.getSentTime() != -1 && holder.getView(R.id.rc_conversation_date) != null) {
+ holder.setText(R.id.rc_conversation_date, DateFormatUtil.getDateTimeString(conversation.mCore.getSentTime(), true, holder.getContext()));
+ holder.getView(R.id.rc_conversation_date).setVisibility(View.VISIBLE);
+ } else if (holder.getView(R.id.rc_conversation_date) != null) {
+ holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
+ }
+ if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
+ return;
+ }
+ Integer timer = timerMap.get(mDataList.get(position).mCore.getTargetId());
+ if (timer == null) {
+ holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
+ return;
+ }
+ if (timer >= 10) {
+ holder.setText(R.id.rc_conversation_live_status,
+ String.format(WordUtil.getNewString(R.string.message_chat_msg_look_live), timer)
+ );
+ holder.getView(R.id.rc_conversation_live_status).setVisibility(View.VISIBLE);
+ } else {
+ holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
+ }
}
private void bindEmpty(ViewHolder holder, int position) {
- if(isChat){
- ViewUtils.findViewById(holder.itemView,R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_chat_list);
- ViewUtils.findViewById(holder.itemView,R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list);
- }else{
- ViewUtils.findViewById(holder.itemView,R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_search);
- ViewUtils.findViewById(holder.itemView,R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list_search);
+ if (isChat) {
+ ViewUtils.findViewById(holder.itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_chat_list);
+ ViewUtils.findViewById(holder.itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list);
+ } else {
+ ViewUtils.findViewById(holder.itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_search);
+ ViewUtils.findViewById(holder.itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list_search);
+ }
+ }
+
+ public void onFinish() {
+ if (onRefreshListener != null) {
+ Log.i("聊天数据源", "设置数据源: " + mDataList.size());
+ onRefreshListener.onFinish(mDataList);
}
}
@Override
public void setDataCollection(List data) {
+ List tmp = new ArrayList<>();
+ Log.i("聊天数据源", "setDataCollection: " + data.hashCode());
+ List urls = new ArrayList<>();
if (srcList == null) {
srcList = new ArrayList<>();
}
mDataList.clear();
- srcList.clear();
if (mContext == null)
mContext = AppManager.getInstance().getLastActivity();
for (BaseUiConversation item : data) {
+ if (urls.contains(item.mCore.getTargetId())) continue;
+ if (item.mConversationContent != null && item.mConversationContent.toString().contains("_method_")) {
+ IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE,
+ item.mCore.getTargetId(),
+ new int[]{item.mCore.getLatestMessageId()},
+ new RongIMClient.ResultCallback() {
+ public void onSuccess(Boolean aBoolean) {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除成功:" + aBoolean + " " + item.mCore.getLatestMessageId());
+ }
+
+ @Override
+ public void onError(RongIMClient.ErrorCode errorCode) {
+ Log.i("PDMessageInterceptor", "onSuccess: 删除失败:" + errorCode);
+ }
+ }
+ );
+ IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), null);
+ }
+ urls.add(item.mCore.getTargetId());
+ Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId());
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
srcList.add(cn);
@@ -134,9 +219,17 @@ public class MainConversationListAdapter extends ConversationListAdapter {
item.mConversationContent = new SpannableString(WordUtil.getNewString(R.string.activity_msg_chat_list_card));
}
}
+ tmp.add(item);
}
+ // ToastUtil.showDebug("消息数:"+data.size());
+ super.setDataCollection(tmp);
+ }
- super.setDataCollection(data);
+ public void clear() {
+ mDataList.clear();
+ if (srcList != null) {
+ srcList.clear();
+ }
}
public List getSrcList() {
@@ -172,8 +265,11 @@ public class MainConversationListAdapter extends ConversationListAdapter {
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_centre);
}
- holder.itemView.setOnClickListener(view -> {
- RouteUtils.routeToConversationActivity(view.getContext(), mDataList.get(position).mCore.getConversationType(), mDataList.get(position).mCore.getTargetId());
+ ViewClicksAntiShake.clicksAntiShake(holder.itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
+ @Override
+ public void onViewClicks() {
+ RouteUtils.routeToConversationActivity(holder.itemView.getContext(), mDataList.get(position).mCore.getConversationType(), mDataList.get(position).mCore.getTargetId());
+ }
});
}
@@ -199,16 +295,57 @@ public class MainConversationListAdapter extends ConversationListAdapter {
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_centre);
}
- holder.itemView.setOnClickListener(view -> {
- RouteUtils.routeToConversationActivity(view.getContext(), mDataList.get(position).mCore.getConversationType(), mDataList.get(position).mCore.getTargetId());
+ ViewClicksAntiShake.clicksAntiShake(holder.itemView, new ViewClicksAntiShake.ViewClicksCallBack() {
+ @Override
+ public void onViewClicks() {
+ RouteUtils.routeToConversationActivity(holder.itemView.getContext(), mDataList.get(position).mCore.getConversationType(), mDataList.get(position).mCore.getTargetId());
+ }
});
}
public void setChat() {
- isChat=true;
+ isChat = true;
}
public void setSearch() {
- isChat=false;
+ isChat = false;
+ }
+
+ public void setTimerMap(Map timerMap) {
+ this.timerMap.putAll(timerMap);
+ this.notifyDataSetChanged();
+ }
+
+ public int getMessageId(String senderUserId) {
+ for (int i = 0; i < mDataList.size(); i++) {
+ if (mDataList.get(i).mCore.getTargetId().equals(senderUserId)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ public void update(Message bean, int id) {
+ RongIMClient.getInstance().getUnreadCount(Conversation.ConversationType.PRIVATE, bean.getTargetId(), new RongIMClient.ResultCallback() {
+ @Override
+ public void onSuccess(Integer integer) {
+ BaseUiConversation conversation = mDataList.get(id);
+ conversation.mCore.setSentTime(bean.getSentTime());
+ conversation.mCore.setUnreadMessageCount(integer);
+ conversation.mConversationContent = new SpannableString(((TextMessage) bean.getContent()).getContent());
+ mDataList.set(id, conversation);
+ notifyItemChanged(id);
+ }
+
+ @Override
+ public void onError(RongIMClient.ErrorCode e) {
+ BaseUiConversation conversation = mDataList.get(id);
+ conversation.mCore.setSentTime(bean.getSentTime());
+ conversation.mConversationContent = new SpannableString(((TextMessage) bean.getContent()).getContent());
+ mDataList.set(id, conversation);
+ notifyItemChanged(id);
+ }
+ });
+
}
}
diff --git a/main/src/main/java/com/yunbao/main/fragment/AbsMainMessageChatListFragment.java b/main/src/main/java/com/yunbao/main/fragment/AbsMainMessageChatListFragment.java
new file mode 100644
index 000000000..9fb577525
--- /dev/null
+++ b/main/src/main/java/com/yunbao/main/fragment/AbsMainMessageChatListFragment.java
@@ -0,0 +1,144 @@
+package com.yunbao.main.fragment;
+
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.yunbao.common.bean.MainMessageChatListTimer;
+import com.yunbao.common.dialog.DebugDialog;
+import com.yunbao.common.event.MessageIMEvent;
+import com.yunbao.common.http.base.HttpCallback;
+import com.yunbao.common.http.live.LiveNetManager;
+import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
+import com.yunbao.common.manager.base.ACache;
+import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
+import com.yunbao.common.utils.SpUtil;
+import com.yunbao.main.adapter.MainConversationListAdapter;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import io.rong.imkit.conversationlist.model.BaseUiConversation;
+import io.rong.imkit.widget.refresh.SmartRefreshLayout;
+import io.rong.imlib.RongCoreClient;
+import io.rong.imlib.RongIMClient;
+import io.rong.imlib.model.Conversation;
+import io.rong.imlib.model.Message;
+import io.rong.imlib.model.ReceivedProfile;
+import io.rong.message.TextMessage;
+
+public abstract class AbsMainMessageChatListFragment extends Fragment {
+ RecyclerView recyclerView;
+ MainConversationListAdapter mAdapter;
+ SmartRefreshLayout refreshLayout;
+
+ public void setAdapter(MainConversationListAdapter mAdapter) {
+ this.mAdapter = mAdapter;
+ }
+
+
+ public abstract void onChatList();
+
+ public abstract void search(String string);
+
+ public abstract void updateList();
+
+ public void onTest() {
+ }
+
+ public void onRefreshFinished() {
+ if (refreshLayout != null) {
+ refreshLayout.finishRefresh(true);
+ }
+ }
+
+ public void onLoadMoreFinished() {
+ if (refreshLayout != null) {
+ refreshLayout.finishLoadMore(true);
+ }
+ }
+
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ updateList();
+ }
+
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ EventBus.getDefault().register(this);
+
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ EventBus.getDefault().unregister(this);
+ }
+
+ private static long lastTime;
+ private static boolean isNet = false;
+ Map map = new HashMap<>();
+
+ public void loadLiveLookTime(List srcList, OnRecyclerListRefreshListener