Compare commits
177 Commits
新潘多拉
...
新潘多拉_6.8.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c6189db11 | ||
|
|
c166d0a476 | ||
|
|
a220408853 | ||
|
|
c55b262926 | ||
|
|
461a985799 | ||
|
|
5c369f7215 | ||
|
|
3ddcc944c0 | ||
|
|
7b2f853f2e | ||
|
|
636f5ded6f | ||
|
|
bebfbb3f02 | ||
|
|
eee2648277 | ||
|
|
87e372e8f9 | ||
|
|
fb09b8ef35 | ||
|
|
ecb44e510a | ||
|
|
6b9d951c55 | ||
|
|
f528353dd0 | ||
|
|
54cf21092c | ||
|
|
2799991ef3 | ||
|
|
8efa3b62e2 | ||
|
|
eed77f989f | ||
|
|
417a9ac628 | ||
|
|
1be00c75c4 | ||
|
|
11ac669077 | ||
|
|
e8c8456e14 | ||
|
|
2ee9e9c726 | ||
|
|
bb91d1bef7 | ||
|
|
9649a7eb01 | ||
|
|
7c8db902f3 | ||
|
|
7937ef70bc | ||
|
|
695c28db02 | ||
|
|
94ec0d1d88 | ||
|
|
88cf7ca74b | ||
|
|
1d45fa8d3d | ||
|
|
48f88a5a3b | ||
|
|
045a8708e0 | ||
|
|
b3b127bd0b | ||
|
|
6c92adc0a3 | ||
|
|
9ecfc46467 | ||
|
|
05f5538bc3 | ||
|
|
cb2310914b | ||
|
|
eac77dcdaf | ||
|
|
ce3dc1cd3d | ||
|
|
c24642e75a | ||
|
|
4f2311fbad | ||
|
|
ee53edbe1c | ||
|
|
865bf58108 | ||
|
|
5383e2a4ea | ||
|
|
17dbe82d9b | ||
|
|
548e373310 | ||
|
|
d544de6c1d | ||
|
|
bf7bc0ed81 | ||
|
|
76d24123a7 | ||
|
|
4f44278561 | ||
|
|
beace99a80 | ||
|
|
cc48c7c2e8 | ||
|
|
4f9c671e86 | ||
|
|
1caa595e00 | ||
|
|
4c4d53196a | ||
|
|
121f07fa45 | ||
|
|
e5d546ed6e | ||
|
|
9298ad70f6 | ||
|
|
ea1015b0b4 | ||
|
|
faf5305702 | ||
| 671ae63306 | |||
|
|
949ff20317 | ||
|
|
950bcee232 | ||
|
|
2236a90b31 | ||
|
|
c65a19dc4c | ||
|
|
ab009cf5d7 | ||
|
|
ed1bd72d0a | ||
|
|
c42b3db7d2 | ||
|
|
2b6ba78500 | ||
|
|
362bcce5f6 | ||
|
|
927211379f | ||
|
|
299c78e7c7 | ||
|
|
615416444d | ||
|
|
257b4c51aa | ||
|
|
fef1e49429 | ||
|
|
57e25eaa89 | ||
|
|
195bc56152 | ||
|
|
9454b5407a | ||
|
|
51caa11c07 | ||
|
|
380381c3fe | ||
|
|
ea391a648a | ||
|
|
f92406efa7 | ||
|
|
de9901707c | ||
|
|
ea558cb22f | ||
|
|
cdf9e75ebd | ||
|
|
b6d715d81c | ||
|
|
729db13ffd | ||
|
|
d7a5d224b2 | ||
|
|
6ba18e8ba2 | ||
| f738a9202b | |||
|
|
b5401503e9 | ||
|
|
5a19c0e1a5 | ||
|
|
4f81d720fd | ||
|
|
ad44be5af8 | ||
|
|
75ddc8d07f | ||
|
|
27776d1761 | ||
|
|
352a49c762 | ||
|
|
7976d36701 | ||
|
|
84bbb0c143 | ||
|
|
76e9748eeb | ||
|
|
fd8e805f78 | ||
|
|
50bdc01ea9 | ||
|
|
dffe681b95 | ||
|
|
31c8365696 | ||
|
|
98fc9f61c3 | ||
|
|
a44dfee38a | ||
|
|
b3c962c03b | ||
|
|
f30144c42c | ||
|
|
81cf2824a7 | ||
|
|
7ae32bbe77 | ||
|
|
0dc4f5b99b | ||
|
|
34a8637c9e | ||
|
|
53f26aee68 | ||
|
|
9d3ed3632a | ||
|
|
4f4034c1d0 | ||
|
|
23ff910ee2 | ||
|
|
14c8a51690 | ||
|
|
86e7abb7ec | ||
|
|
454a024caa | ||
|
|
a55f370871 | ||
|
|
330cf1faa2 | ||
|
|
7356431414 | ||
|
|
91f18b01b9 | ||
|
|
0a08b67fb1 | ||
|
|
6322c36906 | ||
|
|
73ea623700 | ||
|
|
1f09d1a0c4 | ||
|
|
2d5f23519d | ||
|
|
39dc287623 | ||
|
|
a86b560996 | ||
|
|
c58b37d111 | ||
|
|
eb594fcfce | ||
|
|
eba7cb1ab8 | ||
|
|
2d6f801f0b | ||
|
|
6f3dd58a8b | ||
|
|
1357eaaac9 | ||
|
|
a349e94bf3 | ||
|
|
4d6e38734d | ||
|
|
ddbce1bdbf | ||
|
|
319fa3c498 | ||
|
|
55b53fb955 | ||
|
|
c4a24be6f7 | ||
|
|
e0c1e9c64f | ||
|
|
b56a0bcce4 | ||
|
|
d2662da0b7 | ||
|
|
6b4f3537c2 | ||
|
|
983bb2837a | ||
|
|
bee903d22a | ||
|
|
b7a96d9b1d | ||
|
|
9b9e2bb2dc | ||
|
|
849f5aa66d | ||
|
|
8cf459b860 | ||
|
|
e3d04c9307 | ||
|
|
faa9adf69a | ||
|
|
e1f59b9223 | ||
|
|
f3945e1b21 | ||
|
|
13646d64c7 | ||
|
|
7f2136320d | ||
|
|
0d1e2c4e6b | ||
|
|
67b79cd306 | ||
|
|
150af4fc2c | ||
|
|
2c56322b1c | ||
|
|
86c7bd56d1 | ||
|
|
06bbca07a1 | ||
|
|
af8ac39e9c | ||
|
|
54ee2fb0b7 | ||
|
|
12749a1183 | ||
|
|
e7d43e2b48 | ||
|
|
732be62f90 | ||
|
|
a7a7bdd058 | ||
|
|
dcdf2c666d | ||
|
|
fc78fd9d1d | ||
|
|
8ddaf20e4f | ||
|
|
6e08a8db35 |
6
.gitignore
vendored
@@ -14,4 +14,8 @@ local.properties
|
|||||||
/live/build/
|
/live/build/
|
||||||
/main/build/
|
/main/build/
|
||||||
/video/build/
|
/video/build/
|
||||||
/tmp/full-r8-config.txt
|
/tmp/full-r8-config.txt
|
||||||
|
/outputs/apk
|
||||||
|
/TabLayout/build
|
||||||
|
/app/google_test/release
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
<queries>
|
<queries>
|
||||||
<package android:name="com.newpandora.yo"/>
|
<package android:name="${applicationId}"/>
|
||||||
<package android:name="com.facebook.orca"/>
|
<package android:name="com.facebook.orca"/>
|
||||||
|
|
||||||
<package
|
<package
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<string name="dialog_share_title">分享</string>
|
<string name="dialog_share_title">分享</string>
|
||||||
<string name="dialog_share_app_internal">站內好友</string>
|
<string name="dialog_share_app_internal">站內好友</string>
|
||||||
<string name="dialog_share_info">快來 PDLIVE觀看%s直播,認識更多有趣的朋友吧!</string>
|
<string name="dialog_share_info">快來 PandoraLive觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||||
<string name="dialog_share_app_facebook">Facebook</string>
|
<string name="dialog_share_app_facebook">Facebook</string>
|
||||||
<string name="dialog_share_app_line">Line</string>
|
<string name="dialog_share_app_line">Line</string>
|
||||||
<string name="dialog_share_app_twitter">Twitter</string>
|
<string name="dialog_share_app_twitter">Twitter</string>
|
||||||
@@ -14,6 +14,6 @@
|
|||||||
<string name="dialog_share_app_instagram">Instagram</string>
|
<string name="dialog_share_app_instagram">Instagram</string>
|
||||||
|
|
||||||
<string name="dialog_invite_title">邀請好友</string>
|
<string name="dialog_invite_title">邀請好友</string>
|
||||||
<string name="dialog_invite_info">快來 PDLIVE觀看直播,認識更多有趣的朋友吧!</string>
|
<string name="dialog_invite_info">快來 PandoraLive觀看直播,認識更多有趣的朋友吧!</string>
|
||||||
<string name="dialog_share_copy">複製</string>
|
<string name="dialog_share_copy">複製</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string name="dialog_share_title">Share</string>
|
<string name="dialog_share_title">Share</string>
|
||||||
<string name="dialog_share_info">Come and watch %s live on PDLIVE and meet more interesting people!</string>
|
<string name="dialog_share_info">Come and watch %s live on PandoraLive and meet more interesting people!</string>
|
||||||
<string name="dialog_invite_title">Invite Friends</string>
|
<string name="dialog_invite_title">Invite Friends</string>
|
||||||
<string name="dialog_invite_info">Come to PDLIVE to discover more and better live streams.</string>
|
<string name="dialog_invite_info">Come to PandoraLive to discover more and better live streams.</string>
|
||||||
<string name="dialog_share_copy">Copy</string>
|
<string name="dialog_share_copy">Copy</string>
|
||||||
<string name="dialog_share_app_internal">Site friends</string>
|
<string name="dialog_share_app_internal">Site friends</string>
|
||||||
<string name="dialog_share_internal_title">Share To</string>
|
<string name="dialog_share_internal_title">Share To</string>
|
||||||
|
|||||||
1
app/proguard-rules.pro
vendored
@@ -319,3 +319,4 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep class com.qiniu.**{*;}
|
-keep class com.qiniu.**{*;}
|
||||||
-keep class com.qiniu.**{public <init>();}
|
-keep class com.qiniu.**{public <init>();}
|
||||||
-ignorewarnings
|
-ignorewarnings
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
<uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||||
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />
|
<uses-permission android:name="android.permission.NETWORK_PROVIDER" />
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# 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
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanP\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 D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
# End of content from D:\AndroidProject\pandorapanP\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\proguard-rules.pro
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanP\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,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep class com.qiniu.**{public <init>();}
|
-keep class com.qiniu.**{public <init>();}
|
||||||
-ignorewarnings
|
-ignorewarnings
|
||||||
|
|
||||||
# End of content from D:\AndroidProject\pandorapanL\app\proguard-rules.pro
|
|
||||||
# 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
|
# End of content from D:\AndroidProject\pandorapanP\app\proguard-rules.pro
|
||||||
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanP\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\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>(); }
|
||||||
@@ -1093,10 +1094,10 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keepclassmembers class * { *** videoEditClick(android.view.View); }
|
-keepclassmembers class * { *** videoEditClick(android.view.View); }
|
||||||
|
|
||||||
|
|
||||||
# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt
|
# End of content from D:\AndroidProject\pandorapanP\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\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanP\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
|
# End of content from D:\AndroidProject\pandorapanP\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\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
|
# 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 {
|
||||||
@@ -1156,9 +1157,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
|
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 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 D:\AndroidProject\pandorapanP\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
|
# End of content from D:\AndroidProject\pandorapanP\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\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
|
# 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*
|
||||||
|
|
||||||
@@ -1377,7 +1378,7 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
-keep class com.davemorrissey.labs.subscaleview.** { *; }
|
-keep class com.davemorrissey.labs.subscaleview.** { *; }
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 C:\Users\CVB88\.gradle\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\ee31731bfec871ceb9cdfd12b05817bc\transformed\appcompat-1.6.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");
|
||||||
@@ -1401,7 +1402,7 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<methods>;
|
<methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ee31731bfec871ceb9cdfd12b05817bc\transformed\appcompat-1.6.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
|
# 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.**
|
||||||
@@ -1509,9 +1510,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
public boolean isLayoutSuppressed();
|
public boolean isLayoutSuppressed();
|
||||||
}
|
}
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanP\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
|
# End of content from D:\AndroidProject\pandorapanP\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\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
|
# 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.
|
||||||
@@ -1638,6 +1639,10 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 C:\Users\CVB88\.gradle\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 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 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.**
|
||||||
|
|
||||||
@@ -1881,10 +1886,135 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 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 C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||||
# 本库模块专用的混淆规则
|
# Add project specific ProGuard rules here.
|
||||||
|
# You can control the set of applied configuration files using the
|
||||||
|
# proguardFiles setting in build.gradle.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Uncomment this to preserve the line number information for
|
||||||
|
# debugging stack traces.
|
||||||
|
#-keepattributes SourceFile,LineNumberTable
|
||||||
|
|
||||||
|
# If you keep the line number information, uncomment this to
|
||||||
|
# hide the original source file name.
|
||||||
|
#-renamesourcefileattribute SourceFile
|
||||||
|
|
||||||
|
#################### FaceUnity #######################
|
||||||
|
-keep class com.faceunity.wrapper.faceunity {*;}
|
||||||
|
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
|
||||||
|
|
||||||
|
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||||
|
# Proguard rules specific to the core module.
|
||||||
|
|
||||||
|
# Constructors accessed via reflection in DefaultRenderersFactory
|
||||||
|
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
||||||
|
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer {
|
||||||
|
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
||||||
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
||||||
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
||||||
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Constructors accessed via reflection in DefaultDownloaderFactory
|
||||||
|
-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader {
|
||||||
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
|
||||||
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
|
||||||
|
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
|
||||||
|
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Constructors accessed via reflection in DefaultMediaSourceFactory
|
||||||
|
-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory
|
||||||
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory {
|
||||||
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory
|
||||||
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory {
|
||||||
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory
|
||||||
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory {
|
||||||
|
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
||||||
|
}
|
||||||
|
-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory
|
||||||
|
-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory {
|
||||||
|
<init>();
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||||
|
# Copyright (C) 2016 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# keep setters in VectorDrawables so that animations can still work.
|
||||||
|
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
|
||||||
|
void set*(***);
|
||||||
|
*** get*();
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\2d0bd167b8e4c9403f38fc379546639f\transformed\transition-1.4.1\proguard.txt
|
||||||
|
# Copyright (C) 2017 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Keep a field in transition that is used to keep a reference to weakly-referenced object
|
||||||
|
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
|
||||||
|
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
|
||||||
|
}
|
||||||
|
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2d0bd167b8e4c9403f38fc379546639f\transformed\transition-1.4.1\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
|
# 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.
|
||||||
@@ -1944,7 +2074,92 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 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 C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||||
|
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This source code is licensed under the license found in the
|
||||||
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
|
||||||
|
# To enable ProGuard in your project, edit project.properties
|
||||||
|
# to define the proguard.config property as described in that file.
|
||||||
|
#
|
||||||
|
# Add project specific ProGuard rules here.
|
||||||
|
# By default, the flags in this file are appended to flags specified
|
||||||
|
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||||
|
# You can edit the include path and order by changing the ProGuard
|
||||||
|
# include property in project.properties.
|
||||||
|
#
|
||||||
|
# For more details, see
|
||||||
|
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||||
|
|
||||||
|
# Add any project specific keep options here:
|
||||||
|
|
||||||
|
# If your project uses WebView with JS, uncomment the following
|
||||||
|
# and specify the fully qualified class name to the JavaScript interface
|
||||||
|
# class:
|
||||||
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
|
# public *;
|
||||||
|
#}
|
||||||
|
|
||||||
|
-keepclassmembers class * implements java.io.Serializable {
|
||||||
|
private static final java.io.ObjectStreamField[] serialPersistentFields;
|
||||||
|
private void writeObject(java.io.ObjectOutputStream);
|
||||||
|
private void readObject(java.io.ObjectInputStream);
|
||||||
|
java.lang.Object writeReplace();
|
||||||
|
java.lang.Object readResolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||||
|
# Copyright (C) 2017 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Prevent Parcelable objects from being removed or renamed.
|
||||||
|
-keep class android.support.v4.media.** implements android.os.Parcelable {
|
||||||
|
public static final android.os.Parcelable$Creator *;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prevent Parcelable objects from being removed or renamed.
|
||||||
|
-keep class androidx.media.** implements android.os.Parcelable {
|
||||||
|
public static final android.os.Parcelable$Creator *;
|
||||||
|
}
|
||||||
|
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\d8c3626714f2e560684e4c222f456210\transformed\core-1.13.0\proguard.txt
|
||||||
|
# Never inline methods, but allow shrinking and obfuscation.
|
||||||
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
||||||
|
<methods>;
|
||||||
|
}
|
||||||
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
|
||||||
|
<methods>;
|
||||||
|
}
|
||||||
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
|
||||||
|
<methods>;
|
||||||
|
}
|
||||||
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
|
||||||
|
<methods>;
|
||||||
|
}
|
||||||
|
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
|
||||||
|
<methods>;
|
||||||
|
}
|
||||||
|
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d8c3626714f2e560684e4c222f456210\transformed\core-1.13.0\proguard.txt
|
||||||
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6ece486db0154bb73a7bdce438b43da9\transformed\jetified-lifecycle-process-2.6.2\proguard.txt
|
||||||
|
# this rule is need to work properly when app is compiled with api 28, see b/142778206
|
||||||
|
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6ece486db0154bb73a7bdce438b43da9\transformed\jetified-lifecycle-process-2.6.2\proguard.txt
|
||||||
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8e869a6a6c2530a8e446d599f2764da5\transformed\lifecycle-viewmodel-2.6.2\proguard.txt
|
||||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
@@ -1953,8 +2168,33 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<init>(android.app.Application);
|
<init>(android.app.Application);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8e869a6a6c2530a8e446d599f2764da5\transformed\lifecycle-viewmodel-2.6.2\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
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ce0e6750868f3f66322f188d971f1ef3\transformed\lifecycle-runtime-2.6.2\proguard.txt
|
||||||
|
-keepattributes AnnotationDefault,
|
||||||
|
RuntimeVisibleAnnotations,
|
||||||
|
RuntimeVisibleParameterAnnotations,
|
||||||
|
RuntimeVisibleTypeAnnotations
|
||||||
|
|
||||||
|
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
|
||||||
|
<fields>;
|
||||||
|
}
|
||||||
|
|
||||||
|
-keep !interface * implements androidx.lifecycle.LifecycleObserver {
|
||||||
|
}
|
||||||
|
|
||||||
|
-keep class * implements androidx.lifecycle.GeneratedAdapter {
|
||||||
|
<init>(...);
|
||||||
|
}
|
||||||
|
|
||||||
|
-keepclassmembers class ** {
|
||||||
|
@androidx.lifecycle.OnLifecycleEvent *;
|
||||||
|
}
|
||||||
|
|
||||||
|
# this rule is need to work properly when app is compiled with api 28, see b/142778206
|
||||||
|
# Also this rule prevents registerIn from being inlined.
|
||||||
|
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ce0e6750868f3f66322f188d971f1ef3\transformed\lifecycle-runtime-2.6.2\proguard.txt
|
||||||
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\bd00b9047184418faa7306a460ee0581\transformed\jetified-lifecycle-viewmodel-savedstate-2.6.2\proguard.txt
|
||||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||||
<init>(androidx.lifecycle.SavedStateHandle);
|
<init>(androidx.lifecycle.SavedStateHandle);
|
||||||
}
|
}
|
||||||
@@ -1963,8 +2203,28 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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\bd00b9047184418faa7306a460ee0581\transformed\jetified-lifecycle-viewmodel-savedstate-2.6.2\proguard.txt
|
||||||
# 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
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3ada8249efd76aa45d398a9ccd7df9fd\transformed\jetified-savedstate-1.2.1\proguard.txt
|
||||||
|
# Copyright (C) 2019 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
|
||||||
|
<init>();
|
||||||
|
}
|
||||||
|
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3ada8249efd76aa45d398a9ccd7df9fd\transformed\jetified-savedstate-1.2.1\proguard.txt
|
||||||
|
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\31bdcbe39d5085657b9e9934bb01ff50\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
|
||||||
@@ -1992,8 +2252,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 C:\Users\CVB88\.gradle\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\31bdcbe39d5085657b9e9934bb01ff50\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\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\8a5acccede271ffbd4cb8a39c6aa6b22\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
|
||||||
@@ -2005,8 +2265,6 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
|||||||
boolean ANDROID_DETECTED return true;
|
boolean ANDROID_DETECTED return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
-keep class kotlinx.coroutines.android.AndroidDispatcherFactory {*;}
|
|
||||||
|
|
||||||
# Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher
|
# Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher
|
||||||
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt {
|
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt {
|
||||||
boolean SUPPORT_MISSING return false;
|
boolean SUPPORT_MISSING return false;
|
||||||
@@ -2018,7 +2276,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 C:\Users\CVB88\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
|
||||||
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8a5acccede271ffbd4cb8a39c6aa6b22\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\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
|
||||||
@@ -2868,261 +3127,21 @@ native <methods>;
|
|||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 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 C:\Users\CVB88\.gradle\caches\transforms-3\04cfd08a3f97a34725fadda3af782615\transformed\jetified-startup-runtime-1.1.1\proguard.txt
|
||||||
# Add project specific ProGuard rules here.
|
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
|
||||||
# You can control the set of applied configuration files using the
|
-keepnames class * extends androidx.startup.Initializer
|
||||||
# proguardFiles setting in build.gradle.
|
|
||||||
#
|
|
||||||
# For more details, see
|
|
||||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
# and are a part of the primary dex file. This is because they are discovered and instantiated
|
||||||
# class:
|
# during application startup.
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
-keep class * extends androidx.startup.Initializer {
|
||||||
# public *;
|
# Keep the public no-argument constructor while allowing other methods to be optimized.
|
||||||
#}
|
|
||||||
|
|
||||||
# Uncomment this to preserve the line number information for
|
|
||||||
# debugging stack traces.
|
|
||||||
#-keepattributes SourceFile,LineNumberTable
|
|
||||||
|
|
||||||
# If you keep the line number information, uncomment this to
|
|
||||||
# hide the original source file name.
|
|
||||||
#-renamesourcefileattribute SourceFile
|
|
||||||
|
|
||||||
#################### FaceUnity #######################
|
|
||||||
-keep class com.faceunity.wrapper.faceunity {*;}
|
|
||||||
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
|
||||||
# Proguard rules specific to the core module.
|
|
||||||
|
|
||||||
# Constructors accessed via reflection in DefaultRenderersFactory
|
|
||||||
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
|
||||||
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer {
|
|
||||||
<init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
|
||||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
|
||||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
|
||||||
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
|
|
||||||
}
|
|
||||||
|
|
||||||
# Constructors accessed via reflection in DefaultDownloaderFactory
|
|
||||||
-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader {
|
|
||||||
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
|
|
||||||
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
|
|
||||||
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
|
|
||||||
<init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
|
|
||||||
}
|
|
||||||
|
|
||||||
# Constructors accessed via reflection in DefaultMediaSourceFactory
|
|
||||||
-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory
|
|
||||||
-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory {
|
|
||||||
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory
|
|
||||||
-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory {
|
|
||||||
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory
|
|
||||||
-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory {
|
|
||||||
<init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
|
|
||||||
}
|
|
||||||
-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory
|
|
||||||
-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory {
|
|
||||||
<init>();
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
|
||||||
# Copyright (C) 2019 The Android Open Source Project
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
|
|
||||||
<init>();
|
<init>();
|
||||||
}
|
}
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }
|
||||||
# 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
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# Keep a field in transition that is used to keep a reference to weakly-referenced object
|
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\04cfd08a3f97a34725fadda3af782615\transformed\jetified-startup-runtime-1.1.1\proguard.txt
|
||||||
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
|
|
||||||
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
|
||||||
# Copyright (C) 2016 The Android Open Source Project
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# keep setters in VectorDrawables so that animations can still work.
|
|
||||||
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
|
|
||||||
void set*(***);
|
|
||||||
*** get*();
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
|
||||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# This source code is licensed under the license found in the
|
|
||||||
# LICENSE file in the root directory of this source tree.
|
|
||||||
|
|
||||||
# To enable ProGuard in your project, edit project.properties
|
|
||||||
# to define the proguard.config property as described in that file.
|
|
||||||
#
|
|
||||||
# Add project specific ProGuard rules here.
|
|
||||||
# By default, the flags in this file are appended to flags specified
|
|
||||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
|
||||||
# You can edit the include path and order by changing the ProGuard
|
|
||||||
# include property in project.properties.
|
|
||||||
#
|
|
||||||
# For more details, see
|
|
||||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
|
||||||
|
|
||||||
# Add any project specific keep options here:
|
|
||||||
|
|
||||||
# If your project uses WebView with JS, uncomment the following
|
|
||||||
# and specify the fully qualified class name to the JavaScript interface
|
|
||||||
# class:
|
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
||||||
# public *;
|
|
||||||
#}
|
|
||||||
|
|
||||||
-keepclassmembers class * implements java.io.Serializable {
|
|
||||||
private static final java.io.ObjectStreamField[] serialPersistentFields;
|
|
||||||
private void writeObject(java.io.ObjectOutputStream);
|
|
||||||
private void readObject(java.io.ObjectInputStream);
|
|
||||||
java.lang.Object writeReplace();
|
|
||||||
java.lang.Object readResolve();
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
|
||||||
# Copyright (C) 2017 The Android Open Source Project
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# Prevent Parcelable objects from being removed or renamed.
|
|
||||||
-keep class android.support.v4.media.** implements android.os.Parcelable {
|
|
||||||
public static final android.os.Parcelable$Creator *;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Prevent Parcelable objects from being removed or renamed.
|
|
||||||
-keep class androidx.media.** implements android.os.Parcelable {
|
|
||||||
public static final android.os.Parcelable$Creator *;
|
|
||||||
}
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
|
||||||
# Never inline methods, but allow shrinking and obfuscation.
|
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
|
||||||
<methods>;
|
|
||||||
}
|
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
|
|
||||||
<methods>;
|
|
||||||
}
|
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
|
|
||||||
<methods>;
|
|
||||||
}
|
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
|
|
||||||
<methods>;
|
|
||||||
}
|
|
||||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
|
|
||||||
<methods>;
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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 C:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
|
||||||
-keepattributes AnnotationDefault,
|
|
||||||
RuntimeVisibleAnnotations,
|
|
||||||
RuntimeVisibleParameterAnnotations,
|
|
||||||
RuntimeVisibleTypeAnnotations
|
|
||||||
|
|
||||||
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
|
|
||||||
<fields>;
|
|
||||||
}
|
|
||||||
|
|
||||||
-keep !interface * implements androidx.lifecycle.LifecycleObserver {
|
|
||||||
}
|
|
||||||
|
|
||||||
-keep class * implements androidx.lifecycle.GeneratedAdapter {
|
|
||||||
<init>(...);
|
|
||||||
}
|
|
||||||
|
|
||||||
-keepclassmembers class ** {
|
|
||||||
@androidx.lifecycle.OnLifecycleEvent *;
|
|
||||||
}
|
|
||||||
|
|
||||||
# this rule is need to work properly when app is compiled with api 28, see b/142778206
|
|
||||||
# Also this rule prevents registerIn from being inlined.
|
|
||||||
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
|
|
||||||
# End of content from 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 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 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.
|
||||||
|
|
||||||
@@ -3204,17 +3223,6 @@ native <methods>;
|
|||||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||||
|
|
||||||
# End of content from C:\Users\CVB88\.gradle\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 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 is because they are discovered and instantiated during application initialization.
|
|
||||||
-keep class * extends androidx.startup.Initializer {
|
|
||||||
# Keep the public no-argument constructor while allowing other methods to be optimized.
|
|
||||||
<init>();
|
|
||||||
}
|
|
||||||
|
|
||||||
-assumenosideeffects class androidx.startup.StartupLogger
|
|
||||||
|
|
||||||
# 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 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 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
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ dependencies {
|
|||||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||||
api files('libs/jcc-bate-0.7.3.jar')
|
api files('libs/jcc-bate-0.7.3.jar')
|
||||||
compileOnly fileTree(dir: '../libs', include: ['*.aar'])
|
compileOnly fileTree(dir: '../libs', include: ['*.aar'])
|
||||||
|
api 'androidx.activity:activity:1.9.1'
|
||||||
api rootProject.ext.dependencies["appcompat-androidx"]
|
api rootProject.ext.dependencies["appcompat-androidx"]
|
||||||
api rootProject.ext.dependencies["recyclerview-androidx"]
|
api rootProject.ext.dependencies["recyclerview-androidx"]
|
||||||
api rootProject.ext.dependencies["cardview-androidx"]
|
api rootProject.ext.dependencies["cardview-androidx"]
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="com.newpandora.yo.fileprovider"
|
android:authorities="${applicationId}.fileprovider"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:grantUriPermissions="true">
|
android:grantUriPermissions="true">
|
||||||
<meta-data
|
<meta-data
|
||||||
|
|||||||
@@ -282,6 +282,10 @@ public class Constants {
|
|||||||
|
|
||||||
public static final String SOCKET_LIVE_ANCHOR_PK_DIALOG="GuildCompetitionNotice";//公会赛弹窗
|
public static final String SOCKET_LIVE_ANCHOR_PK_DIALOG="GuildCompetitionNotice";//公会赛弹窗
|
||||||
|
|
||||||
|
public static final String SOCKET_SEND_NEW_TASK_PUSH="SendNewTaskPush";//直播间-新用户完成任务push
|
||||||
|
|
||||||
|
public static final String SOCKET_SEND_NEW_TASK_IM ="SendNewTaskIM"; //直播间—新用户领取礼物IM
|
||||||
|
|
||||||
//视频举报获取位置
|
//视频举报获取位置
|
||||||
public static int xIndex = 0;
|
public static int xIndex = 0;
|
||||||
public static int yindex = 0;
|
public static int yindex = 0;
|
||||||
|
|||||||
@@ -434,6 +434,8 @@ public class WebViewActivity extends AbsActivity {
|
|||||||
gotoLive(event.getLiveId());
|
gotoLive(event.getLiveId());
|
||||||
}else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
|
}else if (TextUtils.equals(event.getMethod(), "androidtoCommunityVideo")) {
|
||||||
RouteUtil.forwardCommunityActivity();
|
RouteUtil.forwardCommunityActivity();
|
||||||
|
}else if(TextUtils.equals(event.getMethod(), "toRoomManage")){
|
||||||
|
RouteUtil.forwardRoomManageActivity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
package com.yunbao.common.adapter;
|
||||||
|
|
||||||
|
import static com.yunbao.common.utils.StringUtil.isEmpty;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.yunbao.common.R;
|
||||||
|
import com.yunbao.common.bean.LiveDataHistoryBean;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by cxf on 2019/4/22.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class LiveDataHistoryAdapter extends RecyclerView.Adapter<LiveDataHistoryAdapter.Vh> {
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
private List<LiveDataHistoryBean> mList= new ArrayList<>();
|
||||||
|
private LayoutInflater mInflater;
|
||||||
|
|
||||||
|
public LiveDataHistoryAdapter(Context context, List<LiveDataHistoryBean> list) {
|
||||||
|
mContext = context;
|
||||||
|
mInflater = LayoutInflater.from(mContext);
|
||||||
|
mList = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDataCollection(List<LiveDataHistoryBean> data) {
|
||||||
|
if (data == null) {
|
||||||
|
data = new ArrayList();
|
||||||
|
}
|
||||||
|
this.mList = data;
|
||||||
|
this.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
@Override
|
||||||
|
public Vh onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
|
return new Vh(mInflater.inflate(R.layout.live_data_history_item, parent, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBindViewHolder(@NonNull Vh holder, @SuppressLint("RecyclerView") int position) {
|
||||||
|
if (isEmpty() || mList.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
holder.time.setText(mList.get(position).getAddtime().substring(0,9)+"\n"+mList.get(position).getAddtime().substring(10));
|
||||||
|
holder.giftTypeName.setText(mList.get(position).getCateName());
|
||||||
|
holder.giftName.setText(mList.get(position).getGiftname());
|
||||||
|
holder.income.setText(String.valueOf(mList.get(position).getAnchor_profit_coin()));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getItemCount() {
|
||||||
|
return mList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
class Vh extends RecyclerView.ViewHolder {
|
||||||
|
private TextView time;
|
||||||
|
private TextView giftTypeName;
|
||||||
|
private TextView giftName;
|
||||||
|
private TextView income;
|
||||||
|
|
||||||
|
public Vh(@NonNull View itemView) {
|
||||||
|
super(itemView);
|
||||||
|
time = itemView.findViewById(R.id.time);
|
||||||
|
giftTypeName = itemView.findViewById(R.id.giftTypeName);
|
||||||
|
giftName = itemView.findViewById(R.id.giftName);
|
||||||
|
income = itemView.findViewById(R.id.income);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.yunbao.live.adapter;
|
package com.yunbao.common.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
@@ -10,21 +10,21 @@ import android.widget.TextView;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.yunbao.live.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.live.bean.LiveDataInfoModel;
|
import com.yunbao.common.bean.LiveDataInfoNowModel;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class LiveDataInfoRecyclerAdapter extends RecyclerView.Adapter<LiveDataInfoRecyclerAdapter.LiveDataHolder> {
|
public class LiveDataInfoRecyclerAdapter extends RecyclerView.Adapter<LiveDataInfoRecyclerAdapter.LiveDataHolder> {
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private List<LiveDataInfoModel> list=new ArrayList<>();
|
private List<LiveDataInfoNowModel> list=new ArrayList<>();
|
||||||
|
|
||||||
public LiveDataInfoRecyclerAdapter(Context mContext) {
|
public LiveDataInfoRecyclerAdapter(Context mContext) {
|
||||||
this.mContext = mContext;
|
this.mContext = mContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setList(List<LiveDataInfoModel> list) {
|
public void setList(List<LiveDataInfoNowModel> list) {
|
||||||
this.list = list;
|
this.list = list;
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
@@ -54,12 +54,8 @@ public class LiveDataInfoRecyclerAdapter extends RecyclerView.Adapter<LiveDataIn
|
|||||||
data = itemView.findViewById(R.id.item_data);
|
data = itemView.findViewById(R.id.item_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setData(LiveDataInfoModel model) {
|
public void setData(LiveDataInfoNowModel model) {
|
||||||
if (model.getColor() != null) {
|
data.setText(model.getData());
|
||||||
data.setText(Html.fromHtml("<font color='" + model.getColor() + "'>" + model.getData() + "</font>"));
|
|
||||||
} else {
|
|
||||||
data.setText(model.getData());
|
|
||||||
}
|
|
||||||
title.setText(model.getTitle());
|
title.setText(model.getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,11 +132,13 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
int type = super.getItemViewType(position);
|
int type = super.getItemViewType(position);
|
||||||
if (mDataList.size() > position) {
|
if (mDataList.size() > position) {
|
||||||
String objectName = mDataList.get(position).mCore.getObjectName();
|
String objectName = mDataList.get(position).mCore.getObjectName();
|
||||||
|
Log.i("聊天数据源发现","objectName::"+objectName);
|
||||||
if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_USER")) {
|
if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_USER")) {
|
||||||
type = TYPE_SEARCH_USER;
|
type = TYPE_SEARCH_USER;
|
||||||
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_CHAT")) {
|
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_CHAT")) {
|
||||||
type = TYPE_SEARCH_CHAT;
|
type = TYPE_SEARCH_CHAT;
|
||||||
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_TITLE")) {
|
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_TITLE")) {
|
||||||
|
Log.i("聊天数据源发现 ","getItemViewTypeSEARCH_TITLE");
|
||||||
type = TYPE_SEARCH_TITLE;
|
type = TYPE_SEARCH_TITLE;
|
||||||
}
|
}
|
||||||
} else if (mDataList.isEmpty() || isEmpty() || srcList.isEmpty()) {
|
} else if (mDataList.isEmpty() || isEmpty() || srcList.isEmpty()) {
|
||||||
@@ -156,7 +158,9 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
} else if (getItemViewType(position) == TYPE_SEARCH_CHAT) {
|
} else if (getItemViewType(position) == TYPE_SEARCH_CHAT) {
|
||||||
bindChat(holder, position);
|
bindChat(holder, position);
|
||||||
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
|
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
|
||||||
|
Log.i("聊天数据源设置标题头","SEARCH_TITLE::"+position);
|
||||||
bindTitle(holder, position);
|
bindTitle(holder, position);
|
||||||
|
return;
|
||||||
} else if (getItemViewType(position) != -200) {
|
} else if (getItemViewType(position) != -200) {
|
||||||
bindChatNew(holder, position);
|
bindChatNew(holder, position);
|
||||||
super.onBindViewHolder(holder, position);
|
super.onBindViewHolder(holder, position);
|
||||||
@@ -297,7 +301,8 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
if (mContext == null)
|
if (mContext == null)
|
||||||
mContext = AppManager.getInstance().getLastActivity();
|
mContext = AppManager.getInstance().getLastActivity();
|
||||||
for (BaseUiConversation item : data) {
|
for (BaseUiConversation item : data) {
|
||||||
if (urls.contains(item.mCore.getTargetId())) continue;
|
if (urls.contains(item.mCore.getTargetId()) && item.mCore.getTargetId()!=null) continue;
|
||||||
|
// if ( item.mCore.getConversationTitle()==null || item.mCore.getTargetId()==null) continue;
|
||||||
if (item.mConversationContent != null && item.mConversationContent.toString().contains("_method_")) {
|
if (item.mConversationContent != null && item.mConversationContent.toString().contains("_method_")) {
|
||||||
IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE,
|
IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE,
|
||||||
item.mCore.getTargetId(),
|
item.mCore.getTargetId(),
|
||||||
@@ -316,7 +321,8 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), null);
|
IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), null);
|
||||||
}
|
}
|
||||||
urls.add(item.mCore.getTargetId());
|
urls.add(item.mCore.getTargetId());
|
||||||
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId());
|
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId() +"|"+item.mCore.getObjectName());
|
||||||
|
|
||||||
if (!tmpUids.contains(item.mCore.getTargetId())) {
|
if (!tmpUids.contains(item.mCore.getTargetId())) {
|
||||||
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
|
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
|
||||||
srcList.add(cn);
|
srcList.add(cn);
|
||||||
@@ -332,21 +338,21 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
|||||||
}
|
}
|
||||||
List<BaseUiConversation> showData = null;
|
List<BaseUiConversation> showData = null;
|
||||||
if (isSearch) {
|
if (isSearch) {
|
||||||
Log.i("聊天数据源", "FilterData isSearch");
|
// Log.i("聊天数据源", "FilterData isSearch");
|
||||||
showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList);
|
showData = tmp ;//UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList);
|
||||||
} else {
|
} else {
|
||||||
allDataList = tmp;
|
allDataList = tmp;
|
||||||
if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE )
|
if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE )
|
||||||
{
|
{
|
||||||
Log.i("聊天数据源", "FilterData notSearch");
|
// Log.i("聊天数据源", "FilterData notSearch");
|
||||||
showData = UiConversationCodeUtil.FilterData(mFilter, allDataList);
|
showData = UiConversationCodeUtil.FilterData(mFilter, allDataList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) {
|
if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) {
|
||||||
Log.i("聊天数据源", "数据源有变化" + showData.size());
|
// Log.i("聊天数据源", "数据源有变化" + showData.size());
|
||||||
super.setDataCollection(showData);
|
super.setDataCollection(showData);
|
||||||
} else {
|
} else {
|
||||||
Log.i("聊天数据源", "数据源无变化");
|
// Log.i("聊天数据源", "数据源无变化");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ public class ConfigBean extends BaseModel {
|
|||||||
private String google_isup;
|
private String google_isup;
|
||||||
|
|
||||||
private String sud_game_speech;
|
private String sud_game_speech;
|
||||||
|
private int pay_type = 0;
|
||||||
|
|
||||||
@SerializedName("is_return_user")//是否需要弹窗(0否,1是)
|
@SerializedName("is_return_user")//是否需要弹窗(0否,1是)
|
||||||
private String isReturnUser="";
|
private String isReturnUser="";
|
||||||
@@ -72,6 +73,14 @@ public class ConfigBean extends BaseModel {
|
|||||||
@SerializedName("jump_h5_url")//点击跳转H5页面地址
|
@SerializedName("jump_h5_url")//点击跳转H5页面地址
|
||||||
private String jumpH5Url="";
|
private String jumpH5Url="";
|
||||||
|
|
||||||
|
public int getPay_type() {
|
||||||
|
return pay_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPay_type(int pay_type) {
|
||||||
|
this.pay_type = pay_type;
|
||||||
|
}
|
||||||
|
|
||||||
@JSONField(name = "is_return_user")
|
@JSONField(name = "is_return_user")
|
||||||
public String getIsReturnUser() {
|
public String getIsReturnUser() {
|
||||||
return isReturnUser;
|
return isReturnUser;
|
||||||
|
|||||||
@@ -113,10 +113,67 @@ public class EnterRoomInfoModel extends BaseModel {
|
|||||||
private String giftWallLightenNumber;
|
private String giftWallLightenNumber;
|
||||||
@SerializedName("gift_wall_lighten_total")
|
@SerializedName("gift_wall_lighten_total")
|
||||||
private String giftWallLightenTotal;
|
private String giftWallLightenTotal;
|
||||||
|
|
||||||
@SerializedName("connection_info")
|
@SerializedName("connection_info")
|
||||||
private LivePkMicModel connectionInfo;
|
private LivePkMicModel connectionInfo;
|
||||||
|
|
||||||
|
@SerializedName("week_star_gift_num")
|
||||||
|
private String weekStarGiftNum;
|
||||||
|
|
||||||
|
@SerializedName("week_gift_illuminate_num")
|
||||||
|
private String weekGiftIlluminateNum;
|
||||||
|
|
||||||
|
// 对应的getter和setter方法
|
||||||
|
public String getWeekStarGiftNum() {
|
||||||
|
return weekStarGiftNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekStarGiftNum(String weekStarGiftNum) {
|
||||||
|
this.weekStarGiftNum = weekStarGiftNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWeekGiftIlluminateNum() {
|
||||||
|
return weekGiftIlluminateNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setWeekGiftIlluminateNum(String weekGiftIlluminateNum) {
|
||||||
|
this.weekGiftIlluminateNum = weekGiftIlluminateNum;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// "week_star_gift_num": 0,
|
||||||
|
// "week_gift_illuminate_num": 0
|
||||||
|
|
||||||
|
|
||||||
|
@SerializedName("is_first_entry")
|
||||||
|
private String isFirstEntry;
|
||||||
|
@SerializedName("is_new_user")
|
||||||
|
private String isNewUser;
|
||||||
|
@SerializedName("is_com_all")
|
||||||
|
private String isComAll;
|
||||||
|
|
||||||
|
public String getIsComAll() {
|
||||||
|
return isComAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsComAll(String isComAll) {
|
||||||
|
this.isComAll = isComAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIsFirstEntry() {
|
||||||
|
return isFirstEntry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsFirstEntry(String isFirstEntry) {
|
||||||
|
this.isFirstEntry = isFirstEntry;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIsNewUser() {
|
||||||
|
return isNewUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsNewUser(String isNewUser) {
|
||||||
|
this.isNewUser = isNewUser;
|
||||||
|
}
|
||||||
|
|
||||||
public LivePkMicModel getConnectionInfo() {
|
public LivePkMicModel getConnectionInfo() {
|
||||||
return connectionInfo;
|
return connectionInfo;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
public class HotStrategyBean {
|
||||||
|
private String id;
|
||||||
|
private String title;
|
||||||
|
private String english_title;
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnglish_title() {
|
||||||
|
return english_title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnglish_title(String english_title) {
|
||||||
|
this.english_title = english_title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,6 +19,21 @@ public class LiveAiRobotBean extends BaseModel {
|
|||||||
@SerializedName("ai_gz")
|
@SerializedName("ai_gz")
|
||||||
private int autoRequestFollowNumber;//自动求关注已配置数量
|
private int autoRequestFollowNumber;//自动求关注已配置数量
|
||||||
|
|
||||||
|
@SerializedName("ai_langue")//0中文1英文
|
||||||
|
private int aiLangue;
|
||||||
|
|
||||||
|
public int getAiLangue() {
|
||||||
|
return aiLangue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean isLangueCn(){
|
||||||
|
return aiLangue==0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAiLangue(int aiLangue) {
|
||||||
|
this.aiLangue = aiLangue;
|
||||||
|
}
|
||||||
|
|
||||||
public LiveAiRobotBean() {
|
public LiveAiRobotBean() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.yunbao.common.bean;
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName;
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -32,6 +34,9 @@ public class LiveAnchorSayModel extends BaseModel{
|
|||||||
private int isShow;
|
private int isShow;
|
||||||
private String content;
|
private String content;
|
||||||
private String styleImage;
|
private String styleImage;
|
||||||
|
@Nullable
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
|
||||||
public LivePreview() {
|
public LivePreview() {
|
||||||
}
|
}
|
||||||
@@ -48,6 +53,15 @@ public class LiveAnchorSayModel extends BaseModel{
|
|||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(@Nullable String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
public void setContent(String content) {
|
public void setContent(String content) {
|
||||||
this.content = content;
|
this.content = content;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 直播数据
|
||||||
|
*/
|
||||||
|
public class LiveDataHistoryBean extends BaseModel {
|
||||||
|
private String giftid;
|
||||||
|
private String anchor_profit_coin;
|
||||||
|
private String addtime;
|
||||||
|
private String giftname;
|
||||||
|
private String cate_name;
|
||||||
|
private String english_cate_name;
|
||||||
|
|
||||||
|
|
||||||
|
public String getGiftid() {
|
||||||
|
return giftid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiftid(String giftid) {
|
||||||
|
this.giftid = giftid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAnchor_profit_coin() {
|
||||||
|
return anchor_profit_coin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAnchor_profit_coin(String anchor_profit_coin) {
|
||||||
|
this.anchor_profit_coin = anchor_profit_coin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddtime() {
|
||||||
|
return addtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddtime(String addtime) {
|
||||||
|
this.addtime = addtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGiftname() {
|
||||||
|
return giftname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiftname(String giftname) {
|
||||||
|
this.giftname = giftname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCateName() {
|
||||||
|
return WordUtil.isNewZh()?cate_name:english_cate_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCate_name(String cate_name) {
|
||||||
|
this.cate_name = cate_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnglish_cate_name() {
|
||||||
|
return english_cate_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnglish_cate_name(String english_cate_name) {
|
||||||
|
this.english_cate_name = english_cate_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
|
||||||
|
public class LiveDataInfoNowModel extends BaseModel {
|
||||||
|
private String color;
|
||||||
|
private String title;
|
||||||
|
private String data;
|
||||||
|
|
||||||
|
public LiveDataInfoNowModel(String color, String title, String data) {
|
||||||
|
this.color = color;
|
||||||
|
this.title = title;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveDataInfoNowModel(String title, String data) {
|
||||||
|
this.title = title;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LiveDataInfoNowModel() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColor() {
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(String color) {
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(String data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开播提示
|
||||||
|
*/
|
||||||
|
public class LiveOpenTipsBean extends BaseModel{
|
||||||
|
private String content;
|
||||||
|
private String english_content;
|
||||||
|
|
||||||
|
public String getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnglish_content() {
|
||||||
|
return english_content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnglish_content(String english_content) {
|
||||||
|
this.english_content = english_content;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.yunbao.common.bean;
|
package com.yunbao.common.bean;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
import com.google.gson.annotations.SerializedName;
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
public class NewPeopleTaskModel extends BaseModel {
|
public class NewPeopleTaskModel extends BaseModel {
|
||||||
@@ -10,9 +12,12 @@ public class NewPeopleTaskModel extends BaseModel {
|
|||||||
private GiftModel gift = new GiftModel();
|
private GiftModel gift = new GiftModel();
|
||||||
@SerializedName("reward_all")
|
@SerializedName("reward_all")
|
||||||
private RewardAllModel rewardAll = new RewardAllModel();
|
private RewardAllModel rewardAll = new RewardAllModel();
|
||||||
@SerializedName("reward_one")
|
|
||||||
private RewardAllModel rewardOne = new RewardAllModel();
|
private RewardAllModel rewardOne = new RewardAllModel();
|
||||||
|
|
||||||
|
@SerializedName("is_free_gift")
|
||||||
|
private String isFreeGift = "1";
|
||||||
|
|
||||||
public TaskModel getTask() {
|
public TaskModel getTask() {
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
@@ -22,6 +27,20 @@ public class NewPeopleTaskModel extends BaseModel {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getIsFreeGift() {
|
||||||
|
return isFreeGift;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsFreeGift(String isFreeGift) {
|
||||||
|
this.isFreeGift = isFreeGift;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean hasFreeGift(){
|
||||||
|
Log.i("hasFreeGift",isFreeGift);
|
||||||
|
return isFreeGift.equals("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public GiftModel getGift() {
|
public GiftModel getGift() {
|
||||||
return gift;
|
return gift;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,6 +58,16 @@ public class UserBean implements Parcelable {
|
|||||||
private String is_bind;
|
private String is_bind;
|
||||||
private String mobile;
|
private String mobile;
|
||||||
private String front_task;
|
private String front_task;
|
||||||
|
|
||||||
|
public String getNoble_img() {
|
||||||
|
return noble_img;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNoble_img(String noble_img) {
|
||||||
|
this.noble_img = noble_img;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String noble_img;
|
||||||
private String is_admin;
|
private String is_admin;
|
||||||
@SerializedName("user_love_num")
|
@SerializedName("user_love_num")
|
||||||
private int praise;
|
private int praise;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ public abstract class AbsDialogFragment extends DialogFragment {
|
|||||||
|
|
||||||
protected Context mContext;
|
protected Context mContext;
|
||||||
protected View mRootView;
|
protected View mRootView;
|
||||||
|
protected Dialog dialog;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
@@ -37,7 +38,7 @@ public abstract class AbsDialogFragment extends DialogFragment {
|
|||||||
} else {
|
} else {
|
||||||
mRootView = LayoutInflater.from(mContext).inflate(getLayoutId(), null);
|
mRootView = LayoutInflater.from(mContext).inflate(getLayoutId(), null);
|
||||||
}
|
}
|
||||||
Dialog dialog = new Dialog(mContext, getDialogStyle());
|
dialog = new Dialog(mContext, getDialogStyle());
|
||||||
dialog.setContentView(mRootView);
|
dialog.setContentView(mRootView);
|
||||||
dialog.setCancelable(canCancel());
|
dialog.setCancelable(canCancel());
|
||||||
dialog.setCanceledOnTouchOutside(canCancel());
|
dialog.setCanceledOnTouchOutside(canCancel());
|
||||||
@@ -66,7 +67,7 @@ public abstract class AbsDialogFragment extends DialogFragment {
|
|||||||
|
|
||||||
protected abstract void setWindowAttributes(Window window);
|
protected abstract void setWindowAttributes(Window window);
|
||||||
|
|
||||||
protected View findViewById(int id) {
|
protected <T extends View> T findViewById(int id) {
|
||||||
if (mRootView != null) {
|
if (mRootView != null) {
|
||||||
return mRootView.findViewById(id);
|
return mRootView.findViewById(id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,16 +22,7 @@ public class ChatViewModel extends ViewModel {
|
|||||||
this.mChatFilter = 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() {
|
public int getTitleTextId() {
|
||||||
int id = R.string.all_chats;
|
int id = R.string.all_chats;
|
||||||
|
|||||||
@@ -0,0 +1,114 @@
|
|||||||
|
package com.yunbao.common.fragment;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.yunbao.common.R;
|
||||||
|
import com.yunbao.common.adapter.LiveDataHistoryAdapter;
|
||||||
|
import com.yunbao.common.bean.LiveDataHistoryBean;
|
||||||
|
import com.yunbao.common.http.CommonHttpUtil;
|
||||||
|
import com.yunbao.common.http.HttpCallback;
|
||||||
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
import com.yunbao.common.utils.ViewUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
|
||||||
|
import io.rong.imkit.widget.refresh.api.RefreshLayout;
|
||||||
|
import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener;
|
||||||
|
import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
|
||||||
|
import io.rong.imkit.widget.refresh.wrapper.RongRefreshHeader;
|
||||||
|
|
||||||
|
public class LiveDataHistoryFragment extends Fragment {
|
||||||
|
|
||||||
|
protected SmartRefreshLayout mRefreshLayout;
|
||||||
|
protected RecyclerView mList;
|
||||||
|
private LiveDataHistoryAdapter mAdapter;
|
||||||
|
List<LiveDataHistoryBean> list = new ArrayList<>();
|
||||||
|
private View emptyView;
|
||||||
|
private Context mContext;
|
||||||
|
private String mStream;
|
||||||
|
private int mPageCount = 1;//页数
|
||||||
|
|
||||||
|
public LiveDataHistoryFragment(Context context,String stream) {
|
||||||
|
this.mContext =context;
|
||||||
|
this.mStream = stream;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
emptyView = inflater.inflate(R.layout.view_layout_msg,container, false);
|
||||||
|
ViewUtils.findViewById(emptyView,R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_addressbook_not_search);
|
||||||
|
ViewUtils.findViewById(emptyView,R.id.textView, TextView.class).setText(R.string.not_data_message_address_book_list);
|
||||||
|
return inflater.inflate(R.layout.live_data_history_list_fragment, container, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
mAdapter = new LiveDataHistoryAdapter(mContext,list);
|
||||||
|
this.mList = (RecyclerView) view.findViewById(R.id.rc_conversation_list);
|
||||||
|
this.mRefreshLayout = (SmartRefreshLayout) view.findViewById(R.id.rc_refresh);
|
||||||
|
LinearLayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
|
||||||
|
this.mList.setLayoutManager(layoutManager);
|
||||||
|
mList.setAdapter(mAdapter);
|
||||||
|
initRefreshView();
|
||||||
|
initData();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void initRefreshView() {
|
||||||
|
this.mRefreshLayout.setNestedScrollingEnabled(false);
|
||||||
|
this.mRefreshLayout.setRefreshHeader(new RongRefreshHeader(this.getContext()));
|
||||||
|
this.mRefreshLayout.setRefreshFooter(new RongRefreshHeader(this.getContext()));
|
||||||
|
this.mRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
|
||||||
|
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
|
||||||
|
mPageCount = 1;
|
||||||
|
initData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.mRefreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
|
||||||
|
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
|
||||||
|
mPageCount++;
|
||||||
|
initData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initData() {
|
||||||
|
CommonHttpUtil.getLiveDataHistoryList(mStream, String.valueOf(mPageCount),new HttpCallback() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(int code, String msg, String[] info) {
|
||||||
|
if (code == 0 && info != null) {
|
||||||
|
JSONObject obj = JSON.parseObject(info[0]);
|
||||||
|
List<LiveDataHistoryBean> tempList = JSON.parseArray(obj.getString("data"), LiveDataHistoryBean.class);
|
||||||
|
if(mPageCount==1){
|
||||||
|
list = tempList;
|
||||||
|
mAdapter.setDataCollection(list);
|
||||||
|
mRefreshLayout.finishRefresh(true);
|
||||||
|
}else{
|
||||||
|
list.addAll(tempList);
|
||||||
|
mAdapter.setDataCollection(list);
|
||||||
|
mRefreshLayout.finishLoadMore(true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ToastUtil.show(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
package com.yunbao.common.fragment;
|
||||||
|
|
||||||
|
import static com.umeng.commonsdk.stateless.UMSLEnvelopeBuild.mContext;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import com.yunbao.common.R;
|
||||||
|
import com.yunbao.common.adapter.LiveDataInfoRecyclerAdapter;
|
||||||
|
import com.yunbao.common.bean.LiveDataInfoModel;
|
||||||
|
import com.yunbao.common.bean.LiveDataInfoNowModel;
|
||||||
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class LiveDataNowFragment extends Fragment {
|
||||||
|
|
||||||
|
private RecyclerView recyclerView;
|
||||||
|
private LiveDataInfoRecyclerAdapter adapter;
|
||||||
|
private List<LiveDataInfoNowModel> list;
|
||||||
|
private String mLiveUid;
|
||||||
|
private onDataResult onDataResult;
|
||||||
|
private String mStream;
|
||||||
|
|
||||||
|
public LiveDataNowFragment(Context context, String liveUid,String mStream,LiveDataNowFragment.onDataResult onDataResult) {
|
||||||
|
this.mLiveUid = liveUid;
|
||||||
|
this.onDataResult = onDataResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
return inflater.inflate(R.layout.live_data_now_fragment, container, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
recyclerView = view.findViewById(R.id.live_data_list);
|
||||||
|
adapter = new LiveDataInfoRecyclerAdapter(getContext());
|
||||||
|
recyclerView.setAdapter(adapter);
|
||||||
|
initData();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initData() {
|
||||||
|
list = new ArrayList<>();
|
||||||
|
list.add(new LiveDataInfoNowModel("#00FFFF", getContext().getString(R.string.live_data_coin), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel("#FFF69F", getContext().getString(R.string.live_data_gold), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_accept), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_enter), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_attention), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_attention_rate), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_fan_group), getContext().getString(R.string.live_data_loading)));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_fan_group_rate), getContext().getString(R.string.live_data_loading)));
|
||||||
|
adapter.setList(list);
|
||||||
|
LiveNetManager.get(getContext())
|
||||||
|
.getLiveData(mLiveUid,mStream, new HttpCallback<LiveDataInfoModel>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(com.yunbao.common.bean.LiveDataInfoModel data) {
|
||||||
|
list.clear();
|
||||||
|
list.add(new LiveDataInfoNowModel("#00FFFF", getContext().getString(R.string.live_data_coin), data.getTotalCoin() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel("#FFF69F", getContext().getString(R.string.live_data_gold), data.getTotalGold() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_accept), data.getAcceptNum() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_enter), data.getEnterNum() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_attention), data.getAttentionNum() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_attention_rate), data.getAttentionNumRate() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_fan_group), data.getFanGroupNum() + ""));
|
||||||
|
list.add(new LiveDataInfoNowModel(getContext().getString(R.string.live_data_fan_group_rate), data.getFanGroupNumRate() + ""));
|
||||||
|
adapter.setList(list);
|
||||||
|
if(onDataResult!=null){
|
||||||
|
onDataResult.Result(data.getTotalCoin() + "",data.getAcceptNum() + "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(mContext.getString(com.yunbao.common.R.string.net_error));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface onDataResult{
|
||||||
|
void Result(String countZs,String countPerson);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.yunbao.common.fragment;
|
package com.yunbao.common.fragment;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -19,6 +20,7 @@ import com.yunbao.common.bean.WishModel2;
|
|||||||
import com.yunbao.common.event.LiveNewWishListCloseEvent;
|
import com.yunbao.common.event.LiveNewWishListCloseEvent;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.interfaces.CommonCallback;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
@@ -34,7 +36,11 @@ public class LiveNewWishListFragment extends BaseFragment {
|
|||||||
private RecyclerView wishList;
|
private RecyclerView wishList;
|
||||||
private LiveNewWishAdapter liveNewWishAdapter;
|
private LiveNewWishAdapter liveNewWishAdapter;
|
||||||
private ImageView imageView2, tvDone;
|
private ImageView imageView2, tvDone;
|
||||||
|
private CommonCallback<Boolean> mSetResultCallback ;
|
||||||
|
|
||||||
|
public void setResultCallback(CommonCallback<Boolean> mCommonCallback) {
|
||||||
|
this.mSetResultCallback = mCommonCallback;
|
||||||
|
}
|
||||||
@Override
|
@Override
|
||||||
public View createView(LayoutInflater layoutInflater, ViewGroup viewGroup) {
|
public View createView(LayoutInflater layoutInflater, ViewGroup viewGroup) {
|
||||||
return layoutInflater.inflate(R.layout.view_live_new_wish, viewGroup, false);
|
return layoutInflater.inflate(R.layout.view_live_new_wish, viewGroup, false);
|
||||||
@@ -151,6 +157,9 @@ public class LiveNewWishListFragment extends BaseFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(String data) {
|
public void onSuccess(String data) {
|
||||||
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
||||||
|
if (mSetResultCallback!=null){
|
||||||
|
mSetResultCallback.callback(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -183,6 +192,10 @@ public class LiveNewWishListFragment extends BaseFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(String data) {
|
public void onSuccess(String data) {
|
||||||
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
||||||
|
//这里需要通知刷新心愿信息
|
||||||
|
if (mSetResultCallback!=null){
|
||||||
|
mSetResultCallback.callback(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -202,6 +215,9 @@ public class LiveNewWishListFragment extends BaseFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(String data) {
|
public void onSuccess(String data) {
|
||||||
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
ToastUtil.show(WordUtil.isNewZh()?"修改成功":"Success");
|
||||||
|
if (mSetResultCallback!=null){
|
||||||
|
mSetResultCallback.callback(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.yunbao.common.fragment;
|
package com.yunbao.common.fragment;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Parcel;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -28,6 +30,8 @@ import io.rong.imkit.conversationlist.model.SingleConversation;
|
|||||||
import io.rong.imkit.event.Event;
|
import io.rong.imkit.event.Event;
|
||||||
import io.rong.imlib.RongIMClient;
|
import io.rong.imlib.RongIMClient;
|
||||||
import io.rong.imlib.model.Conversation;
|
import io.rong.imlib.model.Conversation;
|
||||||
|
import io.rong.imlib.model.Message;
|
||||||
|
import io.rong.imlib.model.MessageContent;
|
||||||
import io.rong.imlib.model.SearchConversationResult;
|
import io.rong.imlib.model.SearchConversationResult;
|
||||||
|
|
||||||
public class MainMessageChatFragment extends ConversationListFragment {
|
public class MainMessageChatFragment extends ConversationListFragment {
|
||||||
@@ -50,9 +54,8 @@ 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) {
|
||||||
int hashCode = UiConversationCodeUtil.getListHasCode(uiConversations);
|
int hashCode = uiConversations.hashCode();
|
||||||
if (listHashCode != hashCode) {
|
if (listHashCode != hashCode) {
|
||||||
Log.i("nwq", "刷新数据");
|
|
||||||
listHashCode = hashCode;
|
listHashCode = hashCode;
|
||||||
((MainConversationListAdapter) mAdapter).onFinish();
|
((MainConversationListAdapter) mAdapter).onFinish();
|
||||||
}
|
}
|
||||||
@@ -82,6 +85,10 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void search(String search) {
|
public void search(String search) {
|
||||||
|
if (TextUtils.isEmpty(search)){
|
||||||
|
mRefreshLayout.autoRefresh();
|
||||||
|
return;
|
||||||
|
}
|
||||||
((MainConversationListAdapter) mAdapter).setSearch();
|
((MainConversationListAdapter) mAdapter).setSearch();
|
||||||
getContactsList(search);
|
getContactsList(search);
|
||||||
}
|
}
|
||||||
@@ -95,10 +102,11 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
List<String> uidList = new ArrayList<>();
|
List<String> uidList = new ArrayList<>();
|
||||||
|
|
||||||
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
|
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
|
||||||
|
conversation.mCore.setMessage(new Message());
|
||||||
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_contacts));
|
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_contacts));
|
||||||
|
Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName());
|
||||||
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
|
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
|
||||||
list.add(conversation);
|
list.add(conversation);
|
||||||
|
|
||||||
List<BaseUiConversation> data = new ArrayList<>();
|
List<BaseUiConversation> data = new ArrayList<>();
|
||||||
System.err.println(" ----------------------->" + mAdapter.getData().size());
|
System.err.println(" ----------------------->" + mAdapter.getData().size());
|
||||||
for (BaseUiConversation cn : ((MainConversationListAdapter) mAdapter).getSrcList()) {
|
for (BaseUiConversation cn : ((MainConversationListAdapter) mAdapter).getSrcList()) {
|
||||||
@@ -137,7 +145,9 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(List<SearchConversationResult> searchConversationResults) {
|
public void onSuccess(List<SearchConversationResult> searchConversationResults) {
|
||||||
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
|
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
|
||||||
|
conversation.mCore.setMessage(new Message());
|
||||||
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_chat_records));
|
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_chat_records));
|
||||||
|
Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName());
|
||||||
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
|
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
|
||||||
list.add(conversation);
|
list.add(conversation);
|
||||||
List<BaseUiConversation> data = new ArrayList<>();
|
List<BaseUiConversation> data = new ArrayList<>();
|
||||||
@@ -155,6 +165,9 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
list.remove(list.size() - 1);
|
list.remove(list.size() - 1);
|
||||||
}
|
}
|
||||||
list.addAll(data);
|
list.addAll(data);
|
||||||
|
for (BaseUiConversation cn : list){
|
||||||
|
Log.i("聊天数据源搜索前的", cn.mCore.getConversationTitle() + "|" + cn.mCore.getPortraitUrl() + "|" + cn.mCore.getTargetId());
|
||||||
|
}
|
||||||
((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true);
|
((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +185,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
|||||||
((MainConversationListAdapter) mAdapter).clear();
|
((MainConversationListAdapter) mAdapter).clear();
|
||||||
System.out.println(">!>!>!>!!>" + mConversationListViewModel);
|
System.out.println(">!>!>!>!!>" + mConversationListViewModel);
|
||||||
subscribeUi();
|
subscribeUi();
|
||||||
|
mRefreshLayout.autoRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
chatViewModel = (new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
chatViewModel = (new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
||||||
conversationListFragment = new MainMessageChatFragment();
|
conversationListFragment = new MainMessageChatFragment();
|
||||||
setAdapter(conversationListFragment.getAdapter());
|
setAdapter(conversationListFragment.getAdapter());
|
||||||
mAdapter.setFilter(chatViewModel.getChatFilter());
|
mAdapter.setFilter(chatViewModel.getChatFilter());
|
||||||
@@ -107,6 +107,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
uids.add(conversation.mCore.getTargetId());
|
uids.add(conversation.mCore.getTargetId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log.i("更新的用户数据信息", "getUserInfo");
|
||||||
getUserInfo(uids);
|
getUserInfo(uids);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -130,9 +131,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
baseUiConversation.mCore.setPortraitUrl(datum.getAvatar());
|
baseUiConversation.mCore.setPortraitUrl(datum.getAvatar());
|
||||||
String remark = InstructorRemarkManager.get(getContext()).getInstructorRemark().get(datum.getId());
|
String remark = InstructorRemarkManager.get(getContext()).getInstructorRemark().get(datum.getId());
|
||||||
baseUiConversation.mCore.setConversationTitle(StringUtil.isEmpty(remark) ? datum.getUserNiceName() : remark);
|
baseUiConversation.mCore.setConversationTitle(StringUtil.isEmpty(remark) ? datum.getUserNiceName() : remark);
|
||||||
|
|
||||||
list.add(baseUiConversation);
|
list.add(baseUiConversation);
|
||||||
|
|
||||||
UserInfo userInfo = new UserInfo(baseUiConversation.mCore.getTargetId(),
|
UserInfo userInfo = new UserInfo(baseUiConversation.mCore.getTargetId(),
|
||||||
baseUiConversation.mCore.getConversationTitle(),
|
baseUiConversation.mCore.getConversationTitle(),
|
||||||
Uri.parse(baseUiConversation.mCore.getPortraitUrl()));
|
Uri.parse(baseUiConversation.mCore.getPortraitUrl()));
|
||||||
@@ -153,7 +152,9 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
|||||||
}
|
}
|
||||||
mAdapter.setDataCollection(srcList);
|
mAdapter.setDataCollection(srcList);
|
||||||
//mAdapter.onFinish();
|
//mAdapter.onFinish();
|
||||||
recyclerView.scrollToPosition(position);
|
if ( recyclerView!=null && mAdapter.getSrcList().size()>position){
|
||||||
|
recyclerView.scrollToPosition(position);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
onRefreshFinished();
|
onRefreshFinished();
|
||||||
onLoadMoreFinished();
|
onLoadMoreFinished();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.content.Context;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -280,13 +281,12 @@ public class ImgLoader {
|
|||||||
if (width != -1 && height != -1) {
|
if (width != -1 && height != -1) {
|
||||||
builder = builder.override(width, height);
|
builder = builder.override(width, height);
|
||||||
}
|
}
|
||||||
builder.thumbnail(thumbnail).skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
|
builder.skipMemoryCache(SKIP_MEMORY_CACHE).into(new CustomTarget<Drawable>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
||||||
if (callback != null) {
|
if (callback != null) {
|
||||||
callback.onLoadSuccess(resource);
|
callback.onLoadSuccess(resource);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ public class CommonHttpUtil {
|
|||||||
.params("purchaseToken", purchaseToken)
|
.params("purchaseToken", purchaseToken)
|
||||||
.params("productId", productId)
|
.params("productId", productId)
|
||||||
.params("orderno", orderno)
|
.params("orderno", orderno)
|
||||||
.params("package_name", "com.newpandora.yo")
|
.params("package_name", CommonAppContext.sInstance.getPackageName())
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +425,7 @@ public class CommonHttpUtil {
|
|||||||
HttpClient.getInstance().get(CommonHttpConsts.NOTIFY_GOOGLE, CommonHttpConsts.NOTIFY_GOOGLE)
|
HttpClient.getInstance().get(CommonHttpConsts.NOTIFY_GOOGLE, CommonHttpConsts.NOTIFY_GOOGLE)
|
||||||
.params("purchaseToken", purchaseToken)
|
.params("purchaseToken", purchaseToken)
|
||||||
.params("productId", productId)
|
.params("productId", productId)
|
||||||
.params("package_name", "com.newpandora.yo")
|
.params("package_name", CommonAppContext.sInstance.getPackageName())
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -434,7 +434,7 @@ public class CommonHttpUtil {
|
|||||||
.params("purchaseToken", purchaseToken)
|
.params("purchaseToken", purchaseToken)
|
||||||
.params("orderno", orderNo)
|
.params("orderno", orderNo)
|
||||||
.params("trade_no", tradeNo)
|
.params("trade_no", tradeNo)
|
||||||
.params("package_name", "com.newpandora.yo")
|
.params("package_name", CommonAppContext.sInstance.getPackageName())
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -720,6 +720,16 @@ public class CommonHttpUtil {
|
|||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*获取聊天列表用户在线状态
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
public static void getLiveDataHistoryList(String stream,String page,HttpCallback callback) {
|
||||||
|
HttpClient.getInstance().get("live.getLiveGiftList", "live.getLiveGiftList")
|
||||||
|
.params("stream",stream)
|
||||||
|
.params("page",page)
|
||||||
|
.execute(callback);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,19 +31,28 @@ public class LiveHttpUtil {
|
|||||||
HttpClient.getInstance().cancel(tag);
|
HttpClient.getInstance().cancel(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前直播间的用户列表
|
* 获取当前直播间的用户列表
|
||||||
*/
|
*/
|
||||||
public static void getUserList(String liveuid, String stream, String type, int p, HttpCallback callback) {
|
public static void getUserList(String liveuid, String stream, String type, int p,String is_noble,HttpCallback callback) {
|
||||||
HttpClient.getInstance().get("Live.getUserLists", LiveHttpConsts.GET_USER_LIST)
|
HttpClient.getInstance().get("Live.getUserLists", LiveHttpConsts.GET_USER_LIST)
|
||||||
.params("liveuid", liveuid)
|
.params("liveuid", liveuid)
|
||||||
.params("stream", stream)
|
.params("stream", stream)
|
||||||
.params("type", type)
|
.params("type", type)
|
||||||
.params("p", p)
|
.params("p", p)
|
||||||
|
.params("is_noble", is_noble)
|
||||||
.params("version", "" + VersionUtil.getVersion())
|
.params("version", "" + VersionUtil.getVersion())
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前直播间的用户列表
|
||||||
|
*/
|
||||||
|
public static void getUserList(String liveuid, String stream, String type, int p, HttpCallback callback) {
|
||||||
|
getUserList(liveuid,stream,type,p,"0",callback);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取直播用户日榜/周榜
|
* 获取直播用户日榜/周榜
|
||||||
*
|
*
|
||||||
@@ -602,7 +611,7 @@ public class LiveHttpUtil {
|
|||||||
* 完成新手任務
|
* 完成新手任務
|
||||||
*/
|
*/
|
||||||
public static void setFrontTask(String type, HttpCallback callback) {
|
public static void setFrontTask(String type, HttpCallback callback) {
|
||||||
HttpClient.getInstance().get("User.setFrontTask", "User.setFrontTask")
|
HttpClient.getInstance().get("tasknew.sendFreeGift", "tasknew.sendFreeGift")
|
||||||
.params("type", type)
|
.params("type", type)
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
@@ -611,12 +620,22 @@ public class LiveHttpUtil {
|
|||||||
* 完成新手任務
|
* 完成新手任務
|
||||||
*/
|
*/
|
||||||
public static void setFrontTask(String type, String liveuid, HttpCallback callback) {
|
public static void setFrontTask(String type, String liveuid, HttpCallback callback) {
|
||||||
HttpClient.getInstance().get("User.setFrontTask", "User.setFrontTask")
|
HttpClient.getInstance().get("tasknew.sendFreeGift", "tasknew.sendFreeGift")
|
||||||
.params("type", type)
|
|
||||||
.params("liveuid", liveuid)
|
.params("liveuid", liveuid)
|
||||||
.execute(callback);
|
.execute(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成新手任務
|
||||||
|
*/
|
||||||
|
public static void setFrontTaskNew(String liveuid, HttpCallback callback) {
|
||||||
|
HttpClient.getInstance().get("tasknew.sendFreeGift", "tasknew.sendFreeGift")
|
||||||
|
.params("liveuid", liveuid)
|
||||||
|
.params("token", true)
|
||||||
|
.params("uid", true)
|
||||||
|
.execute(callback);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改心愿单列表
|
* 修改心愿单列表
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,105 +1,7 @@
|
|||||||
package com.yunbao.common.http;
|
package com.yunbao.common.http;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.yunbao.common.bean.ActiveBean;
|
import com.yunbao.common.bean.*;
|
||||||
import com.yunbao.common.bean.ActiveModel;
|
|
||||||
import com.yunbao.common.bean.AnchorRecommendItemModel;
|
|
||||||
import com.yunbao.common.bean.AnchorRecommendModel;
|
|
||||||
import com.yunbao.common.bean.AvatarBean;
|
|
||||||
import com.yunbao.common.bean.BaseModel;
|
|
||||||
import com.yunbao.common.bean.BattlePassPoints;
|
|
||||||
import com.yunbao.common.bean.BattlePassTask;
|
|
||||||
import com.yunbao.common.bean.BattlePassUserInfoBean;
|
|
||||||
import com.yunbao.common.bean.BlindBoxInfoModel;
|
|
||||||
import com.yunbao.common.bean.CareerBean;
|
|
||||||
import com.yunbao.common.bean.CheckLiveModel;
|
|
||||||
import com.yunbao.common.bean.CheckRemainingBalance;
|
|
||||||
import com.yunbao.common.bean.CheckUpgradesModel;
|
|
||||||
import com.yunbao.common.bean.ContributeModel;
|
|
||||||
import com.yunbao.common.bean.CoolConfig;
|
|
||||||
import com.yunbao.common.bean.CreateSudRoomModel;
|
|
||||||
import com.yunbao.common.bean.CustomSidebarInfoModel;
|
|
||||||
import com.yunbao.common.bean.DiscountsModel;
|
|
||||||
import com.yunbao.common.bean.EnterRoomNewModel;
|
|
||||||
import com.yunbao.common.bean.FaceBookUpModel;
|
|
||||||
import com.yunbao.common.bean.FansCheckRed;
|
|
||||||
import com.yunbao.common.bean.FansGroupGiftPack;
|
|
||||||
import com.yunbao.common.bean.FansGroupGiftPackInfo;
|
|
||||||
import com.yunbao.common.bean.FirstLoginBean;
|
|
||||||
import com.yunbao.common.bean.GiftAlreadyWallModel;
|
|
||||||
import com.yunbao.common.bean.GiftGuideModel;
|
|
||||||
import com.yunbao.common.bean.GiftNamingInfoModel;
|
|
||||||
import com.yunbao.common.bean.GiftWallBean;
|
|
||||||
import com.yunbao.common.bean.GiftWallGiftDetail;
|
|
||||||
import com.yunbao.common.bean.GiftWallInfoBean;
|
|
||||||
import com.yunbao.common.bean.GiftWallMainTab2ClassicInfoBean;
|
|
||||||
import com.yunbao.common.bean.GiftWallModel;
|
|
||||||
import com.yunbao.common.bean.GiftWallTab2Bean;
|
|
||||||
import com.yunbao.common.bean.GuardGetGuardOpenInfoModel;
|
|
||||||
import com.yunbao.common.bean.GuardGetGuardUserInfoModel;
|
|
||||||
import com.yunbao.common.bean.HomeUserExhibitInfoBean;
|
|
||||||
import com.yunbao.common.bean.HomeUserInfoBean;
|
|
||||||
import com.yunbao.common.bean.HourRank;
|
|
||||||
import com.yunbao.common.bean.HttpCallbackModel;
|
|
||||||
import com.yunbao.common.bean.IMLoginModel;
|
|
||||||
import com.yunbao.common.bean.LinkMicUserBeanV2;
|
|
||||||
import com.yunbao.common.bean.ListInfoMessageModel;
|
|
||||||
import com.yunbao.common.bean.LiveAiRobotBean;
|
|
||||||
import com.yunbao.common.bean.LiveAnchorCallMeModel;
|
|
||||||
import com.yunbao.common.bean.LiveAnchorSayModel;
|
|
||||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
|
||||||
import com.yunbao.common.bean.LiveDataInfoModel;
|
|
||||||
import com.yunbao.common.bean.LiveInfoModel;
|
|
||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
|
||||||
import com.yunbao.common.bean.LiveRoomVoteModel;
|
|
||||||
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
|
||||||
import com.yunbao.common.bean.LiveTaskModel;
|
|
||||||
import com.yunbao.common.bean.LiveUserMailBoxModel;
|
|
||||||
import com.yunbao.common.bean.MainMessageChatListTimer;
|
|
||||||
import com.yunbao.common.bean.MedalAchievementModel;
|
|
||||||
import com.yunbao.common.bean.MessageChatIsAnchor;
|
|
||||||
import com.yunbao.common.bean.MessageChatUserBean;
|
|
||||||
import com.yunbao.common.bean.MessageHiBean;
|
|
||||||
import com.yunbao.common.bean.MessageSayHiBean;
|
|
||||||
import com.yunbao.common.bean.MessageSayHiStartBean;
|
|
||||||
import com.yunbao.common.bean.MessageUserInfoBean;
|
|
||||||
import com.yunbao.common.bean.MsgSwitchDetailModel;
|
|
||||||
import com.yunbao.common.bean.NewPeopleInfo;
|
|
||||||
import com.yunbao.common.bean.NobleRankHideUserListModel;
|
|
||||||
import com.yunbao.common.bean.NobleTrumpetModel;
|
|
||||||
import com.yunbao.common.bean.OpenAdModel;
|
|
||||||
import com.yunbao.common.bean.PkRankBean;
|
|
||||||
import com.yunbao.common.bean.PrankGiftResultBean;
|
|
||||||
import com.yunbao.common.bean.PrankHttpTurntableBean;
|
|
||||||
import com.yunbao.common.bean.PrankProgressBean;
|
|
||||||
import com.yunbao.common.bean.QiniuLog;
|
|
||||||
import com.yunbao.common.bean.QuickGiftSendGiftModel;
|
|
||||||
import com.yunbao.common.bean.RandomPkUserBean;
|
|
||||||
import com.yunbao.common.bean.RankPkInfoBean;
|
|
||||||
import com.yunbao.common.bean.RedPacketDetailsBean;
|
|
||||||
import com.yunbao.common.bean.RedPacketGiftModel;
|
|
||||||
import com.yunbao.common.bean.RedPacketInfoModel;
|
|
||||||
import com.yunbao.common.bean.RedPacketListBean;
|
|
||||||
import com.yunbao.common.bean.RoomMicStatusModel;
|
|
||||||
import com.yunbao.common.bean.SearchModel;
|
|
||||||
import com.yunbao.common.bean.SendMoneyLongModel;
|
|
||||||
import com.yunbao.common.bean.SetAttentsModel;
|
|
||||||
import com.yunbao.common.bean.ShareBean;
|
|
||||||
import com.yunbao.common.bean.SlideInBannerModel;
|
|
||||||
import com.yunbao.common.bean.StarChallengeStatusModel;
|
|
||||||
import com.yunbao.common.bean.SudGameInfoBean;
|
|
||||||
import com.yunbao.common.bean.SudGameScoreBean;
|
|
||||||
import com.yunbao.common.bean.SudGameUserModel;
|
|
||||||
import com.yunbao.common.bean.SudRoomListModel;
|
|
||||||
import com.yunbao.common.bean.SudgameCodeModel;
|
|
||||||
import com.yunbao.common.bean.SwTokenModel;
|
|
||||||
import com.yunbao.common.bean.UserAreaBean;
|
|
||||||
import com.yunbao.common.bean.UserAvatarSelectBean;
|
|
||||||
import com.yunbao.common.bean.UserBean;
|
|
||||||
import com.yunbao.common.bean.VipModel;
|
|
||||||
import com.yunbao.common.bean.WishListGiftConfModel;
|
|
||||||
import com.yunbao.common.bean.WishListModel;
|
|
||||||
import com.yunbao.common.bean.sendMoneyLongListModel;
|
|
||||||
import com.yunbao.common.event.CheckCurrencyModel;
|
import com.yunbao.common.event.CheckCurrencyModel;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -138,6 +40,7 @@ public interface PDLiveApi {
|
|||||||
@Field("user_pass") String passWord,
|
@Field("user_pass") String passWord,
|
||||||
@Field("uuid_Device") String uuidDevice,
|
@Field("uuid_Device") String uuidDevice,
|
||||||
@Field("pushid") String pushid,
|
@Field("pushid") String pushid,
|
||||||
|
@Field("app_from") String PDL,
|
||||||
@Field("lastlogindevice") String lastlogindevice,
|
@Field("lastlogindevice") String lastlogindevice,
|
||||||
@Field("langue") String langue
|
@Field("langue") String langue
|
||||||
);
|
);
|
||||||
@@ -312,6 +215,15 @@ public interface PDLiveApi {
|
|||||||
@GET("/api/public/?service=Live.getHourChartRank")
|
@GET("/api/public/?service=Live.getHourChartRank")
|
||||||
Observable<ResponseModel<List<HourRank>>> getHourChartRank(@Query("liveuid") String liveuid);
|
Observable<ResponseModel<List<HourRank>>> getHourChartRank(@Query("liveuid") String liveuid);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小时榜接口
|
||||||
|
*
|
||||||
|
* @param liveuid 直播间id
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=Tasknew.sendFreeGift")
|
||||||
|
Observable<ResponseModel<List<BaseModel>>> sendFreeGift(@Query("liveuid") String liveuid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清除系统消息的未读数
|
* 清除系统消息的未读数
|
||||||
*/
|
*/
|
||||||
@@ -343,7 +255,7 @@ public interface PDLiveApi {
|
|||||||
* 【新人特惠】【趣味游戏】【幸运天使】
|
* 【新人特惠】【趣味游戏】【幸运天使】
|
||||||
*/
|
*/
|
||||||
@GET("/api/public/?service=Live.getLiveRoomActivtyBanner")
|
@GET("/api/public/?service=Live.getLiveRoomActivtyBanner")
|
||||||
Observable<ResponseModel<List<LiveRoomActivityBanner>>> getLiveRoomActivityBanner();
|
Observable<ResponseModel<List<LiveRoomActivityBanner>>> getLiveRoomActivityBanner(@Query("langue") String language,@Query("version") String version);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新侧边栏请求
|
* 新侧边栏请求
|
||||||
@@ -360,7 +272,7 @@ public interface PDLiveApi {
|
|||||||
/**
|
/**
|
||||||
* PK排位赛接口
|
* PK排位赛接口
|
||||||
*/
|
*/
|
||||||
@GET("/api/public/?service=Ranking.getAnchorRankData")
|
@GET("/api/public/?service=Ranking.getAnchorRankData&app_from=PDL")
|
||||||
Observable<ResponseModel<PkRankBean>> getPkRanksList(@Query("anchor_id") String anchorId, @Query("anchor_id2") String pkUid);
|
Observable<ResponseModel<PkRankBean>> getPkRanksList(@Query("anchor_id") String anchorId, @Query("anchor_id2") String pkUid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -654,7 +566,8 @@ public interface PDLiveApi {
|
|||||||
*/
|
*/
|
||||||
@GET("/api/public/?service=Live.getLiveStatisticalData")
|
@GET("/api/public/?service=Live.getLiveStatisticalData")
|
||||||
Observable<ResponseModel<LiveDataInfoModel>> getLiveDataInfo(
|
Observable<ResponseModel<LiveDataInfoModel>> getLiveDataInfo(
|
||||||
@Query("liveuid") String liveUid
|
@Query("liveuid") String liveUid,
|
||||||
|
@Query("stream") String stream
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -684,6 +597,7 @@ public interface PDLiveApi {
|
|||||||
Observable<ResponseModel<String>> setLivePreviewInfo(
|
Observable<ResponseModel<String>> setLivePreviewInfo(
|
||||||
@Query("liveuid") String liveUid,
|
@Query("liveuid") String liveUid,
|
||||||
@Query("isShow") int isShow,
|
@Query("isShow") int isShow,
|
||||||
|
@Query("title") String title ,
|
||||||
@Query("content") String content,
|
@Query("content") String content,
|
||||||
@Query("styleImage") String styleImage
|
@Query("styleImage") String styleImage
|
||||||
);
|
);
|
||||||
@@ -1489,4 +1403,10 @@ public interface PDLiveApi {
|
|||||||
@Query("live_uid")String liveUid
|
@Query("live_uid")String liveUid
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取開播提示
|
||||||
|
*/
|
||||||
|
@GET("/api/public/?service=live.getStartTips")
|
||||||
|
Observable<ResponseModel<List<LiveOpenTipsBean>>> getLiveDataInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package com.yunbao.common.http.live;
|
package com.yunbao.common.http.live;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -54,6 +56,7 @@ import com.yunbao.common.bean.LiveAnchorSayModel;
|
|||||||
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
import com.yunbao.common.bean.LiveBattlePassRewardsBean;
|
||||||
import com.yunbao.common.bean.LiveDataInfoModel;
|
import com.yunbao.common.bean.LiveDataInfoModel;
|
||||||
import com.yunbao.common.bean.LiveInfoModel;
|
import com.yunbao.common.bean.LiveInfoModel;
|
||||||
|
import com.yunbao.common.bean.LiveOpenTipsBean;
|
||||||
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
import com.yunbao.common.bean.LiveRoomActivityBanner;
|
||||||
import com.yunbao.common.bean.LiveRoomVoteModel;
|
import com.yunbao.common.bean.LiveRoomVoteModel;
|
||||||
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
||||||
@@ -347,8 +350,17 @@ public class LiveNetManager {
|
|||||||
* 获取 【新人特惠】【趣味游戏】【幸运天使】
|
* 获取 【新人特惠】【趣味游戏】【幸运天使】
|
||||||
*/
|
*/
|
||||||
public void getLiveRoomActivityBanner(HttpCallback<List<LiveRoomActivityBanner>> callback) {
|
public void getLiveRoomActivityBanner(HttpCallback<List<LiveRoomActivityBanner>> callback) {
|
||||||
|
//获取版本名称
|
||||||
|
String versionName = "";
|
||||||
|
try {
|
||||||
|
PackageManager manager = mContext.getPackageManager();
|
||||||
|
PackageInfo info = manager.getPackageInfo(mContext.getPackageName(), 0);
|
||||||
|
versionName = info.versionName;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.getLiveRoomActivityBanner()
|
.getLiveRoomActivityBanner( WordUtil.isNewZh()?"chinese":"english",versionName)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(listResponseModel -> {
|
.subscribe(listResponseModel -> {
|
||||||
@@ -1215,9 +1227,9 @@ public class LiveNetManager {
|
|||||||
/**
|
/**
|
||||||
* 获取直播数据
|
* 获取直播数据
|
||||||
*/
|
*/
|
||||||
public void getLiveData(String liveUid, HttpCallback<LiveDataInfoModel> callback) {
|
public void getLiveData(String liveUid,String stream, HttpCallback<LiveDataInfoModel> callback) {
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.getLiveDataInfo(liveUid)
|
.getLiveDataInfo(liveUid,stream)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(listResponseModel -> {
|
.subscribe(listResponseModel -> {
|
||||||
@@ -1274,10 +1286,11 @@ public class LiveNetManager {
|
|||||||
*/
|
*/
|
||||||
public void setLivePreviewInfo(String liveUid,
|
public void setLivePreviewInfo(String liveUid,
|
||||||
int isShow,
|
int isShow,
|
||||||
|
String title,
|
||||||
String content,
|
String content,
|
||||||
String styleImage, HttpCallback<String> callback) {
|
String styleImage, HttpCallback<String> callback) {
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.setLivePreviewInfo(liveUid, isShow, content, styleImage)
|
.setLivePreviewInfo(liveUid, isShow,title, content, styleImage)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(listResponseModel -> {
|
.subscribe(listResponseModel -> {
|
||||||
@@ -4243,7 +4256,6 @@ public class LiveNetManager {
|
|||||||
return MultipartBody.Part.createFormData("file", file.getName(), requestBody);
|
return MultipartBody.Part.createFormData("file", file.getName(), requestBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void getSwToken( HttpCallback<SwTokenModel> callback) {
|
public void getSwToken( HttpCallback<SwTokenModel> callback) {
|
||||||
API.get().pdLiveApi(mContext)
|
API.get().pdLiveApi(mContext)
|
||||||
.getSwToken()
|
.getSwToken()
|
||||||
@@ -4265,7 +4277,29 @@ public class LiveNetManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).isDisposed();
|
}).isDisposed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取开播提示信息
|
||||||
|
*/
|
||||||
|
public void getLiveOpenTips(HttpCallback<List<LiveOpenTipsBean>> callback) {
|
||||||
|
API.get().pdLiveApi(mContext)
|
||||||
|
.getLiveDataInfo()
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(roomMicStatusModelResponseModel -> {
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onSuccess(roomMicStatusModelResponseModel.getData().getInfo());
|
||||||
|
}
|
||||||
|
}, new Consumer<Throwable>() {
|
||||||
|
@Override
|
||||||
|
public void accept(Throwable throwable) throws Exception {
|
||||||
|
throwable.printStackTrace();
|
||||||
|
if (callback != null) {
|
||||||
|
callback.onError(mContext.getString(R.string.net_error));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).isDisposed();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class MainNetManager {
|
|||||||
* @param callback 网络请求回调
|
* @param callback 网络请求回调
|
||||||
*/
|
*/
|
||||||
public void login(String phoneNum, String pwd, String uuid, HttpCallback<IMLoginModel> callback) {
|
public void login(String phoneNum, String pwd, String uuid, HttpCallback<IMLoginModel> callback) {
|
||||||
API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "Android", WordUtil.isNewZh()?"chinese":"english")
|
API.get().pdLiveApi(mContext).loginByManager(phoneNum, pwd, uuid, "", "PDL","Android", WordUtil.isNewZh()?"chinese":"english")
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(new Consumer<ResponseModel<IMLoginModel>>() {
|
.subscribe(new Consumer<ResponseModel<IMLoginModel>>() {
|
||||||
|
|||||||
@@ -40,6 +40,24 @@ public class GiftQuantityManager extends BaseCacheManager {
|
|||||||
return giftQuantityModels;
|
return giftQuantityModels;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指导员备注信息
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<GiftQuantityModel> getGiftQuantityNew() {
|
||||||
|
List<GiftQuantityModel> giftQuantityModels = getList(KEY_GIFT_QUANTITY, new TypeToken<List<GiftQuantityModel>>() {}.getType());
|
||||||
|
if (giftQuantityModels == null || giftQuantityModels.size() == 0) {
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("9999").setFontColour("#ffffff"));
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("3344").setFontColour("#ffffff"));
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("1314").setFontColour("#ffffff"));
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("520").setFontColour("#ffffff"));
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("50").setFontColour("#ffffff"));
|
||||||
|
giftQuantityModels.add(new GiftQuantityModel().setGiftQuantity("10").setFontColour("#ffffff"));
|
||||||
|
}
|
||||||
|
return giftQuantityModels;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 缓存等级图标
|
* 缓存等级图标
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -536,6 +536,7 @@ public class IMLoginManager extends BaseCacheManager {
|
|||||||
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
||||||
.params("uid", uid)
|
.params("uid", uid)
|
||||||
.params("token", token)
|
.params("token", token)
|
||||||
|
.params("key1", RongcloudIMManager.RONG_IM_KEY)
|
||||||
.execute(new HttpCallback() {
|
.execute(new HttpCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(int code, String msg, String[] info) {
|
public void onSuccess(int code, String msg, String[] info) {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class RongcloudIMManager {
|
|||||||
if (CommonAppConfig.HOST.contains("ceshi")) {
|
if (CommonAppConfig.HOST.contains("ceshi")) {
|
||||||
RONG_IM_KEY = "pvxdm17jpd3hr"; //测试服key
|
RONG_IM_KEY = "pvxdm17jpd3hr"; //测试服key
|
||||||
} else {
|
} else {
|
||||||
RONG_IM_KEY = "uwd1c0sxu1p71"; //正式服key
|
RONG_IM_KEY = "6tnym1br6lhu7"; //正式服key //上一个Key值uwd1c0sxu1p71
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import android.util.Log;
|
|||||||
|
|
||||||
import com.blankj.utilcode.util.LogUtils;
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
import com.yunbao.common.event.CheckRemainingBalanceEvent;
|
import com.yunbao.common.event.CheckRemainingBalanceEvent;
|
||||||
|
import com.yunbao.common.sud.decorator.game.JumpEvent;
|
||||||
import com.yunbao.common.sud.state.SudMGPMGState;
|
import com.yunbao.common.sud.state.SudMGPMGState;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
import com.yunbao.common.utils.ISudFSMStateHandleUtils;
|
import com.yunbao.common.utils.ISudFSMStateHandleUtils;
|
||||||
@@ -372,6 +373,8 @@ public class SudFSMMGDecorator implements ISudFSMMG {
|
|||||||
} else {
|
} else {
|
||||||
listener.onGameMGCommonGameCreateOrder(handle, mgCommonGameCreateOrder);
|
listener.onGameMGCommonGameCreateOrder(handle, mgCommonGameCreateOrder);
|
||||||
}
|
}
|
||||||
|
// 调用创建订单接口
|
||||||
|
JumpEvent.hit(mgCommonGameCreateOrder);
|
||||||
break;
|
break;
|
||||||
case SudMGPMGState.MG_COMMON_PLAYER_ROLE_ID: // 26. 游戏通知app玩家角色(仅对狼人杀有效)
|
case SudMGPMGState.MG_COMMON_PLAYER_ROLE_ID: // 26. 游戏通知app玩家角色(仅对狼人杀有效)
|
||||||
SudMGPMGState.MGCommonPlayerRoleId mgCommonPlayerRoleId = SudJsonUtils.fromJson(dataJson, SudMGPMGState.MGCommonPlayerRoleId.class);
|
SudMGPMGState.MGCommonPlayerRoleId mgCommonPlayerRoleId = SudJsonUtils.fromJson(dataJson, SudMGPMGState.MGCommonPlayerRoleId.class);
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ public class UploadQnImpl implements UploadStrategy {
|
|||||||
if (isLog) {
|
if (isLog) {
|
||||||
CommonHttpUtil.getUploadQiNiuTokenLog(mGetUploadTokenCallback, list.get(0).getOriginFile().getName());
|
CommonHttpUtil.getUploadQiNiuTokenLog(mGetUploadTokenCallback, list.get(0).getOriginFile().getName());
|
||||||
} else {
|
} else {
|
||||||
CommonHttpUtil.getUploadQiNiuToken(mGetUploadTokenCallback, isImg);
|
CommonHttpUtil.getUploadQiNiuTokenNew(mGetUploadTokenCallback, isImg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.text.TextUtils;
|
|||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import io.rong.common.RLog;
|
import io.rong.common.RLog;
|
||||||
import io.rong.imkit.utils.language.LangUtils;
|
import io.rong.imkit.utils.language.LangUtils;
|
||||||
@@ -43,6 +44,45 @@ public class DateFormatUtil {
|
|||||||
return formattedDate;
|
return formattedDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getTimeLiveEndString(long time) {
|
||||||
|
Date date = new Date(time); // 创建Date对象并传入时间戳参数
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); // 设置日期格式
|
||||||
|
String formattedDate = sdf.format(date); // 格式化日期字符串
|
||||||
|
return formattedDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getDiffInMilliseconds(String time1, String time2, String day, String hour, String minute) {
|
||||||
|
return getTime(Long.parseLong(time1), Long.parseLong(time2), day, hour, minute);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//根据时间计算出 分钟,小时,天
|
||||||
|
private static String getTime(Long startTime, Long endTime, String day, String hour, String minute) {
|
||||||
|
if (startTime == null || endTime == null || startTime >= endTime) {
|
||||||
|
return "Invalid time range";
|
||||||
|
}
|
||||||
|
|
||||||
|
long diff = endTime - startTime;
|
||||||
|
long days = TimeUnit.MILLISECONDS.toDays(diff);
|
||||||
|
long hours = TimeUnit.MILLISECONDS.toHours(diff) - (days * 24);
|
||||||
|
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff) - (TimeUnit.MILLISECONDS.toHours(diff) * 60);
|
||||||
|
|
||||||
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
if (days > 0) {
|
||||||
|
stringBuilder.append(days).append(day).append(" ");
|
||||||
|
}
|
||||||
|
if (hours > 0) {
|
||||||
|
stringBuilder.append(hours).append(hour).append(" ");
|
||||||
|
}
|
||||||
|
if (minutes > 0) {
|
||||||
|
stringBuilder.append(minutes).append(minute);
|
||||||
|
}else {
|
||||||
|
stringBuilder.append("0"+minute);
|
||||||
|
}
|
||||||
|
return stringBuilder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static String getTimeStrings(long time) {
|
public static String getTimeStrings(long time) {
|
||||||
Date date = new Date(time); // 创建Date对象并传入时间戳参数
|
Date date = new Date(time); // 创建Date对象并传入时间戳参数
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 设置日期格式
|
||||||
@@ -105,7 +145,7 @@ public class DateFormatUtil {
|
|||||||
formatDate = formatDate(date, "yyyy/M/d");
|
formatDate = formatDate(date, "yyyy/M/d");
|
||||||
|
|
||||||
if (showTime) {
|
if (showTime) {
|
||||||
formatDate = formatDate ;//+ " " + getTimeString(dateMillis, context);
|
formatDate = formatDate;//+ " " + getTimeString(dateMillis, context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -168,6 +168,15 @@ public class DialogUitl {
|
|||||||
showSimpleDialog(context, content, false, callback);
|
showSimpleDialog(context, content, false, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void showSimpleDialogString(Context context, String content,String confirmString, SimpleCallback callback) {
|
||||||
|
if (context instanceof Activity) {
|
||||||
|
if (((Activity) context).isDestroyed() || ((Activity) context).isFinishing()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
new Builder(context).setTitle(null).setContent(content).setCancelable(false).setClickCallback(callback).setConfirmString(confirmString).build().show();
|
||||||
|
}
|
||||||
|
|
||||||
public static void showSimpleDialog(Context context, String content, boolean cancelable, SimpleCallback callback) {
|
public static void showSimpleDialog(Context context, String content, boolean cancelable, SimpleCallback callback) {
|
||||||
showSimpleDialog(context, null, content, cancelable, callback);
|
showSimpleDialog(context, null, content, cancelable, callback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import com.yunbao.common.http.HttpClient;
|
|||||||
import com.yunbao.common.http.LiveHttpUtil;
|
import com.yunbao.common.http.LiveHttpUtil;
|
||||||
import com.yunbao.common.interfaces.CommonCallback;
|
import com.yunbao.common.interfaces.CommonCallback;
|
||||||
import com.yunbao.common.manager.IMLoginManager;
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
|
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
|
|
||||||
@@ -659,6 +660,7 @@ public class JavascriptInterfaceUtils {
|
|||||||
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
HttpClient.getInstance().get("User.getBaseInfos", "getBaseInfo")
|
||||||
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
|
.params("uid", IMLoginManager.get(mContext).getUserInfo().getId())
|
||||||
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
|
.params("token", IMLoginManager.get(mContext).getUserInfo().getToken())
|
||||||
|
.params("key1", RongcloudIMManager.RONG_IM_KEY)
|
||||||
.execute(new HttpCallback() {
|
.execute(new HttpCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(int code, String msg, String[] info) {
|
public void onSuccess(int code, String msg, String[] info) {
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package com.yunbao.common.utils;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.view.ViewConfiguration;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
|
public class NavigationBarUtils {
|
||||||
|
|
||||||
|
public static boolean hasNavigationBar(Activity activity) {
|
||||||
|
boolean hasNavigationBar = false;
|
||||||
|
int resourceId = activity.getResources().getIdentifier("config_showNavigationBar", "bool", "android");
|
||||||
|
if (resourceId > 0) {
|
||||||
|
hasNavigationBar = activity.getResources().getBoolean(resourceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
hasNavigationBar |= (Boolean) ViewConfiguration.class.getDeclaredMethod("hasNavigationBar").invoke(ViewConfiguration.get(activity));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fall back on checking the navigation bar height, if available
|
||||||
|
if (!hasNavigationBar && hasNavBarHeight()) {
|
||||||
|
hasNavigationBar = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hasNavigationBar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean hasNavBarHeight() {
|
||||||
|
Resources res = Resources.getSystem();
|
||||||
|
int resourceId = res.getIdentifier("navigation_bar_height", "dimen", "android");
|
||||||
|
if (resourceId > 0) {
|
||||||
|
return res.getDimensionPixelSize(resourceId) > 0;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 示例:在Activity中使用该方法
|
||||||
|
public static boolean checkNavigationBar(Activity activity) {
|
||||||
|
return hasNavigationBar(activity);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int checkBarHeight(Activity activity) {
|
||||||
|
int result = 0;
|
||||||
|
Resources resources = activity.getResources();
|
||||||
|
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
|
||||||
|
if (resourceId > 0) {
|
||||||
|
result = resources.getDimensionPixelSize(resourceId);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setBarStatus(RelativeLayout rt_main_tab, Activity mContext){
|
||||||
|
if("Xiaomi".equals(Build.BRAND)&&"2210132C".equals(Build.MODEL)){
|
||||||
|
ViewGroup.LayoutParams params = rt_main_tab.getLayoutParams();
|
||||||
|
params.height =params.height+ NavigationBarUtils.checkBarHeight(mContext);
|
||||||
|
rt_main_tab.setLayoutParams(params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,13 +3,21 @@ package com.yunbao.common.utils;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.ImageDecoder;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
|
|
||||||
|
|
||||||
|
import androidx.activity.result.ActivityResultLauncher;
|
||||||
|
import androidx.activity.result.PickVisualMediaRequest;
|
||||||
|
import androidx.activity.result.contract.ActivityResultContracts;
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.core.content.FileProvider;
|
import androidx.core.content.FileProvider;
|
||||||
|
|
||||||
|
import com.blankj.utilcode.util.LogUtils;
|
||||||
import com.yalantis.ucrop.UCrop;
|
import com.yalantis.ucrop.UCrop;
|
||||||
import com.yalantis.ucrop.util.FileUtils;
|
import com.yalantis.ucrop.util.FileUtils;
|
||||||
import com.yunbao.common.CommonAppConfig;
|
import com.yunbao.common.CommonAppConfig;
|
||||||
@@ -39,6 +47,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
private ImageResultCallback mResultCallback;
|
private ImageResultCallback mResultCallback;
|
||||||
private boolean mNeedCrop;//是否需要裁剪
|
private boolean mNeedCrop;//是否需要裁剪
|
||||||
private boolean mNeedGif;//允许gif图
|
private boolean mNeedGif;//允许gif图
|
||||||
|
ActivityResultLauncher<PickVisualMediaRequest> launcher;
|
||||||
|
|
||||||
public void setNeedGif(boolean mNeedGif) {
|
public void setNeedGif(boolean mNeedGif) {
|
||||||
this.mNeedGif = mNeedGif;
|
this.mNeedGif = mNeedGif;
|
||||||
@@ -83,7 +92,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
if (mNeedCrop) {
|
if (mNeedCrop) {
|
||||||
Uri uri = null;
|
Uri uri = null;
|
||||||
if (Build.VERSION.SDK_INT >= 24) {
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
uri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCameraResult);
|
uri = FileProvider.getUriForFile(mContext, mContext.getPackageName() +".fileprovider", mCameraResult);
|
||||||
} else {
|
} else {
|
||||||
uri = Uri.fromFile(mCameraResult);
|
uri = Uri.fromFile(mCameraResult);
|
||||||
}
|
}
|
||||||
@@ -117,6 +126,19 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String path = FileUtils.getPath(mContext, intent.getData());
|
String path = FileUtils.getPath(mContext, intent.getData());
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
ImageDecoder.Source source = ImageDecoder.createSource(mContext.getContentResolver(), intent.getData());
|
||||||
|
try {
|
||||||
|
Bitmap bitmap = ImageDecoder.decodeBitmap(source);
|
||||||
|
path=BitmapUtil.getInstance().saveBitmap(bitmap);
|
||||||
|
bitmap.recycle();
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
mResultCallback.onFailure();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
File file = new File(path);
|
File file = new File(path);
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
mResultCallback.onSuccess(file);
|
mResultCallback.onSuccess(file);
|
||||||
@@ -153,6 +175,19 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
launcher = ((AppCompatActivity) mContext).registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new androidx.activity.result.ActivityResultCallback<Uri>() {
|
||||||
|
@Override
|
||||||
|
public void onActivityResult(Uri result) {
|
||||||
|
LogUtils.e("result:" + result);
|
||||||
|
if (result == null) {
|
||||||
|
mAlumbResultCallback.onFailure();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Intent intent = new Intent();
|
||||||
|
intent.setData(result);
|
||||||
|
mAlumbResultCallback.onSuccess(intent);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -173,15 +208,28 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
/**
|
/**
|
||||||
* 相册获取图片
|
* 相册获取图片
|
||||||
*/
|
*/
|
||||||
public void getImageByAlumb() {
|
public void getImageByAlbum() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
showSystemPick();
|
||||||
|
return;
|
||||||
|
}
|
||||||
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
|
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getImageByAlumb(boolean needCrop) {
|
public void getImageByAlbum(boolean needCrop) {
|
||||||
this.mNeedCrop = needCrop;
|
this.mNeedCrop = needCrop;
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
showSystemPick();
|
||||||
|
return;
|
||||||
|
}
|
||||||
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
|
requestPermissions(mAlumbPermissions, mAlumbPermissionCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void showSystemPick() {
|
||||||
|
PickVisualMediaRequest.Builder builder = new PickVisualMediaRequest.Builder()
|
||||||
|
.setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE);
|
||||||
|
launcher.launch(builder.build());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开启摄像头,执行照相
|
* 开启摄像头,执行照相
|
||||||
@@ -195,7 +243,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
mCameraResult = getNewFile();
|
mCameraResult = getNewFile();
|
||||||
Uri uri = null;
|
Uri uri = null;
|
||||||
if (Build.VERSION.SDK_INT >= 24) {
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
uri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCameraResult);
|
uri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCameraResult);
|
||||||
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
|
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
|
||||||
} else {
|
} else {
|
||||||
uri = Uri.fromFile(mCameraResult);
|
uri = Uri.fromFile(mCameraResult);
|
||||||
@@ -255,7 +303,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
|||||||
startActivityForResult(intent, mCropResultCallback);
|
startActivityForResult(intent, mCropResultCallback);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
try {
|
try {
|
||||||
Uri resultUri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCorpResult);
|
Uri resultUri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCorpResult);
|
||||||
if (resultUri == null || mFragment == null || mContext == null) {
|
if (resultUri == null || mFragment == null || mContext == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,15 @@ public class RouteUtil {
|
|||||||
public static final String PATH_SudSwGameActivity = "/live/SudSwGameActivity";
|
public static final String PATH_SudSwGameActivity = "/live/SudSwGameActivity";
|
||||||
public static final String PATH_SudRyGameActivity = "/live/SudRyGameActivity";
|
public static final String PATH_SudRyGameActivity = "/live/SudRyGameActivity";
|
||||||
|
|
||||||
|
public static final String PATH_LiveROOMMANAGE = "/live/RoomManageActivity";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 跳转到房间管理页面
|
||||||
|
*/
|
||||||
|
public static void forwardRoomManageActivity() {
|
||||||
|
ARouter.getInstance().build(PATH_LiveROOMMANAGE)
|
||||||
|
.navigation();
|
||||||
|
}
|
||||||
|
|
||||||
public static void forwardVideoPlayNewActivity(ActiveBean bean) {
|
public static void forwardVideoPlayNewActivity(ActiveBean bean) {
|
||||||
ARouter.getInstance().build(PATH_VIDEO_NEW_PLAY)
|
ARouter.getInstance().build(PATH_VIDEO_NEW_PLAY)
|
||||||
|
|||||||
@@ -95,13 +95,38 @@ public class StringUtil {
|
|||||||
int minutes = (int) ((mms % (1000 * 60 * 60)) / (1000 * 60));
|
int minutes = (int) ((mms % (1000 * 60 * 60)) / (1000 * 60));
|
||||||
int seconds = (int) ((mms % (1000 * 60)) / 1000);
|
int seconds = (int) ((mms % (1000 * 60)) / 1000);
|
||||||
sStringBuilder.delete(0, sStringBuilder.length());
|
sStringBuilder.delete(0, sStringBuilder.length());
|
||||||
if (hours > 0) {
|
if (hours < 10) {
|
||||||
if (hours < 10) {
|
sStringBuilder.append("0");
|
||||||
|
}
|
||||||
|
sStringBuilder.append(String.valueOf(hours));
|
||||||
|
sStringBuilder.append(":");
|
||||||
|
if (minutes > 0) {
|
||||||
|
if (minutes < 10) {
|
||||||
sStringBuilder.append("0");
|
sStringBuilder.append("0");
|
||||||
}
|
}
|
||||||
sStringBuilder.append(String.valueOf(hours));
|
sStringBuilder.append(String.valueOf(minutes));
|
||||||
sStringBuilder.append(":");
|
sStringBuilder.append(":");
|
||||||
|
} else {
|
||||||
|
sStringBuilder.append("00:");
|
||||||
}
|
}
|
||||||
|
if (seconds > 0) {
|
||||||
|
if (seconds < 10) {
|
||||||
|
sStringBuilder.append("0");
|
||||||
|
}
|
||||||
|
sStringBuilder.append(String.valueOf(seconds));
|
||||||
|
} else {
|
||||||
|
sStringBuilder.append("00");
|
||||||
|
}
|
||||||
|
return sStringBuilder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 把一个long类型的总毫秒数转成时长
|
||||||
|
*/
|
||||||
|
public static String getDurationText2(long mms) {
|
||||||
|
int minutes = (int) ((mms % (1000 * 60 * 60)) / (1000 * 60));
|
||||||
|
int seconds = (int) ((mms % (1000 * 60)) / 1000);
|
||||||
|
sStringBuilder.delete(0, sStringBuilder.length());
|
||||||
if (minutes > 0) {
|
if (minutes > 0) {
|
||||||
if (minutes < 10) {
|
if (minutes < 10) {
|
||||||
sStringBuilder.append("0");
|
sStringBuilder.append("0");
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ public class UiConversationCodeUtil {
|
|||||||
|
|
||||||
|
|
||||||
public static boolean checkIsSame(List<BaseUiConversation> list1, List<BaseUiConversation> list2) {
|
public static boolean checkIsSame(List<BaseUiConversation> list1, List<BaseUiConversation> list2) {
|
||||||
|
if (list1.isEmpty()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (list1.size() != list2.size()) return false;
|
if (list1.size() != list2.size()) return false;
|
||||||
int hashCode1 = getListHasCode(list1);
|
int hashCode1 = getListHasCode(list1);
|
||||||
int hashCode2 = getListHasCode(list2);
|
int hashCode2 = getListHasCode(list2);
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class VersionUtil {
|
|||||||
@Override
|
@Override
|
||||||
public void onConfirmClick(Dialog dialog, String content) {
|
public void onConfirmClick(Dialog dialog, String content) {
|
||||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName()));
|
||||||
context.startActivity(i);
|
context.startActivity(i);
|
||||||
context.finish();
|
context.finish();
|
||||||
}
|
}
|
||||||
@@ -85,7 +85,7 @@ public class VersionUtil {
|
|||||||
@Override
|
@Override
|
||||||
public void onConfirmClick(Dialog dialog, String content) {
|
public void onConfirmClick(Dialog dialog, String content) {
|
||||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName()));
|
||||||
context.startActivity(i);
|
context.startActivity(i);
|
||||||
context.finish();
|
context.finish();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ public class WordUtil {
|
|||||||
|
|
||||||
public static boolean isNewZh() {
|
public static boolean isNewZh() {
|
||||||
return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE
|
return IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE
|
||||||
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE ;
|
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.TRADITIONAL_CHINESE
|
||||||
|
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINESE
|
||||||
|
|| IMLoginManager.get(CommonAppContext.sInstance).getLocaleLanguage() == Locale.CHINA;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getNewString(int res) {
|
public static String getNewString(int res) {
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public class APKUpdateCustomPopup extends CenterPopupView {
|
|||||||
public void onViewClicks() {
|
public void onViewClicks() {
|
||||||
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
|
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
|
||||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+mContext.getPackageName()));
|
||||||
mContext.startActivity(i);
|
mContext.startActivity(i);
|
||||||
mContext.finish();
|
mContext.finish();
|
||||||
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
|
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
|
||||||
|
|||||||
@@ -26,7 +26,13 @@ public abstract class AbsViewHolder implements LifeCycleListener {
|
|||||||
mTag = getClass().getSimpleName();
|
mTag = getClass().getSimpleName();
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mParentView = parentView;
|
mParentView = parentView;
|
||||||
mContentView = LayoutInflater.from(context).inflate(getLayoutId(), mParentView, false);
|
try {
|
||||||
|
mContentView = LayoutInflater.from(context).inflate(getLayoutId(), mParentView, false);
|
||||||
|
}catch (Exception e){
|
||||||
|
L.e("AbsViewHolder",e.toString());
|
||||||
|
}
|
||||||
|
if (mContentView == null)
|
||||||
|
L.e("AbsViewHolder","mContentView==null");
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -35,7 +41,13 @@ public abstract class AbsViewHolder implements LifeCycleListener {
|
|||||||
processArguments(args);
|
processArguments(args);
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mParentView = parentView;
|
mParentView = parentView;
|
||||||
mContentView = LayoutInflater.from(context).inflate(getLayoutId(), mParentView, false);
|
try {
|
||||||
|
mContentView = LayoutInflater.from(context).inflate(getLayoutId(), mParentView, false);
|
||||||
|
}catch (Exception e){
|
||||||
|
L.e("AbsViewHolder",e.toString());
|
||||||
|
}
|
||||||
|
if (mContentView == null)
|
||||||
|
L.e("AbsViewHolder","mContentView==null");
|
||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class GiftNumberPopup extends BottomPopupView {
|
|||||||
super.onCreate();
|
super.onCreate();
|
||||||
RecyclerView giftList = findViewById(R.id.gift_list);
|
RecyclerView giftList = findViewById(R.id.gift_list);
|
||||||
giftList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
giftList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
|
||||||
GiftNumberAdapter giftNumberAdapter = new GiftNumberAdapter(new GiftQuantityManager(getContext()).getGiftQuantity());
|
GiftNumberAdapter giftNumberAdapter = new GiftNumberAdapter(new GiftQuantityManager(getContext()).getGiftQuantityNew());
|
||||||
giftList.setAdapter(giftNumberAdapter);
|
giftList.setAdapter(giftNumberAdapter);
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.to_can), new ViewClicksAntiShake.ViewClicksCallBack() {
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.to_can), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -33,11 +33,16 @@ public class LiveClarityCustomPopup extends BottomPopupView implements View.OnCl
|
|||||||
private TextView titleSDText, titleHDText, titleFHDText, mTips;
|
private TextView titleSDText, titleHDText, titleFHDText, mTips;
|
||||||
private int banSelect;
|
private int banSelect;
|
||||||
private boolean isUser = false;
|
private boolean isUser = false;
|
||||||
|
private SelectPositionListener selectPositionListener;
|
||||||
|
|
||||||
public int getSelectClarity() {
|
public int getSelectClarity() {
|
||||||
return selectClarity;
|
return selectClarity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSelectPositionListener(SelectPositionListener selectPositionListener) {
|
||||||
|
this.selectPositionListener = selectPositionListener;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param banSelect 禁止选项,{@link #BAN_720} 禁止高清和超高清。 {@link #BAN_1080} 禁止超高清
|
* @param banSelect 禁止选项,{@link #BAN_720} 禁止高清和超高清。 {@link #BAN_1080} 禁止超高清
|
||||||
* @param isUser 是否为观众,true 观众,false 主播
|
* @param isUser 是否为观众,true 观众,false 主播
|
||||||
@@ -227,6 +232,13 @@ public class LiveClarityCustomPopup extends BottomPopupView implements View.OnCl
|
|||||||
iconFhd.setVisibility(VISIBLE);
|
iconFhd.setVisibility(VISIBLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if(selectPositionListener!=null){
|
||||||
|
selectPositionListener.onSelect(selectClarity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface SelectPositionListener{
|
||||||
|
void onSelect(int position);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Handler netHandler = new Handler();
|
private Handler netHandler = new Handler();
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package com.yunbao.common.views;
|
|||||||
|
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.KeyEvent;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -28,6 +30,7 @@ import com.yunbao.common.event.PopupViewDismissEvent;
|
|||||||
import com.yunbao.common.fragment.LiveNewWishListFragment;
|
import com.yunbao.common.fragment.LiveNewWishListFragment;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.interfaces.CommonCallback;
|
||||||
import com.yunbao.common.manager.IMLoginManager;
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
import com.yunbao.common.utils.DpUtil;
|
import com.yunbao.common.utils.DpUtil;
|
||||||
@@ -61,6 +64,12 @@ public class LiveNewWishListPopup extends BottomPopupView {
|
|||||||
private LiveNewWishListFragment dayWishFragment, zhouXinFragment, lunarWishFragment, seasonalWishFragment;
|
private LiveNewWishListFragment dayWishFragment, zhouXinFragment, lunarWishFragment, seasonalWishFragment;
|
||||||
private ImageView wishListTop;
|
private ImageView wishListTop;
|
||||||
|
|
||||||
|
private CommonCallback<Boolean> mSetResultCallback ;
|
||||||
|
|
||||||
|
public void setResultCallback(CommonCallback<Boolean> mCommonCallback) {
|
||||||
|
this.mSetResultCallback = mCommonCallback;
|
||||||
|
}
|
||||||
|
|
||||||
public LiveNewWishListPopup(@NonNull FragmentActivity context) {
|
public LiveNewWishListPopup(@NonNull FragmentActivity context) {
|
||||||
super(context);
|
super(context);
|
||||||
mContext = context;
|
mContext = context;
|
||||||
@@ -198,6 +207,10 @@ public class LiveNewWishListPopup extends BottomPopupView {
|
|||||||
zhouXinFragment = LiveNewWishListFragment.newInstance(2);
|
zhouXinFragment = LiveNewWishListFragment.newInstance(2);
|
||||||
lunarWishFragment = LiveNewWishListFragment.newInstance(3);
|
lunarWishFragment = LiveNewWishListFragment.newInstance(3);
|
||||||
seasonalWishFragment = LiveNewWishListFragment.newInstance(4);
|
seasonalWishFragment = LiveNewWishListFragment.newInstance(4);
|
||||||
|
dayWishFragment.setResultCallback(mSetResultCallback);
|
||||||
|
zhouXinFragment.setResultCallback(mSetResultCallback);
|
||||||
|
lunarWishFragment.setResultCallback(mSetResultCallback);
|
||||||
|
seasonalWishFragment.setResultCallback(mSetResultCallback);
|
||||||
ViewList.add(dayWishFragment);
|
ViewList.add(dayWishFragment);
|
||||||
ViewList.add(zhouXinFragment);
|
ViewList.add(zhouXinFragment);
|
||||||
ViewList.add(lunarWishFragment);
|
ViewList.add(lunarWishFragment);
|
||||||
|
|||||||
@@ -5,12 +5,14 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
|
import com.lxj.xpopup.core.BottomPopupView;
|
||||||
import com.lxj.xpopup.core.CenterPopupView;
|
import com.lxj.xpopup.core.CenterPopupView;
|
||||||
import com.yunbao.common.Constants;
|
import com.yunbao.common.Constants;
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.common.bean.LiveClassBean;
|
import com.yunbao.common.bean.LiveClassBean;
|
||||||
import com.yunbao.common.bean.LiveRoomTypeBean;
|
import com.yunbao.common.bean.LiveRoomTypeBean;
|
||||||
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
import com.yunbao.common.bean.LiveStetUpStatusModel;
|
||||||
|
import com.yunbao.common.event.LiveNewWishListCloseEvent;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
import com.yunbao.common.manager.IMLoginManager;
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
@@ -18,7 +20,10 @@ import com.yunbao.common.utils.ToastUtil;
|
|||||||
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;
|
||||||
|
|
||||||
public class LiveOpenCustomPopup extends CenterPopupView {
|
import org.greenrobot.eventbus.Subscribe;
|
||||||
|
import org.greenrobot.eventbus.ThreadMode;
|
||||||
|
|
||||||
|
public class LiveOpenCustomPopup extends BottomPopupView {
|
||||||
//清晰度
|
//清晰度
|
||||||
private int selectClarity;
|
private int selectClarity;
|
||||||
//直播类型
|
//直播类型
|
||||||
@@ -26,10 +31,12 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
//房间类型
|
//房间类型
|
||||||
private LiveRoomTypeBean liveRoomTypeBean;
|
private LiveRoomTypeBean liveRoomTypeBean;
|
||||||
|
|
||||||
private TextView textClarity, textLiveRoomType, textLiveClass, textLiveWishlist, textRobot, textSay, textCall;
|
private TextView textClarity, textLiveClass, textLiveWishlist, textRobot, textSay, textCall;
|
||||||
|
|
||||||
private int status_say, status_call;
|
private int status_say, status_call;
|
||||||
|
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
public LiveOpenCustomPopup setClassBean(LiveClassBean classBean) {
|
public LiveOpenCustomPopup setClassBean(LiveClassBean classBean) {
|
||||||
this.classBean = classBean;
|
this.classBean = classBean;
|
||||||
textLiveClass.setText(classBean.getName());
|
textLiveClass.setText(classBean.getName());
|
||||||
@@ -38,17 +45,12 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
|
|
||||||
public LiveOpenCustomPopup setLiveRoomTypeBean(LiveRoomTypeBean liveRoomTypeBean) {
|
public LiveOpenCustomPopup setLiveRoomTypeBean(LiveRoomTypeBean liveRoomTypeBean) {
|
||||||
this.liveRoomTypeBean = liveRoomTypeBean;
|
this.liveRoomTypeBean = liveRoomTypeBean;
|
||||||
if (liveRoomTypeBean.getId()== Constants.LIVE_TYPE_PWD){
|
|
||||||
textLiveRoomType.setText(WordUtil.isNewZh() ? "密碼房" : "password room");
|
|
||||||
}else {
|
|
||||||
textLiveRoomType.setText(liveRoomTypeBean.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveOpenCustomPopup(@NonNull Context context, int selectClarity, LiveClassBean classBean, LiveRoomTypeBean liveRoomTypeBean) {
|
public LiveOpenCustomPopup(@NonNull Context context, int selectClarity, LiveClassBean classBean, LiveRoomTypeBean liveRoomTypeBean) {
|
||||||
super(context);
|
super(context);
|
||||||
|
this.mContext = context;
|
||||||
this.selectClarity = selectClarity;
|
this.selectClarity = selectClarity;
|
||||||
this.classBean = classBean;
|
this.classBean = classBean;
|
||||||
this.liveRoomTypeBean = liveRoomTypeBean;
|
this.liveRoomTypeBean = liveRoomTypeBean;
|
||||||
@@ -70,7 +72,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
|
|
||||||
private void initView() {
|
private void initView() {
|
||||||
textClarity = findViewById(R.id.text_clarity);
|
textClarity = findViewById(R.id.text_clarity);
|
||||||
textLiveRoomType = findViewById(R.id.text_live_room_type);
|
|
||||||
textLiveClass = findViewById(R.id.text_live_class);
|
textLiveClass = findViewById(R.id.text_live_class);
|
||||||
textLiveWishlist = findViewById(R.id.text_live_wishlist);
|
textLiveWishlist = findViewById(R.id.text_live_wishlist);
|
||||||
textRobot = findViewById(R.id.text_robot);
|
textRobot = findViewById(R.id.text_robot);
|
||||||
@@ -79,13 +80,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
if (classBean != null) {
|
if (classBean != null) {
|
||||||
textLiveClass.setText(classBean.getName());
|
textLiveClass.setText(classBean.getName());
|
||||||
}
|
}
|
||||||
if (liveRoomTypeBean != null) {
|
|
||||||
if (liveRoomTypeBean.getId()== Constants.LIVE_TYPE_PWD){
|
|
||||||
textLiveRoomType.setText(WordUtil.isNewZh() ? "密碼房" : "password room");
|
|
||||||
}else {
|
|
||||||
textLiveRoomType.setText(liveRoomTypeBean.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setSelectClarity(selectClarity);
|
setSelectClarity(selectClarity);
|
||||||
//關閉彈窗
|
//關閉彈窗
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), () -> dismiss());
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.live_open_cancel), () -> dismiss());
|
||||||
@@ -108,12 +102,6 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
callBack.selectClarity(selectClarity);
|
callBack.selectClarity(selectClarity);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
//設置房間類型
|
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_room_type), () -> {
|
|
||||||
if (callBack != null) {
|
|
||||||
callBack.openLiveRoomType(liveRoomTypeBean);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//打開心願單
|
//打開心願單
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_wishlist), () -> {
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.line_live_wishlist), () -> {
|
||||||
if (callBack != null) {
|
if (callBack != null) {
|
||||||
@@ -182,7 +170,7 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void initDate() {
|
public void initDate() {
|
||||||
textSay.setText(status_say == 1 ? R.string.do_set : R.string.not_set);
|
textSay.setText(IMLoginManager.get(mContext).getAnchorSayStatus() == 1 ? R.string.do_set : R.string.not_set);
|
||||||
textCall.setText(status_call == 1 ? R.string.robot_yes : R.string.robot_no);
|
textCall.setText(status_call == 1 ? R.string.robot_yes : R.string.robot_no);
|
||||||
LiveNetManager.get(getContext())
|
LiveNetManager.get(getContext())
|
||||||
.getLiveStetUpStatus(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()),
|
.getLiveStetUpStatus(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()),
|
||||||
@@ -190,7 +178,7 @@ public class LiveOpenCustomPopup extends CenterPopupView {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(LiveStetUpStatusModel data) {
|
public void onSuccess(LiveStetUpStatusModel data) {
|
||||||
textLiveWishlist.setText(data.getWishListState() ? R.string.do_set : R.string.not_set);
|
textLiveWishlist.setText(data.getWishListState() ? R.string.do_set : R.string.not_set);
|
||||||
textRobot.setText(data.getAiStateState() ? R.string.robot_yes : R.string.robot_no);
|
textRobot.setText(data.getAiStateState() ? R.string.robot_on : R.string.robot_off);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.yunbao.common.views;
|
package com.yunbao.common.views;
|
||||||
|
|
||||||
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -7,6 +8,8 @@ import android.view.inputmethod.EditorInfo;
|
|||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.RadioButton;
|
||||||
|
import android.widget.RadioGroup;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@@ -21,6 +24,12 @@ import com.yunbao.common.bean.HttpCallbackModel;
|
|||||||
import com.yunbao.common.bean.LiveAiRobotBean;
|
import com.yunbao.common.bean.LiveAiRobotBean;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
|
import com.yunbao.common.manager.MicUserManager;
|
||||||
|
import com.yunbao.common.manager.MicedUserManager;
|
||||||
|
import com.yunbao.common.manager.RandomPkManager;
|
||||||
|
import com.yunbao.common.utils.DialogUitl;
|
||||||
|
import com.yunbao.common.utils.L;
|
||||||
|
import com.yunbao.common.utils.MicStatusManager;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
|
|
||||||
@@ -32,6 +41,11 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
|
|||||||
private String time = "";
|
private String time = "";
|
||||||
private ImageView robotState;
|
private ImageView robotState;
|
||||||
|
|
||||||
|
private ImageView languageZhImgView;
|
||||||
|
private AppCompatTextView languageZhTv;
|
||||||
|
private ImageView languageEnImgView;
|
||||||
|
private AppCompatTextView languageEnTv;
|
||||||
|
private int lastLanguage = 1;
|
||||||
private int robotStateInt = 1;
|
private int robotStateInt = 1;
|
||||||
|
|
||||||
public int getRobotStateInt() {
|
public int getRobotStateInt() {
|
||||||
@@ -60,17 +74,22 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
|
|||||||
robotNameSetting = findViewById(R.id.robot_name_setting);
|
robotNameSetting = findViewById(R.id.robot_name_setting);
|
||||||
robotNameText = findViewById(R.id.robot_name_text);
|
robotNameText = findViewById(R.id.robot_name_text);
|
||||||
robotState = findViewById(R.id.robot_state);
|
robotState = findViewById(R.id.robot_state);
|
||||||
|
languageZhImgView = findViewById(R.id.languageZhImgView);
|
||||||
|
languageZhTv = findViewById(R.id.languageZhTv);
|
||||||
|
languageEnImgView = findViewById(R.id.languageEnImgView);
|
||||||
|
languageEnTv = findViewById(R.id.languageEnTv);
|
||||||
automaticGreetingNumber = findViewById(R.id.automatic_greeting_number);
|
automaticGreetingNumber = findViewById(R.id.automatic_greeting_number);
|
||||||
automaticMessageNumber = findViewById(R.id.automatic_message_number);
|
automaticMessageNumber = findViewById(R.id.automatic_message_number);
|
||||||
findViewById(R.id.automatic_message_sending).setOnClickListener(this);
|
findViewById(R.id.automatic_message_sending).setOnClickListener(this);
|
||||||
findViewById(R.id.automatic_greeting_setting).setOnClickListener(this);
|
findViewById(R.id.automatic_greeting_setting).setOnClickListener(this);
|
||||||
robotNameText.setOnClickListener(this);
|
robotNameText.setOnClickListener(this);
|
||||||
robotState.setOnClickListener(this);
|
robotState.setOnClickListener(this);
|
||||||
|
robotNameSetting.setImeOptions(EditorInfo.IME_ACTION_DONE);
|
||||||
robotNameSetting.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
robotNameSetting.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
||||||
if (actionId == EditorInfo.IME_ACTION_DONE) {
|
if (actionId == EditorInfo.IME_ACTION_DONE) {
|
||||||
|
L.e("EditorInfo.IME_ACTION_DONE");
|
||||||
// 修改助手名字
|
// 修改助手名字
|
||||||
LiveNetManager.get(getContext())
|
LiveNetManager.get(getContext())
|
||||||
.setAiRobotDate("ai_name", robotNameSetting.getText().toString(), new HttpCallback<HttpCallbackModel>() {
|
.setAiRobotDate("ai_name", robotNameSetting.getText().toString(), new HttpCallback<HttpCallbackModel>() {
|
||||||
@@ -91,8 +110,65 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
languageZhImgView.setOnClickListener(v -> {
|
||||||
|
if (lastLanguage == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowChangeLanguagePopup(0);
|
||||||
|
});
|
||||||
|
languageZhTv.setOnClickListener(v -> {
|
||||||
|
if (lastLanguage == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowChangeLanguagePopup(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
languageEnImgView.setOnClickListener(v -> {
|
||||||
|
if (lastLanguage == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowChangeLanguagePopup(1);
|
||||||
|
});
|
||||||
|
languageEnTv.setOnClickListener(v -> {
|
||||||
|
if (lastLanguage == 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ShowChangeLanguagePopup(1);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ShowChangeLanguagePopup(int i) {
|
||||||
|
DialogUitl.showSimpleDialogString(getContext(), getContext().getString(R.string.chang_langue_tips), getContext().getString(R.string.aristocrat_determine) ,new DialogUitl.SimpleCallback() {
|
||||||
|
@Override
|
||||||
|
public void onConfirmClick(Dialog dialog, String content) {
|
||||||
|
LiveNetManager.get(getContext())
|
||||||
|
.setAiRobotDate("ai_langue", i+"", new HttpCallback<HttpCallbackModel>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(HttpCallbackModel data) {
|
||||||
|
if (i==0) {
|
||||||
|
languageZhImgView.setSelected(true);
|
||||||
|
languageEnImgView.setSelected(false);
|
||||||
|
lastLanguage = 0;
|
||||||
|
} else {
|
||||||
|
languageZhImgView.setSelected(false);
|
||||||
|
languageEnImgView.setSelected(true);
|
||||||
|
lastLanguage = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
int viewID = v.getId();
|
int viewID = v.getId();
|
||||||
@@ -243,6 +319,15 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
|
|||||||
robotNameText.setText(data.getName());
|
robotNameText.setText(data.getName());
|
||||||
automaticGreetingNumber.setText(String.valueOf(data.getAutoSeyHiNumber()));
|
automaticGreetingNumber.setText(String.valueOf(data.getAutoSeyHiNumber()));
|
||||||
automaticMessageNumber.setText(String.valueOf(data.getAutoRequestFollowNumber()));
|
automaticMessageNumber.setText(String.valueOf(data.getAutoRequestFollowNumber()));
|
||||||
|
if (data.isLangueCn()) {
|
||||||
|
languageZhImgView.setSelected(true);
|
||||||
|
languageEnImgView.setSelected(false);
|
||||||
|
lastLanguage = 0;
|
||||||
|
} else {
|
||||||
|
languageZhImgView.setSelected(false);
|
||||||
|
languageEnImgView.setSelected(true);
|
||||||
|
lastLanguage = 1;
|
||||||
|
}
|
||||||
time = String.valueOf(data.getTime());
|
time = String.valueOf(data.getTime());
|
||||||
robotStateInt = data.getStatus();
|
robotStateInt = data.getStatus();
|
||||||
if (data.getStatus() == 1) {
|
if (data.getStatus() == 1) {
|
||||||
@@ -252,7 +337,7 @@ public class LiveRobotSettingCustomPopup extends BottomPopupView implements View
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
ToastUtil.show(WordUtil.isNewZh()?"抱歉!出錯了!":"i \\'m sorry! An error occurred");
|
ToastUtil.show(WordUtil.isNewZh() ? "抱歉!出錯了!" : "i \\'m sorry! An error occurred");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package com.yunbao.common.views.weight;
|
package com.yunbao.common.views.weight;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@@ -256,14 +258,35 @@ public class NobleNoticeView extends FrameLayout {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("StaticFieldLeak")
|
||||||
@Override
|
@Override
|
||||||
public void onStep(int frame, double v) {
|
public void onStep(int frame, double v) {
|
||||||
System.out.println("frame = " + frame);
|
System.out.println("frame = " + frame);
|
||||||
System.out.println("scrollLayout.getMeasuredWidth() = " + scrollLayout.getMeasuredWidth());
|
System.out.println("scrollLayout.getMeasuredWidth() = " + scrollLayout.getMeasuredWidth());
|
||||||
if (frame == 21) {
|
if (frame == 21) {
|
||||||
setButtonPosition(roleType);
|
setButtonPosition(roleType);
|
||||||
observable.observeOn(AndroidSchedulers.mainThread())
|
new AsyncTask<Void, Void, Void>() {
|
||||||
|
@Override
|
||||||
|
protected Void doInBackground(Void... voids) {
|
||||||
|
// 在这里执行后台任务
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onPostExecute(Void aVoid) {
|
||||||
|
super.onPostExecute(aVoid);
|
||||||
|
TranslateAnimation animationTranslate = new TranslateAnimation(scrollLayout.getMeasuredHeight(), -scrollLayout.getMeasuredWidth(), 0, 0);
|
||||||
|
AnimationSet animationSet1 = new AnimationSet(true);
|
||||||
|
animationSet1.addAnimation(animationTranslate);
|
||||||
|
animationSet1.setFillAfter(true);
|
||||||
|
animationSet1.setDuration((animationTime - 1000) / 2);
|
||||||
|
animationSet1.setAnimationListener(animationListener);
|
||||||
|
scrollLayout.startAnimation(animationSet1);
|
||||||
|
}
|
||||||
|
}.execute();
|
||||||
|
/*observable.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(bitmap -> {
|
.subscribe(bitmap -> {
|
||||||
|
L.e("44444");
|
||||||
TranslateAnimation animationTranslate = new TranslateAnimation(0, -scrollLayout.getMeasuredWidth(), 0, 0);
|
TranslateAnimation animationTranslate = new TranslateAnimation(0, -scrollLayout.getMeasuredWidth(), 0, 0);
|
||||||
AnimationSet animationSet1 = new AnimationSet(true);
|
AnimationSet animationSet1 = new AnimationSet(true);
|
||||||
animationSet1.addAnimation(animationTranslate);
|
animationSet1.addAnimation(animationTranslate);
|
||||||
@@ -273,8 +296,7 @@ public class NobleNoticeView extends FrameLayout {
|
|||||||
scrollLayout.startAnimation(animationSet1);
|
scrollLayout.startAnimation(animationSet1);
|
||||||
}, throwable -> {
|
}, throwable -> {
|
||||||
|
|
||||||
}).isDisposed();
|
}).isDisposed();*/
|
||||||
|
|
||||||
}
|
}
|
||||||
if (frame == 135) {
|
if (frame == 135) {
|
||||||
contextLayout.setVisibility(GONE);
|
contextLayout.setVisibility(GONE);
|
||||||
@@ -377,12 +399,10 @@ public class NobleNoticeView extends FrameLayout {
|
|||||||
Animation.AnimationListener animationListener = new Animation.AnimationListener() {
|
Animation.AnimationListener animationListener = new Animation.AnimationListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationStart(Animation animation) {
|
public void onAnimationStart(Animation animation) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animation animation) {
|
public void onAnimationEnd(Animation animation) {
|
||||||
|
|
||||||
scrollLayout.clearAnimation();
|
scrollLayout.clearAnimation();
|
||||||
if (svagaBc.isAnimating()) {
|
if (svagaBc.isAnimating()) {
|
||||||
TranslateAnimation animationTranslate = new TranslateAnimation(0, -scrollLayout.getMeasuredWidth(), 0, 0);
|
TranslateAnimation animationTranslate = new TranslateAnimation(0, -scrollLayout.getMeasuredWidth(), 0, 0);
|
||||||
|
|||||||
8
common/src/main/res/drawable/backgroud_live_end.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/transparent" />
|
||||||
|
<stroke
|
||||||
|
android:width="1dp"
|
||||||
|
android:color="#8D8D8D" />
|
||||||
|
<corners android:radius="21dp" />
|
||||||
|
</shape>
|
||||||
5
common/src/main/res/drawable/backgroud_live_end_1.xml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#40E4E4E4" />
|
||||||
|
<corners android:radius="21dp" />
|
||||||
|
</shape>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
<stroke
|
||||||
|
android:width="1dp"
|
||||||
|
android:color="#FF666666" />
|
||||||
|
<corners android:radius="21dp" />
|
||||||
|
</shape>
|
||||||
6
common/src/main/res/drawable/background_white_5.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
<corners
|
||||||
|
android:radius="5dp"/>
|
||||||
|
</shape>
|
||||||
BIN
common/src/main/res/drawable/bg_continuous_clicks.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
8
common/src/main/res/drawable/bg_gift_bottom_bg.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<solid android:color="#ff171724" />
|
||||||
|
<corners
|
||||||
|
android:topLeftRadius="17dp"
|
||||||
|
android:topRightRadius="17dp" />
|
||||||
|
</shape>
|
||||||
11
common/src/main/res/drawable/bg_gift_openvip.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<!-- 7%不透明度的白色-->
|
||||||
|
<solid android:color="#11FFFFFF" />
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="4dp"
|
||||||
|
android:bottomRightRadius="4dp"
|
||||||
|
android:topLeftRadius="4dp"
|
||||||
|
android:topRightRadius="4dp" />
|
||||||
|
</shape>
|
||||||
23
common/src/main/res/drawable/bg_gift_progressbar.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<!--设置ProgressBar背景色-->
|
||||||
|
<item android:id="@android:id/background">
|
||||||
|
<shape>
|
||||||
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
|
<corners android:radius="1dp" />
|
||||||
|
<solid android:color="#26000000" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<!--设置ProgressBar进度条颜色-->
|
||||||
|
<item android:id="@android:id/progress">
|
||||||
|
<scale android:scaleWidth="100%">
|
||||||
|
<shape>
|
||||||
|
<corners android:radius="1dp" />
|
||||||
|
<gradient
|
||||||
|
android:endColor="#FFC949"
|
||||||
|
android:startColor="#FFC949" />
|
||||||
|
</shape>
|
||||||
|
</scale>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
23
common/src/main/res/drawable/bg_gift_progressbar2.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<!--设置ProgressBar背景色-->
|
||||||
|
<item android:id="@android:id/background">
|
||||||
|
<shape>
|
||||||
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
|
<corners android:radius="1dp" />
|
||||||
|
<solid android:color="#15FFFFFF" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<!--设置ProgressBar进度条颜色-->
|
||||||
|
<item android:id="@android:id/progress">
|
||||||
|
<scale android:scaleWidth="100%">
|
||||||
|
<shape>
|
||||||
|
<corners android:radius="1dp" />
|
||||||
|
<gradient
|
||||||
|
android:endColor="#DED9A5"
|
||||||
|
android:startColor="#DED9A5" />
|
||||||
|
</shape>
|
||||||
|
</scale>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
11
common/src/main/res/drawable/bg_gift_send.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<!-- 7%不透明度的白色-->
|
||||||
|
<solid android:color="#11FFFFFF" />
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="17dp"
|
||||||
|
android:bottomRightRadius="17dp"
|
||||||
|
android:topLeftRadius="17dp"
|
||||||
|
android:topRightRadius="17dp" />
|
||||||
|
</shape>
|
||||||
15
common/src/main/res/drawable/bg_gift_send_btn.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_selected="true">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#FFF026" />
|
||||||
|
<corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item android:state_selected="false">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#48FFF026" />
|
||||||
|
<corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<!--设置ProgressBar背景色-->
|
||||||
|
<item android:id="@android:id/background">
|
||||||
|
<shape>
|
||||||
|
<!--设置ProgressBar进度条圆角半径-->
|
||||||
|
<corners android:radius="3dp" />
|
||||||
|
<solid android:color="#73FFFFFF" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<!--设置ProgressBar进度条颜色-->
|
||||||
|
<item android:id="@android:id/progress">
|
||||||
|
<scale android:scaleWidth="100%">
|
||||||
|
<shape>
|
||||||
|
<corners android:radius="3dp" />
|
||||||
|
<gradient
|
||||||
|
android:endColor="#FFFFFF"
|
||||||
|
android:startColor="#FFFFFF" />
|
||||||
|
</shape>
|
||||||
|
</scale>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
12
common/src/main/res/drawable/bg_live_gift_lv.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
|
||||||
|
<solid android:color="#ff6e84e7" />
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="10dp"
|
||||||
|
android:bottomRightRadius="10dp"
|
||||||
|
android:topLeftRadius="10dp"
|
||||||
|
android:topRightRadius="10dp" />
|
||||||
|
|
||||||
|
</shape>
|
||||||
9
common/src/main/res/drawable/live_open_with.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:width="355dp" android:height="121dp">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<solid android:color="#F3F3F3" />
|
||||||
|
<corners android:radius="6dp" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</selector>
|
||||||
17
common/src/main/res/drawable/live_voice_chat_role_bg.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:gravity="center_horizontal">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<solid android:color="#1a000000" /> <!-- 外圈 -->
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:bottom="4dp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:left="4dp"
|
||||||
|
android:right="4dp"
|
||||||
|
android:top="4dp">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<solid android:color="#2a000000" /> <!-- 深蓝色 -->
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
12
common/src/main/res/drawable/open_live_bg.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
|
|
||||||
|
<solid android:color="@android:color/white" />
|
||||||
|
|
||||||
|
<corners
|
||||||
|
android:bottomLeftRadius="0dp"
|
||||||
|
android:bottomRightRadius="0dp"
|
||||||
|
android:topLeftRadius="18dp"
|
||||||
|
android:topRightRadius="18dp" />
|
||||||
|
|
||||||
|
</shape>
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
@@ -28,10 +29,7 @@
|
|||||||
android:visibility="invisible">
|
android:visibility="invisible">
|
||||||
|
|
||||||
<include
|
<include
|
||||||
|
|
||||||
layout="@layout/view_blind_box" />
|
layout="@layout/view_blind_box" />
|
||||||
|
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
@@ -124,7 +122,8 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:visibility="gone">
|
android:visibility="gone"
|
||||||
|
tools:visibility="visible">
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
@@ -421,6 +420,7 @@
|
|||||||
android:layout_marginRight="10dp"
|
android:layout_marginRight="10dp"
|
||||||
android:layout_marginBottom="5dp"
|
android:layout_marginBottom="5dp"
|
||||||
android:background="@mipmap/icon_live_gift_lian"
|
android:background="@mipmap/icon_live_gift_lian"
|
||||||
|
tools:visibility="visible"
|
||||||
android:visibility="gone">
|
android:visibility="gone">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
572
common/src/main/res/layout/dialog_live_gift_popup2.xml
Normal file
@@ -0,0 +1,572 @@
|
|||||||
|
<?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:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<!-- 布局从下而上写的 -->
|
||||||
|
<!-- 底部背景大的背景 -->
|
||||||
|
<View
|
||||||
|
android:id="@+id/giftBg"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="-16dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/openVipBg"
|
||||||
|
android:background="@drawable/bg_gift_bottom_bg" />
|
||||||
|
<!--底部送礼选择数量备份 -->
|
||||||
|
<View
|
||||||
|
android:id="@+id/giftSendBgV"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginEnd="20dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:background="@drawable/bg_gift_send"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintDimensionRatio="4"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintWidth_percent="0.34" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/liveGiftSend"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:background="@drawable/bg_gift_send_btn"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_gift_send"
|
||||||
|
android:textColor="@color/black1"
|
||||||
|
android:textSize="14sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintDimensionRatio="2"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSendBgV" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/liveGiftImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:src="@mipmap/ic_gift_right_arrow"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/liveGiftSend"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSendBgV" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/liveGiftSendTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="14sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/liveGiftImg"
|
||||||
|
app:layout_constraintHorizontal_bias="0.7"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSendBgV"
|
||||||
|
tools:text="999" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/giftSendGroup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:constraint_referenced_ids="giftSendBgV,liveGiftImg,liveGiftSendTv"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<!--底部钻石数量 -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/diamondImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:src="@mipmap/ic_diamond_3"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSendBgV" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/diamondNumberTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/diamondImg"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/diamondImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/diamondImg"
|
||||||
|
tools:text="28000000" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/diamondGoImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:src="@mipmap/ic_gift_right_arrow"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/diamondImg"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/diamondNumberTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/diamondImg" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/diamondClickView"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginTop="-4dp"
|
||||||
|
android:layout_marginBottom="-4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/diamondImg"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/diamondGoImg"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/diamondImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/diamondImg"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<!--底部金豆数量 -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/goldBeanImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:src="@mipmap/ic_golden_beans_3"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/diamondGoImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSendBgV" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/goldNumberTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/goldBeanImg"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/goldBeanImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/goldBeanImg"
|
||||||
|
tools:text="28000000" />
|
||||||
|
|
||||||
|
<!--礼物列表 -->
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/giftRecyclerView"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftSendBgV"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintDimensionRatio="1.5"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/emptyBg"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:background="#ff171724"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftRecyclerView"/>
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/emptyImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftRecyclerView"
|
||||||
|
android:layout_width="112dp"
|
||||||
|
android:layout_height="90dp"
|
||||||
|
android:src="@mipmap/icon_empty_parcel" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/emptyTv"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/emptyImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:text="@string/nothing_in_the_package_yet"
|
||||||
|
android:textColor="#717375"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/emptyGroup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:constraint_referenced_ids="emptyBg,emptyImg,emptyTv"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<!--礼物列表无数据时候 -->
|
||||||
|
|
||||||
|
<!--顶部Warp -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/giftWrapTv"
|
||||||
|
android:layout_width="48dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="12dp"
|
||||||
|
android:layout_marginBottom="10dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:padding="6dp"
|
||||||
|
android:text="@string/live_wrap"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:textColor="#CCCDCE"
|
||||||
|
android:textSize="14sp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftRecyclerView"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="1.5dp"
|
||||||
|
android:layout_height="11dp"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginTop="1dp"
|
||||||
|
android:background="#17FFFFFF"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftWrapTv" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/giftWrapRedPoint"
|
||||||
|
android:layout_width="6dp"
|
||||||
|
android:layout_height="6dp"
|
||||||
|
android:background="@drawable/bg_red_point"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftWrapTv"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/giftTitleRecyclerView"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftWrapTv"
|
||||||
|
tools:layout_height="0dp" />
|
||||||
|
|
||||||
|
<!--升级进度条 -->
|
||||||
|
<View
|
||||||
|
android:id="@+id/giftLevelClickV"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/week_progressbar"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/week_progressbar"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/lvTitleTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/lvTipsTv"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/lvTitleTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="20dp"
|
||||||
|
android:minWidth="40dp"
|
||||||
|
android:paddingStart="6dp"
|
||||||
|
android:paddingEnd="6dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:layout_marginStart="18dp"
|
||||||
|
android:layout_marginBottom="11dp"
|
||||||
|
android:background="@drawable/bg_live_gift_lv"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="12sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
tools:text="LV.8" />
|
||||||
|
|
||||||
|
<com.yunbao.common.views.weight.MarqueeTextView
|
||||||
|
android:id="@+id/lvTipsTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="7dp"
|
||||||
|
android:layout_marginTop="-1dp"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:focusable="true"
|
||||||
|
android:maxWidth="220dp"
|
||||||
|
android:focusableInTouchMode="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:marqueeRepeatLimit="marquee_forever"
|
||||||
|
android:scrollHorizontally="true"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="10sp"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/lvTitleTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/lvTitleTv"
|
||||||
|
tools:text="升至LV.9还需13000,00经验值" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/lvTipsImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:src="@mipmap/ic_gift_right_arrow"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/lvTipsTv"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/lvTipsTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/lvTipsTv" />
|
||||||
|
|
||||||
|
<ProgressBar
|
||||||
|
android:id="@+id/week_progressbar"
|
||||||
|
style="@android:style/Widget.ProgressBar.Horizontal"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="3dp"
|
||||||
|
android:layout_marginEnd="18dp"
|
||||||
|
android:layout_marginTop="2dp"
|
||||||
|
android:progressDrawable="@drawable/bg_gift_progressbar2"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/openVipBg"
|
||||||
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/lvTipsTv"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/lvTipsTv"
|
||||||
|
|
||||||
|
tools:progress="10" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/giftLevelGroup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="visible"
|
||||||
|
app:constraint_referenced_ids="lvTitleTv,lvTipsTv,lvTipsImg,week_progressbar,giftLevelClickV"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
||||||
|
<!--开通贵族 -->
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/openVipTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="14dp"
|
||||||
|
android:text="@string/open_vip_live"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="11sp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftWrapTv"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.935"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/openVipImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="2dp"
|
||||||
|
android:maxWidth="29dp"
|
||||||
|
android:src="@mipmap/ic_open_noble_3"
|
||||||
|
android:visibility="visible"
|
||||||
|
tools:visibility="visible"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/openVipTv" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/vipIdentityImg"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginEnd="2dp"
|
||||||
|
android:layout_marginTop="1dp"
|
||||||
|
android:layout_marginBottom="1dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
tools:visibility="gone"
|
||||||
|
app:layout_constraintDimensionRatio="1"
|
||||||
|
android:src="@mipmap/ic_open_noble_3"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/openVipBg"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/openVipImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/openVipBg" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/openVipArrowImg"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="2dp"
|
||||||
|
android:src="@mipmap/ic_gift_right_arrow"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/openVipTv" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/openVipBg"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginStart="-6dp"
|
||||||
|
android:layout_marginTop="-4dp"
|
||||||
|
android:layout_marginEnd="-7dp"
|
||||||
|
android:layout_marginBottom="-5dp"
|
||||||
|
android:background="@drawable/bg_gift_openvip"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/openVipArrowImg"
|
||||||
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/vipIdentityImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/openVipTv"
|
||||||
|
app:layout_constraintVertical_bias="1.0" />
|
||||||
|
|
||||||
|
<!--礼物描述 -->
|
||||||
|
<com.yunbao.common.views.weight.MarqueeTextView
|
||||||
|
android:id="@+id/gift_description"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:focusable="true"
|
||||||
|
android:focusableInTouchMode="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:marqueeRepeatLimit="marquee_forever"
|
||||||
|
android:scrollHorizontally="true"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="#80FFFFFF"
|
||||||
|
android:textSize="12sp"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/openVipBg"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/openVipBg"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintWidth_percent="0.7"
|
||||||
|
tools:text="描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息描述信信息" />
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 礼物连击 -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/continuousClicksBg"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
android:src="@drawable/bg_continuous_clicks"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintDimensionRatio="1"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintWidth_percent="0.2" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/continuousBgCenter"
|
||||||
|
android:layout_width="4dp"
|
||||||
|
android:layout_height="4dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/continuousClicksBg" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/continuousClicksTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:text="@string/live_gift_send_lian"
|
||||||
|
android:textColor="@color/black1"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/continuousBgCenter"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/continuousClicksBg" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/lian_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:textColor="@color/black1"
|
||||||
|
android:textSize="13sp"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/continuousClicksBg"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/continuousBgCenter"
|
||||||
|
tools:text="到期时" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/continuousClickGroup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:constraint_referenced_ids="continuousClicksBg,continuousBgCenter,continuousClicksTv,lian_text"
|
||||||
|
tools:visibility="gone" />
|
||||||
|
|
||||||
|
<!--开始写顶部布局 -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/operate_image"
|
||||||
|
android:layout_width="122dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_gravity="end|bottom"
|
||||||
|
android:layout_marginEnd="5dp"
|
||||||
|
android:layout_marginBottom="2dp"
|
||||||
|
android:scaleType="fitXY"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftBg"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<include
|
||||||
|
android:id="@+id/blind_box"
|
||||||
|
layout="@layout/view_blind_box"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="2dp"
|
||||||
|
android:visibility="invisible"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftBg"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<!--赞助信息 -->
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/giftSponsorBgImg"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="28dp"
|
||||||
|
android:layout_marginStart="25dp"
|
||||||
|
android:layout_marginEnd="25dp"
|
||||||
|
android:layout_marginBottom="5dp"
|
||||||
|
android:scaleType="fitXY"
|
||||||
|
android:src="@mipmap/background_live_gift_gift_itle"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/giftBg"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/gift_itle"
|
||||||
|
android:layout_width="54dp"
|
||||||
|
android:layout_height="13dp"
|
||||||
|
android:layout_marginStart="13dp"
|
||||||
|
android:src="@mipmap/icon_live_gift_gift_itle"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSponsorBgImg"
|
||||||
|
app:layout_constraintStart_toStartOf="@+id/giftSponsorBgImg"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSponsorBgImg" />
|
||||||
|
|
||||||
|
<com.makeramen.roundedimageview.RoundedImageView
|
||||||
|
android:id="@+id/naming_avatar"
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_height="20dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginStart="6dp"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/m_chu_xia"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSponsorBgImg"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/gift_itle"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSponsorBgImg"
|
||||||
|
app:riv_oval="true" />
|
||||||
|
|
||||||
|
<com.yunbao.common.views.weight.MarqueeTextView
|
||||||
|
android:id="@+id/naming_name"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginStart="4dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:focusable="true"
|
||||||
|
android:focusableInTouchMode="true"
|
||||||
|
android:gravity="center"
|
||||||
|
android:marqueeRepeatLimit="marquee_forever"
|
||||||
|
android:scrollHorizontally="true"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textColor="#FFFFFFFF"
|
||||||
|
android:textSize="12sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/giftSponsorBgImg"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/giftSponsorBgImg"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/naming_avatar"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/giftSponsorBgImg" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.Group
|
||||||
|
android:id="@+id/giftSponsorGroup"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:constraint_referenced_ids="giftSponsorBgImg,gift_itle,naming_avatar,naming_name"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
353
common/src/main/res/layout/dialog_live_interaction.xml
Normal file
@@ -0,0 +1,353 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/bg_live_tota"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/interactionLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginTop="17dp"
|
||||||
|
android:text="@string/live_interaction_Interaction"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="13dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_prank"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_zg" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_tricky"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_wish"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_wish" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_wish"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_mic"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:visibility="visible">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_mic" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_voice_link"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_game"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_game" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_game"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_anchor_say"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_anchor_say" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_god_say"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_qa"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_qa" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_interaction_ask_question"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="2" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/equityLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginTop="17dp"
|
||||||
|
android:text="@string/live_interaction_broadcaster_rights"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_live_data"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="31dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:src="@mipmap/icon_interaction_live_data" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/broadcast_data"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_robot"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="31dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:src="@mipmap/icon_interaction_robot" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/robot_setup"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="2" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginTop="14dp"
|
||||||
|
android:text="@string/live_interaction_tools"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="14dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_beauty"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_beauty" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_beauty"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_camera"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_camera" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_camera"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/live_tool_leave"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/live_tool_leave_img"
|
||||||
|
android:layout_width="50dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:src="@mipmap/icon_interaction_leave" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/live_tool_leave_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="6dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="@string/live_zslk"
|
||||||
|
android:textColor="#FF9A9A9A"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -45,11 +45,73 @@
|
|||||||
app:srcCompat="@mipmap/special_icon_off" />
|
app:srcCompat="@mipmap/special_icon_off" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/robot_language"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@id/robot_status"
|
||||||
|
android:layout_marginTop="18dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/ai_anguage_settings"
|
||||||
|
android:textColor="#FFF"
|
||||||
|
android:textSize="15sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/languageZhImgView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:padding="2dp"
|
||||||
|
android:layout_marginTop="0.5dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:src="@drawable/selector_protocol_check"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/languageZhTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:paddingStart="2dp"
|
||||||
|
android:paddingEnd="5dp"
|
||||||
|
android:text="中文"
|
||||||
|
android:textColor="#FFF"
|
||||||
|
android:textSize="15sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/languageEnImgView"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:padding="2dp"
|
||||||
|
android:layout_marginTop="0.5dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_marginStart="12dp"
|
||||||
|
android:src="@drawable/selector_protocol_check"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
|
android:id="@+id/languageEnTv"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:paddingStart="2dp"
|
||||||
|
android:paddingEnd="5dp"
|
||||||
|
android:text="English"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:textColor="#FFF"
|
||||||
|
android:textSize="15sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/robot_name"
|
android:id="@+id/robot_name"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/robot_status"
|
android:layout_below="@+id/robot_language"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
|||||||
31
common/src/main/res/layout/item_live_data.xml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_marginBottom="10dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/item_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="14dp"
|
||||||
|
android:paddingEnd="14dp"
|
||||||
|
android:text="222"
|
||||||
|
android:textColor="#92949A"
|
||||||
|
android:textSize="11sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:id="@+id/item_data"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="111"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="16sp"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -9,7 +9,14 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@mipmap/live_bg" />
|
android:src="@mipmap/live_bg_new" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/mask"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:visibility="visible"
|
||||||
|
android:background="#80000000" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_loading"
|
android:id="@+id/iv_loading"
|
||||||
|
|||||||
68
common/src/main/res/layout/live_data_history_item.xml
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<?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="40dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/time"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="20dp"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1.2"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textColor="#92949A"
|
||||||
|
android:textSize="12dp"
|
||||||
|
tools:text="2022-06-15\n16:26:15" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/giftTypeName"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="#92949A"
|
||||||
|
android:textSize="12dp"
|
||||||
|
tools:text="分類" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/giftName"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="#92949A"
|
||||||
|
android:textSize="12dp"
|
||||||
|
tools:text="禮物" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/income"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_marginEnd="20dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="0.7"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="end|center"
|
||||||
|
android:textColor="#92949A"
|
||||||
|
android:textSize="12dp"
|
||||||
|
tools:text="10000" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/titleLayout"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingStart="16dp"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:paddingEnd="20dp"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="30dp">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="20dp"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:text="@string/live_data_history_time"
|
||||||
|
android:textSize="12dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="12dp"
|
||||||
|
android:text="@string/live_data_history_type"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="12dp"
|
||||||
|
android:text="@string/live_data_history_name"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
android:layout_weight="0.7"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:gravity="end|center"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="12dp"
|
||||||
|
android:text="@string/live_data_history_gain" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/line"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
|
android:layout_below="@+id/titleLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:background="#525252"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_height="0.5dp"/>
|
||||||
|
|
||||||
|
<io.rong.imkit.widget.refresh.SmartRefreshLayout
|
||||||
|
android:id="@+id/rc_refresh"
|
||||||
|
android:layout_below="@+id/line"
|
||||||
|
android:layout_marginTop="9dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/rc_conversation_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:overScrollMode="never"
|
||||||
|
tools:listitem="@layout/live_data_history_item" />
|
||||||
|
</io.rong.imkit.widget.refresh.SmartRefreshLayout>
|
||||||
|
</RelativeLayout>
|
||||||
61
common/src/main/res/layout/live_data_now_fragment.xml
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="@string/live_data_msg1"
|
||||||
|
android:textColor="#808080"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="end|center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/live_data_img"
|
||||||
|
android:layout_width="13dp"
|
||||||
|
android:layout_height="13dp"
|
||||||
|
android:layout_marginEnd="5dp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:textSize="14dp"
|
||||||
|
android:text="@string/live_data_msg2"
|
||||||
|
android:textColor="#595959" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/live_data_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:layout_marginBottom="15dp"
|
||||||
|
android:overScrollMode="never"
|
||||||
|
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||||
|
app:spanCount="3"
|
||||||
|
tools:listitem="@layout/item_live_data" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
android:layout_marginStart="14dp"
|
android:layout_marginStart="14dp"
|
||||||
android:layout_marginEnd="14dp"
|
android:layout_marginEnd="14dp"
|
||||||
android:textColor="#0D21B2"
|
android:textColor="#0D21B2"
|
||||||
tools:text="1.戰令開啟時,完成戰令任務,提升戰令等級,可獲得大量等級獎勵。\n2.所有用戶免費解鎖普通版,戰令開啟時隨時可進階為精英版和尊享版,獲得豐厚額外專屬獎勵。\n3.三種戰令都會獎勵積分,可在兌換商城中兌換心儀的寶貝,部分寶貝兌換有戰令等級要求或兌換數量限制。\n4.每日任務0點刷新,未完成任務進度不再累計,每季任務將會在新一季戰令開啟時刷新。\n5.任務達成時需主動領取經驗,未领取經驗將會在任務刷新時過期。\n6.活動最終解釋權歸PDLIVE所有。"
|
tools:text="1.戰令開啟時,完成戰令任務,提升戰令等級,可獲得大量等級獎勵。\n2.所有用戶免費解鎖普通版,戰令開啟時隨時可進階為精英版和尊享版,獲得豐厚額外專屬獎勵。\n3.三種戰令都會獎勵積分,可在兌換商城中兌換心儀的寶貝,部分寶貝兌換有戰令等級要求或兌換數量限制。\n4.每日任務0點刷新,未完成任務進度不再累計,每季任務將會在新一季戰令開啟時刷新。\n5.任務達成時需主動領取經驗,未领取經驗將會在任務刷新時過期。\n6.活動最終解釋權歸PandoraLive所有。"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
android:background="@color/transparent"
|
android:background="@color/transparent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
tools:ignore="MissingDefaultResource">
|
tools:ignore="MissingDefaultResource">
|
||||||
|
<!--弃用 -->
|
||||||
<View
|
<View
|
||||||
android:id="@+id/to_can"
|
android:id="@+id/to_can"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|
||||||
android:layout_width="80dp"
|
android:layout_width="80dp"
|
||||||
android:layout_height="190dp"
|
android:layout_height="188dp"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_marginEnd="48dp"
|
android:layout_marginEnd="48dp"
|
||||||
@@ -23,22 +23,26 @@
|
|||||||
android:background="@drawable/bg_selection_quantity"
|
android:background="@drawable/bg_selection_quantity"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:layout_marginTop="2dp"
|
||||||
|
android:id="@+id/gift_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:id="@+id/custom_quantity"
|
android:id="@+id/custom_quantity"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="28dp"
|
android:layout_height="28dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:layout_marginTop="2dp"
|
android:layout_marginBottom="4dp"
|
||||||
android:text="@string/custom_quantity"
|
android:text="@string/custom_quantity"
|
||||||
android:textColor="#FFFFFF"
|
android:textColor="#FFFFFF"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:focusable="true" />
|
android:focusable="true" />
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/gift_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
46
common/src/main/res/layout/view_live_gift_number2.xml
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="351dp"
|
||||||
|
android:background="@color/transparent"
|
||||||
|
android:orientation="vertical"
|
||||||
|
tools:ignore="MissingDefaultResource">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:id="@+id/to_can"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
|
||||||
|
android:layout_width="100dp"
|
||||||
|
android:layout_height="246dp"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_marginEnd="48dp"
|
||||||
|
android:layout_marginBottom="50dp"
|
||||||
|
android:background="@drawable/bg_selection_quantity"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
|
||||||
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
|
android:id="@+id/gift_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:clickable="true"
|
||||||
|
android:id="@+id/custom_quantity"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="28dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginTop="2dp"
|
||||||
|
android:text="@string/custom_quantity"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:textSize="14sp"
|
||||||
|
android:focusable="true" />
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="280dp"
|
android:layout_height="470dp"
|
||||||
android:layout_height="350dp"
|
android:layout_gravity="bottom"
|
||||||
android:orientation="vertical"
|
android:background="@drawable/open_live_bg"
|
||||||
app:cardCornerRadius="12dp"
|
android:orientation="vertical">
|
||||||
app:cardElevation="16dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -18,23 +17,30 @@
|
|||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/confirmation_of_broadcast"
|
android:text="@string/confirmation_of_broadcast"
|
||||||
android:textColor="#161616"
|
android:textColor="#333333"
|
||||||
android:textSize="16sp" />
|
android:textSize="16sp" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_clarity"
|
android:id="@+id/line_clarity"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="29dp"
|
android:layout_marginStart="18dp"
|
||||||
android:layout_marginTop="14dp"
|
android:layout_marginTop="14dp"
|
||||||
android:layout_marginEnd="29dp"
|
android:layout_marginEnd="16dp"
|
||||||
|
android:visibility="gone"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_clarity"
|
||||||
|
android:layout_height="20dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/clarity"
|
android:text="@string/clarity"
|
||||||
android:textColor="#999999"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -47,48 +53,11 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/clarity"
|
android:text="@string/clarity"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="5dp"
|
|
||||||
android:layout_height="10dp"
|
|
||||||
android:layout_marginStart="6dp"
|
|
||||||
android:src="@mipmap/icon_more_open" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/line_live_room_type"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="29dp"
|
|
||||||
android:layout_marginTop="20dp"
|
|
||||||
android:layout_marginEnd="29dp"
|
|
||||||
android:gravity="center_vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/live_room_type"
|
|
||||||
android:textColor="#999999"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/text_live_room_type"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/clarity"
|
|
||||||
android:textColor="#FFC621"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="5dp"
|
|
||||||
android:layout_height="10dp"
|
android:layout_height="10dp"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
android:src="@mipmap/icon_more_open" />
|
android:src="@mipmap/icon_more_open" />
|
||||||
@@ -99,16 +68,22 @@
|
|||||||
android:id="@+id/line_live_class"
|
android:id="@+id/line_live_class"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="29dp"
|
android:layout_marginStart="18dp"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:layout_marginEnd="29dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_live_class1"
|
||||||
|
android:layout_height="20dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/live_class1"
|
android:text="@string/live_class1"
|
||||||
android:textColor="#999999"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -121,7 +96,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/live_class1"
|
android:text="@string/live_class1"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -132,57 +107,25 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/line_live_wishlist"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="29dp"
|
|
||||||
android:layout_marginTop="20dp"
|
|
||||||
android:layout_marginEnd="29dp"
|
|
||||||
android:gravity="center_vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/live_wishlist"
|
|
||||||
android:textColor="#999999"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:layout_weight="1" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/text_live_wishlist"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/clarity"
|
|
||||||
android:textColor="#FFC621"
|
|
||||||
android:textSize="14sp" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="5dp"
|
|
||||||
android:layout_height="10dp"
|
|
||||||
android:layout_marginStart="6dp"
|
|
||||||
android:src="@mipmap/icon_more_open" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_robot"
|
android:id="@+id/line_robot"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="29dp"
|
android:layout_marginStart="18dp"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:layout_marginEnd="29dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_live_class1"
|
||||||
|
android:layout_height="20dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/robot"
|
android:text="@string/robot"
|
||||||
android:textColor="#999999"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -195,11 +138,11 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/clarity"
|
android:text="@string/clarity"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="5dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="10dp"
|
android:layout_height="10dp"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
android:src="@mipmap/icon_more_open" />
|
android:src="@mipmap/icon_more_open" />
|
||||||
@@ -210,16 +153,20 @@
|
|||||||
android:id="@+id/line_say"
|
android:id="@+id/line_say"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="29dp"
|
android:layout_marginStart="18dp"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:layout_marginEnd="29dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_anchor_say"
|
||||||
|
android:layout_height="20dp"/>
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/live_fun_anchor_say"
|
android:text="@string/live_fun_anchor_say"
|
||||||
android:textColor="#999999"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -232,11 +179,11 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/clarity"
|
android:text="@string/clarity"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="5dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="10dp"
|
android:layout_height="10dp"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
android:src="@mipmap/icon_more_open" />
|
android:src="@mipmap/icon_more_open" />
|
||||||
@@ -247,17 +194,17 @@
|
|||||||
android:id="@+id/line_call"
|
android:id="@+id/line_call"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="29dp"
|
android:layout_marginStart="18dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:layout_marginTop="20dp"
|
android:layout_marginTop="20dp"
|
||||||
android:layout_marginEnd="29dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/live_fun_call_me"
|
android:text="@string/live_fun_call_me"
|
||||||
android:textColor="#999999"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -270,7 +217,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/clarity"
|
android:text="@string/clarity"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -281,20 +228,105 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_marginStart="18dp"
|
||||||
|
android:layout_marginTop="20dp"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:background="@drawable/live_open_with"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_marginStart="15dp"
|
||||||
|
android:layout_marginEnd="3dp"
|
||||||
|
android:src="@mipmap/icon_live_open_xjd_tip"
|
||||||
|
android:layout_height="12dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:text="@string/live_open_wishlive_tips"
|
||||||
|
android:textColor="#FF666666"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="12dp"
|
||||||
|
android:layout_marginStart="3dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_xjd_tip"
|
||||||
|
android:layout_height="12dp"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_marginTop="26dp"
|
||||||
|
android:id="@+id/line_live_wishlist"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="12dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="20dp"
|
||||||
|
android:layout_marginEnd="7dp"
|
||||||
|
android:src="@mipmap/icon_live_open_xjd"
|
||||||
|
android:layout_height="20dp"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/live_wishlist"
|
||||||
|
android:textColor="#FF666666"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_weight="1" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/text_live_wishlist"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/clarity"
|
||||||
|
android:textColor="#FF666666"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="10dp"
|
||||||
|
android:layout_marginStart="6dp"
|
||||||
|
android:src="@mipmap/icon_more_open" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/live_open_cancel"
|
android:id="@+id/live_open_cancel"
|
||||||
android:layout_width="100dp"
|
android:layout_width="90dp"
|
||||||
android:layout_height="36dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="30dp"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="73dp"
|
||||||
android:background="@drawable/backgroud_live_open_lfet"
|
android:background="@drawable/backgroud_live_open_lfet_new"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/back"
|
android:text="@string/return_str"
|
||||||
android:textColor="#FFC621"
|
android:textColor="#FF666666"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -304,17 +336,17 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/live_open_ok"
|
android:id="@+id/live_open_ok"
|
||||||
android:layout_width="100dp"
|
android:layout_width="150dp"
|
||||||
android:layout_height="36dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="73dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="30dp"
|
||||||
android:background="@drawable/backgroud_live_open_right"
|
android:background="@drawable/backgroud_live_open_right"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="@string/broadcast"
|
android:text="@string/live_open"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</LinearLayout>
|
||||||
BIN
common/src/main/res/mipmap-hdpi/ic_diamond_3.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
common/src/main/res/mipmap-hdpi/ic_diamond_transp.png
Normal file
|
After Width: | Height: | Size: 601 B |
BIN
common/src/main/res/mipmap-hdpi/ic_gift_right_arrow.png
Normal file
|
After Width: | Height: | Size: 314 B |
BIN
common/src/main/res/mipmap-hdpi/ic_gift_top_arrow.png
Normal file
|
After Width: | Height: | Size: 286 B |
BIN
common/src/main/res/mipmap-hdpi/ic_gold_beans_transp.png
Normal file
|
After Width: | Height: | Size: 533 B |
BIN
common/src/main/res/mipmap-hdpi/ic_golden_beans_3.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
common/src/main/res/mipmap-hdpi/ic_open_noble_3.png
Normal file
|
After Width: | Height: | Size: 750 B |
BIN
common/src/main/res/mipmap-hdpi/icon_live_close_4.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
common/src/main/res/mipmap-hdpi/icon_live_dragon_money.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
BIN
common/src/main/res/mipmap-hdpi/icon_red_packet_new.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |