Merge remote-tracking branch 'origin/新潘多拉' into 新潘多拉
# Conflicts: # app/tmp/full-r8-config.txt # gradle.properties
@ -1,4 +1,4 @@
|
|||||||
# The proguard configuration file for the following section is E:\android\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||||
# This is a configuration file for ProGuard.
|
# This is a configuration file for ProGuard.
|
||||||
# http://proguard.sourceforge.net/index.html#manual/usage.html
|
# 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.
|
# These classes are duplicated between android.jar and core-lambda-stubs.jar.
|
||||||
-dontnote java.lang.invoke.**
|
-dontnote java.lang.invoke.**
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||||
# The proguard configuration file for the following section is E:\android\pandorapan\app\proguard-rules.pro
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\proguard-rules.pro
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# By default, the flags in this file are appended to flags specified
|
# By default, the flags in this file are appended to flags specified
|
||||||
# in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt
|
# in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt
|
||||||
@ -419,8 +419,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep class com.qiniu.**{public <init>();}
|
-keep class com.qiniu.**{public <init>();}
|
||||||
-ignorewarnings
|
-ignorewarnings
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\app\proguard-rules.pro
|
# End of content from D:\AndroidProject\pandorapanL\app\proguard-rules.pro
|
||||||
# The proguard configuration file for the following section is E:\android\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt
|
||||||
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
|
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
|
||||||
-keep class androidx.core.content.FileProvider { <init>(); }
|
-keep class androidx.core.content.FileProvider { <init>(); }
|
||||||
-keep class androidx.core.content.FileProvider4Utils { <init>(); }
|
-keep class androidx.core.content.FileProvider4Utils { <init>(); }
|
||||||
@ -674,6 +674,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||||
|
|
||||||
|
-keep class androidx.constraintlayout.widget.Group { <init>(android.content.Context, android.util.AttributeSet); }
|
||||||
|
|
||||||
-keep class androidx.constraintlayout.widget.Guideline { <init>(android.content.Context, android.util.AttributeSet); }
|
-keep class androidx.constraintlayout.widget.Guideline { <init>(android.content.Context, android.util.AttributeSet); }
|
||||||
|
|
||||||
-keep class androidx.coordinatorlayout.widget.CoordinatorLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
-keep class androidx.coordinatorlayout.widget.CoordinatorLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||||
@ -1091,11 +1093,11 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keepclassmembers class * { *** videoEditClick(android.view.View); }
|
-keepclassmembers class * { *** videoEditClick(android.view.View); }
|
||||||
|
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt
|
# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt
|
||||||
# The proguard configuration file for the following section is E:\android\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
# End of content from D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
||||||
# Generated keep rule for Lifecycle observer adapter.
|
# Generated keep rule for Lifecycle observer adapter.
|
||||||
-if class com.lxj.xpopup.core.BasePopupView {
|
-if class com.lxj.xpopup.core.BasePopupView {
|
||||||
<init>(...);
|
<init>(...);
|
||||||
@ -1104,8 +1106,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<init>(...);
|
<init>(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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\CVB88\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||||
# Copyright (C) 2015 The Android Open Source Project
|
# Copyright (C) 2015 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1153,16 +1155,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is E:\android\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
# End of content from D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
||||||
-keepattributes *Annotation*
|
-keepattributes *Annotation*
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
||||||
# To enable ProGuard in your project, edit project.properties
|
# To enable ProGuard in your project, edit project.properties
|
||||||
# to define the proguard.config property as described in that file.
|
# to define the proguard.config property as described in that file.
|
||||||
#
|
#
|
||||||
@ -1202,8 +1204,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
|
public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1244,8 +1246,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.gamingservices.GamingServices
|
-keep class com.facebook.gamingservices.GamingServices
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1286,8 +1288,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.share.Share
|
-keep class com.facebook.share.Share
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1328,8 +1330,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.login.Login
|
-keep class com.facebook.login.Login
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1370,12 +1372,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.common.Common
|
-keep class com.facebook.common.Common
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
||||||
-keep class com.davemorrissey.labs.subscaleview.** { *; }
|
-keep class com.davemorrissey.labs.subscaleview.** { *; }
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||||
# Copyright (C) 2018 The Android Open Source Project
|
# Copyright (C) 2018 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1399,13 +1401,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<methods>;
|
<methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
||||||
#Picasso Proguard Config https://github.com/square/picasso
|
#Picasso Proguard Config https://github.com/square/picasso
|
||||||
-dontwarn com.squareup.okhttp.**
|
-dontwarn com.squareup.okhttp.**
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||||
# Copyright (C) 2016 The Android Open Source Project
|
# Copyright (C) 2016 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1432,13 +1434,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
RuntimeVisibleParameterAnnotations,
|
RuntimeVisibleParameterAnnotations,
|
||||||
RuntimeVisibleTypeAnnotations
|
RuntimeVisibleTypeAnnotations
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
||||||
-keepclasseswithmembers class androidx.recyclerview.widget.RecyclerView$ViewHolder {
|
-keepclasseswithmembers class androidx.recyclerview.widget.RecyclerView$ViewHolder {
|
||||||
public final android.view.View *;
|
public final android.view.View *;
|
||||||
}
|
}
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
||||||
# Proguard rules specific to the UI module.
|
# Proguard rules specific to the UI module.
|
||||||
|
|
||||||
# Constructor method accessed via reflection in StyledPlayerView
|
# Constructor method accessed via reflection in StyledPlayerView
|
||||||
@ -1479,8 +1481,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-dontwarn kotlin.annotations.jvm.**
|
-dontwarn kotlin.annotations.jvm.**
|
||||||
-dontwarn javax.annotation.**
|
-dontwarn javax.annotation.**
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||||
# Copyright (C) 2015 The Android Open Source Project
|
# Copyright (C) 2015 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1506,11 +1508,11 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public void suppressLayout(boolean);
|
public void suppressLayout(boolean);
|
||||||
public boolean isLayoutSuppressed();
|
public boolean isLayoutSuppressed();
|
||||||
}
|
}
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is E:\android\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
|
|
||||||
# End of content from E:\android\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
# End of content from D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1551,8 +1553,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.applinks.AppLinks
|
-keep class com.facebook.applinks.AppLinks
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1597,8 +1599,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
-keep class com.facebook.messenger.Messenger
|
-keep class com.facebook.messenger.Messenger
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
||||||
# Copyright (C) 2020 The Android Open Source Project
|
# Copyright (C) 2020 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1627,16 +1629,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
android.view.View findViewByAccessibilityIdTraversal(int);
|
android.view.View findViewByAccessibilityIdTraversal(int);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
||||||
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
|
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
|
||||||
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
|
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
|
||||||
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
|
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
|
||||||
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
|
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
||||||
-dontwarn jp.co.cyberagent.android.gpuimage.**
|
-dontwarn jp.co.cyberagent.android.gpuimage.**
|
||||||
|
|
||||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||||
@ -1646,8 +1648,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public *;
|
public *;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
||||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||||
-keep class * extends com.bumptech.glide.module.AppGlideModule {
|
-keep class * extends com.bumptech.glide.module.AppGlideModule {
|
||||||
<init>(...);
|
<init>(...);
|
||||||
@ -1663,8 +1665,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
# Uncomment for DexGuard only
|
# Uncomment for DexGuard only
|
||||||
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
|
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||||
# Keep the AIDL interface
|
# Keep the AIDL interface
|
||||||
-keep class com.android.vending.billing.** { *; }
|
-keep class com.android.vending.billing.** { *; }
|
||||||
|
|
||||||
@ -1699,8 +1701,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||||
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
|
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
|
||||||
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
|
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
|
||||||
com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian;
|
com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian;
|
||||||
@ -1708,8 +1710,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||||
# Can be removed once we pull in a dependency on firebase-common that includes
|
# Can be removed once we pull in a dependency on firebase-common that includes
|
||||||
# https://github.com/firebase/firebase-android-sdk/pull/1472/commits/856f1ca1151cdd88679bbc778892f23dfa34fc06#diff-a2ed34b5a38b4c6c686b09e54865eb48
|
# https://github.com/firebase/firebase-android-sdk/pull/1472/commits/856f1ca1151cdd88679bbc778892f23dfa34fc06#diff-a2ed34b5a38b4c6c686b09e54865eb48
|
||||||
-dontwarn com.google.auto.value.AutoValue
|
-dontwarn com.google.auto.value.AutoValue
|
||||||
@ -1722,18 +1724,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
||||||
-dontwarn com.google.firebase.platforminfo.KotlinDetector
|
-dontwarn com.google.firebase.platforminfo.KotlinDetector
|
||||||
-dontwarn com.google.auto.value.AutoValue
|
-dontwarn com.google.auto.value.AutoValue
|
||||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||||
# We keep all fields for every generated proto file as the runtime uses
|
# We keep all fields for every generated proto file as the runtime uses
|
||||||
# reflection over them that ProGuard cannot detect. Without this keep
|
# reflection over them that ProGuard cannot detect. Without this keep
|
||||||
# rule, fields may be removed that would cause runtime failures.
|
# rule, fields may be removed that would cause runtime failures.
|
||||||
@ -1741,8 +1743,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||||
# We keep all fields for every generated proto file as the runtime uses
|
# We keep all fields for every generated proto file as the runtime uses
|
||||||
# reflection over them that ProGuard cannot detect. Without this keep
|
# reflection over them that ProGuard cannot detect. Without this keep
|
||||||
# rule, fields may be removed that would cause runtime failures.
|
# rule, fields may be removed that would cause runtime failures.
|
||||||
@ -1750,8 +1752,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||||
# We keep all fields for every generated proto file as the runtime uses
|
# We keep all fields for every generated proto file as the runtime uses
|
||||||
# reflection over them that ProGuard cannot detect. Without this keep
|
# reflection over them that ProGuard cannot detect. Without this keep
|
||||||
# rule, fields may be removed that would cause runtime failures.
|
# rule, fields may be removed that would cause runtime failures.
|
||||||
@ -1759,8 +1761,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||||
# We keep all fields for every generated proto file as the runtime uses
|
# We keep all fields for every generated proto file as the runtime uses
|
||||||
# reflection over them that ProGuard cannot detect. Without this keep
|
# reflection over them that ProGuard cannot detect. Without this keep
|
||||||
# rule, fields may be removed that would cause runtime failures.
|
# rule, fields may be removed that would cause runtime failures.
|
||||||
@ -1768,8 +1770,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||||
# We keep all fields for every generated proto file as the runtime uses
|
# We keep all fields for every generated proto file as the runtime uses
|
||||||
# reflection over them that ProGuard cannot detect. Without this keep
|
# reflection over them that ProGuard cannot detect. Without this keep
|
||||||
# rule, fields may be removed that would cause runtime failures.
|
# rule, fields may be removed that would cause runtime failures.
|
||||||
@ -1777,8 +1779,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<fields>;
|
<fields>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||||
# Needed when building against pre-Marshmallow SDK.
|
# Needed when building against pre-Marshmallow SDK.
|
||||||
-dontwarn android.security.NetworkSecurityPolicy
|
-dontwarn android.security.NetworkSecurityPolicy
|
||||||
|
|
||||||
@ -1856,8 +1858,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||||
# Copyright (C) 2020 The Android Open Source Project
|
# Copyright (C) 2020 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -1878,12 +1880,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public <init>();
|
public <init>();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
||||||
# 本库模块专用的混淆规则
|
# 本库模块专用的混淆规则
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -1941,8 +1943,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public <methods>;
|
public <methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
||||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
@ -1951,8 +1953,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<init>(android.app.Application);
|
<init>(android.app.Application);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
||||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||||
<init>(androidx.lifecycle.SavedStateHandle);
|
<init>(androidx.lifecycle.SavedStateHandle);
|
||||||
}
|
}
|
||||||
@ -1961,8 +1963,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\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:
|
# When editing this file, update the following files as well:
|
||||||
# - META-INF/proguard/coroutines.pro
|
# - META-INF/proguard/coroutines.pro
|
||||||
# - META-INF/com.android.tools/proguard/coroutines.pro
|
# - META-INF/com.android.tools/proguard/coroutines.pro
|
||||||
@ -1990,8 +1992,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
# An annotation used for build tooling, won't be directly accessed.
|
# An annotation used for build tooling, won't be directly accessed.
|
||||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\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.
|
# Allow R8 to optimize away the FastServiceLoader.
|
||||||
# Together with ServiceLoader optimization in R8
|
# Together with ServiceLoader optimization in R8
|
||||||
# this results in direct instantiation when loading Dispatchers.Main
|
# this results in direct instantiation when loading Dispatchers.Main
|
||||||
@ -2016,8 +2018,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
boolean getDEBUG() return false;
|
boolean getDEBUG() return false;
|
||||||
boolean getRECOVER_STACK_TRACES() return false;
|
boolean getRECOVER_STACK_TRACES() return false;
|
||||||
}
|
}
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
||||||
#GSON
|
#GSON
|
||||||
# Retain Annotations for model objects
|
# Retain Annotations for model objects
|
||||||
-keepattributes *Annotation*
|
-keepattributes *Annotation*
|
||||||
@ -2041,8 +2043,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keepclasseswithmembers class * {
|
-keepclasseswithmembers class * {
|
||||||
@retrofit2.http.* <methods>;
|
@retrofit2.http.* <methods>;
|
||||||
}
|
}
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
||||||
# JSR 305 annotations are for embedding nullability information.
|
# JSR 305 annotations are for embedding nullability information.
|
||||||
-dontwarn javax.annotation.**
|
-dontwarn javax.annotation.**
|
||||||
|
|
||||||
@ -2055,16 +2057,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
|
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
|
||||||
-dontwarn okhttp3.internal.platform.ConscryptPlatform
|
-dontwarn okhttp3.internal.platform.ConscryptPlatform
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\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.
|
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
|
||||||
-dontwarn org.codehaus.mojo.animal_sniffer.*
|
-dontwarn org.codehaus.mojo.animal_sniffer.*
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# By default, the flags in this file are appended to flags specified
|
# By default, the flags in this file are appended to flags specified
|
||||||
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
|
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
|
||||||
@ -2093,8 +2095,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep @com.blankj.utilcode.util.ApiUtils$Api class *
|
-keep @com.blankj.utilcode.util.ApiUtils$Api class *
|
||||||
|
|
||||||
-keepattributes *Annotation*
|
-keepattributes *Annotation*
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
||||||
-keep class cn.rongcloud.xcrash.NativeHandler {
|
-keep class cn.rongcloud.xcrash.NativeHandler {
|
||||||
native <methods>;
|
native <methods>;
|
||||||
void crashCallback(...);
|
void crashCallback(...);
|
||||||
@ -2102,22 +2104,22 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
void traceCallbackBeforeDump(...);
|
void traceCallbackBeforeDump(...);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
||||||
# Proguard configuration.
|
# Proguard configuration.
|
||||||
-dontwarn com.squareup.okhttp.**
|
-dontwarn com.squareup.okhttp.**
|
||||||
|
|
||||||
# References to Picasso are okay if the consuming app doesn't use it
|
# References to Picasso are okay if the consuming app doesn't use it
|
||||||
-dontwarn com.squareup.picasso.Transformation
|
-dontwarn com.squareup.picasso.Transformation
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
||||||
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
|
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
|
||||||
#Prevents warnings for consumers not using AndroidX
|
#Prevents warnings for consumers not using AndroidX
|
||||||
-dontwarn androidx.annotation.**
|
-dontwarn androidx.annotation.**
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
||||||
#https://github.com/leolin310148/ShortcutBadger/issues/46
|
#https://github.com/leolin310148/ShortcutBadger/issues/46
|
||||||
-keep class me.leolin.shortcutbadger.impl.AdwHomeBadger { <init>(...); }
|
-keep class me.leolin.shortcutbadger.impl.AdwHomeBadger { <init>(...); }
|
||||||
-keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { <init>(...); }
|
-keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { <init>(...); }
|
||||||
@ -2128,8 +2130,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { <init>(...); }
|
-keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { <init>(...); }
|
||||||
-keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { <init>(...); }
|
-keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { <init>(...); }
|
||||||
-keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { <init>(...); }
|
-keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { <init>(...); }
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# You can control the filterSet of applied configuration files using the
|
# You can control the filterSet of applied configuration files using the
|
||||||
# proguardFiles setting in build.gradle.
|
# proguardFiles setting in build.gradle.
|
||||||
@ -2167,8 +2169,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
# 保持反射不被混淆
|
# 保持反射不被混淆
|
||||||
-keepattributes EnclosingMethod
|
-keepattributes EnclosingMethod
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# You can control the set of applied configuration files using the
|
# You can control the set of applied configuration files using the
|
||||||
# proguardFiles setting in build.gradle.
|
# proguardFiles setting in build.gradle.
|
||||||
@ -2190,12 +2192,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
# If you keep the line number information, uncomment this to
|
# If you keep the line number information, uncomment this to
|
||||||
# hide the original source file name.
|
# hide the original source file name.
|
||||||
#-renamesourcefileattribute SourceFile
|
#-renamesourcefileattribute SourceFile
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
||||||
# 本库模块专用的混淆规则
|
# 本库模块专用的混淆规则
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||||
-keep class com.cocos.game.**{ *; }
|
-keep class com.cocos.game.**{ *; }
|
||||||
-keep class tech.sud.runtime.**{ *; }
|
-keep class tech.sud.runtime.**{ *; }
|
||||||
-keep class tech.sud.mgp.core.**{ *; }
|
-keep class tech.sud.mgp.core.**{ *; }
|
||||||
@ -2849,8 +2851,8 @@ native <methods>;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||||
-keep class com.microsoft.cognitiveservices.** { *; }
|
-keep class com.microsoft.cognitiveservices.** { *; }
|
||||||
-keep class tech.sud.mgp.asr.azure.** { *; }
|
-keep class tech.sud.mgp.asr.azure.** { *; }
|
||||||
|
|
||||||
@ -2865,8 +2867,8 @@ native <methods>;
|
|||||||
*** *Callback(long);
|
*** *Callback(long);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# You can control the set of applied configuration files using the
|
# You can control the set of applied configuration files using the
|
||||||
# proguardFiles setting in build.gradle.
|
# proguardFiles setting in build.gradle.
|
||||||
@ -2893,8 +2895,8 @@ native <methods>;
|
|||||||
-keep class com.faceunity.wrapper.faceunity {*;}
|
-keep class com.faceunity.wrapper.faceunity {*;}
|
||||||
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
|
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||||
# Proguard rules specific to the core module.
|
# Proguard rules specific to the core module.
|
||||||
|
|
||||||
# Constructors accessed via reflection in DefaultRenderersFactory
|
# Constructors accessed via reflection in DefaultRenderersFactory
|
||||||
@ -2951,8 +2953,8 @@ native <methods>;
|
|||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
||||||
# Copyright (C) 2019 The Android Open Source Project
|
# Copyright (C) 2019 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -2971,8 +2973,8 @@ native <methods>;
|
|||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||||
# Copyright (C) 2017 The Android Open Source Project
|
# Copyright (C) 2017 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -2992,8 +2994,8 @@ native <methods>;
|
|||||||
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
|
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||||
# Copyright (C) 2016 The Android Open Source Project
|
# Copyright (C) 2016 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -3014,8 +3016,8 @@ native <methods>;
|
|||||||
*** get*();
|
*** get*();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@ -3051,8 +3053,8 @@ native <methods>;
|
|||||||
java.lang.Object readResolve();
|
java.lang.Object readResolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||||
# Copyright (C) 2017 The Android Open Source Project
|
# Copyright (C) 2017 The Android Open Source Project
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -3076,8 +3078,8 @@ native <methods>;
|
|||||||
-keep class androidx.media.** implements android.os.Parcelable {
|
-keep class androidx.media.** implements android.os.Parcelable {
|
||||||
public static final android.os.Parcelable$Creator *;
|
public static final android.os.Parcelable$Creator *;
|
||||||
}
|
}
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||||
# Never inline methods, but allow shrinking and obfuscation.
|
# Never inline methods, but allow shrinking and obfuscation.
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
||||||
<methods>;
|
<methods>;
|
||||||
@ -3095,8 +3097,8 @@ native <methods>;
|
|||||||
<methods>;
|
<methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
||||||
-keepattributes AnnotationDefault,
|
-keepattributes AnnotationDefault,
|
||||||
RuntimeVisibleAnnotations,
|
RuntimeVisibleAnnotations,
|
||||||
RuntimeVisibleParameterAnnotations,
|
RuntimeVisibleParameterAnnotations,
|
||||||
@ -3120,8 +3122,8 @@ native <methods>;
|
|||||||
# this rule is need to work properly when app is compiled with api 28, see b/142778206
|
# 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.
|
# Also this rule prevents registerIn from being inlined.
|
||||||
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
|
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
||||||
# Proguard rules specific to the DataSource module.
|
# 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.
|
# 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.
|
||||||
@ -3135,8 +3137,8 @@ native <methods>;
|
|||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
||||||
# Proguard rules specific to the extractor module.
|
# Proguard rules specific to the extractor module.
|
||||||
|
|
||||||
# Methods accessed via reflection in DefaultExtractorsFactory
|
# Methods accessed via reflection in DefaultExtractorsFactory
|
||||||
@ -3154,8 +3156,8 @@ native <methods>;
|
|||||||
-dontwarn kotlin.annotations.jvm.**
|
-dontwarn kotlin.annotations.jvm.**
|
||||||
-dontwarn javax.annotation.**
|
-dontwarn javax.annotation.**
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
||||||
# Proguard rules specific to the common module.
|
# Proguard rules specific to the common module.
|
||||||
|
|
||||||
# Don't warn about checkerframework and Kotlin annotations
|
# Don't warn about checkerframework and Kotlin annotations
|
||||||
@ -3179,30 +3181,30 @@ native <methods>;
|
|||||||
# This is needed for ProGuard but not R8.
|
# This is needed for ProGuard but not R8.
|
||||||
-keepclassmembernames class com.google.common.base.Function { *; }
|
-keepclassmembernames class com.google.common.base.Function { *; }
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||||
-keep class * implements androidx.versionedparcelable.VersionedParcelable
|
-keep class * implements androidx.versionedparcelable.VersionedParcelable
|
||||||
-keep public class android.support.**Parcelizer { *; }
|
-keep public class android.support.**Parcelizer { *; }
|
||||||
-keep public class androidx.**Parcelizer { *; }
|
-keep public class androidx.**Parcelizer { *; }
|
||||||
-keep public class androidx.versionedparcelable.ParcelImpl
|
-keep public class androidx.versionedparcelable.ParcelImpl
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
||||||
-keep class * extends androidx.room.RoomDatabase
|
-keep class * extends androidx.room.RoomDatabase
|
||||||
-dontwarn androidx.room.paging.**
|
-dontwarn androidx.room.paging.**
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||||
-dontwarn com.google.auto.value.AutoValue
|
-dontwarn com.google.auto.value.AutoValue
|
||||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\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
|
||||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\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 Proguard rule ensures that ComponentInitializers are are neither shrunk nor obfuscated.
|
||||||
# This is because they are discovered and instantiated during application initialization.
|
# This is because they are discovered and instantiated during application initialization.
|
||||||
-keep class * extends androidx.startup.Initializer {
|
-keep class * extends androidx.startup.Initializer {
|
||||||
@ -3212,22 +3214,22 @@ native <methods>;
|
|||||||
|
|
||||||
-assumenosideeffects class androidx.startup.StartupLogger
|
-assumenosideeffects class androidx.startup.StartupLogger
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\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$Instantiation
|
||||||
-dontwarn com.google.firebase.components.Component$ComponentType
|
-dontwarn com.google.firebase.components.Component$ComponentType
|
||||||
|
|
||||||
-keep class * implements com.google.firebase.components.ComponentRegistrar
|
-keep class * implements com.google.firebase.components.ComponentRegistrar
|
||||||
-keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar
|
-keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-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:\Users\CVB88\.gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||||
# The proguard configuration file for the following section is F:\AS\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:\Users\CVB88\.gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# Add project specific ProGuard rules here.
|
||||||
# By default, the flags in this file are appended to flags specified
|
# By default, the flags in this file are appended to flags specified
|
||||||
# in /Developer/android-sdk-osx/tools/proguard/proguard-android.txt
|
# in /Developer/android-sdk-osx/tools/proguard/proguard-android.txt
|
||||||
@ -3249,8 +3251,8 @@ native <methods>;
|
|||||||
-keep class io.github.inflationx.calligraphy3.* { *; }
|
-keep class io.github.inflationx.calligraphy3.* { *; }
|
||||||
-keep class io.github.inflationx.calligraphy3.*$* { *; }
|
-keep class io.github.inflationx.calligraphy3.*$* { *; }
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
# End of content from C:\Users\CVB88\.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-6.1.1\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||||
-keep,allowobfuscation @interface androidx.annotation.Keep
|
-keep,allowobfuscation @interface androidx.annotation.Keep
|
||||||
-keep @androidx.annotation.Keep class * {*;}
|
-keep @androidx.annotation.Keep class * {*;}
|
||||||
|
|
||||||
@ -3270,7 +3272,7 @@ native <methods>;
|
|||||||
@androidx.annotation.DoNotInline <methods>;
|
@androidx.annotation.DoNotInline <methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from F:\AS\gradle-6.1.1\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||||
# The proguard configuration file for the following section is <unknown>
|
# The proguard configuration file for the following section is <unknown>
|
||||||
|
|
||||||
# End of content from <unknown>
|
# End of content from <unknown>
|
@ -12,8 +12,10 @@ import android.widget.ImageView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import com.blankj.utilcode.util.LogUtils;
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
|
import com.google.android.exoplayer2.C;
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
|
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
|
||||||
@ -23,16 +25,21 @@ import com.yunbao.common.utils.AppManager;
|
|||||||
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
||||||
import com.yunbao.common.utils.DateFormatUtil;
|
import com.yunbao.common.utils.DateFormatUtil;
|
||||||
import com.yunbao.common.utils.StringUtil;
|
import com.yunbao.common.utils.StringUtil;
|
||||||
|
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||||
import com.yunbao.common.utils.ViewUtils;
|
import com.yunbao.common.utils.ViewUtils;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
|
|
||||||
|
import org.spongycastle.jcajce.provider.asymmetric.rsa.ISOSignatureSpi;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import io.rong.imkit.IMCenter;
|
import io.rong.imkit.IMCenter;
|
||||||
|
import io.rong.imkit.RongIM;
|
||||||
import io.rong.imkit.conversationlist.ConversationListAdapter;
|
import io.rong.imkit.conversationlist.ConversationListAdapter;
|
||||||
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||||
import io.rong.imkit.conversationlist.model.SingleConversation;
|
import io.rong.imkit.conversationlist.model.SingleConversation;
|
||||||
@ -52,19 +59,44 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
public static final int TYPE_SEARCH_USER = 510;
|
public static final int TYPE_SEARCH_USER = 510;
|
||||||
public static final int TYPE_SEARCH_CHAT = 520;
|
public static final int TYPE_SEARCH_CHAT = 520;
|
||||||
private List<BaseUiConversation> srcList;
|
private List<BaseUiConversation> srcList;
|
||||||
|
private List<BaseUiConversation> allDataList;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private boolean isChat = true;
|
private boolean isChat = true;
|
||||||
private OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener;
|
private OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener;
|
||||||
private Map<String, Integer> timerMap = new HashMap<>();
|
private Map<String, Integer> timerMap = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
|
public static final int FILTER_OFFLINE = 0;
|
||||||
|
public static final int FILTER_ONLINE = 1;
|
||||||
|
public static final int FILTER_UNREAD = 2;
|
||||||
|
public static final int FILTER_READ = 4;
|
||||||
|
public static final int FILTER_ALL = 7;
|
||||||
|
private int mFilter = FILTER_ALL;
|
||||||
|
|
||||||
|
public int getFilter() {
|
||||||
|
return mFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFilter(int mFilter) {
|
||||||
|
if (this.mFilter == mFilter)
|
||||||
|
return;
|
||||||
|
this.mFilter = mFilter;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public MainConversationListAdapter(Context mContext) {
|
public MainConversationListAdapter(Context mContext) {
|
||||||
this.mContext = mContext;
|
this.mContext = mContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSrcList(List<BaseUiConversation> srcList) {
|
public void setSrcList(List<BaseUiConversation> srcList) {
|
||||||
this.srcList = srcList;
|
this.srcList = srcList;
|
||||||
|
if (mFilter== FILTER_OFFLINE || mFilter == FILTER_ONLINE) {
|
||||||
|
super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList));
|
||||||
|
}else {
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void setOnRefreshListener(OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener) {
|
public void setOnRefreshListener(OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener) {
|
||||||
this.onRefreshListener = onRefreshListener;
|
this.onRefreshListener = onRefreshListener;
|
||||||
@ -87,7 +119,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_chat, parent, false);
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_chat, parent, false);
|
||||||
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
||||||
} else if (viewType != -200) {
|
} else if (viewType != -200) {
|
||||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item, parent, false);
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item2, parent, false);
|
||||||
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
||||||
} else {
|
} else {
|
||||||
holder = super.onCreateViewHolder(parent, viewType);
|
holder = super.onCreateViewHolder(parent, viewType);
|
||||||
@ -126,13 +158,72 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
|
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
|
||||||
bindTitle(holder, position);
|
bindTitle(holder, position);
|
||||||
} else if (getItemViewType(position) != -200) {
|
} else if (getItemViewType(position) != -200) {
|
||||||
|
bindChatNew(holder, position);
|
||||||
super.onBindViewHolder(holder, position);
|
super.onBindViewHolder(holder, position);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (getItemViewType(position) != -200) {
|
if (getItemViewType(position) != -200) {
|
||||||
bindDefault(holder, position);
|
bindDefault(holder, position);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void bindChatNew(ViewHolder holder, int position) {
|
||||||
|
BaseUiConversation conversation = mDataList.get(position);
|
||||||
|
ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
|
||||||
|
holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
|
||||||
|
((TextView) holder.getView(R.id.rc_conversation_content)).setText(ChatMsgTypeUtils.getMsg(conversation.mConversationContent.toString()));
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
holder.setVisible(R.id.rc_conversation_live_online, "0".equals(conversation.mCore.getDraft()));
|
||||||
|
int unReadCount = conversation.mCore.getUnreadMessageCount();
|
||||||
|
|
||||||
|
if (unReadCount > 0) {
|
||||||
|
holder.setVisible(R.id.rc_conversation_unread_count, true);
|
||||||
|
holder.setText(R.id.rc_conversation_unread_count, String.valueOf(unReadCount));
|
||||||
|
} else {
|
||||||
|
holder.setVisible(R.id.rc_conversation_unread_count, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Message message = conversation.mCore.getMessage();
|
||||||
|
if (message != null && message.getMessageDirection() == Message.MessageDirection.SEND) {
|
||||||
|
holder.setVisible(R.id.rc_conversation_unread_tv, true);
|
||||||
|
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||||
|
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.rc_secondary_color));
|
||||||
|
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_read_tip));
|
||||||
|
} else {
|
||||||
|
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.red));
|
||||||
|
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_unread_tip));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
holder.setVisible(R.id.rc_conversation_unread_tv, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 bindDefault(ViewHolder holder, int position) {
|
private void bindDefault(ViewHolder holder, int position) {
|
||||||
BaseUiConversation conversation = mDataList.get(position);
|
BaseUiConversation conversation = mDataList.get(position);
|
||||||
Log.i("列表", "bindDefault: 用户头像:" + conversation.mCore.getPortraitUrl());
|
Log.i("列表", "bindDefault: 用户头像:" + conversation.mCore.getPortraitUrl());
|
||||||
@ -171,7 +262,9 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void bindEmpty(ViewHolder holder, int position) {
|
private void bindEmpty(ViewHolder holder, int position) {
|
||||||
|
Log.i("聊天数据源", "bindEmpty: ");
|
||||||
if (isChat) {
|
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.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);
|
ViewUtils.findViewById(holder.itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list);
|
||||||
@ -183,18 +276,19 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
|
|
||||||
public void onFinish() {
|
public void onFinish() {
|
||||||
if (onRefreshListener != null) {
|
if (onRefreshListener != null) {
|
||||||
Log.i("聊天数据源", "设置数据源: " + mDataList.size());
|
Log.i("聊天数据源", "设置数据源: " + allDataList.size());
|
||||||
onRefreshListener.onFinish(mDataList);
|
onRefreshListener.onFinish(allDataList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int listHashCode = 0;
|
private int listHashCode = 0;
|
||||||
@Override
|
|
||||||
public synchronized void setDataCollection(List<BaseUiConversation> data) {
|
public synchronized void setDataCollectionV2(List<BaseUiConversation> data, boolean isSearch) {
|
||||||
if (data.hashCode() == listHashCode) return;
|
if (data.hashCode() == listHashCode) return;
|
||||||
listHashCode = data.hashCode();
|
listHashCode = data.hashCode();
|
||||||
List<BaseUiConversation> tmp = new ArrayList<>();
|
List<BaseUiConversation> tmp = new ArrayList<>();
|
||||||
Log.i("聊天数据源", "setDataCollection: " + data.hashCode());
|
Log.i("聊天数据源", "size()" + data.size() + " setDataCollection: " + data.hashCode());
|
||||||
|
|
||||||
List<String> urls = new ArrayList<>();
|
List<String> urls = new ArrayList<>();
|
||||||
if (srcList == null) {
|
if (srcList == null) {
|
||||||
srcList = new ArrayList<>();
|
srcList = new ArrayList<>();
|
||||||
@ -236,13 +330,37 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
}
|
}
|
||||||
tmp.add(item);
|
tmp.add(item);
|
||||||
}
|
}
|
||||||
// ToastUtil.showDebug("消息数:"+data.size());
|
List<BaseUiConversation> showData = null;
|
||||||
super.setDataCollection(tmp);
|
if (isSearch) {
|
||||||
|
Log.i("聊天数据源", "FilterData isSearch");
|
||||||
|
showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList);
|
||||||
|
} else {
|
||||||
|
allDataList = tmp;
|
||||||
|
if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE )
|
||||||
|
{
|
||||||
|
Log.i("聊天数据源", "FilterData notSearch");
|
||||||
|
showData = UiConversationCodeUtil.FilterData(mFilter, allDataList);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) {
|
||||||
|
Log.i("聊天数据源", "数据源有变化" + showData.size());
|
||||||
|
super.setDataCollection(showData);
|
||||||
|
} else {
|
||||||
|
Log.i("聊天数据源", "数据源无变化");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setDataCollection(List<BaseUiConversation> data) {
|
||||||
|
setDataCollectionV2(data, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<String> tmpUids = new ArrayList<>();
|
private List<String> tmpUids = new ArrayList<>();
|
||||||
|
|
||||||
public void clear() {
|
public void clear() {
|
||||||
|
Log.i("聊天数据源", "clear: " + mDataList.size());
|
||||||
mDataList.clear();
|
mDataList.clear();
|
||||||
if (srcList != null) {
|
if (srcList != null) {
|
||||||
srcList.clear();
|
srcList.clear();
|
||||||
@ -375,4 +493,6 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,57 @@
|
|||||||
|
package com.yunbao.common.fragment;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel;
|
||||||
|
|
||||||
|
import com.facebook.all.All;
|
||||||
|
import com.yunbao.common.R;
|
||||||
|
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||||
|
|
||||||
|
public class ChatViewModel extends ViewModel {
|
||||||
|
|
||||||
|
private int mChatFilter = UiConversationCodeUtil.FILTER_ALL;
|
||||||
|
|
||||||
|
public int getChatFilter() {
|
||||||
|
return mChatFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChatFilter(int mChatFilter) {
|
||||||
|
this.mChatFilter = mChatFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public static final int FILTER_OFFLINE = 0;
|
||||||
|
// public static final int FILTER_ONLINE = 1;
|
||||||
|
// public static final int FILTER_UNREAD = 2;
|
||||||
|
// public static final int FILTER_READ = 4;
|
||||||
|
// public static final int FILTER_ALL = 7;
|
||||||
|
// <string name="all_chats">All Chats</string>
|
||||||
|
// <string name="online_only">Show Online </string>
|
||||||
|
// <string name="offline_only">Show Offline </string>
|
||||||
|
// <string name="read_only">Show Read </string>
|
||||||
|
// <string name="unread_only">Show Unread </string>
|
||||||
|
|
||||||
|
public int getTitleTextId() {
|
||||||
|
int id = R.string.all_chats;
|
||||||
|
switch (mChatFilter) {
|
||||||
|
case UiConversationCodeUtil.FILTER_ALL:
|
||||||
|
id = R.string.all_chats;
|
||||||
|
break;
|
||||||
|
case UiConversationCodeUtil.FILTER_ONLINE:
|
||||||
|
id = R.string.online_only;
|
||||||
|
break;
|
||||||
|
case UiConversationCodeUtil.FILTER_OFFLINE:
|
||||||
|
id = R.string.offline_only;
|
||||||
|
break;
|
||||||
|
case UiConversationCodeUtil.FILTER_READ:
|
||||||
|
id = R.string.read_only;
|
||||||
|
break;
|
||||||
|
case UiConversationCodeUtil.FILTER_UNREAD:
|
||||||
|
id = R.string.unread_only;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
}
|
@ -9,11 +9,13 @@ import android.view.ViewGroup;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.common.adapter.MainConversationListAdapter;
|
import com.yunbao.common.adapter.MainConversationListAdapter;
|
||||||
import com.yunbao.common.utils.StringUtil;
|
import com.yunbao.common.utils.StringUtil;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -32,10 +34,12 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
|
|
||||||
private static final String TAG = "融云列表";
|
private static final String TAG = "融云列表";
|
||||||
int listHashCode = 0;
|
int listHashCode = 0;
|
||||||
|
// ChatViewModel chatViewModel;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
Log.i(TAG, "onCreateView: 创建融云");
|
Log.i(TAG, "onCreateView: 创建融云");
|
||||||
|
// chatViewModel = (ChatViewModel)(new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
||||||
return inflater.inflate(R.layout.rc_conversationlist_fragment, container, false);
|
return inflater.inflate(R.layout.rc_conversationlist_fragment, container, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,10 +50,13 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer<List<BaseUiConversation>>() {
|
mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer<List<BaseUiConversation>>() {
|
||||||
@Override
|
@Override
|
||||||
public void onChanged(List<BaseUiConversation> uiConversations) {
|
public void onChanged(List<BaseUiConversation> uiConversations) {
|
||||||
if (listHashCode != uiConversations.hashCode()) {
|
int hashCode = UiConversationCodeUtil.getListHasCode(uiConversations);
|
||||||
listHashCode = uiConversations.hashCode();
|
if (listHashCode != hashCode) {
|
||||||
|
Log.i("nwq", "刷新数据");
|
||||||
|
listHashCode = hashCode;
|
||||||
((MainConversationListAdapter) mAdapter).onFinish();
|
((MainConversationListAdapter) mAdapter).onFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mConversationListViewModel.getRefreshEventLiveData().observe(this.getViewLifecycleOwner(), new Observer<Event.RefreshEvent>() {
|
mConversationListViewModel.getRefreshEventLiveData().observe(this.getViewLifecycleOwner(), new Observer<Event.RefreshEvent>() {
|
||||||
@ -58,7 +65,6 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
listHashCode = 0;
|
listHashCode = 0;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEmptyView(int viewLayoutMsgId) {
|
public void setEmptyView(int viewLayoutMsgId) {
|
||||||
@ -70,6 +76,11 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void refreshData() {
|
||||||
|
mRefreshLayout.autoRefresh();
|
||||||
|
//onConversationListRefresh(mRefreshLayout)
|
||||||
|
}
|
||||||
|
|
||||||
public void search(String search) {
|
public void search(String search) {
|
||||||
((MainConversationListAdapter) mAdapter).setSearch();
|
((MainConversationListAdapter) mAdapter).setSearch();
|
||||||
getContactsList(search);
|
getContactsList(search);
|
||||||
@ -144,7 +155,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
list.remove(list.size() - 1);
|
list.remove(list.size() - 1);
|
||||||
}
|
}
|
||||||
list.addAll(data);
|
list.addAll(data);
|
||||||
mAdapter.setDataCollection(list);
|
((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -166,7 +177,9 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ConversationListAdapter onResolveAdapter() {
|
protected ConversationListAdapter onResolveAdapter() {
|
||||||
this.mAdapter = new MainConversationListAdapter(getContext());
|
MainConversationListAdapter adapter = new MainConversationListAdapter(getContext());
|
||||||
|
// adapter.setFilter(chatViewModel.getChatFilter());
|
||||||
|
this.mAdapter = adapter;
|
||||||
return this.mAdapter;
|
return this.mAdapter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
import androidx.fragment.app.FragmentTransaction;
|
||||||
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
@ -49,7 +50,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
public MainMessageChatListFragment(Context mContext) {
|
public MainMessageChatListFragment(Context mContext) {
|
||||||
this.mContext =mContext;
|
this.mContext =mContext;
|
||||||
}
|
}
|
||||||
|
ChatViewModel chatViewModel;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
@ -62,8 +63,10 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
chatViewModel = (new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
||||||
conversationListFragment = new MainMessageChatFragment();
|
conversationListFragment = new MainMessageChatFragment();
|
||||||
setAdapter(conversationListFragment.getAdapter());
|
setAdapter(conversationListFragment.getAdapter());
|
||||||
|
mAdapter.setFilter(chatViewModel.getChatFilter());
|
||||||
FragmentManager manager = getChildFragmentManager();
|
FragmentManager manager = getChildFragmentManager();
|
||||||
FragmentTransaction transaction = manager.beginTransaction();
|
FragmentTransaction transaction = manager.beginTransaction();
|
||||||
transaction.replace(R.id.container, conversationListFragment);
|
transaction.replace(R.id.container, conversationListFragment);
|
||||||
@ -165,6 +168,16 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getFilter() {
|
||||||
|
return mAdapter.getFilter();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFilter(int mFilter) {
|
||||||
|
mAdapter.setFilter(mFilter);
|
||||||
|
chatViewModel.setChatFilter(mFilter);
|
||||||
|
conversationListFragment.refreshData();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
|
@ -1295,7 +1295,7 @@ public interface PDLiveApi {
|
|||||||
@Query("open_off") int status
|
@Query("open_off") int status
|
||||||
);
|
);
|
||||||
|
|
||||||
@GET("/api/public/?service=Pdlmsg.sendBefore")
|
@GET("/api/public/?service=Pdlmsg.sendBefore&new_pop=1")
|
||||||
Observable<ResponseModel<MessageSayHiBean>> getMessageSayHiTimer(
|
Observable<ResponseModel<MessageSayHiBean>> getMessageSayHiTimer(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -0,0 +1,195 @@
|
|||||||
|
package com.yunbao.common.utils;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||||
|
import io.rong.imlib.model.Conversation;
|
||||||
|
import io.rong.imlib.model.Message;
|
||||||
|
|
||||||
|
public class UiConversationCodeUtil {
|
||||||
|
|
||||||
|
|
||||||
|
public static final int FILTER_OFFLINE = 0;
|
||||||
|
public static final int FILTER_ONLINE = 1;
|
||||||
|
public static final int FILTER_UNREAD = 2;
|
||||||
|
public static final int FILTER_READ = 4;
|
||||||
|
public static final int FILTER_ALL = 7;
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean checkIsSame(List<BaseUiConversation> list1, List<BaseUiConversation> list2) {
|
||||||
|
if (list1.size() != list2.size()) return false;
|
||||||
|
int hashCode1 = getListHasCode(list1);
|
||||||
|
int hashCode2 = getListHasCode(list2);
|
||||||
|
return hashCode1 == hashCode2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean checkIsSame(int hashCode1, List<BaseUiConversation> list2) {
|
||||||
|
int hashCode2 = getListHasCode(list2);
|
||||||
|
return hashCode1 == hashCode2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getListHasCode(List<BaseUiConversation> list) {
|
||||||
|
int hashCodeValue = 1;
|
||||||
|
if (list == null || list.isEmpty())
|
||||||
|
return 1;
|
||||||
|
for (BaseUiConversation conversation : list) {
|
||||||
|
if (conversation != null) {
|
||||||
|
hashCodeValue = 31 * hashCodeValue + getBaseUiConversationHashCode(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return hashCodeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//根据BaseUiConversation对象的属性计算hashCode
|
||||||
|
private static int getBaseUiConversationHashCode(BaseUiConversation item) {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = 1;
|
||||||
|
Conversation mCore = item.mCore;
|
||||||
|
result = prime * result + ((mCore.getPortraitUrl() == null) ? 0 : mCore.getPortraitUrl().hashCode());
|
||||||
|
result = prime * result + ((mCore.getConversationTitle() == null) ? 0 : mCore.getConversationTitle().hashCode());
|
||||||
|
// result = prime * result + ((item.mConversationContent == null) ? 0 : item.mConversationContent.hashCode());
|
||||||
|
result = prime * result + (int) (mCore.getSentTime() ^ (mCore.getSentTime() >>> 32));
|
||||||
|
result = prime * result + ((mCore.getDraft() == null) ? 0 : mCore.getDraft().hashCode());
|
||||||
|
result = prime * result + mCore.getUnreadMessageCount();
|
||||||
|
|
||||||
|
Message message = mCore.getMessage();
|
||||||
|
if (message != null) {
|
||||||
|
Message.MessageDirection direction = message.getMessageDirection();
|
||||||
|
if (direction != null) {
|
||||||
|
result = prime * result + direction.hashCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result = prime * result + ((mCore.getSentStatus() == null) ? 0 : mCore.getSentStatus().hashCode());
|
||||||
|
result = prime * result + ((mCore.getReceivedStatus() == null) ? 0 : mCore.getReceivedStatus().hashCode());
|
||||||
|
result = prime * result + ((mCore.getTargetId() == null) ? 0 : mCore.getTargetId().hashCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static boolean isContains(List<BaseUiConversation> list, BaseUiConversation item) {
|
||||||
|
// 根据 item.mCore.getChannelId() 判断 list 是否包含
|
||||||
|
if (list == null || list.isEmpty() || item == null || item.mCore == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (BaseUiConversation conversation : list) {
|
||||||
|
// 增加空值检查
|
||||||
|
if (conversation != null && conversation.mCore != null
|
||||||
|
&& conversation.mCore.getTargetId() != null
|
||||||
|
&& conversation.mCore.getTargetId().equals(item.mCore.getTargetId())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> keyList,List<BaseUiConversation> srcList) {
|
||||||
|
List<BaseUiConversation> showData = new ArrayList<>();
|
||||||
|
if (keyList == null || keyList.isEmpty())
|
||||||
|
return showData;
|
||||||
|
Log.i("MainConversationListAdapter", "FilterData: 源" + keyList.size());
|
||||||
|
switch (filterType) {
|
||||||
|
case FILTER_ALL:
|
||||||
|
showData = keyList;
|
||||||
|
break;
|
||||||
|
case FILTER_ONLINE:
|
||||||
|
for (BaseUiConversation conversation : srcList) {
|
||||||
|
if ("0".equals(conversation.mCore.getDraft()) && isContains(keyList, conversation)) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_OFFLINE:
|
||||||
|
for (BaseUiConversation conversation : keyList) {
|
||||||
|
if (!"0".equals(conversation.mCore.getDraft())) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_READ:
|
||||||
|
for (BaseUiConversation conversation : keyList)
|
||||||
|
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||||
|
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||||
|
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_UNREAD:
|
||||||
|
for (BaseUiConversation conversation : keyList) {
|
||||||
|
boolean isRead;
|
||||||
|
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||||
|
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||||
|
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size());
|
||||||
|
return showData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> data) {
|
||||||
|
List<BaseUiConversation> showData = new ArrayList<>();
|
||||||
|
if (data == null || data.isEmpty())
|
||||||
|
return showData;
|
||||||
|
Log.i("MainConversationListAdapter", "设置数据源 FilterData: 源" + data.size());
|
||||||
|
switch (filterType) {
|
||||||
|
case FILTER_ALL:
|
||||||
|
showData = data;
|
||||||
|
break;
|
||||||
|
case FILTER_ONLINE:
|
||||||
|
for (BaseUiConversation conversation : data) {
|
||||||
|
if ("0".equals(conversation.mCore.getDraft())) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_OFFLINE:
|
||||||
|
for (BaseUiConversation conversation : data) {
|
||||||
|
if (!"0".equals(conversation.mCore.getDraft())) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_READ:
|
||||||
|
for (BaseUiConversation conversation : data)
|
||||||
|
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||||
|
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||||
|
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case FILTER_UNREAD:
|
||||||
|
for (BaseUiConversation conversation : data) {
|
||||||
|
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||||
|
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||||
|
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
|
||||||
|
showData.add(conversation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Log.i("MainConversationListAdapter", " 设置数据源 FilterData: 结果" + showData.size());
|
||||||
|
return showData;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,122 @@
|
|||||||
|
package com.yunbao.common.views;
|
||||||
|
|
||||||
|
import static io.rong.imlib.publicservice.model.PublicServiceMenu.PublicServiceMenuItemType.View;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.DisplayMetrics;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
|
import com.lxj.xpopup.core.AttachPopupView;
|
||||||
|
import com.yunbao.common.R;
|
||||||
|
import com.yunbao.common.adapter.MainConversationListAdapter;
|
||||||
|
import com.yunbao.common.utils.DpUtil;
|
||||||
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
|
|
||||||
|
import org.repackage.com.zui.opendeviceidlibrary.OpenDeviceId;
|
||||||
|
|
||||||
|
public class MsgChatTypeSelectPoPupView extends AttachPopupView implements android.view.View.OnClickListener {
|
||||||
|
|
||||||
|
private TextView chatTypeTv1, chatTypeTv2, chatTypeTv3, chatTypeTv4, chatTypeTv5;
|
||||||
|
private ImageView chatTypeImg1, chatTypeImg2, chatTypeImg3, chatTypeImg4, chatTypeImg5;
|
||||||
|
|
||||||
|
private ResultCallBack mResultCallBack;
|
||||||
|
private int lastType;
|
||||||
|
|
||||||
|
public MsgChatTypeSelectPoPupView(@NonNull Context context, int type, ResultCallBack itemDelListener) {
|
||||||
|
super(context);
|
||||||
|
mResultCallBack = itemDelListener;
|
||||||
|
lastType = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getImplLayoutId() {
|
||||||
|
return R.layout.view_msg_select_chat_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate() {
|
||||||
|
|
||||||
|
// 获取屏幕宽度
|
||||||
|
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
|
||||||
|
int screenWidth = displayMetrics.widthPixels;
|
||||||
|
|
||||||
|
// 设置弹窗宽度为屏幕宽度的 3/4
|
||||||
|
View view = findViewById(R.id.root);
|
||||||
|
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
|
||||||
|
layoutParams.width = screenWidth*3/4;
|
||||||
|
view.setLayoutParams(layoutParams);
|
||||||
|
|
||||||
|
chatTypeTv1 = findViewById(R.id.chatTypeTv1);
|
||||||
|
chatTypeImg1 = findViewById(R.id.chatTypeImg1);
|
||||||
|
chatTypeTv2 = findViewById(R.id.chatTypeTv2);
|
||||||
|
chatTypeImg2 = findViewById(R.id.chatTypeImg2);
|
||||||
|
chatTypeTv3 = findViewById(R.id.chatTypeTv3);
|
||||||
|
chatTypeImg3 = findViewById(R.id.chatTypeImg3);
|
||||||
|
chatTypeTv4 = findViewById(R.id.chatTypeTv4);
|
||||||
|
chatTypeImg4 = findViewById(R.id.chatTypeImg4);
|
||||||
|
chatTypeTv5 = findViewById(R.id.chatTypeTv5);
|
||||||
|
chatTypeImg5 = findViewById(R.id.chatTypeImg5);
|
||||||
|
|
||||||
|
chatTypeImg1.setOnClickListener(this);
|
||||||
|
chatTypeImg2.setOnClickListener(this);
|
||||||
|
chatTypeImg3.setOnClickListener(this);
|
||||||
|
chatTypeImg4.setOnClickListener(this);
|
||||||
|
chatTypeImg5.setOnClickListener(this);
|
||||||
|
|
||||||
|
handleChatTypeClick(lastType);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void handleChatTypeClick(int type) {
|
||||||
|
switch (type) {
|
||||||
|
case MainConversationListAdapter.FILTER_ALL:
|
||||||
|
chatTypeImg1.setImageResource(R.mipmap.ic_chat_type_select);
|
||||||
|
chatTypeTv1.setTextColor(ContextCompat.getColor(chatTypeTv1.getContext(), R.color.colorMainTab));
|
||||||
|
break;
|
||||||
|
case MainConversationListAdapter.FILTER_ONLINE:
|
||||||
|
chatTypeImg2.setImageResource(R.mipmap.ic_chat_type_select);
|
||||||
|
chatTypeTv2.setTextColor(ContextCompat.getColor(chatTypeTv2.getContext(), R.color.colorMainTab));
|
||||||
|
break;
|
||||||
|
case MainConversationListAdapter.FILTER_OFFLINE:
|
||||||
|
chatTypeImg3.setImageResource(R.mipmap.ic_chat_type_select);
|
||||||
|
chatTypeTv3.setTextColor(ContextCompat.getColor(chatTypeTv3.getContext(), R.color.colorMainTab));
|
||||||
|
break;
|
||||||
|
case MainConversationListAdapter.FILTER_READ:
|
||||||
|
chatTypeImg4.setImageResource(R.mipmap.ic_chat_type_select);
|
||||||
|
chatTypeTv4.setTextColor(ContextCompat.getColor(chatTypeTv4.getContext(), R.color.colorMainTab));
|
||||||
|
break;
|
||||||
|
case MainConversationListAdapter.FILTER_UNREAD:
|
||||||
|
chatTypeImg5.setImageResource(R.mipmap.ic_chat_type_select);
|
||||||
|
chatTypeTv5.setTextColor(ContextCompat.getColor(chatTypeTv5.getContext(), R.color.colorMainTab));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(android.view.View v) {
|
||||||
|
if (v.getId() == R.id.chatTypeImg1) {
|
||||||
|
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ALL, chatTypeTv1.getText().toString());
|
||||||
|
} else if (v.getId() == R.id.chatTypeImg2) {
|
||||||
|
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE, chatTypeTv2.getText().toString());
|
||||||
|
} else if (v.getId() == R.id.chatTypeImg3) {
|
||||||
|
mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE, chatTypeTv3.getText().toString());
|
||||||
|
} else if (v.getId() == R.id.chatTypeImg4) {
|
||||||
|
mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ, chatTypeTv4.getText().toString());
|
||||||
|
} else if (v.getId() == R.id.chatTypeImg5) {
|
||||||
|
mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD, chatTypeTv5.getText().toString());
|
||||||
|
}
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public interface ResultCallBack {
|
||||||
|
void callBack(int i, String string);
|
||||||
|
}
|
||||||
|
}
|
11
common/src/main/res/drawable/green_dot.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="oval"> <!-- 设置形状为圆形 -->
|
||||||
|
|
||||||
|
<solid android:color="#6DFF7C" /> <!-- 设置填充颜色 -->
|
||||||
|
|
||||||
|
<!-- 可以添加额外的属性如边框等 -->
|
||||||
|
<!-- <stroke
|
||||||
|
android:width="2dp"
|
||||||
|
android:color="#000000" /> -->
|
||||||
|
|
||||||
|
</shape>
|
10
common/src/main/res/drawable/red_dot.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="oval"> <!-- 设置形状为圆形 -->
|
||||||
|
|
||||||
|
<solid android:color="#ffff4874" /> <!-- 设置填充颜色 -->
|
||||||
|
|
||||||
|
<stroke
|
||||||
|
android:width="2dp"
|
||||||
|
android:color="#30ff4874" /> <!-- 设置边框颜色为黑色并带有 70% 的不透明度 (BB 是 alpha 值) -->
|
||||||
|
|
||||||
|
</shape>
|
6
common/src/main/res/drawable/shape_white.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<corners android:radius="20dp"/>
|
||||||
|
<solid android:color="@color/white"/>
|
||||||
|
|
||||||
|
</shape>
|
29
common/src/main/res/layout/rc_conversation_type_item.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/rc_conversation_item"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginBottom="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:textColor="@color/colorMainTab"
|
||||||
|
tools:text="全部聊天" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginEnd="20dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_select" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
@ -14,7 +14,6 @@
|
|||||||
android:id="@+id/rc_conversation_portrait_rl"
|
android:id="@+id/rc_conversation_portrait_rl"
|
||||||
android:layout_width="48dp"
|
android:layout_width="48dp"
|
||||||
android:layout_height="48dp"
|
android:layout_height="48dp"
|
||||||
|
|
||||||
android:layout_marginTop="@dimen/rc_margin_size_12"
|
android:layout_marginTop="@dimen/rc_margin_size_12"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@ -180,6 +179,7 @@
|
|||||||
android:layout_marginBottom="@dimen/rc_margin_size_12"
|
android:layout_marginBottom="@dimen/rc_margin_size_12"
|
||||||
android:src="@drawable/rc_read_receipt"
|
android:src="@drawable/rc_read_receipt"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
|
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
|
||||||
app:layout_goneMarginRight="@dimen/rc_margin_size_12" />
|
app:layout_goneMarginRight="@dimen/rc_margin_size_12" />
|
||||||
|
159
common/src/main/res/layout/rc_conversationlist_item2.xml
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/rc_conversation_item"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/rc_conversation_item_height">
|
||||||
|
|
||||||
|
<com.yunbao.common.views.weight.ClipPathCircleImage
|
||||||
|
android:id="@+id/rc_conversation_portrait"
|
||||||
|
android:layout_width="54dp"
|
||||||
|
android:layout_height="54dp"
|
||||||
|
android:layout_marginTop="12dp"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@mipmap/beauty_jingbai"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/rc_conversation_live_online"
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:layout_marginTop="1dp"
|
||||||
|
android:layout_marginEnd="1dp"
|
||||||
|
android:layout_centerInParent="true"
|
||||||
|
android:src="@drawable/green_dot"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_portrait"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_title"
|
||||||
|
style="@style/TextStyle.Alignment"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxWidth="120dp"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textColor="@color/rc_text_main_color"
|
||||||
|
android:textSize="13dp"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait"
|
||||||
|
tools:text="张三11111111111111111111111" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_live_status"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/bg_main_message_chat_list_live_timer"
|
||||||
|
android:paddingStart="5dp"
|
||||||
|
android:paddingTop="2dp"
|
||||||
|
android:paddingEnd="3dp"
|
||||||
|
android:paddingBottom="3dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="#EC70FD"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:textSize="10sp"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/rc_conversation_title"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:text="看直播10min"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_date"
|
||||||
|
style="@style/TextStyle.Alignment"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="3 月 22 日"
|
||||||
|
android:layout_marginEnd="12dp"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
android:textColor="@color/rc_auxiliary_color"
|
||||||
|
android:textSize="@dimen/rc_font_nav_or_date_size"
|
||||||
|
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_unread_tv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_marginBottom="4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/rc_conversation_title"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
tools:text="[已读]"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/rc_conversation_content"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
|
android:textColor="@color/rc_secondary_color"
|
||||||
|
android:textSize="13dp" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_content"
|
||||||
|
style="@style/TextStyle.Alignment"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingEnd="6dp"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textColor="@color/rc_secondary_color"
|
||||||
|
android:textSize="13dp"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_read_receipt"
|
||||||
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/rc_conversation_unread_tv"
|
||||||
|
android:layout_marginBottom="4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
|
||||||
|
tools:text="你好,朋友!111111111111111111111" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rc_conversation_unread_count"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_content"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_date"
|
||||||
|
style="@style/TextStyle.Alignment"
|
||||||
|
app:layout_constraintDimensionRatio="1"
|
||||||
|
android:layout_width="18dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_height="18dp"
|
||||||
|
android:background="@drawable/red_dot"
|
||||||
|
android:text="15"
|
||||||
|
android:textColor="@color/rc_white_color"
|
||||||
|
android:textSize="10sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/rc_conversation_no_disturb"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/rc_margin_size_2"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_unread_count"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_unread_count"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_unread_count"
|
||||||
|
android:src="@drawable/rc_no_disturb"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/rc_conversation_read_receipt"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/rc_margin_size_2"
|
||||||
|
android:src="@drawable/rc_read_receipt"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_no_disturb"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/rc_conversation_no_disturb"
|
||||||
|
app:layout_constraintVertical_bias="1.0"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
139
common/src/main/res/layout/view_msg_select_chat_type.xml
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/root"
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/shape_white">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv1"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/all_chats"
|
||||||
|
android:textColor="#777777"
|
||||||
|
android:textSize="15sp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:textColor="@color/colorMainTab" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginEnd="20dp"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_unselect"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv1"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/chatTypeTv1"
|
||||||
|
tools:src="@mipmap/ic_chat_type_select" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv2"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/online_only"
|
||||||
|
android:textColor="#777777"
|
||||||
|
android:textSize="15sp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv1" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_unselect"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv2"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/chatTypeTv2" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv3"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/offline_only"
|
||||||
|
android:textColor="#777777"
|
||||||
|
android:textSize="15sp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv2" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_unselect"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv3"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/chatTypeTv3" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv4"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/read_only"
|
||||||
|
android:textColor="#777777"
|
||||||
|
android:textSize="15sp"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv3" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg4"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_unselect"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv4"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/chatTypeTv4" />
|
||||||
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/chatTypeTv5"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginTop="22dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/unread_only"
|
||||||
|
android:textColor="#777777"
|
||||||
|
android:textSize="15sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv4" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/chatTypeImg5"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_chat_type_unselect"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv5"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/chatTypeTv5" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
BIN
common/src/main/res/mipmap-mdpi/ic_chat_type_select.png
Normal file
After Width: | Height: | Size: 642 B |
BIN
common/src/main/res/mipmap-mdpi/ic_chat_type_unselect.png
Normal file
After Width: | Height: | Size: 542 B |
BIN
common/src/main/res/mipmap-xxhdpi/ic_chat_type_select.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_chat_type_unselect.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
common/src/main/res/mipmap-xxxhdpi/ic_chat_type_select.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
common/src/main/res/mipmap-xxxhdpi/ic_chat_type_unselect.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
@ -1474,4 +1474,11 @@ Limited ride And limited avatar frame</string>
|
|||||||
<string name="activity_msg_list_include">Include:</string>
|
<string name="activity_msg_list_include">Include:</string>
|
||||||
<string name="message_chat_msg_look_live">看直播%dmin</string>
|
<string name="message_chat_msg_look_live">看直播%dmin</string>
|
||||||
<string name="activity_msg_list_title_chat_records">Chat Records</string>
|
<string name="activity_msg_list_title_chat_records">Chat Records</string>
|
||||||
|
<string name="message_chat_msg_read_tip">[Read]</string>
|
||||||
|
<string name="message_chat_msg_unread_tip">[Unread]</string>
|
||||||
|
<string name="all_chats">All Chats</string>
|
||||||
|
<string name="online_only">Show Online </string>
|
||||||
|
<string name="offline_only">Show Offline </string>
|
||||||
|
<string name="read_only">Show Read </string>
|
||||||
|
<string name="unread_only">Show Unread </string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1604,5 +1604,11 @@
|
|||||||
<string name="live_end_view_ban_reason">違規原因:</string>
|
<string name="live_end_view_ban_reason">違規原因:</string>
|
||||||
<string name="live_end_view_ban_content">處罰內容:</string>
|
<string name="live_end_view_ban_content">處罰內容:</string>
|
||||||
<string name="live_end_view_ban_timer">處罰時間:</string>
|
<string name="live_end_view_ban_timer">處罰時間:</string>
|
||||||
|
<string name="message_chat_msg_read_tip">[已讀]</string>
|
||||||
|
<string name="message_chat_msg_unread_tip">[未讀]</string>
|
||||||
|
<string name="all_chats">全部聊天</string>
|
||||||
|
<string name="online_only">僅展示在線</string>
|
||||||
|
<string name="offline_only">僅展示離線</string>
|
||||||
|
<string name="read_only">展示對方已讀</string>
|
||||||
|
<string name="unread_only">展示對方未讀</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1412,5 +1412,11 @@ Limited ride And limited avatar frame</string>
|
|||||||
<string name="dialog_gift_wall_text_personal_hal">Personal hal</string>
|
<string name="dialog_gift_wall_text_personal_hal">Personal hal</string>
|
||||||
<string name="dialog_gift_wall_text_site_hal">Whole site hal</string>
|
<string name="dialog_gift_wall_text_site_hal">Whole site hal</string>
|
||||||
<string name="dialog_gift_wall_text_honors">Honors</string>
|
<string name="dialog_gift_wall_text_honors">Honors</string>
|
||||||
|
<string name="message_chat_msg_read_tip">[Read]</string>
|
||||||
|
<string name="message_chat_msg_unread_tip">[Unread]</string>
|
||||||
|
<string name="all_chats">All Chats</string>
|
||||||
|
<string name="online_only">Show Online </string>
|
||||||
|
<string name="offline_only">Show Offline </string>
|
||||||
|
<string name="read_only">Show Read </string>
|
||||||
|
<string name="unread_only">Show Unread </string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -32,9 +32,11 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
|
import androidx.constraintlayout.widget.Group;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||||
import androidx.viewpager2.widget.ViewPager2;
|
import androidx.viewpager2.widget.ViewPager2;
|
||||||
|
|
||||||
@ -43,12 +45,15 @@ import com.binioter.guideview.Guide;
|
|||||||
import com.binioter.guideview.GuideBuilder;
|
import com.binioter.guideview.GuideBuilder;
|
||||||
import com.facebook.appevents.AppEventsLogger;
|
import com.facebook.appevents.AppEventsLogger;
|
||||||
import com.lxj.xpopup.XPopup;
|
import com.lxj.xpopup.XPopup;
|
||||||
|
import com.lxj.xpopup.core.BasePopupView;
|
||||||
import com.lxj.xpopup.enums.PopupPosition;
|
import com.lxj.xpopup.enums.PopupPosition;
|
||||||
|
import com.lxj.xpopup.interfaces.XPopupCallback;
|
||||||
import com.opensource.svgaplayer.SVGADrawable;
|
import com.opensource.svgaplayer.SVGADrawable;
|
||||||
import com.opensource.svgaplayer.SVGAImageView;
|
import com.opensource.svgaplayer.SVGAImageView;
|
||||||
import com.opensource.svgaplayer.SVGAParser;
|
import com.opensource.svgaplayer.SVGAParser;
|
||||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||||
import com.yunbao.common.CommonAppConfig;
|
import com.yunbao.common.CommonAppConfig;
|
||||||
|
import com.yunbao.common.fragment.ChatViewModel;
|
||||||
import com.yunbao.common.fragment.MainMessageRecommendFragment;
|
import com.yunbao.common.fragment.MainMessageRecommendFragment;
|
||||||
import com.yunbao.common.utils.DebugUtils;
|
import com.yunbao.common.utils.DebugUtils;
|
||||||
import com.yunbao.common.utils.DialogUitl;
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
@ -73,6 +78,7 @@ import com.yunbao.common.utils.ToastUtil;
|
|||||||
import com.yunbao.common.utils.ViewPageIndicatorUtils;
|
import com.yunbao.common.utils.ViewPageIndicatorUtils;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.common.views.AbsMainViewHolder;
|
import com.yunbao.common.views.AbsMainViewHolder;
|
||||||
|
import com.yunbao.common.views.MsgChatTypeSelectPoPupView;
|
||||||
import com.yunbao.common.views.MsgRecommendPopupView;
|
import com.yunbao.common.views.MsgRecommendPopupView;
|
||||||
import com.yunbao.common.views.MsgSysDelPopupView;
|
import com.yunbao.common.views.MsgSysDelPopupView;
|
||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
@ -132,17 +138,20 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
private MagicIndicator mIndicator;
|
private MagicIndicator mIndicator;
|
||||||
private List<AbsMainMessageChatListFragment> fragmentList;
|
private List<AbsMainMessageChatListFragment> fragmentList;
|
||||||
|
|
||||||
private ConstraintLayout tabLayout1, tabLayout2, tabLayout3;
|
private Group tabLayout1, tabLayout2, tabLayout3;
|
||||||
private TextView tab1, tab2, tab3;
|
private TextView tab1, tab2, tab3;
|
||||||
|
private ImageView imageView1, imageView2, imageView3;
|
||||||
private View tab_line1, tab_line2, tab_line3;
|
private View tab_line1, tab_line2, tab_line3;
|
||||||
private ImageView tab_icon;
|
private ImageView tab_icon;
|
||||||
|
|
||||||
private List<ConstraintLayout> relativeLayouts = new ArrayList<>();
|
private List<Group> relativeLayouts = new ArrayList<>();
|
||||||
private List<TextView> tabTexts = new ArrayList<>();
|
private List<TextView> tabTexts = new ArrayList<>();
|
||||||
private List<View> tabLine = new ArrayList<>();
|
private List<View> tabLine = new ArrayList<>();
|
||||||
private LinearLayout tabLayouts;
|
private List<ImageView> tabExpend = new ArrayList<>();
|
||||||
|
private ConstraintLayout tabLayouts;
|
||||||
|
|
||||||
private int userType = 0; // (0)普通用户 (1)主播A (2)主播B
|
private int userType = 0; // (0)普通用户 (1)主播A (2)主播B
|
||||||
|
ChatViewModel chatViewModel;
|
||||||
|
|
||||||
public MainMessageViewHolder setHomeZdyPop(String homeZdyPop) {
|
public MainMessageViewHolder setHomeZdyPop(String homeZdyPop) {
|
||||||
this.homeZdyPop = homeZdyPop;
|
this.homeZdyPop = homeZdyPop;
|
||||||
@ -156,6 +165,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
public MainMessageViewHolder(MainActivity context, ViewGroup parentView) {
|
public MainMessageViewHolder(MainActivity context, ViewGroup parentView) {
|
||||||
super(context, parentView);
|
super(context, parentView);
|
||||||
mContext = context;
|
mContext = context;
|
||||||
|
chatViewModel= (new ViewModelProvider(mContext)).get(ChatViewModel.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -193,14 +203,28 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
tabLayouts = findViewById(R.id.tabLayouts);
|
tabLayouts = findViewById(R.id.tabLayouts);
|
||||||
|
|
||||||
tab_icon = findViewById(R.id.tab_icon);
|
tab_icon = findViewById(R.id.tab_icon);
|
||||||
tabLayout1 = findViewById(R.id.tabLayout1);
|
tabLayout1 = findViewById(R.id.group_tab1);
|
||||||
tabLayout2 = findViewById(R.id.tabLayout2);
|
tabLayout2 = findViewById(R.id.group_tab2);
|
||||||
tabLayout3 = findViewById(R.id.tabLayout3);
|
tabLayout3 = findViewById(R.id.group_tab3);
|
||||||
|
|
||||||
tab1 = findViewById(R.id.tab1);
|
tab1 = findViewById(R.id.tab1);
|
||||||
tab2 = findViewById(R.id.tab2);
|
tab2 = findViewById(R.id.tab2);
|
||||||
tab3 = findViewById(R.id.tab3);
|
tab3 = findViewById(R.id.tab3);
|
||||||
|
|
||||||
|
imageView1 = findViewById(R.id.expendImg1);
|
||||||
|
imageView2 = findViewById(R.id.expendImg2);
|
||||||
|
imageView3 = findViewById(R.id.expendImg3);
|
||||||
|
|
||||||
|
imageView1.setOnClickListener(view -> {
|
||||||
|
selectChatType(view, 0);
|
||||||
|
});
|
||||||
|
imageView2.setOnClickListener(view -> {
|
||||||
|
selectChatType(view, 1);
|
||||||
|
});
|
||||||
|
imageView3.setOnClickListener(view -> {
|
||||||
|
selectChatType(view, 2);
|
||||||
|
});
|
||||||
|
|
||||||
tab_line1 = findViewById(R.id.tab_line1);
|
tab_line1 = findViewById(R.id.tab_line1);
|
||||||
tab_line2 = findViewById(R.id.tab_line2);
|
tab_line2 = findViewById(R.id.tab_line2);
|
||||||
tab_line3 = findViewById(R.id.tab_line3);
|
tab_line3 = findViewById(R.id.tab_line3);
|
||||||
@ -224,6 +248,73 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void selectChatType(View view, int position) {
|
||||||
|
AbsMainMessageChatListFragment fragment = fragmentList.get(position);
|
||||||
|
if (!(fragment instanceof MainMessageChatListFragment) || !(view instanceof ImageView)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment;
|
||||||
|
ImageView expendImg = (ImageView) view;
|
||||||
|
expendImg.setImageResource(R.mipmap.ic_expend_up);
|
||||||
|
XPopup.Builder builder = new XPopup.Builder(mContext).atView(tabTexts.get(position));
|
||||||
|
builder.offsetY(16);
|
||||||
|
builder.dismissOnTouchOutside(true);
|
||||||
|
builder.setPopupCallback(new XPopupCallback() {
|
||||||
|
@Override
|
||||||
|
public void onCreated(BasePopupView popupView) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeShow(BasePopupView popupView) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onShow(BasePopupView popupView) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDismiss(BasePopupView popupView) {
|
||||||
|
expendImg.setImageResource(R.mipmap.ic_expend_down);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeDismiss(BasePopupView popupView) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onBackPressed(BasePopupView popupView) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onKeyBoardStateChanged(BasePopupView popupView, int height) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDrag(BasePopupView popupView, int value, float percent, boolean upOrLeft) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClickOutside(BasePopupView popupView) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.asCustom(new MsgChatTypeSelectPoPupView(mContext, chatFragment.getFilter(), new MsgChatTypeSelectPoPupView.ResultCallBack() {
|
||||||
|
@Override
|
||||||
|
public void callBack(int i,String str) {
|
||||||
|
tabTexts.get(position).setText(str);
|
||||||
|
chatFragment.setFilter(i);
|
||||||
|
}
|
||||||
|
})).show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initFragment() {
|
private void initFragment() {
|
||||||
final String[] titles;
|
final String[] titles;
|
||||||
fragmentList = new ArrayList<>();
|
fragmentList = new ArrayList<>();
|
||||||
@ -369,6 +460,12 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void showChatTypeSelect() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initTabView() {
|
private void initTabView() {
|
||||||
relativeLayouts = new ArrayList<>();
|
relativeLayouts = new ArrayList<>();
|
||||||
tabTexts = new ArrayList<>();
|
tabTexts = new ArrayList<>();
|
||||||
@ -382,14 +479,19 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
tabTexts.add(tab2);
|
tabTexts.add(tab2);
|
||||||
tabTexts.add(tab3);
|
tabTexts.add(tab3);
|
||||||
|
|
||||||
|
tabExpend.add(imageView1);
|
||||||
|
tabExpend.add(imageView2);
|
||||||
|
tabExpend.add(imageView3);
|
||||||
|
|
||||||
tabLine.add(tab_line1);
|
tabLine.add(tab_line1);
|
||||||
tabLine.add(tab_line2);
|
tabLine.add(tab_line2);
|
||||||
tabLine.add(tab_line3);
|
tabLine.add(tab_line3);
|
||||||
if (userType == 0) { //普通用户
|
if (userType == 0) { //普通用户
|
||||||
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
||||||
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
|
tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
|
||||||
ViewGroup.LayoutParams params = tabLayouts.getLayoutParams();
|
ViewGroup.LayoutParams params = tabLayouts.getLayoutParams();
|
||||||
params.width = LinearLayout.LayoutParams.WRAP_CONTENT;
|
params.width = LinearLayout.LayoutParams.WRAP_CONTENT;
|
||||||
|
//tabExpend.get(0).setVisibility(View.VISIBLE);
|
||||||
tabLayouts.setLayoutParams(params);
|
tabLayouts.setLayoutParams(params);
|
||||||
} else if (userType == 1) {//主播A
|
} else if (userType == 1) {//主播A
|
||||||
tab_icon.setVisibility(View.VISIBLE);
|
tab_icon.setVisibility(View.VISIBLE);
|
||||||
@ -409,10 +511,12 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
||||||
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend));
|
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend));
|
||||||
relativeLayouts.get(1).setVisibility(View.VISIBLE);
|
relativeLayouts.get(1).setVisibility(View.VISIBLE);
|
||||||
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a));
|
tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
|
||||||
|
// tabExpend.get(1).setVisibility(View.VISIBLE);
|
||||||
} else { //主播B
|
} else { //主播B
|
||||||
|
tabExpend.get(0).setVisibility(View.VISIBLE);
|
||||||
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
relativeLayouts.get(0).setVisibility(View.VISIBLE);
|
||||||
tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all));
|
tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId()));
|
||||||
relativeLayouts.get(1).setVisibility(View.VISIBLE);
|
relativeLayouts.get(1).setVisibility(View.VISIBLE);
|
||||||
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_system));
|
tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_system));
|
||||||
relativeLayouts.get(2).setVisibility(View.VISIBLE);
|
relativeLayouts.get(2).setVisibility(View.VISIBLE);
|
||||||
@ -420,7 +524,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < relativeLayouts.size(); i++) {
|
for (int i = 0; i < relativeLayouts.size(); i++) {
|
||||||
int finalI = i;
|
int finalI = i;
|
||||||
relativeLayouts.get(i).setOnClickListener(new View.OnClickListener() {
|
tabTexts.get(i).setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
selectTab(finalI);
|
selectTab(finalI);
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="24dp"
|
android:layout_height="24dp"
|
||||||
android:layout_gravity="end|bottom"
|
android:layout_gravity="end|bottom"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="5dp"
|
||||||
android:layout_marginTop="18dp"
|
android:layout_marginTop="18dp"
|
||||||
android:layout_marginEnd="15dp"
|
android:layout_marginEnd="15dp"
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
@ -303,185 +303,412 @@
|
|||||||
android:layout_height="37dp"
|
android:layout_height="37dp"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
|
||||||
<LinearLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/tabLayouts"
|
android:id="@+id/tabLayouts"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:gravity="center_vertical"
|
android:paddingStart="12dp"
|
||||||
android:paddingStart="20dp"
|
android:paddingEnd="12dp">
|
||||||
android:paddingEnd="20dp">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<TextView
|
||||||
android:visibility="gone"
|
android:id="@+id/tab1"
|
||||||
tools:visibility="visible"
|
android:layout_width="wrap_content"
|
||||||
android:id="@+id/tabLayout1"
|
android:layout_height="match_parent"
|
||||||
android:layout_width="0dp"
|
android:gravity="center"
|
||||||
android:layout_height="wrap_content"
|
android:maxWidth="100dp"
|
||||||
android:layout_weight="1">
|
android:textSize="15sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/view2"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="仅显示已读" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/tab_icon"
|
android:id="@+id/tab_icon"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="5dp"
|
android:layout_marginEnd="5dp"
|
||||||
android:layout_toStartOf="@+id/tab_top1"
|
|
||||||
android:src="@mipmap/icon_msg_recommend"
|
android:src="@mipmap/icon_msg_recommend"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tab_top1"
|
app:layout_constraintEnd_toStartOf="@+id/tab1"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:visibility="visible" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/tab_top1"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:ignore="MissingConstraints">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tab1"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="tab1"
|
|
||||||
android:textSize="15dp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="1.0"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/tab_line1"
|
android:id="@+id/tab_line1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="3dp"
|
android:layout_height="3dp"
|
||||||
android:layout_marginStart="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:layout_marginTop="3dp"
|
|
||||||
android:layout_below="@+id/tab_top1"
|
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginStart="3dp"
|
||||||
|
android:layout_marginTop="3dp"
|
||||||
|
android:layout_marginEnd="3dp"
|
||||||
android:background="@drawable/bg_main_com_type"
|
android:background="@drawable/bg_main_com_type"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tab1"
|
app:layout_constraintEnd_toEndOf="@+id/tab1"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tab1"
|
app:layout_constraintStart_toStartOf="@+id/tab1"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tab1" />
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<ImageView
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
android:id="@+id/expendImg1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_expend_down"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/tab1"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/tab1"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/tab1"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/group_tab1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible"
|
tools:visibility="visible"
|
||||||
android:id="@+id/tabLayout2"
|
app:constraint_referenced_ids="tab1,tab_line1"/>
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<View
|
||||||
android:id="@+id/tab_top2"
|
android:id="@+id/view2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="1dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="1dp"
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/tab2"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toEndOf="@+id/tab1"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
tools:ignore="MissingConstraints">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tab2"
|
android:id="@+id/tab2"
|
||||||
|
android:maxWidth="100dp"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="tab1"
|
android:textSize="15sp"
|
||||||
android:textSize="15dp"
|
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
|
tools:visibility="visible"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toStartOf="@+id/view3"
|
||||||
app:layout_constraintHorizontal_bias="1.0"
|
app:layout_constraintStart_toEndOf="@+id/view2"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
tools:text="系统匹配" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:id="@+id/tab_line2"
|
android:id="@+id/tab_line2"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_marginTop="3dp"
|
|
||||||
android:layout_marginStart="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:layout_height="3dp"
|
android:layout_height="3dp"
|
||||||
android:layout_below="@+id/tab_top2"
|
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginStart="3dp"
|
||||||
|
android:layout_marginTop="3dp"
|
||||||
|
android:layout_marginEnd="3dp"
|
||||||
android:background="@drawable/bg_main_com_type"
|
android:background="@drawable/bg_main_com_type"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tab2"
|
app:layout_constraintEnd_toEndOf="@+id/tab2"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tab2"
|
app:layout_constraintStart_toStartOf="@+id/tab2"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tab2" />
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<ImageView
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
android:id="@+id/expendImg2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_expend_down"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/tab2"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/tab2"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/tab2"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/group_tab2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
tools:visibility="visible"
|
tools:visibility="visible"
|
||||||
android:id="@+id/tabLayout3"
|
app:constraint_referenced_ids="view2,tab2,tab_line2"/>
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/tab_top3"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:orientation="vertical"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
tools:ignore="MissingConstraints">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tab3"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center"
|
|
||||||
android:text="tab1"
|
|
||||||
android:textSize="15dp"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="1.0"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
android:id="@+id/view3"
|
||||||
|
android:layout_width="1dp"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/tab3"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/tab2"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:maxWidth="100dp"
|
||||||
|
android:id="@+id/tab3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textSize="15sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
tools:visibility="visible"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/view3"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
tools:text="对方主动" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
tools:visibility="visible"
|
||||||
android:id="@+id/tab_line3"
|
android:id="@+id/tab_line3"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_marginStart="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:layout_height="3dp"
|
android:layout_height="3dp"
|
||||||
android:layout_marginTop="3dp"
|
|
||||||
android:layout_below="@+id/tab_top3"
|
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginStart="3dp"
|
||||||
|
android:layout_marginTop="3dp"
|
||||||
|
android:layout_marginEnd="3dp"
|
||||||
android:background="@drawable/bg_main_com_type"
|
android:background="@drawable/bg_main_com_type"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/tab3"
|
app:layout_constraintEnd_toEndOf="@+id/tab3"
|
||||||
app:layout_constraintStart_toStartOf="@+id/tab3"
|
app:layout_constraintStart_toStartOf="@+id/tab3"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/tab3" />
|
app:layout_constraintBottom_toBottomOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
<ImageView
|
||||||
|
android:id="@+id/expendImg3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:padding="5dp"
|
||||||
|
android:src="@mipmap/ic_expend_down"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/tab3"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/tab3"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/tab3"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/group_tab3"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible"
|
||||||
|
app:constraint_referenced_ids="view3,tab3,tab_line3"/>
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
<!-- <LinearLayout-->
|
||||||
|
<!-- android:id="@+id/tabLayouts"-->
|
||||||
|
<!-- android:layout_width="match_parent"-->
|
||||||
|
<!-- android:layout_height="40dp"-->
|
||||||
|
<!-- android:gravity="center_vertical"-->
|
||||||
|
<!-- android:paddingStart="20dp"-->
|
||||||
|
<!-- android:paddingEnd="20dp">-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tabLayout1"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:layout_weight="1"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- tools:visibility="visible">-->
|
||||||
|
|
||||||
|
<!-- <ImageView-->
|
||||||
|
<!-- android:id="@+id/tab_icon"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:layout_marginEnd="5dp"-->
|
||||||
|
<!-- android:layout_toStartOf="@+id/tab_top1"-->
|
||||||
|
<!-- android:src="@mipmap/icon_msg_recommend"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toStartOf="@+id/tab_top1"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:visibility="visible" />-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tab_top1"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="match_parent"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:gravity="center_horizontal"-->
|
||||||
|
<!-- android:orientation="vertical"-->
|
||||||
|
<!-- app:layout_constraintWidth_percent="0.8"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:ignore="MissingConstraints">-->
|
||||||
|
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:id="@+id/tab1"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:gravity="center"-->
|
||||||
|
<!-- android:text="tab1"-->
|
||||||
|
<!-- android:textSize="15dp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="1.0"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||||
|
|
||||||
|
<!-- <View-->
|
||||||
|
<!-- android:id="@+id/tab_line1"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="3dp"-->
|
||||||
|
<!-- android:layout_below="@+id/tab_top1"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:layout_marginStart="3dp"-->
|
||||||
|
<!-- android:layout_marginTop="3dp"-->
|
||||||
|
<!-- android:layout_marginEnd="3dp"-->
|
||||||
|
<!-- android:background="@drawable/bg_main_com_type"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="@+id/tab1"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="@+id/tab1"-->
|
||||||
|
<!-- app:layout_constraintTop_toBottomOf="@+id/tab1" />-->
|
||||||
|
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
|
||||||
|
<!-- <ImageView-->
|
||||||
|
<!-- android:id="@+id/expendImg1"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:padding="5dp"-->
|
||||||
|
<!-- android:src="@mipmap/ic_expend_down"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- android:layout_marginEnd="1dp"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="0.1"-->
|
||||||
|
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top1"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:visibility="visible" />-->
|
||||||
|
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tabLayout2"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:layout_weight="1"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- tools:visibility="visible">-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tab_top2"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="match_parent"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:gravity="center_horizontal"-->
|
||||||
|
<!-- android:orientation="vertical"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:ignore="MissingConstraints">-->
|
||||||
|
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:id="@+id/tab2"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:gravity="center"-->
|
||||||
|
<!-- android:text="tab1"-->
|
||||||
|
<!-- android:textSize="15dp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="1.0"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||||
|
|
||||||
|
<!-- <View-->
|
||||||
|
<!-- android:id="@+id/tab_line2"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="3dp"-->
|
||||||
|
<!-- android:layout_below="@+id/tab_top2"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:layout_marginStart="3dp"-->
|
||||||
|
<!-- android:layout_marginTop="3dp"-->
|
||||||
|
<!-- android:layout_marginEnd="3dp"-->
|
||||||
|
<!-- android:background="@drawable/bg_main_com_type"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="@+id/tab2"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="@+id/tab2"-->
|
||||||
|
<!-- app:layout_constraintTop_toBottomOf="@+id/tab2" />-->
|
||||||
|
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
|
||||||
|
<!-- <ImageView-->
|
||||||
|
<!-- android:id="@+id/expendImg2"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:padding="5dp"-->
|
||||||
|
<!-- android:src="@mipmap/ic_expend_down"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="0.1"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top2"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:visibility="visible" />-->
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tabLayout3"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:layout_weight="1"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- tools:visibility="visible">-->
|
||||||
|
|
||||||
|
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||||
|
<!-- android:id="@+id/tab_top3"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="match_parent"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:gravity="center_horizontal"-->
|
||||||
|
<!-- android:orientation="vertical"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:ignore="MissingConstraints">-->
|
||||||
|
|
||||||
|
<!-- <TextView-->
|
||||||
|
<!-- android:id="@+id/tab3"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:gravity="center"-->
|
||||||
|
<!-- android:text="tab1"-->
|
||||||
|
<!-- android:textSize="15dp"-->
|
||||||
|
<!-- android:textStyle="bold"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="1.0"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent" />-->
|
||||||
|
|
||||||
|
<!-- <View-->
|
||||||
|
<!-- android:id="@+id/tab_line3"-->
|
||||||
|
<!-- android:layout_width="0dp"-->
|
||||||
|
<!-- android:layout_height="3dp"-->
|
||||||
|
<!-- android:layout_below="@+id/tab_top3"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:layout_marginStart="3dp"-->
|
||||||
|
<!-- android:layout_marginTop="3dp"-->
|
||||||
|
<!-- android:layout_marginEnd="3dp"-->
|
||||||
|
<!-- android:background="@drawable/bg_main_com_type"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="@+id/tab3"-->
|
||||||
|
<!-- app:layout_constraintStart_toStartOf="@+id/tab3"-->
|
||||||
|
<!-- app:layout_constraintTop_toBottomOf="@+id/tab3" />-->
|
||||||
|
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
|
||||||
|
<!-- <ImageView-->
|
||||||
|
<!-- android:id="@+id/expendImg3"-->
|
||||||
|
<!-- android:layout_width="wrap_content"-->
|
||||||
|
<!-- android:layout_height="wrap_content"-->
|
||||||
|
<!-- android:layout_centerHorizontal="true"-->
|
||||||
|
<!-- android:padding="5dp"-->
|
||||||
|
<!-- app:layout_constraintHorizontal_bias="0.1"-->
|
||||||
|
<!-- android:src="@mipmap/ic_expend_down"-->
|
||||||
|
<!-- android:visibility="gone"-->
|
||||||
|
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
|
||||||
|
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||||
|
<!-- app:layout_constraintStart_toEndOf="@+id/tab_top3"-->
|
||||||
|
<!-- app:layout_constraintTop_toTopOf="parent"-->
|
||||||
|
<!-- tools:visibility="visible" />-->
|
||||||
|
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||||
|
<!-- </LinearLayout>-->
|
||||||
|
|
||||||
<androidx.viewpager2.widget.ViewPager2
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
android:id="@+id/viewPager"
|
android:id="@+id/viewPager"
|
||||||
|
BIN
main/src/main/res/mipmap-mdpi/ic_expend_down.png
Normal file
After Width: | Height: | Size: 377 B |
BIN
main/src/main/res/mipmap-mdpi/ic_expend_up.png
Normal file
After Width: | Height: | Size: 366 B |
BIN
main/src/main/res/mipmap-xxhdpi/ic_expend_down.png
Normal file
After Width: | Height: | Size: 1009 B |
BIN
main/src/main/res/mipmap-xxhdpi/ic_expend_up.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
main/src/main/res/mipmap-xxxhdpi/ic_expend_down.png
Normal file
After Width: | Height: | Size: 455 B |
BIN
main/src/main/res/mipmap-xxxhdpi/ic_expend_up.png
Normal file
After Width: | Height: | Size: 433 B |