Compare commits
534 Commits
develop_hi
...
dev/app_cp
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ce50e32a73 | ||
![]() |
7223db9e9c | ||
![]() |
4a2a9d4400 | ||
![]() |
8049bdf6ea | ||
![]() |
c90a961e2f | ||
![]() |
892f7c3e70 | ||
![]() |
4c8182ee2f | ||
![]() |
343e73c6e3 | ||
![]() |
eabe2ae7f8 | ||
![]() |
36c011d18e | ||
![]() |
f929d78540 | ||
![]() |
8184cdd6e1 | ||
![]() |
e4d44155dc | ||
![]() |
06c974a6ed | ||
![]() |
4bfbd19b53 | ||
![]() |
61a26f0c4f | ||
![]() |
e8cfc8a13b | ||
![]() |
295de38074 | ||
![]() |
e3c5f10d02 | ||
![]() |
d949cfa7ff | ||
![]() |
e30f4fd15f | ||
![]() |
90ece5366b | ||
![]() |
555b81589c | ||
![]() |
e4cdc39ad8 | ||
![]() |
09411df1ff | ||
![]() |
9cbc6cf39f | ||
![]() |
444d043aa8 | ||
![]() |
f99d193598 | ||
![]() |
4a57bd50c5 | ||
![]() |
8a59f8a769 | ||
![]() |
2c1ecbb263 | ||
![]() |
aa2987cb0d | ||
![]() |
5e6864d87f | ||
![]() |
6aabeb3eb3 | ||
![]() |
9ff48bc500 | ||
![]() |
e9ba0b1929 | ||
![]() |
adf2adc173 | ||
![]() |
74b2d71821 | ||
![]() |
81a5c6ba65 | ||
![]() |
5f8a8113c6 | ||
![]() |
b0bf9ce98d | ||
![]() |
c3fcbc3942 | ||
![]() |
6e08f397ee | ||
![]() |
3d29568b3c | ||
![]() |
cb4dac8e81 | ||
![]() |
f58701a2d6 | ||
![]() |
654bc45c8c | ||
![]() |
87a36d796c | ||
![]() |
0bc1023c99 | ||
![]() |
154e688673 | ||
![]() |
a91dee592d | ||
![]() |
7ef78bc3e1 | ||
![]() |
b5bcd9cb5f | ||
![]() |
de7eb25045 | ||
![]() |
029b7fcf96 | ||
![]() |
23a3858a2c | ||
![]() |
67044ded6b | ||
![]() |
3e6d34a986 | ||
![]() |
e7ca237a3e | ||
![]() |
e26d548515 | ||
![]() |
539be23e47 | ||
![]() |
dcafb35e24 | ||
![]() |
8fa429aca6 | ||
![]() |
f08b6d4577 | ||
![]() |
3ea7aecd5c | ||
![]() |
178f4e24ef | ||
![]() |
e2861459fb | ||
![]() |
d704a44106 | ||
![]() |
da81a4e905 | ||
![]() |
6c081d9a38 | ||
![]() |
37d897035f | ||
![]() |
cea25c7497 | ||
![]() |
47d2bfd145 | ||
![]() |
047e1454bd | ||
![]() |
714d5baec6 | ||
![]() |
b20ee8064c | ||
![]() |
711135ae90 | ||
![]() |
ecf42e368e | ||
![]() |
205e1180e7 | ||
![]() |
bc48cc86a9 | ||
![]() |
e7b73a2961 | ||
![]() |
5070e21d16 | ||
![]() |
049006aa8b | ||
![]() |
86b498c00e | ||
![]() |
6df95cf11f | ||
![]() |
3b407c0bd6 | ||
![]() |
83af08076a | ||
![]() |
cdc1c51fec | ||
![]() |
a8191616a3 | ||
![]() |
410832690f | ||
![]() |
b1d2f0515b | ||
![]() |
82c2d8c25d | ||
![]() |
549088c99e | ||
![]() |
5910e7c5fd | ||
![]() |
53aed7599a | ||
![]() |
8aebb7c2c2 | ||
![]() |
3a120bf5f0 | ||
![]() |
2a0d8f06fa | ||
![]() |
495bae0d00 | ||
![]() |
2af7cec8dd | ||
![]() |
e9e4da8d60 | ||
![]() |
14c1805a2b | ||
![]() |
066fc4056b | ||
![]() |
f8ad0d3961 | ||
![]() |
0d974866c8 | ||
![]() |
b4f3c4f3e3 | ||
![]() |
f74b744f56 | ||
![]() |
b8f73ec0d5 | ||
![]() |
3ff80994f1 | ||
![]() |
c1426b39c4 | ||
![]() |
3b28974919 | ||
![]() |
63a28bc142 | ||
![]() |
729d626006 | ||
![]() |
a407268be1 | ||
![]() |
f4808e8acf | ||
![]() |
3e49dae43b | ||
![]() |
35d53ccdb2 | ||
![]() |
2a20d75ffd | ||
![]() |
5f157d8454 | ||
![]() |
5fbee068dc | ||
![]() |
046c7d66cd | ||
![]() |
accf4562b1 | ||
![]() |
5b90524144 | ||
![]() |
1284a6e8a2 | ||
![]() |
afdf3093a1 | ||
![]() |
843a37ed97 | ||
![]() |
f99c6d8b37 | ||
![]() |
7add521040 | ||
![]() |
b673f5603f | ||
![]() |
a4f9559ad9 | ||
![]() |
3226109442 | ||
![]() |
3c60225e35 | ||
![]() |
0a70c6a478 | ||
![]() |
16a8f9a52a | ||
![]() |
2a1983aa46 | ||
![]() |
eb187ebc56 | ||
![]() |
f4ef62d2d6 | ||
![]() |
49a10d9f40 | ||
![]() |
42b47fcb64 | ||
![]() |
709b0b0274 | ||
![]() |
b6d59b5986 | ||
![]() |
ef80b15f27 | ||
![]() |
c14d376a1a | ||
![]() |
7f8cd70d99 | ||
![]() |
d2a686f572 | ||
![]() |
693a14d6cf | ||
![]() |
cf078ebc5b | ||
![]() |
408fe443f4 | ||
![]() |
442bd1f238 | ||
![]() |
4eed4c0cfb | ||
![]() |
bf3ea4b437 | ||
![]() |
f161a8e96b | ||
![]() |
574f290004 | ||
![]() |
a46b5b4f32 | ||
![]() |
936dd2f8e8 | ||
![]() |
9d0b6e3a9f | ||
![]() |
14fa576814 | ||
![]() |
9d14936d9c | ||
![]() |
3dec68b1fc | ||
![]() |
3c75f0e86a | ||
![]() |
0caee6e191 | ||
![]() |
b9f87b4984 | ||
![]() |
2b22fb3d4c | ||
![]() |
d80128f217 | ||
![]() |
57a7bee15d | ||
![]() |
677eb4327b | ||
![]() |
d8815a23e7 | ||
![]() |
a7faa20321 | ||
![]() |
612bd50545 | ||
![]() |
3187bc0d37 | ||
![]() |
48d2bc88b8 | ||
![]() |
168c0eab09 | ||
![]() |
d1fc37aa24 | ||
![]() |
94cebe457a | ||
![]() |
6e8f69d273 | ||
![]() |
80d852114c | ||
![]() |
634adc5f19 | ||
![]() |
3408f444aa | ||
![]() |
95f65558a4 | ||
![]() |
fbb7d20f3d | ||
![]() |
12edababcd | ||
![]() |
97949c4828 | ||
![]() |
78fa5751a6 | ||
![]() |
a6798cf35d | ||
![]() |
89940edd58 | ||
![]() |
fb202c1c73 | ||
![]() |
840a1243aa | ||
![]() |
2019411763 | ||
![]() |
e0e07c718a | ||
![]() |
02595f81f7 | ||
![]() |
95d0527fc9 | ||
![]() |
bc3426c574 | ||
![]() |
a2976dbc74 | ||
![]() |
e942696e14 | ||
![]() |
7c3dee48ae | ||
![]() |
eabb3a5bd3 | ||
![]() |
fbc76a0bd3 | ||
![]() |
d044756bd7 | ||
![]() |
8ad993bb6b | ||
![]() |
f325df4ed0 | ||
![]() |
19cbd94e98 | ||
![]() |
85b9ce903f | ||
![]() |
408ec3f811 | ||
![]() |
cafeee5305 | ||
![]() |
818acaee8f | ||
![]() |
e72423708e | ||
![]() |
5ba98cdb9e | ||
![]() |
13d87309e1 | ||
![]() |
dc5d160086 | ||
![]() |
7dca9a1ed5 | ||
![]() |
fc2c2433aa | ||
![]() |
7aeb80599d | ||
![]() |
53b7bb87f1 | ||
![]() |
994f0900a7 | ||
![]() |
764227edcd | ||
![]() |
640d59d4f5 | ||
![]() |
11bc8068bd | ||
![]() |
bc8f1a6660 | ||
![]() |
93fc9d2fef | ||
![]() |
2d9c152bd6 | ||
![]() |
0e3d9695f9 | ||
![]() |
1acbead001 | ||
![]() |
b25276875b | ||
![]() |
6de2f68106 | ||
![]() |
7ff35b1a50 | ||
![]() |
0c4df905e3 | ||
![]() |
aa0baeccf1 | ||
![]() |
8a66c4bdb8 | ||
![]() |
5c262c93c9 | ||
![]() |
2b0e52ac20 | ||
![]() |
d2d738f618 | ||
![]() |
cdbb895a68 | ||
![]() |
a6f5b24a6d | ||
![]() |
126215949f | ||
![]() |
92a0e4b408 | ||
![]() |
5be8ebde3a | ||
![]() |
2396eb9089 | ||
![]() |
65ef4810e3 | ||
![]() |
c72af689e5 | ||
![]() |
c8f83b4ad8 | ||
![]() |
088756891e | ||
![]() |
e2ad02e8a6 | ||
![]() |
8f4fd9bf7e | ||
![]() |
e998245340 | ||
![]() |
ac212c4949 | ||
![]() |
115d0d3a01 | ||
![]() |
2aef4076ef | ||
![]() |
ded1072961 | ||
![]() |
37eaf9d08d | ||
![]() |
17a56f4c65 | ||
![]() |
89b381bfbc | ||
![]() |
58f1002b4e | ||
![]() |
8475180048 | ||
![]() |
4903a3f9a8 | ||
![]() |
6b6e72ff25 | ||
![]() |
9d96b25208 | ||
![]() |
494628918d | ||
![]() |
6229ba57be | ||
![]() |
cab7e3542e | ||
![]() |
a62278ed30 | ||
![]() |
3d707b19db | ||
![]() |
21d982246c | ||
![]() |
21f0a84904 | ||
![]() |
92070af5e8 | ||
![]() |
6ca5589efc | ||
![]() |
d472d671ba | ||
![]() |
9a7c41b6b2 | ||
![]() |
d3b3ce8be2 | ||
![]() |
812061a601 | ||
![]() |
c666c39769 | ||
![]() |
1b09c46bfc | ||
![]() |
37b91c22cb | ||
![]() |
e500d7a01f | ||
![]() |
cab220d917 | ||
![]() |
70040c5ee1 | ||
![]() |
7576b30ae7 | ||
![]() |
dc1ae42fa1 | ||
![]() |
42c82e1c0b | ||
![]() |
70d0049477 | ||
![]() |
0eeb9cd105 | ||
![]() |
e5b2e3f5e7 | ||
![]() |
a7076f7bc8 | ||
![]() |
54c07468d5 | ||
![]() |
8135142287 | ||
![]() |
5a067ec0fd | ||
![]() |
e377a51094 | ||
![]() |
01093d39c5 | ||
![]() |
e386c0cf58 | ||
![]() |
fffb78a9f6 | ||
![]() |
209ebabd34 | ||
![]() |
5697be0ba9 | ||
![]() |
de6d892df5 | ||
![]() |
f21e14ca5b | ||
![]() |
c4c03edc5f | ||
![]() |
72863b8bde | ||
![]() |
9be483de4b | ||
![]() |
bf3098d5c3 | ||
![]() |
94f33e2fa7 | ||
![]() |
a54b7967c9 | ||
![]() |
bd00bb7e91 | ||
![]() |
a86950f80a | ||
![]() |
ca8f581c69 | ||
![]() |
7c8685d652 | ||
![]() |
89065de00f | ||
![]() |
338bedb0e0 | ||
![]() |
6635167a30 | ||
![]() |
7c23f5e24b | ||
![]() |
d51aba4908 | ||
![]() |
2a3aa0a77e | ||
![]() |
ff25fd4ded | ||
![]() |
d7be587078 | ||
![]() |
9f7187e7ae | ||
![]() |
7f38169684 | ||
![]() |
3bc264cccb | ||
![]() |
912ef11d1b | ||
![]() |
62679db186 | ||
![]() |
ea92c08ca1 | ||
![]() |
9ae80b839b | ||
![]() |
01f3418f43 | ||
![]() |
5e634b1fda | ||
![]() |
32ac09ef60 | ||
![]() |
ae4dea2ab0 | ||
![]() |
f76582b1f6 | ||
![]() |
f121ef5ad1 | ||
![]() |
a7a04c2950 | ||
![]() |
af0ba80b30 | ||
![]() |
c986a2dce6 | ||
![]() |
376fbdaeb2 | ||
![]() |
7fd10e1222 | ||
![]() |
edb8c962cd | ||
![]() |
378ea3802d | ||
![]() |
04f434531c | ||
![]() |
a18b0d3f4d | ||
![]() |
58c298bbd6 | ||
![]() |
35bc665f03 | ||
![]() |
414a248418 | ||
![]() |
22b45993e4 | ||
![]() |
2af211457b | ||
![]() |
29a62a034d | ||
![]() |
a2980914e8 | ||
![]() |
920b159820 | ||
![]() |
6e37bd9c68 | ||
![]() |
1d399777b1 | ||
![]() |
3626d5708a | ||
![]() |
ebd9ddd8de | ||
![]() |
20497cb2b7 | ||
![]() |
61bb91920d | ||
![]() |
6a30060bf9 | ||
![]() |
76abafe1cc | ||
![]() |
6256151928 | ||
![]() |
3d59e7f244 | ||
![]() |
66f8a527f9 | ||
![]() |
57d0852d14 | ||
![]() |
38b0af2f35 | ||
![]() |
062c2ee0a9 | ||
![]() |
4ff5ca40e3 | ||
![]() |
ad543ccbbc | ||
![]() |
2d8f3939ee | ||
![]() |
e43b3348bf | ||
![]() |
8f552d6663 | ||
![]() |
a7c528fff1 | ||
![]() |
afc1d5ef69 | ||
![]() |
4a3c8cbdac | ||
![]() |
1c9c084c3e | ||
![]() |
39cd73b021 | ||
![]() |
f6e5017fbb | ||
![]() |
8562768556 | ||
![]() |
7d6f0c360b | ||
![]() |
e635f69b1f | ||
![]() |
66e9a1442e | ||
![]() |
30036526bd | ||
![]() |
de71c445c1 | ||
![]() |
088d27c51c | ||
![]() |
42007aa075 | ||
![]() |
bc441a8ac2 | ||
![]() |
5b9ada0902 | ||
![]() |
5f441aa8eb | ||
![]() |
9e8a95c1d6 | ||
![]() |
ac14be2c88 | ||
![]() |
e334c7ce16 | ||
![]() |
32b0fba6fb | ||
![]() |
d9a39877f1 | ||
![]() |
681bd8bca9 | ||
![]() |
fc62f8cd28 | ||
![]() |
696dc32234 | ||
![]() |
99e85366b3 | ||
![]() |
70785fdf47 | ||
![]() |
b353105ca2 | ||
![]() |
62dc2e3c9d | ||
![]() |
9c63c56488 | ||
![]() |
d3b16529e1 | ||
![]() |
d73770cfe2 | ||
![]() |
191990426a | ||
![]() |
87052c52c1 | ||
![]() |
568a42799d | ||
![]() |
c0663e4aa8 | ||
![]() |
a8e7634920 | ||
![]() |
8d292ccac0 | ||
![]() |
b81f0c0808 | ||
![]() |
b354931ed2 | ||
![]() |
f538dde6da | ||
![]() |
a37ff5d9b8 | ||
![]() |
f675e3e085 | ||
![]() |
63553473bf | ||
![]() |
15f8ae439b | ||
![]() |
f73b56726a | ||
![]() |
cbca06b03d | ||
![]() |
9b0168f614 | ||
![]() |
70b9e5cbdd | ||
![]() |
f95f8fb0f5 | ||
![]() |
8b90c472e3 | ||
![]() |
c924a2b2ac | ||
![]() |
e7d2c0cf75 | ||
![]() |
5946726d0b | ||
![]() |
ca266841ac | ||
![]() |
5c9ad5b2fb | ||
![]() |
68e6d2aa15 | ||
![]() |
fcecc29add | ||
![]() |
81ba536dba | ||
![]() |
3bf1af2c0b | ||
![]() |
48de4c765b | ||
![]() |
eb6fb9b2da | ||
![]() |
5cf07b86b3 | ||
![]() |
0fce835c0c | ||
![]() |
dcbd5aae25 | ||
![]() |
b5541afc5d | ||
![]() |
25e0c29dbc | ||
![]() |
46c6ee3e99 | ||
![]() |
6277322ebe | ||
![]() |
a8bc86b5aa | ||
![]() |
291f85c310 | ||
![]() |
26ea3dbfd5 | ||
![]() |
14a70f29c8 | ||
![]() |
96174fbfeb | ||
![]() |
492b5f7263 | ||
![]() |
408afcebcb | ||
![]() |
18904e853e | ||
![]() |
61ac515cf9 | ||
![]() |
c47281401e | ||
![]() |
58abce7456 | ||
![]() |
fdd6f1836f | ||
![]() |
5928151853 | ||
![]() |
c4cc6153df | ||
![]() |
ecdeee3e76 | ||
![]() |
a39a11343c | ||
![]() |
c5d0b80f1b | ||
![]() |
520efa04f8 | ||
![]() |
5b1b469316 | ||
![]() |
7ce3990728 | ||
![]() |
542e12a88b | ||
![]() |
7373093946 | ||
![]() |
792b140f0f | ||
![]() |
c64d74aa7d | ||
![]() |
73f24839d4 | ||
![]() |
9a532c5c3f | ||
![]() |
1b74aa08ce | ||
![]() |
831d219f36 | ||
![]() |
6858130a7e | ||
![]() |
db9077fbbc | ||
![]() |
e67ab3c1b3 | ||
![]() |
df0b246062 | ||
![]() |
bf133e5dc6 | ||
![]() |
b4f26d324c | ||
![]() |
4a2618a76b | ||
![]() |
1b56fd075b | ||
![]() |
f1586fb0ac | ||
![]() |
66aa5a5671 | ||
![]() |
52bfc9636b | ||
![]() |
7c0665b9ce | ||
![]() |
ecb3c46407 | ||
![]() |
6ce3a64ea3 | ||
![]() |
408ec37ff2 | ||
![]() |
ecdbf9e9c3 | ||
![]() |
d8ae8a559d | ||
![]() |
2f8511ca16 | ||
![]() |
7e6c8bc4d3 | ||
![]() |
30c63dd35d | ||
![]() |
40b54bdf53 | ||
![]() |
7bdbae1d9e | ||
![]() |
30dbebc696 | ||
![]() |
d3c70fa0d9 | ||
![]() |
bc5a20263c | ||
![]() |
2205c59d69 | ||
![]() |
a7f8c413d6 | ||
![]() |
2c098a9092 | ||
![]() |
e547fff367 | ||
![]() |
b7951341b2 | ||
![]() |
30d81ebbfd | ||
![]() |
3cb2267032 | ||
![]() |
85dcb4806e | ||
![]() |
40a93939ad | ||
![]() |
98b66940e5 | ||
![]() |
7b4bb010bf | ||
![]() |
9bc58277aa | ||
![]() |
5a69f092a2 | ||
![]() |
1873359e36 | ||
![]() |
eae1539375 | ||
![]() |
c49d8c0f0c | ||
![]() |
642b0cc1fc | ||
![]() |
9850069824 | ||
![]() |
038aded819 | ||
![]() |
bffe6916e9 | ||
![]() |
9bb7ee73f5 | ||
![]() |
81769854ee | ||
![]() |
614b5ad042 | ||
![]() |
da86497b95 | ||
![]() |
c37635d6d1 | ||
![]() |
1a1d2cf46c | ||
![]() |
a686dcc19d | ||
![]() |
1ffd596ab2 | ||
![]() |
4c01a2eb2c | ||
![]() |
93ebf4f8e1 | ||
![]() |
c264a25d66 | ||
![]() |
44c76eb00d | ||
![]() |
36d80dc7f0 | ||
![]() |
6905425adb | ||
![]() |
79aa0754d5 | ||
![]() |
abad8212a5 | ||
![]() |
f4626dc8b7 | ||
![]() |
f383b23ad9 | ||
![]() |
e31545ddb0 | ||
![]() |
b9d090cd25 | ||
![]() |
c55b1ba737 | ||
![]() |
a93f3acdc9 | ||
![]() |
500d5ca1a8 | ||
![]() |
fdfa571d16 | ||
![]() |
8c14c2e1ab | ||
![]() |
b999193f42 | ||
![]() |
1c1eb1c959 | ||
![]() |
1b02f13ea2 | ||
![]() |
96e7b58446 | ||
![]() |
3b3b3cea18 | ||
![]() |
a1144d47c8 | ||
![]() |
4bd9865ac2 |
799
app/build.gradle
799
app/build.gradle
@@ -10,7 +10,7 @@ android {
|
||||
compileSdkVersion COMPILE_SDK_VERSION.toInteger()
|
||||
|
||||
defaultConfig {
|
||||
applicationId isolationMode ? 'com.example.gogo' : 'app.hiyoo.fun'
|
||||
applicationId isolationMode ? 'com.e.oos' : 'com.hhchu.molistar'
|
||||
minSdkVersion MIN_SDK_VERSION.toInteger()
|
||||
targetSdkVersion TARGET_SDK_VERSION.toInteger()
|
||||
versionCode Integer.valueOf(version_code)
|
||||
@@ -20,11 +20,11 @@ android {
|
||||
|
||||
flavorDimensions 'default'
|
||||
buildConfigField "boolean", "ISOLATION_MODE", "$isolationMode"
|
||||
|
||||
resConfigs "en", "zh-rTW", "ar"
|
||||
if (isolationMode) {
|
||||
resValue "string", "app_name", "Hi-debug"
|
||||
resValue "string", "app_launch_name", "Mo-debug"
|
||||
} else {
|
||||
resValue "string", "app_name", "Hiyoo"
|
||||
resValue "string", "app_launch_name", "MoliStar"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ android {
|
||||
if (abi == null) {
|
||||
abi = "universal"
|
||||
}
|
||||
outputFileName = "hiyoo_${buildType.name}_v${defaultConfig.versionName}_${abi}_${date}.apk"
|
||||
outputFileName = "MoliStar_${buildType.name}_v${defaultConfig.versionName}_${abi}_${date}.apk"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,19 +84,19 @@ android {
|
||||
signingConfigs {
|
||||
|
||||
debug {
|
||||
storeFile file('../app_debug.jks')
|
||||
storePassword "debug2023"
|
||||
keyAlias "debug"
|
||||
keyPassword "debug2023"
|
||||
storeFile file('../molistar_debug.jks')
|
||||
storePassword "molistar"
|
||||
keyAlias "molistar"
|
||||
keyPassword "molistar"
|
||||
v2SigningEnabled true
|
||||
v1SigningEnabled true
|
||||
}
|
||||
|
||||
release {
|
||||
storeFile file('../hiyoo.jks')
|
||||
storePassword "hiyoo2023"
|
||||
keyAlias "hiyoo"
|
||||
keyPassword "hiyoo2023"
|
||||
storeFile file('../molistar.jks')
|
||||
storePassword "molistar"
|
||||
keyAlias "molistar"
|
||||
keyPassword "molistar"
|
||||
v2SigningEnabled true
|
||||
v1SigningEnabled true
|
||||
}
|
||||
@@ -107,40 +107,34 @@ android {
|
||||
main {
|
||||
java.srcDirs = [
|
||||
'src/main/java',
|
||||
'src/module_public_chat_hall/java',
|
||||
'src/module_upgrade_app/java',
|
||||
'src/module_mentoring_relationship/java',
|
||||
'src/module_labour_union/java',
|
||||
'src/module_room_chat/java',
|
||||
'src/model_customer_server/java',
|
||||
'src/module_music/java',
|
||||
'src/module_mini_world/java',
|
||||
'src/module_lottery_dialog/java',
|
||||
'src/module_bank_card/java',
|
||||
'src/module_super_admin/java',
|
||||
'src/module_treasure_box/java',
|
||||
'src/module_community/java',
|
||||
'src/module_album/java',
|
||||
'src/module_treasure_box/java',
|
||||
'src/module_public_chat/java',
|
||||
'src/module_game/java',
|
||||
'src/module_community/java',
|
||||
|
||||
]
|
||||
|
||||
res.srcDirs = [
|
||||
'src/main/res',
|
||||
'src/common/res',
|
||||
'src/module_public_chat_hall/res',
|
||||
'src/module_upgrade_app/res',
|
||||
'src/module_mentoring_relationship/res',
|
||||
'src/module_labour_union/res',
|
||||
'src/module_room_chat/res',
|
||||
'src/model_customer_server/res',
|
||||
'src/module_music/res',
|
||||
'src/module_mini_world/res',
|
||||
'src/module_lottery_dialog/res',
|
||||
'src/module_bank_card/res',
|
||||
'src/module_super_admin/res',
|
||||
'src/module_treasure_box/res',
|
||||
'src/module_community/res',
|
||||
'src/module_album/res',
|
||||
'src/module_treasure_box/res',
|
||||
'src/module_public_chat/res',
|
||||
'src/module_game/res',
|
||||
'src/module_community/res',
|
||||
|
||||
]
|
||||
|
||||
@@ -149,15 +143,12 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
def server_url_debug = '"http://beta.api.hiyoo.fun/"'
|
||||
def server_url_release = '"https://api.hiyoo.fun/"'
|
||||
def server_url_debug = '"http://beta.api.molistar.xyz/"'
|
||||
def server_url_release = '"https://api.molistar.xyz/"'
|
||||
|
||||
debug {
|
||||
println("minifyEnabled = " + minify_enabled)
|
||||
|
||||
// ext.enableCrashlytics = false
|
||||
// ext.alwaysUpdateBuildId = false // Firebase Crashlytics禁用更新构建ID
|
||||
|
||||
buildConfigField "String", "BASE_URL", server_url_debug
|
||||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||||
buildConfigField "String", "BASE_URL_STAGING", "BASE_URL"
|
||||
@@ -178,10 +169,6 @@ android {
|
||||
release {
|
||||
ext.enableCrashlytics = CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||||
ext.alwaysUpdateBuildId = CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||||
// firebaseCrashlytics {
|
||||
// //Firebase Crashlytics控制上传混淆文件开关
|
||||
// mappingFileUploadEnabled CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||||
// }
|
||||
|
||||
buildConfigField "String", "BASE_URL", server_url_release
|
||||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||||
@@ -218,6 +205,7 @@ dependencies {
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
|
||||
|
||||
api 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
|
||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
|
||||
|
||||
@@ -234,7 +222,6 @@ dependencies {
|
||||
api "com.jzxiang.pickerview:TimePickerDialog:1.0.1"
|
||||
api "com.github.zyyoona7:EasyPopup:1.0.2"
|
||||
api "com.github.donkingliang:LabelsView:1.6.5"
|
||||
api "com.github.yyued:SVGAPlayer-Android:2.6.1"
|
||||
api "com.ms-square:expandableTextView:0.1.4"
|
||||
annotationProcessor 'androidx.annotation:annotation:1.6.0'
|
||||
|
||||
@@ -275,21 +262,8 @@ dependencies {
|
||||
|
||||
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
|
||||
|
||||
// implementation 'com.appsflyer:af-android-sdk:6.8.2'
|
||||
|
||||
implementation 'com.github.zhpanvip:BannerViewPager:3.5.6'
|
||||
|
||||
//fireBase
|
||||
// implementation platform('com.google.firebase:firebase-bom:31.1.1')
|
||||
// implementation 'com.google.firebase:firebase-crashlytics-ktx'
|
||||
// implementation 'com.google.firebase:firebase-analytics-ktx'
|
||||
|
||||
//Adjust接入
|
||||
// implementation 'com.adjust.sdk:adjust-android:4.33.0'
|
||||
// implementation 'com.android.installreferrer:installreferrer:2.2'
|
||||
// Add the following if you are using the Adjust SDK inside web views on your app
|
||||
// implementation 'com.adjust.sdk:adjust-android-webbridge:4.33.0'
|
||||
|
||||
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||||
|
||||
implementation 'com.github.lihangleo2:ShadowLayout:3.3.2'
|
||||
@@ -297,7 +271,8 @@ dependencies {
|
||||
//wheelView
|
||||
implementation 'com.contrarywind:wheelview:4.1.0'
|
||||
|
||||
// implementation 'tech.sud.mgp:SudMGP-static:1.3.3.1158'
|
||||
// 轮播组件
|
||||
implementation 'io.github.youth5201314:banner:2.2.3'
|
||||
|
||||
implementation project(':modules:module_base')
|
||||
if (!isolationMode && file("../modules/module_google/build.gradle").exists()) {
|
||||
@@ -309,7 +284,7 @@ channel {
|
||||
//多渠道包的输出目录,默认为new File(project.buildDir,"channel")
|
||||
outputDir = new File(project.buildDir, "channelapk")
|
||||
//多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}-${buildTime}
|
||||
apkNameFormat = 'hiyoo-${buildType}-${flavorName}-v${versionName}-${buildTime}'
|
||||
apkNameFormat = 'MoliStar-${buildType}-${flavorName}-v${versionName}-${buildTime}'
|
||||
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
|
||||
fastMode = false
|
||||
//buildTime的时间格式,默认格式:yyyyMMdd-HHmmss
|
||||
@@ -322,9 +297,28 @@ aabResGuard {
|
||||
mappingFile = file("aab-res-guard-mapping.txt").toPath() // Mapping file used for incremental obfuscation
|
||||
whiteList = [ // White list rules
|
||||
"*.R.raw.*",
|
||||
"*.R.drawable.icon"
|
||||
"*.R.drawable.icon",
|
||||
// SUD游戏-start
|
||||
"*.R.drawable.fsm_*",
|
||||
"*.R.string.fsm_*",
|
||||
"*.R.layout.fsm_*",
|
||||
"*.R.color.fsm_*",
|
||||
"*.R.id.fsm_*",
|
||||
"*.R.style.fsm_*",
|
||||
"*.R.dimen.fsm_*",
|
||||
"*.R.array.fsm_*",
|
||||
"*.R.integer.fsm_*",
|
||||
"*.R.bool.fsm_*",
|
||||
"*.R.mipmap.fsm_*",
|
||||
"*.R.styleable.fsm_*",
|
||||
"*.R.id.*loading*",
|
||||
"*.R.id.container_progress",
|
||||
"*.R.id.reload_btn",
|
||||
"*.R.id.unitySurfaceView",
|
||||
"*.R.string.game_view_content_description"
|
||||
// SUD游戏-end
|
||||
]
|
||||
obfuscatedBundleFileName = "duplicated-app.aab" // Obfuscated file name, must end with '.aab'
|
||||
obfuscatedBundleFileName = "MoliStar-app.aab" // Obfuscated file name, must end with '.aab'
|
||||
mergeDuplicatedRes = true // Whether to allow the merge of duplicate resources
|
||||
enableFilterFiles = false // Whether to allow filter files
|
||||
filterList = [ // file filter rules
|
||||
@@ -334,7 +328,7 @@ aabResGuard {
|
||||
|
||||
enableFilterStrings = false // switch of filter strings
|
||||
unusedStringPath = file("unused.txt").toPath() // strings will be filtered in this file
|
||||
languageWhiteList = ["en", "zh"] // keep en,en-xx,zh,zh-xx etc. remove others.
|
||||
languageWhiteList = ["en", "zh", "ar", "zh-rTW"] // keep en,en-xx,zh,zh-xx etc. remove others.
|
||||
}
|
||||
|
||||
//以下均为非必须
|
||||
@@ -343,5 +337,698 @@ xmlClassGuard {
|
||||
//用于增量混淆的 mapping 文件
|
||||
mappingFile = file("xml-class-mapping.txt")
|
||||
//更改manifest文件的package属性,即包名
|
||||
packageChange = ["com.chwl.app": "co.ch.a"]
|
||||
packageChange = ["com.chwl.app": "com.hhchu.molistar",
|
||||
"com.chwl.core": "com.hhchu.core",
|
||||
"com.chwl.library": "com.hhchu.library"]
|
||||
moveDir = [
|
||||
"com.chwl.app.community.dynamic" : "ffefcef.ddbccaec",
|
||||
"com.chwl.app.community.helper" : "eaeecbea.ccefdeaf",
|
||||
"com.chwl.app.community.holder" : "aafebee.febeeba",
|
||||
"com.chwl.app.community.im" : "eedadfa.cccedea",
|
||||
"com.chwl.app.community.publish" : "ddae.cfdb",
|
||||
"com.chwl.app.community.square" : "bddfb.eedde",
|
||||
"com.chwl.app.community.user_dynamic" : "ddcdbcbc.acbfcfba",
|
||||
"com.chwl.app.community.utils" : "cceaf.cbdcdb",
|
||||
"com.chwl.app.community.widget" : "bdfaa.beeefc",
|
||||
"com.chwl.app.community" : "cadfd.aeddb",
|
||||
"com.chwl.app.avroom.headline" : "eefce.eecad",
|
||||
"com.chwl.core.bean.game" : "caeccd.fdedac",
|
||||
"com.chwl.core.bean.room" : "afceec.aaafbc",
|
||||
"com.chwl.app.game" : "fcbfeb.ebfceac",
|
||||
"com.chwl.core.sud" : "baecf.deccfc",
|
||||
"com.chwl.library.download" : "aeacf.cecdd",
|
||||
"com.chwl.app.pay.activity" : "abbe.faaca",
|
||||
"com.chwl.app.pay.adapter" : "daddd.dcadd",
|
||||
"com.chwl.app.pay.fragment" : "fceff.acfcf",
|
||||
"com.chwl.app.pay.interfaces" : "eaadf.dbeecd",
|
||||
"com.chwl.app.pay.password" : "ebcfe.adfea",
|
||||
"com.chwl.app.pay.widget" : "fbfb.caeb",
|
||||
"com.chwl.app.avroom.online" : "bfbdecb.fafffbbc",
|
||||
"com.chwl.app.avroom.game" : "bbecfa.babcfd",
|
||||
"com.chwl.app.ui.webview.baishun" : "caebbec.bfcfbdf",
|
||||
"com.chwl.core.public_chat_hall.model" : "aada.dceaa",
|
||||
"com.chwl.app.avroom.rank" : "edadcb.beeaca",
|
||||
"com.chwl.app.fansteam" : "eabdedaed.cfeadaacfe",
|
||||
"com.chwl.core.fansteam" : "adbfd.adeecd",
|
||||
"com.chwl.app.public_chat.core.viewholder" : "fffa.accee",
|
||||
"com.chwl.app.public_chat.core" : "fcbdcbf.afaafbac",
|
||||
"com.chwl.app.public_chat.ui.message.headline" : "dfcfcad.cbcfdcf",
|
||||
"com.chwl.app.public_chat.ui.message" : "afdf.affbd",
|
||||
"com.chwl.library.language" : "faceb.abded",
|
||||
"com.chwl.app.ui.invite" : "cfdd.baac",
|
||||
"com.chwl.app.ui.link" : "fdb.ddbd",
|
||||
"com.chwl.app.ui.language" : "cffafe.edafba",
|
||||
"com.chwl.core.file.cos" : "cccdbdcce.eccffeccb",
|
||||
"com.chwl.app.notify.views" : "fbbdbcaa.dbfaeadb",
|
||||
"com.chwl.app.notify" : "eaafaa.edeeef",
|
||||
"com.chwl.app.support.float" : "eadbfff.eccceee",
|
||||
"com.chwl.app.avroom.gameplay" : "dfcf.dbdcb",
|
||||
"com.chwl.app.treasure_box.activity" : "fdbac.cdfab",
|
||||
"com.chwl.app.treasure_box.adapter" : "febab.bdfcb",
|
||||
"com.chwl.app.treasure_box.fragment" : "ecbbc.baaada",
|
||||
"com.chwl.app.treasure_box.module" : "aecae.aeacf",
|
||||
"com.chwl.app.treasure_box.presenter" : "ddaaee.bacbdcb",
|
||||
"com.chwl.app.treasure_box.widget" : "bedacc.bbbceb",
|
||||
"com.chwl.app.treasure_box" : "afccebdddd.ecdedbfcea",
|
||||
"com.chwl.core.treasure_box.bean" : "eeaaaa.bbedeee",
|
||||
"com.chwl.core.treasure_box.event" : "dfbfa.edacdb",
|
||||
"com.chwl.core.treasure_box.model" : "abdf.ebeab",
|
||||
"com.example.lib_utils.spannable" : "babdfb.baacfc",
|
||||
"com.example.lib_utils.log" : "cade.bebee",
|
||||
"com.example.lib_utils.ktx" : "aedbdf.cbfffd",
|
||||
"com.example.lib_utils" : "edadfda.cbddcda",
|
||||
"com.soundcloud.crop" : "eccbecc.eefdcbdd",
|
||||
"com.example.lib_core.component" : "cebecef.abcfbdda",
|
||||
"com.example.lib_core" : "ffedce.affffdf",
|
||||
"com.chwl.library.luban" : "cdbffbd.eadcbca",
|
||||
"com.chwl.library.easyphoto.utils.uri" : "dbbffdafc.aaadcdfcca",
|
||||
"com.chwl.library.easyphoto.utils.system" : "adb.ffd",
|
||||
"com.chwl.library.easyphoto.utils.string" : "bebbc.efcaca",
|
||||
"com.chwl.library.easyphoto.utils.settings" : "defee.eaccbb",
|
||||
"com.chwl.library.easyphoto.utils.result" : "eecdc.cddbfa",
|
||||
"com.chwl.library.easyphoto.utils.permission" : "fea.fcef",
|
||||
"com.chwl.library.easyphoto.utils.media" : "ddddcde.bfececea",
|
||||
"com.chwl.library.easyphoto.utils.color" : "ddc.cacb",
|
||||
"com.chwl.library.easyphoto.utils.bitmap" : "fadfc.bcaac",
|
||||
"com.chwl.library.easyphoto.ui.widget" : "bfafdb.ffeeadd",
|
||||
"com.chwl.library.easyphoto.ui.dialog" : "fbaaaf.cdadedd",
|
||||
"com.chwl.library.easyphoto.ui.adapter" : "fcada.cbadea",
|
||||
"com.chwl.library.easyphoto.ui" : "beefbfb.bffbefaf",
|
||||
"com.chwl.library.easyphoto.setting" : "edfd.dbfda",
|
||||
"com.chwl.library.easyphoto.result" : "fddd.dbae",
|
||||
"com.chwl.library.easyphoto.models.sticker.view" : "bacccfc.abbadfec",
|
||||
"com.chwl.library.easyphoto.models.sticker.listener" : "edecfbdbb.fbdcbfaaed",
|
||||
"com.chwl.library.easyphoto.models.sticker.entity" : "bbfeef.fdaefba",
|
||||
"com.chwl.library.easyphoto.models.sticker.cache" : "cfeefddf.daadadef",
|
||||
"com.chwl.library.easyphoto.models.sticker" : "eadfab.aaffafa",
|
||||
"com.chwl.library.easyphoto.models.puzzle.template.straight" : "cbbfdd.fdbaab",
|
||||
"com.chwl.library.easyphoto.models.puzzle.template.slant" : "fcffbcef.cbefeefa",
|
||||
"com.chwl.library.easyphoto.models.puzzle.straight" : "bbacbff.ecbddeb",
|
||||
"com.chwl.library.easyphoto.models.puzzle.slant" : "ebbbf.bfcbc",
|
||||
"com.chwl.library.easyphoto.models.puzzle" : "afbfbfd.dffbcec",
|
||||
"com.chwl.library.easyphoto.models.album.entity" : "baf.edaf",
|
||||
"com.chwl.library.easyphoto.models.album" : "daddbf.cebdcdd",
|
||||
"com.chwl.library.easyphoto.models.ad" : "adecece.cdedecc",
|
||||
"com.chwl.library.easyphoto.engine" : "ecadb.effbcc",
|
||||
"com.chwl.library.easyphoto.constant" : "abcfbde.cefbdbb",
|
||||
"com.chwl.library.easyphoto.callback" : "acbfefebc.aefecbfea",
|
||||
"com.chwl.library.easyphoto.builder" : "cccbcd.fabeea",
|
||||
"com.chwl.library.easyphoto" : "cebee.abfded",
|
||||
"com.chwl.library.easypermisssion.helper" : "dcbcfd.abebba",
|
||||
"com.chwl.library.easypermisssion" : "fdecdffb.cbddcdadd",
|
||||
"com.chwl.library.common.widget" : "dbcccf.adbaeab",
|
||||
"com.chwl.library.common.util" : "abadefdd.bbdedefbe",
|
||||
"com.chwl.library.common.transform" : "ddecee.dbeafe",
|
||||
"com.chwl.library.common.photo" : "bdbbad.cbbefbe",
|
||||
"com.chwl.library.common.glide" : "faacc.afcba",
|
||||
"com.chwl.library.common.fragmentation.windowcallback" : "bafbddf.cdcdbdb",
|
||||
"com.chwl.library.common.fragmentation.queue" : "ffceba.caedfea",
|
||||
"com.chwl.library.common.fragmentation.internal" : "fcfc.dceae",
|
||||
"com.chwl.library.common.fragmentation" : "cafcfb.febddef",
|
||||
"com.chwl.library.common.file" : "cdcdeb.ccfddae",
|
||||
"com.chwl.library.common.entity" : "acdb.aacb",
|
||||
"com.chwl.library.common.delegate" : "cbdf.beed",
|
||||
"com.chwl.library.common.base" : "daebfd.bfaada",
|
||||
"com.chwl.library.common.application" : "afdbd.ffcebb",
|
||||
"com.chwl.library.common" : "fede.deddf",
|
||||
"com.chwl.library.widget.xlist" : "ccbecd.ffdfcdb",
|
||||
"com.chwl.library.widget.decoration" : "dacceb.bcfbca",
|
||||
"com.chwl.library.widget" : "eacad.fcafd",
|
||||
"com.chwl.library.utils.valid" : "eccee.fdbec",
|
||||
"com.chwl.library.utils.pref" : "aaebaf.edefdcf",
|
||||
"com.chwl.library.utils.net" : "aadbf.cfabd",
|
||||
"com.chwl.library.utils.log" : "cdefbea.aedfceec",
|
||||
"com.chwl.library.utils.keyboard" : "acbbf.ecdbcf",
|
||||
"com.chwl.library.utils.json" : "cad.dcad",
|
||||
"com.chwl.library.utils.image" : "ccdabf.fefcfbc",
|
||||
"com.chwl.library.utils.file" : "cfe.bbdd",
|
||||
"com.chwl.library.utils.constant" : "fcde.abaf",
|
||||
"com.chwl.library.utils.config" : "edaaebed.afbeccda",
|
||||
"com.chwl.library.utils.codec" : "ffbedacf.cadbdefa",
|
||||
"com.chwl.library.utils.cache" : "beaeed.adcfbd",
|
||||
"com.chwl.library.utils.asynctask" : "dacf.bbfea",
|
||||
"com.chwl.library.utils.anim" : "dbcbbd.cbccefa",
|
||||
"com.chwl.library.utils" : "fdeaee.fddfeca",
|
||||
"com.chwl.library.threadmgr" : "eddebea.dcbdfbf",
|
||||
"com.chwl.library.swipeactivity" : "eaacbeb.fddeacad",
|
||||
"com.chwl.library.softinput" : "ecefea.cfddea",
|
||||
"com.chwl.library.service" : "efdcc.dfcbe",
|
||||
"com.chwl.library.rxbus" : "aefdcd.dbadbed",
|
||||
"com.chwl.library.rx" : "eab.bee",
|
||||
"com.chwl.library.record" : "dafcbfe.afcdffa",
|
||||
"com.chwl.library.net.rxnet.utils" : "acfbbb.ceeeab",
|
||||
"com.chwl.library.net.rxnet.model" : "cefdcae.ecabacf",
|
||||
"com.chwl.library.net.rxnet.manager" : "fdccbc.fbdadfe",
|
||||
"com.chwl.library.net.rxnet.interceptor" : "fcce.cbdf",
|
||||
"com.chwl.library.net.rxnet.https" : "dcdca.eafdc",
|
||||
"com.chwl.library.net.rxnet.factory" : "afbebbbdb.eafdafcbb",
|
||||
"com.chwl.library.net.rxnet.exception" : "eeeab.bebfa",
|
||||
"com.chwl.library.net.rxnet.converter" : "baaccbeb.efccaccde",
|
||||
"com.chwl.library.net.rxnet.callback" : "dfad.eccaf",
|
||||
"com.chwl.library.net.rxnet" : "facdef.bbedadd",
|
||||
"com.chwl.library.manager" : "cbaf.aadf",
|
||||
"com.chwl.library.list" : "bddaaa.ffeead",
|
||||
"com.chwl.library.coremanager" : "aadcbecd.fedbababd",
|
||||
"com.chwl.library.bindinglist" : "afabdcf.feacfbfb",
|
||||
"com.chwl.library.base.factory" : "ddbfbdf.acbaddc",
|
||||
"com.chwl.library.base" : "bfba.fcbd",
|
||||
"com.chwl.library.annatation" : "bcfcaaa.cefecab",
|
||||
"com.chwl.library.animator" : "acbc.afcdd",
|
||||
"com.chwl.library.adapters" : "caffe.edbbcd",
|
||||
"com.chwl.core.upgrade.model" : "cad.abdd",
|
||||
"com.chwl.core.upgrade.event" : "fffdf.aaaccc",
|
||||
"com.chwl.core.upgrade.bean" : "aea.baaf",
|
||||
"com.chwl.core.super_admin.util" : "cacffea.cbcafbe",
|
||||
"com.chwl.core.super_admin.model.exception" : "cabed.eeaede",
|
||||
"com.chwl.core.super_admin.model" : "bdbd.affda",
|
||||
"com.chwl.core.super_admin.bean" : "ddfb.edcab",
|
||||
"com.chwl.core.super_admin.attachment" : "bfeea.cbedcb",
|
||||
"com.chwl.core.super_admin" : "cddaaf.ddabfc",
|
||||
"com.chwl.core.code" : "aeabedb.eebbdcaa",
|
||||
"com.chwl.core.public_chat_hall.manager" : "cefdad.fefbeef",
|
||||
"com.chwl.core.public_chat_hall.event" : "ccff.dfccf",
|
||||
"com.chwl.core.public_chat_hall.bean" : "aeaaa.dedad",
|
||||
"com.chwl.core.public_chat_hall.attachment" : "fedd.fadb",
|
||||
"com.chwl.core.music.view" : "dafddd.eecfdad",
|
||||
"com.chwl.core.music.model" : "ecabcfecb.bafeafaeb",
|
||||
"com.chwl.core.music.event" : "dbbfcd.fcacbed",
|
||||
"com.chwl.core.music.db.model" : "dcaac.ddecf",
|
||||
"com.chwl.core.music.db.dao" : "fafafcea.fbfbbfda",
|
||||
"com.chwl.core.music.db.converter" : "baf.fac",
|
||||
"com.chwl.core.music.db.bean" : "acbfad.dcbefe",
|
||||
"com.chwl.core.music.bean" : "deafc.bebac",
|
||||
"com.chwl.core.miniworld.model" : "cdcbc.cfbbc",
|
||||
"com.chwl.core.miniworld.event" : "babacc.becdde",
|
||||
"com.chwl.core.miniworld.bean" : "ffbe.bdac",
|
||||
"com.chwl.core.mentoring_relationship.view" : "aadffbfa.fedbaace",
|
||||
"com.chwl.core.mentoring_relationship.model" : "dfdeb.baabec",
|
||||
"com.chwl.core.mentoring_relationship.exception" : "beebbbe.debeffc",
|
||||
"com.chwl.core.mentoring_relationship.event" : "fcaceace.afcfdceb",
|
||||
"com.chwl.core.mentoring_relationship.bean" : "eaedcce.eebdfabf",
|
||||
"com.chwl.core.mentoring_relationship.attachment" : "faebfdc.bcbbbbfc",
|
||||
"com.chwl.core.module_hall.team.event" : "ebfdfe.fcefebd",
|
||||
"com.chwl.core.module_hall.team.bean" : "edcbb.bcfca",
|
||||
"com.chwl.core.module_hall.team" : "bbeafe.ffebdfa",
|
||||
"com.chwl.core.module_hall.secretcode.bean" : "ffdab.eabbd",
|
||||
"com.chwl.core.module_hall.secretcode" : "eedbec.ffbcbed",
|
||||
"com.chwl.core.module_hall.income.event" : "bdecee.edfdbad",
|
||||
"com.chwl.core.module_hall.income.bean" : "fcfc.debbb",
|
||||
"com.chwl.core.module_hall.income" : "afdaaf.afcbfd",
|
||||
"com.chwl.core.module_hall.im.bean" : "bfbcaedcbf.fddedfaafe",
|
||||
"com.chwl.core.module_hall.im" : "fabf.dada",
|
||||
"com.chwl.core.module_hall.hall.event" : "fdcc.edcba",
|
||||
"com.chwl.core.module_hall.hall.bean" : "eacfafb.adbcafda",
|
||||
"com.chwl.core.module_hall.hall" : "bfdade.fbabba",
|
||||
"com.chwl.core.db" : "dccfb.bfeca",
|
||||
"com.chwl.core.community.square" : "fbacff.ebfcca",
|
||||
"com.chwl.core.community.im" : "ddfc.bbcdb",
|
||||
"com.chwl.core.community.event" : "baaeac.edbfbcd",
|
||||
"com.chwl.core.community.dynamic" : "abdce.bdebca",
|
||||
"com.chwl.core.community.bean.comment" : "aedfcaaf.cdfbbcce",
|
||||
"com.chwl.core.community.bean" : "bbcf.abac",
|
||||
"com.chwl.core.community.attachment" : "ceebd.fefcbb",
|
||||
"com.chwl.core.community" : "fcefbba.abbefae",
|
||||
"com.chwl.core.channel_page.model" : "eed.bae",
|
||||
"com.chwl.core.channel_page.bean" : "edfea.cddcb",
|
||||
"com.chwl.core.bank_card.view" : "fbefdfd.fecfadeb",
|
||||
"com.chwl.core.bank_card.model" : "afdeac.aecbbce",
|
||||
"com.chwl.core.bank_card.exception" : "dccfcc.cbdaacd",
|
||||
"com.chwl.core.bank_card.bean" : "ccaad.bddfa",
|
||||
"com.chwl.core.withdraw.bean" : "aaffcba.daeefdac",
|
||||
"com.chwl.core.web.event" : "ecefca.fecfafc",
|
||||
"com.chwl.core.web.bean" : "cbcdae.acdabfe",
|
||||
"com.chwl.core.vip.bean" : "eedbaeb.defbdfae",
|
||||
"com.chwl.core.vip" : "bfcdb.eeabef",
|
||||
"com.chwl.core.utils.net" : "dadebe.fbcfaa",
|
||||
"com.chwl.core.utils.extension" : "aeef.afaa",
|
||||
"com.chwl.core.utils" : "eafcbdd.abaeccf",
|
||||
"com.chwl.core.user.event" : "ffbae.efabfb",
|
||||
"com.chwl.core.user.bean" : "cfeddda.aafffbc",
|
||||
"com.chwl.core.user" : "afacaed.bbaefab",
|
||||
"com.chwl.core.treasurefairy.bean" : "eaffcdbc.daeffdba",
|
||||
"com.chwl.core.treasurefairy" : "bcdefdc.efbefada",
|
||||
"com.chwl.core.team.model" : "eefedae.dfccaca",
|
||||
"com.chwl.core.team.bean" : "bfbdcd.fafefd",
|
||||
"com.chwl.core.support.room.lifecycle.rx" : "defdaecac.ccedeecec",
|
||||
"com.chwl.core.support.room.lifecycle" : "afcfafa.dffefaa",
|
||||
"com.chwl.core.support.room" : "ddaddaf.fccabdf",
|
||||
"com.chwl.core.support.config" : "cfacaac.feafadc",
|
||||
"com.chwl.core.statistic.protocol" : "ccefcc.aecaac",
|
||||
"com.chwl.core.statistic" : "dbdef.bfdea",
|
||||
"com.chwl.core.sound.model" : "beffe.abfeac",
|
||||
"com.chwl.core.skill.event" : "edaba.ddedb",
|
||||
"com.chwl.core.skill.entity" : "bacfcf.dddbef",
|
||||
"com.chwl.core.share.bean" : "aceac.ecabfe",
|
||||
"com.chwl.core.settings.bean" : "cdccdab.ebdbacb",
|
||||
"com.chwl.core.settings" : "adcfbfced.fadbfddca",
|
||||
"com.chwl.core.set.model" : "efcb.ccac",
|
||||
"com.chwl.core.set.bean" : "bababbc.cecaffca",
|
||||
"com.chwl.core.room.treasure_box.event" : "fdccbea.eacbffe",
|
||||
"com.chwl.core.room.treasure_box.bean" : "edbce.fdbbbc",
|
||||
"com.chwl.core.room.recommendpos.bean" : "dfaabac.aabbefcc",
|
||||
"com.chwl.core.room.recommendpos" : "ffbadbcda.dfdcbffdf",
|
||||
"com.chwl.core.room.queuing_mic.event" : "abfbcbe.bceaabda",
|
||||
"com.chwl.core.room.queuing_mic.bean" : "edccdc.abfbfcc",
|
||||
"com.chwl.core.room.queuing_mic.attachment" : "eabbdce.ecdbefc",
|
||||
"com.chwl.core.room.queue.bean" : "eebfd.aaccca",
|
||||
"com.chwl.core.room.pk.model" : "acefeab.bddecfb",
|
||||
"com.chwl.core.room.pk.event" : "fbbefcc.efafcfb",
|
||||
"com.chwl.core.room.pk.bean.response" : "ecaed.eebace",
|
||||
"com.chwl.core.room.pk.bean.request" : "cfeee.cdeea",
|
||||
"com.chwl.core.room.pk.bean" : "afb.eaca",
|
||||
"com.chwl.core.room.pk.attachment" : "cdd.cfde",
|
||||
"com.chwl.core.room.model.inteface" : "bfcaceb.eaaeaae",
|
||||
"com.chwl.core.room.model" : "bdefe.abaefa",
|
||||
"com.chwl.core.room.giftvalue.helper" : "ffaaa.aceba",
|
||||
"com.chwl.core.room.giftvalue.bean" : "bdebccd.fbfaecdb",
|
||||
"com.chwl.core.room.giftvalue" : "caeb.acffa",
|
||||
"com.chwl.core.room.game.bean" : "eacfafb.aadfdcee",
|
||||
"com.chwl.core.room.game" : "acecfafb.cdacfdabe",
|
||||
"com.chwl.core.room.face" : "cfcefbebdc.fecabacfcb",
|
||||
"com.chwl.core.room.exception" : "baebbfcb.debebcfe",
|
||||
"com.chwl.core.room.event" : "afdece.ecaeae",
|
||||
"com.chwl.core.room.dragonball" : "adbbbaa.bcccfdf",
|
||||
"com.chwl.core.room.core" : "efddaaf.aaabbfcd",
|
||||
"com.chwl.core.room.bean" : "bceba.bbfce",
|
||||
"com.chwl.core.room.auction.bean" : "fddadcc.fbdbaaa",
|
||||
"com.chwl.core.room.auction" : "bacebdb.bceeffa",
|
||||
"com.chwl.core.room.anotherroompk" : "edbcdb.efbadd",
|
||||
"com.chwl.core.room.activitytimer" : "adabddff.ccfdcfbd",
|
||||
"com.chwl.core.room" : "fcea.defb",
|
||||
"com.chwl.core.retry" : "dbee.cafae",
|
||||
"com.chwl.core.relation.cp.bean" : "bdabfb.aecccbc",
|
||||
"com.chwl.core.relation.cp" : "caedeb.abacfbc",
|
||||
"com.chwl.core.redpackage.bean" : "edbaad.bbdcdfc",
|
||||
"com.chwl.core.redpackage" : "bcc.ffd",
|
||||
"com.chwl.core.redPacket.event" : "efcdfd.fdfbcae",
|
||||
"com.chwl.core.redPacket.bean" : "acdfe.ebeaed",
|
||||
"com.chwl.core.redPacket" : "edfebe.eebcfad",
|
||||
"com.chwl.core.recall.event" : "eebebe.eeeacfa",
|
||||
"com.chwl.core.recall.bean" : "fabffdc.ffcdadbe",
|
||||
"com.chwl.core.recall" : "cbdac.cadea",
|
||||
"com.chwl.core.realm" : "bdbdef.cffbbf",
|
||||
"com.chwl.core.radish.task.bean" : "abbefdab.daeaadad",
|
||||
"com.chwl.core.radish.task" : "bbedaaf.fbdfcce",
|
||||
"com.chwl.core.radish.signin.bean" : "def.cff",
|
||||
"com.chwl.core.radish.signin" : "ecabbcaca.eddcdecfe",
|
||||
"com.chwl.core.radish.event" : "cdfaedb.eecdebad",
|
||||
"com.chwl.core.radish" : "fdbeeb.eddbbaf",
|
||||
"com.chwl.core.praise.event" : "fdddf.ceacfd",
|
||||
"com.chwl.core.praise" : "becbbbfc.beafebfff",
|
||||
"com.chwl.core.pay.event" : "dbdfe.efdce",
|
||||
"com.chwl.core.pay.bean" : "fbefaae.fddefebe",
|
||||
"com.chwl.core.pay" : "eefbfb.ccdcdeb",
|
||||
"com.chwl.core.patriarch.exception" : "bbcdfae.eddfdbfe",
|
||||
"com.chwl.core.patriarch.event" : "eabff.eccdc",
|
||||
"com.chwl.core.patriarch.bean" : "fbdfcae.fefbfee",
|
||||
"com.chwl.core.noble.bean" : "dfefd.bacabc",
|
||||
"com.chwl.core.noble" : "fdfb.adfec",
|
||||
"com.chwl.core.newbie.event" : "facdeeb.fbeaaff",
|
||||
"com.chwl.core.newbie.bean" : "ffedae.acfcdbb",
|
||||
"com.chwl.core.msg.sysv2.bean" : "ddeeb.bdcdf",
|
||||
"com.chwl.core.msg.sysv2" : "accaef.bfedba",
|
||||
"com.chwl.core.msg.sys.bean" : "dcabc.bbdaea",
|
||||
"com.chwl.core.msg.sys" : "ecdbfa.bedeee",
|
||||
"com.chwl.core.msg" : "bafbfed.efeeebd",
|
||||
"com.chwl.core.monsterhunting.rxevent" : "dfafbbe.afcbecce",
|
||||
"com.chwl.core.monsterhunting.model" : "eabaaa.afcbcd",
|
||||
"com.chwl.core.monsterhunting.manager" : "bdabaef.eaeccdc",
|
||||
"com.chwl.core.monsterhunting.bean" : "adbaee.fffffc",
|
||||
"com.chwl.core.monsterhunting" : "dddbd.cecfcf",
|
||||
"com.chwl.core.market_verify.event" : "bedbcf.ffcdfb",
|
||||
"com.chwl.core.market_verify.bean" : "fffba.cdbfee",
|
||||
"com.chwl.core.market_verify" : "ecddaa.decfae",
|
||||
"com.chwl.core.manager.trtc" : "cdffbe.cfbefa",
|
||||
"com.chwl.core.manager.event" : "ebeccadeab.daaebfafbc",
|
||||
"com.chwl.core.manager.agora" : "bdfbed.baaadfc",
|
||||
"com.chwl.core.manager" : "eada.dedbf",
|
||||
"com.chwl.core.magic.toolbox" : "feaabe.faacdb",
|
||||
"com.chwl.core.magic.exception" : "bdc.dbdc",
|
||||
"com.chwl.core.magic.bean" : "cbeee.efcdfb",
|
||||
"com.chwl.core.magic" : "effdcba.daeaeedf",
|
||||
"com.chwl.core.luckymoney.bean" : "cdaabd.cfabfca",
|
||||
"com.chwl.core.linked.event" : "dccdeb.adfceff",
|
||||
"com.chwl.core.linked.bean" : "dbeef.acefca",
|
||||
"com.chwl.core.linked" : "dfcbeac.affedbe",
|
||||
"com.chwl.core.level.event" : "ecbafad.dceddabe",
|
||||
"com.chwl.core.level" : "eeaeecb.efdafbdc",
|
||||
"com.chwl.core.kick" : "fccbdc.febfaf",
|
||||
"com.chwl.core.interceptor" : "abeb.bdbf",
|
||||
"com.chwl.core.initial.bean" : "edbabbab.acdccacc",
|
||||
"com.chwl.core.initial" : "dfbcef.ddbeede",
|
||||
"com.chwl.core.im.sysmsg" : "cdfe.ddaf",
|
||||
"com.chwl.core.im.state" : "ddcefccc.baeddeeec",
|
||||
"com.chwl.core.im.room" : "efafb.cccabc",
|
||||
"com.chwl.core.im.notification" : "cbace.fedfba",
|
||||
"com.chwl.core.im.login" : "febec.facfc",
|
||||
"com.chwl.core.im.friend" : "ea.ea",
|
||||
"com.chwl.core.im.custom.bean" : "dedfdbd.ebffbcba",
|
||||
"com.chwl.core.im.custom" : "ccfbca.bcccebd",
|
||||
"com.chwl.core.im.chatterbox.bean" : "dfdefbe.fedadcf",
|
||||
"com.chwl.core.im.chatterbox" : "ffdffe.ccecbfc",
|
||||
"com.chwl.core.im.avroom" : "bcafa.eadbc",
|
||||
"com.chwl.core.im" : "dffa.ebaa",
|
||||
"com.chwl.core.home.model" : "ffdbfa.ddcfcea",
|
||||
"com.chwl.core.home.event" : "dfbbd.cefeaf",
|
||||
"com.chwl.core.home.bean" : "accd.bbdff",
|
||||
"com.chwl.core.home" : "bccfeaf.fbdedea",
|
||||
"com.chwl.core.helper" : "fcddab.afabccd",
|
||||
"com.chwl.core.gift.toolbox" : "bcbed.ffcdaf",
|
||||
"com.chwl.core.gift.exception" : "beccc.cccee",
|
||||
"com.chwl.core.gift.event" : "ccde.faea",
|
||||
"com.chwl.core.gift.bean" : "ebbffdf.beebece",
|
||||
"com.chwl.core.gift" : "dbbcc.dbceee",
|
||||
"com.chwl.core.file" : "ccafedb.bddaadf",
|
||||
"com.chwl.core.fansteam.bean" : "fcfdaa.edabfab",
|
||||
"com.chwl.core.fansteam" : "adbfd.adeecd",
|
||||
"com.chwl.core.family.model" : "bbcedbab.caaefbfb",
|
||||
"com.chwl.core.family.event" : "efa.edde",
|
||||
"com.chwl.core.family.bean.response.moneyManagement" : "afbba.abdcd",
|
||||
"com.chwl.core.family.bean.response.memberList" : "dbcce.ecaeff",
|
||||
"com.chwl.core.family.bean.response.familyPlaza" : "fbbcdb.ddfadba",
|
||||
"com.chwl.core.family.bean.response" : "bbecb.daedaf",
|
||||
"com.chwl.core.family.bean" : "cdade.adeda",
|
||||
"com.chwl.core.exception" : "eeceaead.ceacebbe",
|
||||
"com.chwl.core.earn.model" : "ffebb.edbcaf",
|
||||
"com.chwl.core.earn.bean" : "bbcabbb.dcabfcd",
|
||||
"com.chwl.core.decoration.nameplate.bean" : "cfadf.caddb",
|
||||
"com.chwl.core.decoration.nameplate" : "cbddeb.bebdcc",
|
||||
"com.chwl.core.decoration.headwear.throwable" : "bebcb.aefce",
|
||||
"com.chwl.core.decoration.headwear.bean" : "bdbabbdc.ffafceeac",
|
||||
"com.chwl.core.decoration.headwear" : "cbcebdb.bdebbebd",
|
||||
"com.chwl.core.decoration.car.bean" : "ccbd.abca",
|
||||
"com.chwl.core.decoration.car" : "ebdefd.befcae",
|
||||
"com.chwl.core.decoration.bean" : "fbeebae.ebcadebe",
|
||||
"com.chwl.core.decoration.backgroud.bean" : "aaecbd.bfafacd",
|
||||
"com.chwl.core.decoration.backgroud" : "ecabbc.ccafec",
|
||||
"com.chwl.core.decoration" : "babeeeb.ecbaceee",
|
||||
"com.chwl.core.contacts" : "becea.cccca",
|
||||
"com.chwl.core.community" : "fcefbba.abbefae",
|
||||
"com.chwl.core.channel" : "ccb.fcf",
|
||||
"com.chwl.core.certification.event" : "ceecd.bebccf",
|
||||
"com.chwl.core.certification" : "fafbaf.febcecf",
|
||||
"com.chwl.core.bills.result" : "defceb.bddedaa",
|
||||
"com.chwl.core.bills.bean" : "fcef.caffe",
|
||||
"com.chwl.core.bills" : "ebcfbec.defbbcbc",
|
||||
"com.chwl.core.bean.response.result" : "decd.efffc",
|
||||
"com.chwl.core.bean.response" : "cdfaac.caaeba",
|
||||
"com.chwl.core.bean.attachmsg" : "fdab.dbaad",
|
||||
"com.chwl.core.bean" : "dbcdb.edafab",
|
||||
"com.chwl.core.base" : "eadbead.cefeacdf",
|
||||
"com.chwl.core.auth.exception" : "bfcced.baedbeb",
|
||||
"com.chwl.core.auth.event" : "ddcbacef.ebcaacba",
|
||||
"com.chwl.core.auth.entity" : "cfeaf.ddccec",
|
||||
"com.chwl.core.auth" : "debfc.deefa",
|
||||
"com.chwl.core.audio.event" : "edfdda.fdabdf",
|
||||
"com.chwl.core.audio.bean" : "feacbcff.edcaafbbb",
|
||||
"com.chwl.core.audio" : "eeaca.ebabbb",
|
||||
"com.chwl.core.association.model" : "eacfeca.adcbbfa",
|
||||
"com.chwl.core.association.bean" : "ebdeaeb.dbccefdb",
|
||||
"com.chwl.core.activity.model" : "debbcfdb.edbdfdeaf",
|
||||
"com.chwl.core.activity.event" : "cfaafeb.ffdedef",
|
||||
"com.chwl.core.activity.bean" : "feacdf.cefdbd",
|
||||
"com.chwl.core" : "dddeaae.cfddfded",
|
||||
"com.chwl.app.sadmin.utils" : "cccafa.feaeab",
|
||||
"com.chwl.app.sadmin" : "accdab.baeeaee",
|
||||
"com.chwl.app.room_chat.utils" : "ebdddaa.feeeabb",
|
||||
"com.chwl.app.room_chat.fragment" : "afeccfe.dcfbfca",
|
||||
"com.chwl.app.room_chat.event" : "cebb.fcbd",
|
||||
"com.chwl.app.room_chat.adapter" : "baad.cfcfa",
|
||||
"com.chwl.app.room_chat.activity" : "eaaadcc.ebdbede",
|
||||
"com.chwl.app.room_chat" : "cdfaf.eceabb",
|
||||
"com.chwl.app.music.widget" : "fadfedef.abeacebff",
|
||||
"com.chwl.app.music.presenter" : "cdfa.baab",
|
||||
"com.chwl.app.music.fragment" : "edfcdf.aabfdc",
|
||||
"com.chwl.app.music.adapter" : "fadcdbbe.cebcdaae",
|
||||
"com.chwl.app.music.activity" : "baddf.dbacfa",
|
||||
"com.chwl.app.module_hall.viewmodel" : "fddae.dbafab",
|
||||
"com.chwl.app.module_hall.team.view.widget" : "fecfabd.ffecdfb",
|
||||
"com.chwl.app.module_hall.team.view" : "fead.fecfb",
|
||||
"com.chwl.app.module_hall.team.presenter" : "edbfcf.eddebd",
|
||||
"com.chwl.app.module_hall.team.adapter" : "dceeca.cabfcb",
|
||||
"com.chwl.app.module_hall.team.activity" : "bdefdae.dbdbbbeb",
|
||||
"com.chwl.app.module_hall.team" : "acfaacfd.aaddcbfed",
|
||||
"com.chwl.app.module_hall.secretcode" : "eaafad.ebbdfca",
|
||||
"com.chwl.app.module_hall.income.view" : "eefbddf.bebcebcf",
|
||||
"com.chwl.app.module_hall.income.presenter" : "afbba.afcffb",
|
||||
"com.chwl.app.module_hall.income.adapter" : "eabcac.bebbec",
|
||||
"com.chwl.app.module_hall.income" : "acaede.cfecbe",
|
||||
"com.chwl.app.module_hall.im.msgholder" : "decfc.acfca",
|
||||
"com.chwl.app.module_hall.im.dialog" : "caca.dcdfa",
|
||||
"com.chwl.app.module_hall.im" : "ebfceeb.dcaaedfe",
|
||||
"com.chwl.app.module_hall.hall.view.indicator" : "bcdebe.cceeae",
|
||||
"com.chwl.app.module_hall.hall.view.dialog" : "beffcef.ddaebdd",
|
||||
"com.chwl.app.module_hall.hall.view" : "efbe.ccbe",
|
||||
"com.chwl.app.module_hall.hall.presenter" : "bbebecb.bdacbefa",
|
||||
"com.chwl.app.module_hall.hall.fragment" : "dffdae.dbaeadb",
|
||||
"com.chwl.app.module_hall.hall.adapter" : "badadbfc.feddfdcae",
|
||||
"com.chwl.app.module_hall.hall.activity" : "bdcdd.aaccc",
|
||||
"com.chwl.app.module_hall" : "aedebf.dbedcab",
|
||||
"com.chwl.app.bank_card.presenter" : "fcefbfa.bbabedeb",
|
||||
"com.chwl.app.bank_card.adapter" : "ecdae.feffda",
|
||||
"com.chwl.app.bank_card.activity" : "baaebb.adacabb",
|
||||
"com.chwl.app.bank_card" : "afdfbbee.acccbcafe",
|
||||
"com.example.matisse.widget" : "fafdc.ccdcea",
|
||||
"com.example.matisse.ui" : "bddeecdf.daebcbca",
|
||||
"com.example.matisse.listener" : "fdeec.edddcc",
|
||||
"com.example.matisse.internal.utils" : "daadd.dccbda",
|
||||
"com.example.matisse.internal.ui.widget" : "feebb.dcbfa",
|
||||
"com.example.matisse.internal.ui.adapter" : "dcaaa.cabef",
|
||||
"com.example.matisse.internal.ui" : "cabaff.aababab",
|
||||
"com.example.matisse.internal.model" : "cdadc.cccccd",
|
||||
"com.example.matisse.internal.loader" : "bcbcac.cfecdb",
|
||||
"com.example.matisse.internal.entity" : "fecfdeeae.aefaabccf",
|
||||
"com.example.matisse.filter" : "aabfe.eacfa",
|
||||
"com.example.matisse.engine.impl" : "debe.ddbed",
|
||||
"com.example.matisse.engine" : "bfcfa.aabec",
|
||||
"com.example.matisse" : "badbf.fadfea",
|
||||
"com.jph.takephoto.uitl" : "fbbaffa.faecdbe",
|
||||
"com.jph.takephoto.permission" : "accbfce.fccdabb",
|
||||
"com.jph.takephoto.model" : "afbfaa.afcdcd",
|
||||
"com.jph.takephoto.compress" : "aecbcaf.acdbabae",
|
||||
"com.jph.takephoto.app" : "edeebee.fefabfb",
|
||||
"com.chwl.app.vip.view" : "ecad.baecf",
|
||||
"com.chwl.app.vip.util" : "bcfe.ccaa",
|
||||
"com.chwl.app.vip.dialog" : "cafded.caafcba",
|
||||
"com.chwl.app.vip.bean" : "efbbc.adeda",
|
||||
"com.chwl.app.vip.adapter" : "dceeffbc.eaffbcfd",
|
||||
"com.chwl.app.vip" : "abaeec.bdedac",
|
||||
"com.chwl.app.view.layoutmanager" : "fabcc.cffdbf",
|
||||
"com.chwl.app.view" : "cabdb.accfda",
|
||||
"com.chwl.app.utils" : "bcead.dfdbfb",
|
||||
"com.chwl.app.ui.widget.viewpager" : "cbffcedc.ceeebada",
|
||||
"com.chwl.app.ui.widget.rollviewpager.hintview" : "eedaced.ccaeddd",
|
||||
"com.chwl.app.ui.widget.rollviewpager.adapter" : "bdeeebd.aaacacf",
|
||||
"com.chwl.app.ui.widget.rollviewpager" : "ebffacb.ecccaaf",
|
||||
"com.chwl.app.ui.widget.recyclerview.layoutmanager" : "faffb.bbcdba",
|
||||
"com.chwl.app.ui.widget.recyclerview.decoration" : "afbbfef.dbebefb",
|
||||
"com.chwl.app.ui.widget.password" : "cdbdc.cfcdde",
|
||||
"com.chwl.app.ui.widget.marqueeview" : "fe.cff",
|
||||
"com.chwl.app.ui.widget.magicindicator.ext" : "edcebdc.abcdfda",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.titles.badge" : "aefeb.bfcdf",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.titles" : "eacbbaf.edaceeb",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.model" : "afcebbb.bcbbaba",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.indicators" : "ddede.cbafa",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs" : "aebeae.dcddcfc",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator" : "acab.aaea",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins.circlenavigator" : "acdcf.aecead",
|
||||
"com.chwl.app.ui.widget.magicindicator.buildins" : "eaeaabd.ccbaeabc",
|
||||
"com.chwl.app.ui.widget.magicindicator.abs" : "beeadefa.cffedbfa",
|
||||
"com.chwl.app.ui.widget.magicindicator" : "deecdc.cefebd",
|
||||
"com.chwl.app.ui.widget.interfacex" : "afef.cbfae",
|
||||
"com.chwl.app.ui.widget.higuide" : "cfc.cefd",
|
||||
"com.chwl.app.ui.widget.dynamicface" : "bacace.febaea",
|
||||
"com.chwl.app.ui.widget.drawgift" : "cae.cbb",
|
||||
"com.chwl.app.ui.widget.dialog" : "bccfaa.eeedea",
|
||||
"com.chwl.app.ui.widget.bubble" : "fccea.caeaa",
|
||||
"com.chwl.app.ui.widget.XRecyclerView" : "cff.dfb",
|
||||
"com.chwl.app.ui.widget" : "efaded.babadae",
|
||||
"com.chwl.app.ui.webview.room_banner" : "cada.eecbe",
|
||||
"com.chwl.app.ui.webview.event" : "ffbbb.ceebbb",
|
||||
"com.chwl.app.ui.webview" : "aaadff.eebecc",
|
||||
"com.chwl.app.ui.wallet.adapter" : "deccfe.bcbbbe",
|
||||
"com.chwl.app.ui.utils.sys" : "dfcdebe.adfefffe",
|
||||
"com.chwl.app.ui.utils" : "dcbeeada.dfeedeab",
|
||||
"com.chwl.app.ui.user.viewmodel" : "fafab.bedbf",
|
||||
"com.chwl.app.ui.user.fragment" : "dcbf.bdefe",
|
||||
"com.chwl.app.ui.user.event" : "feea.afda",
|
||||
"com.chwl.app.ui.user.dialog" : "feeaaf.cdbbab",
|
||||
"com.chwl.app.ui.user.decorationsend" : "abfbeaad.badffeebd",
|
||||
"com.chwl.app.ui.user.adapter" : "bbdbd.acccbd",
|
||||
"com.chwl.app.ui.user.activity" : "cbce.cfaac",
|
||||
"com.chwl.app.ui.setting.viewmodel" : "bfafaedcc.fbdbadacae",
|
||||
"com.chwl.app.ui.setting.bean" : "bccd.dddee",
|
||||
"com.chwl.app.ui.setting.adapter" : "ffcaca.fbfaafc",
|
||||
"com.chwl.app.ui.setting" : "ecaccbb.beccadff",
|
||||
"com.chwl.app.ui.search.view" : "fdbeb.deffd",
|
||||
"com.chwl.app.ui.search.presenter" : "adcae.bcfdca",
|
||||
"com.chwl.app.ui.search.event" : "acfa.ffcb",
|
||||
"com.chwl.app.ui.search" : "ddbffcaa.ffbccbbe",
|
||||
"com.chwl.app.ui.relation.adapter" : "fdcecaf.eabaeaef",
|
||||
"com.chwl.app.ui.relation" : "bedfeb.eeedcfb",
|
||||
"com.chwl.app.ui.radish" : "ffbac.dfaec",
|
||||
"com.chwl.app.ui.praise.base" : "eacffed.bfaeded",
|
||||
"com.chwl.app.ui.praise" : "cdcbd.fbecf",
|
||||
"com.chwl.app.ui.pay" : "eaddab.fdfdafb",
|
||||
"com.chwl.app.ui.patriarch.help" : "dfcbd.cdcfcc",
|
||||
"com.chwl.app.ui.patriarch" : "dfdeaddb.dbbdcaee",
|
||||
"com.chwl.app.ui.login.ui" : "aaadcea.bdbfdaba",
|
||||
"com.chwl.app.ui.login.helper" : "defefbb.cbfaccae",
|
||||
"com.chwl.app.ui.login.fragment" : "dcfb.bfdce",
|
||||
"com.chwl.app.ui.login" : "fbdb.abea",
|
||||
"com.chwl.app.ui.list" : "afbeccf.eeadfbf",
|
||||
"com.chwl.app.ui.keepalive" : "aabffd.fbaccfa",
|
||||
"com.chwl.app.ui.indicator_impl" : "cead.ddea",
|
||||
"com.chwl.app.ui.im.recent.holder" : "bdcb.eedb",
|
||||
"com.chwl.app.ui.im.recent.adapter" : "eeefed.becfad",
|
||||
"com.chwl.app.ui.im.recent" : "dfaebff.aabdecc",
|
||||
"com.chwl.app.ui.im.model" : "cbafae.dbecfdc",
|
||||
"com.chwl.app.ui.im.friend" : "dbecb.ccfcda",
|
||||
"com.chwl.app.ui.im.fragment" : "fcfffef.cdaaffee",
|
||||
"com.chwl.app.ui.im.chat" : "cddcabe.afbdedeb",
|
||||
"com.chwl.app.ui.im.avtivity" : "bebec.afdec",
|
||||
"com.chwl.app.ui.im.audio" : "accfdc.cdcbfac",
|
||||
"com.chwl.app.ui.im.actions" : "feefed.becfccf",
|
||||
"com.chwl.app.ui.im" : "beafbfbeb.dedfbbdbcb",
|
||||
"com.chwl.app.ui.gift.widget" : "bfaeacf.aabcdbfa",
|
||||
"com.chwl.app.ui.gift.util" : "deacecd.addbcee",
|
||||
"com.chwl.app.ui.gift.gif" : "befcb.affcf",
|
||||
"com.chwl.app.ui.gift.dialog" : "dccddf.bfcedeb",
|
||||
"com.chwl.app.ui.gift.callback" : "dceed.febbe",
|
||||
"com.chwl.app.ui.gift.adapter" : "eceedadb.dcfbbfdec",
|
||||
"com.chwl.app.ui.behavior" : "ccdfda.debfad",
|
||||
"com.chwl.app.ui.bean" : "faafdf.cefbbcb",
|
||||
"com.chwl.app.ui.anim" : "bacee.daccf",
|
||||
"com.chwl.app.ui.adapter" : "bdbce.adbdfc",
|
||||
"com.chwl.app.team.viewmodel" : "bfeace.ffbefff",
|
||||
"com.chwl.app.team.view" : "caead.eedace",
|
||||
"com.chwl.app.team.event" : "cacdecf.ddebcbd",
|
||||
"com.chwl.app.team.dialog" : "fdfcfc.aafcdc",
|
||||
"com.chwl.app.team.bean" : "fcebb.eebee",
|
||||
"com.chwl.app.team.adapter" : "bfddccfa.eadeaddae",
|
||||
"com.chwl.app.sys" : "cbebab.dacbed",
|
||||
"com.chwl.app.support" : "bdbeedc.fcdfcfa",
|
||||
"com.chwl.app.star" : "bffcec.cebfbb",
|
||||
"com.chwl.app.skill.widget" : "daeec.fdbbfb",
|
||||
"com.chwl.app.skill.repository" : "bbcdaeca.dcfbfcfbe",
|
||||
"com.chwl.app.skill.dialog" : "aedad.fefbab",
|
||||
"com.chwl.app.skill.decoration" : "bbeee.feabad",
|
||||
"com.chwl.app.skill.adapter" : "eeababfbe.accdfbdbd",
|
||||
"com.chwl.app.skill.activity" : "ebceceb.facbeebc",
|
||||
"com.chwl.app.skill" : "bfbacc.eabfde",
|
||||
"com.chwl.app.share.viewholder" : "dcdaef.bbcdfa",
|
||||
"com.chwl.app.share" : "bad.fabf",
|
||||
"com.chwl.app.service" : "ddacadb.abafdaa",
|
||||
"com.chwl.app.relation.extention" : "caedcc.deceffc",
|
||||
"com.chwl.app.relation.cp.widget" : "cefecca.adfcdaf",
|
||||
"com.chwl.app.relation.cp.viewmodel" : "bcabafedc.ccbfeeada",
|
||||
"com.chwl.app.relation.cp.model" : "ccfafe.fbdbaec",
|
||||
"com.chwl.app.relation.cp.fragment" : "bceb.dadfb",
|
||||
"com.chwl.app.relation.cp.dialog" : "fbceea.cefbefb",
|
||||
"com.chwl.app.relation.cp.adapter" : "abccbf.eaacbd",
|
||||
"com.chwl.app.relation.cp.activity" : "efaeff.aececca",
|
||||
"com.chwl.app.relation.cp" : "eabafed.efacabe",
|
||||
"com.chwl.app.reciever" : "cca.cba",
|
||||
"com.chwl.app.radish.widget" : "ffbea.aaddd",
|
||||
"com.chwl.app.radish.wallet" : "efeedaeccc.cfcaeacafa",
|
||||
"com.chwl.app.radish.view" : "becee.bcfeee",
|
||||
"com.chwl.app.radish.task.view" : "faaee.afbce",
|
||||
"com.chwl.app.radish.task.presenter" : "faedd.eecbcd",
|
||||
"com.chwl.app.radish.task.fragment" : "abfacfbc.deefaddda",
|
||||
"com.chwl.app.radish.task.adpter" : "bbdadbc.bcdcddbc",
|
||||
"com.chwl.app.radish.task.activity" : "dceccff.aafdfebc",
|
||||
"com.chwl.app.radish.presenter" : "acaecc.eaeddf",
|
||||
"com.chwl.app.radish.helper" : "faaeb.fffedc",
|
||||
"com.chwl.app.radish.adapter" : "fcfbbe.ddeecf",
|
||||
"com.chwl.app.radish.activity" : "bdfffab.dffcdfbf",
|
||||
"com.chwl.app.photo" : "eecccd.bfdbfcc",
|
||||
"com.chwl.app.pay.view" : "eacfaa.fbeaac",
|
||||
"com.chwl.app.pay.presenter" : "afceab.feabbff",
|
||||
"com.chwl.app.other.view" : "ddacd.cdbfca",
|
||||
"com.chwl.app.other.present" : "bbddcabe.bebbbdae",
|
||||
"com.chwl.app.other.dialog" : "cedb.bdeeb",
|
||||
"com.chwl.app.other.activity" : "e.ba",
|
||||
"com.chwl.app.other" : "faedfe.fabffda",
|
||||
"com.chwl.app.monsterhunting.bean" : "cedec.faddde",
|
||||
"com.chwl.app.monsterhunting" : "fbabff.dbfeac",
|
||||
"com.chwl.app.module" : "efdfeaf.efcddef",
|
||||
"com.chwl.app.luckymoney.viewholder" : "dfedf.eedab",
|
||||
"com.chwl.app.luckymoney.view" : "ddaddcd.caccbde",
|
||||
"com.chwl.app.luckymoney.dialog" : "ffecde.ebbcfef",
|
||||
"com.chwl.app.luckymoney.adapter" : "efeefc.eccdbf",
|
||||
"com.chwl.app.home.widget" : "dfaafb.fcdcae",
|
||||
"com.chwl.app.home.view" : "edfeb.efbcb",
|
||||
"com.chwl.app.home.refresh" : "cfadbacde.cfaedfcccf",
|
||||
"com.chwl.app.home.presenter" : "bdfece.fbefff",
|
||||
"com.chwl.app.home.helper" : "fadcf.dfbdfa",
|
||||
"com.chwl.app.home.fragment" : "beffafaea.aaccfbeab",
|
||||
"com.chwl.app.home.event" : "aadff.cfbdd",
|
||||
"com.chwl.app.home.dialog" : "bfbfb.ccacbc",
|
||||
"com.chwl.app.home.adapter" : "dcaaa.bacefa",
|
||||
"com.chwl.app.home.activity" : "cbafdaea.dabbbcef",
|
||||
"com.chwl.app.home" : "facc.ffdec",
|
||||
"com.chwl.app.guide" : "bafbbace.feffabda",
|
||||
"com.chwl.app.friend.view" : "dabb.cedce",
|
||||
"com.chwl.app.friend.action" : "deeead.dfedfad",
|
||||
"com.chwl.app.friend" : "bfddd.dfdef",
|
||||
"com.chwl.app.fansteam" : "eabdedaed.cfeadaacfe",
|
||||
"com.chwl.app.event" : "bdff.bafcc",
|
||||
"com.chwl.app.earn.adapter" : "dbddedf.cecfafa",
|
||||
"com.chwl.app.earn.activity" : "aedee.bcdadb",
|
||||
"com.chwl.app.earn" : "ffdbec.afddefd",
|
||||
"com.chwl.app.decoration.viewmodel" : "dccaca.cbaaeea",
|
||||
"com.chwl.app.decoration.view.widgets" : "dafde.edfde",
|
||||
"com.chwl.app.decoration.view" : "affeefb.cddaaab",
|
||||
"com.chwl.app.decoration.helper" : "bdbfa.aeccba",
|
||||
"com.chwl.app.decoration.adapter" : "ebbd.edae",
|
||||
"com.chwl.app.constants" : "ddeeea.cbabbd",
|
||||
"com.chwl.app.common.widget.dialog" : "adbbdfcb.abacbeeb",
|
||||
"com.chwl.app.common.widget" : "cdcbfd.cdcdaad",
|
||||
"com.chwl.app.common.util" : "bcaabadbafe.cbdddabbbcfd",
|
||||
"com.chwl.app.common.svga" : "dedde.effdb",
|
||||
"com.chwl.app.common.server" : "abbadac.adcefdc",
|
||||
"com.chwl.app.common.photo" : "bceefea.bcefcab",
|
||||
"com.chwl.app.common.permission" : "acfda.dfeeab",
|
||||
"com.chwl.app.common.dialog" : "deaeba.ffcaae",
|
||||
"com.chwl.app.common.app" : "dbcedb.cccffe",
|
||||
"com.chwl.app.common" : "cbaca.adadbb",
|
||||
"com.chwl.app.bindadapter" : "bacefd.cdbedf",
|
||||
"com.chwl.app.bills.widget" : "cdcfbd.fcadcaa",
|
||||
"com.chwl.app.bills.view" : "cda.aedf",
|
||||
"com.chwl.app.bills.presenter" : "bcbdbd.cfaccfd",
|
||||
"com.chwl.app.bills.fragmemt" : "baffeb.dedcfc",
|
||||
"com.chwl.app.bills.event" : "bdacea.effdae",
|
||||
"com.chwl.app.bills.adapter" : "dffcceeb.cfbbbddde",
|
||||
"com.chwl.app.bills.activities" : "ffaf.eadaa",
|
||||
"com.chwl.app.base.list" : "dffcde.efbadaa",
|
||||
"com.chwl.app.base" : "aedbb.fbfebd",
|
||||
"com.chwl.app.avroom.widget" : "caeddfb.efcaeecd",
|
||||
"com.chwl.app.avroom.view" : "bbaff.dbaabe",
|
||||
"com.chwl.app.avroom.singleroompk" : "bbadb.dbabde",
|
||||
"com.chwl.app.avroom.room_album" : "fffc.cdafe",
|
||||
"com.chwl.app.avroom.recommendcard" : "aaefc.cffadd",
|
||||
"com.chwl.app.avroom.rank" : "edadcb.beeaca",
|
||||
"com.chwl.app.avroom.presenter" : "dddee.cfdea",
|
||||
"com.chwl.app.avroom.newuserchargegift" : "bbfcc.bdbbb",
|
||||
"com.chwl.app.avroom.helper" : "bcfbb.dffeae",
|
||||
"com.chwl.app.avroom.giftvalue" : "acfcd.fbbcdd",
|
||||
"com.chwl.app.avroom.fragment" : "beefbb.fbcafec",
|
||||
"com.chwl.app.avroom.dialog" : "abbcea.ceadbc",
|
||||
"com.chwl.app.avroom.core" : "fbebb.bdbebf",
|
||||
"com.chwl.app.avroom.bean" : "affae.fcdff",
|
||||
"com.chwl.app.avroom.anotherroompk" : "bbdba.edbbe",
|
||||
"com.chwl.app.avroom.adapter" : "bffc.bbcd",
|
||||
"com.chwl.app.avroom.activity" : "dccdfed.ccdfdde",
|
||||
"com.chwl.app.avroom" : "bfedffaa.adfffbef",
|
||||
"com.chwl.app.audio.widget" : "bfcafa.fbbfdb",
|
||||
"com.chwl.app.audio.viewmodel" : "bdfe.bfccf",
|
||||
"com.chwl.app.audio.view" : "abdfdcc.bbcaebb",
|
||||
"com.chwl.app.audio.presenter" : "aeef.cbbaf",
|
||||
"com.chwl.app.audio.helper" : "cfeb.ebade",
|
||||
"com.chwl.app.audio.adapter" : "ddeceecf.dddcbccf",
|
||||
"com.chwl.app.audio" : "cdedecf.fbddecef",
|
||||
"com.chwl.app.application" : "cfd.ccae",
|
||||
"com.chwl.app" : "cfdd.baac",
|
||||
]
|
||||
|
||||
}
|
158
app/proguard-rules.pro
vendored
158
app/proguard-rules.pro
vendored
@@ -481,4 +481,160 @@
|
||||
|
||||
-keep public class com.alibaba.android.arouter.routes.**{*;}
|
||||
-keep public class com.alibaba.android.arouter.facade.**{*;}
|
||||
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
|
||||
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
|
||||
-keep class tech.sud.mgp.SudMGPWrapper.** {*;}
|
||||
|
||||
#new after proguard
|
||||
-dontwarn bdcb.eedb.**
|
||||
-keep class bdcb.eedb.** {*;}
|
||||
-keep class cddcabe.afbdedeb.** {*;}
|
||||
-keep class dfedf.eedab.** {*;}
|
||||
-keep class dcdaef.bbcdfa.** {*;}
|
||||
-keep class com.chwl.app.public_chat_hall.msg.viewholder.** {*;}
|
||||
-keep class decfc.acfca.** {*;}
|
||||
-keep class com.chwl.app.mentoring_relationship.viewholder.** {*;}
|
||||
-keep class b.** { *; }
|
||||
-keep class cb.** { *; }
|
||||
-keep public class * extends b.NP
|
||||
-keep public class * extends ddbfbdf.acbaddc.AbstractMvpPresenter
|
||||
-dontwarn bacefd.cdbedf.**
|
||||
-keep class bacefd.cdbedf.** {*;}
|
||||
-keep class f.DG{*;}
|
||||
-keep class bf.CA{*;}
|
||||
-keep class q.Y {*;}
|
||||
|
||||
-keep class bacccfc.abbadfec.** { *; }
|
||||
-keep class edecfbdbb.fbdcbfaaed.** { *; }
|
||||
-keep class bbfeef.fdaefba.** { *; }
|
||||
-keep class cfeefddf.daadadef.** { *; }
|
||||
-keep class eadfab.aaffafa.** { *; }
|
||||
-keep class cbbfdd.fdbaab.** { *; }
|
||||
-keep class fcffbcef.cbefeefa.** { *; }
|
||||
-keep class bbacbff.ecbddeb.** { *; }
|
||||
-keep class ebbbf.bfcbc.** { *; }
|
||||
-keep class afbfbfd.dffbcec.** { *; }
|
||||
-keep class el.** {*;}
|
||||
-keep class baf.edaf.** { *; }
|
||||
-keep class daddbf.cebdcdd.** { *; }
|
||||
-keep class adecece.cdedecc.** { *; }
|
||||
|
||||
-keep class fbbaffa.faecdbe.** { *; }
|
||||
-keep class accbfce.fccdabb.** { *; }
|
||||
-keep class afbfaa.afcdcd.** { *; }
|
||||
-keep class aecbcaf.acdbabae.** { *; }
|
||||
-keep class edeebee.fefabfb.** { *; }
|
||||
-dontwarn fbbaffa.faecdbe.**
|
||||
-dontwarn accbfce.fccdabb.**
|
||||
-dontwarn afbfaa.afcdcd.**
|
||||
-dontwarn aecbcaf.acdbabae.**
|
||||
-dontwarn edeebee.fefabfb.**
|
||||
|
||||
-keep class cp.** { *; }
|
||||
-dontwarn cp.**
|
||||
-keep public class * extends com.netease.nim.uikit.common.ui.recyclerview.holder.RecyclerViewHolder {*;}
|
||||
-keep public class * extends com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase {*;}
|
||||
|
||||
-keep class aea.baaf.** { *; }
|
||||
-keep class ddfb.edcab.** { *; }
|
||||
-keep class aeaaa.dedad.** { *; }
|
||||
-keep class acbfad.dcbefe.** { *; }
|
||||
-keep class deafc.bebac.** { *; }
|
||||
-keep class ffbe.bdac.** { *; }
|
||||
-keep class eaedcce.eebdfabf.** { *; }
|
||||
-keep class edcbb.bcfca.** { *; }
|
||||
-keep class ffdab.eabbd.** { *; }
|
||||
-keep class fcfc.debbb.** { *; }
|
||||
-keep class bfbcaedcbf.fddedfaafe.** { *; }
|
||||
-keep class eacfafb.adbcafda.** { *; }
|
||||
-keep class aedfcaaf.cdfbbcce.** { *; }
|
||||
-keep class bbcf.abac.** { *; }
|
||||
-keep class edfea.cddcb.** { *; }
|
||||
-keep class ccaad.bddfa.** { *; }
|
||||
-keep class aaffcba.daeefdac.** { *; }
|
||||
-keep class cbcdae.acdabfe.** { *; }
|
||||
-keep class eedbaeb.defbdfae.** { *; }
|
||||
-keep class cfeddda.aafffbc.** { *; }
|
||||
-keep class y.** {*;}
|
||||
-keep class eaffcdbc.daeffdba.** { *; }
|
||||
-keep class bfbdcd.fafefd.** { *; }
|
||||
-keep class ba.** {*;}
|
||||
-keep class aceac.ecabfe.** { *; }
|
||||
-keep class cdccdab.ebdbacb.** { *; }
|
||||
-keep class bababbc.cecaffca.** { *; }
|
||||
-keep class edbce.fdbbbc.** { *; }
|
||||
-keep class dfaabac.aabbefcc.** { *; }
|
||||
-keep class edccdc.abfbfcc.** { *; }
|
||||
-keep class eebfd.aaccca.** { *; }
|
||||
-keep class ecaed.eebace.** { *; }
|
||||
-keep class cfeee.cdeea.** { *; }
|
||||
-keep class afb.eaca.** { *; }
|
||||
-keep class bdebccd.fbfaecdb.** { *; }
|
||||
-keep class eacfafb.aadfdcee.** { *; }
|
||||
-keep class bceba.bbfce.** { *; }
|
||||
-keep class cd.** {*;}
|
||||
-keep class fddadcc.fbdbaaa.** { *; }
|
||||
-keep class bdabfb.aecccbc.** { *; }
|
||||
-keep class g.** {*;}
|
||||
-keep class edbaad.bbdcdfc.** { *; }
|
||||
-keep class acdfe.ebeaed.** { *; }
|
||||
-keep class fabffdc.ffcdadbe.** { *; }
|
||||
-keep class abbefdab.daeaadad.** { *; }
|
||||
-keep class def.cff.** { *; }
|
||||
-keep class fbefaae.fddefebe.** { *; }
|
||||
-keep class fbdfcae.fefbfee.** { *; }
|
||||
-keep class dfefd.bacabc.** { *; }
|
||||
-keep class ffedae.acfcdbb.** { *; }
|
||||
-keep class ddeeb.bdcdf.** { *; }
|
||||
-keep class dcabc.bbdaea.** { *; }
|
||||
-keep class adbaee.fffffc.** { *; }
|
||||
-keep class bb.** {*;}
|
||||
-keep class fffba.cdbfee.** { *; }
|
||||
-keep class cbeee.efcdfb.** { *; }
|
||||
-keep class cdaabd.cfabfca.** { *; }
|
||||
-keep class dbeef.acefca.** { *; }
|
||||
-keep class edbabbab.acdccacc.** { *; }
|
||||
-keep class dedfdbd.ebffbcba.** { *; }
|
||||
-keep class dfdefbe.fedadcf.** { *; }
|
||||
-keep class accd.bbdff.** { *; }
|
||||
-keep class u.** {*;}
|
||||
-keep class ebbffdf.beebece.** { *; }
|
||||
-keep class fcfdaa.edabfab.** { *; }
|
||||
-keep class afbba.abdcd.** { *; }
|
||||
-keep class dbcce.ecaeff.** { *; }
|
||||
-keep class fbbcdb.ddfadba.** { *; }
|
||||
-keep class bbecb.daedaf.** { *; }
|
||||
-keep class cdade.adeda.** { *; }
|
||||
-keep class bg.** {*;}
|
||||
-keep class bbcabbb.dcabfcd.** { *; }
|
||||
-keep class cfadf.caddb.** { *; }
|
||||
-keep class bdbabbdc.ffafceeac.** { *; }
|
||||
-keep class bd.** {*;}
|
||||
-keep class ccbd.abca.** { *; }
|
||||
-keep class j.** {*;}
|
||||
-keep class fbeebae.ebcadebe.** { *; }
|
||||
-keep class aaecbd.bfafacd.** { *; }
|
||||
-keep class fcef.caffe.** { *; }
|
||||
-keep class decd.efffc.** { *; }
|
||||
-keep class cdfaac.caaeba.** { *; }
|
||||
-keep class fdab.dbaad.** { *; }
|
||||
-keep class dbcdb.edafab.** { *; }
|
||||
-keep class feacbcff.edcaafbbb.** { *; }
|
||||
-keep class ebdeaeb.dbccefdb.** { *; }
|
||||
-keep class feacdf.cefdbd.** { *; }
|
||||
-keep class efbbc.adeda.** { *; }
|
||||
-keep class bccd.dddee.** { *; }
|
||||
-keep class faafdf.cefbbcb.** { *; }
|
||||
-keep class fcebb.eebee.** { *; }
|
||||
-keep class cedec.faddde.** { *; }
|
||||
-keep class affae.fcdff.** { *; }
|
||||
|
||||
-keep class eecdc.cddbfa.** { *; }
|
||||
-keep class fddd.dbae.** { *; }
|
||||
-keep class defceb.bddedaa.** { *; }
|
||||
-keep class decd.efffc.** { *; }
|
||||
|
||||
-keep class bbfeef.fdaefba.** { *; }
|
||||
-keep class baf.edaf.** { *; }
|
||||
-keep class acdb.aacb.** { *; }
|
||||
-keep class bacfcf.dddbef.** { *; }
|
||||
-keep class cfeaf.ddccec.** { *; }
|
@@ -51,9 +51,9 @@
|
||||
tools:node="remove" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<uses-permission tools:node="remove" android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
||||
<uses-permission tools:node="remove" android:name="android.permission.READ_MEDIA_VIDEO" />
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
@@ -82,12 +82,13 @@
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<!-- 对于 Android 12.0 及以上设备,还需要添加如下权限: -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_REMOTE_MESSAGING" />
|
||||
<application
|
||||
android:name=".application.App"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:label="@string/app_launch_name"
|
||||
android:largeHeap="true"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:resizeableActivity="true"
|
||||
@@ -127,6 +128,24 @@
|
||||
<!-- </intent-filter>-->
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".ui.link.LinkActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/transparent_activity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data
|
||||
android:host="app"
|
||||
android:scheme="molistar" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="firebase_crashlytics_collection_enabled"-->
|
||||
<!-- android:value="${CRASHLYTICS_COLLECTION_ENABLED}" /> <!– 刘海屏适配 begin –>-->
|
||||
@@ -162,7 +181,7 @@
|
||||
如果 SDKOptions 中提供了,取 SDKOptions 中的值。
|
||||
-->
|
||||
<!-- <activity-->
|
||||
<!-- android:name="app.hiyoo.fun.lineapi.LineAuthenticationCallbackActivity"-->
|
||||
<!-- android:name="app.molistar.fun.lineapi.LineAuthenticationCallbackActivity"-->
|
||||
<!-- android:exported="true"-->
|
||||
<!-- android:launchMode="singleTask"-->
|
||||
<!-- android:noHistory="true">-->
|
||||
@@ -223,7 +242,7 @@
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:configChanges="orientation|keyboardHidden|screenSize"
|
||||
android:label="Hiyoo"
|
||||
android:label="MoliStar"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan|stateAlwaysHidden" /> <!-- 配置的service和receiver -->
|
||||
@@ -247,6 +266,12 @@
|
||||
android:name=".avroom.activity.RoomSettingActivity"
|
||||
android:label="@string/main_androidmanifest_07"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomTypeSwitchActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomBgSettingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomManagerListActivity"
|
||||
android:label="@string/main_androidmanifest_08"
|
||||
@@ -291,6 +316,9 @@
|
||||
android:name=".ui.user.activity.UserInfoActivity"
|
||||
android:label="@string/main_androidmanifest_016"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.user.activity.UserCpListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".audio.AudioRecordActivity"
|
||||
android:label="@string/main_androidmanifest_017"
|
||||
@@ -300,12 +328,11 @@
|
||||
android:label="@string/main_androidmanifest_018"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".home.activity.CollectionRoomActivity"
|
||||
android:label="@string/main_androidmanifest_019"
|
||||
android:name=".ui.wallet.WalletActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.wallet.ExchangeGoldActivity"
|
||||
android:label="@string/main_androidmanifest_020"
|
||||
android:name=".home.activity.CollectionRoomActivity"
|
||||
android:label="@string/main_androidmanifest_019"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.setting.SettingActivity"
|
||||
@@ -316,18 +343,6 @@
|
||||
<activity
|
||||
android:name=".ui.relation.FansListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.WithdrawActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.bankcard.BindWithdrawBankCardActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.WithdrawRuleActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.BinderAlipayActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.user.activity.AboutActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -404,10 +419,6 @@
|
||||
android:name=".decoration.view.MyDecorationActivity"
|
||||
android:label="@string/main_androidmanifest_027"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".decoration.view.DecorationStoreActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".ui.user.activity.UserGiftActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -416,42 +427,6 @@
|
||||
android:name=".friend.view.SelectFriendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyPlazaActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyHomeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilySearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyManageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyCurrencyActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyInfoActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberSearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".team.view.NimTeamMessageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -496,10 +471,6 @@
|
||||
android:name=".luckymoney.view.LuckyMoneyDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" /> <!-- android:launchMode="singleTask" -->
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberCurrencyActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".ErbanTakePhotoActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -509,17 +480,14 @@
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilySelectFriendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
android:name=".treasure_box.activity.TreasureBoxActivity"
|
||||
android:theme="@style/transparent_activity" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyTextInputActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
android:name=".treasure_box.activity.BoxRankingActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyGameListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
android:name=".treasure_box.activity.TreasureBoxHonourActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity android:name=".ui.setting.VerifyPhoneActivity" />
|
||||
<activity android:name=".ui.setting.ModifyPwdActivity" />
|
||||
<activity
|
||||
@@ -531,17 +499,6 @@
|
||||
android:name=".ui.widget.RecallDialog"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/dialog_activity_close_inside" />
|
||||
<activity
|
||||
android:name=".public_chat_hall.activity.PublicChatHallHomeActivity"
|
||||
android:configChanges="keyboardHidden|orientation"
|
||||
android:label="@string/main_androidmanifest_028"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".public_chat_hall.activity.PublicChatHallAitFriendsActivity"
|
||||
android:configChanges="keyboardHidden|orientation"
|
||||
android:label="@string/main_androidmanifest_029"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.user.decorationsend.DecorationSendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -552,14 +509,6 @@
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomOnlineUserActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".public_chat_hall.activity.PublicChatHallRelatedToMeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".public_chat_hall.activity.AitFriendsSearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".ui.login.ShowBindPhoneActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -625,9 +574,6 @@
|
||||
<activity
|
||||
android:name=".module_hall.hall.activity.MemberSearchActivity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".avroom.activity.CpRoomInviteActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".module_hall.hall.activity.HallSearchActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -640,11 +586,6 @@
|
||||
<activity
|
||||
android:name=".module_hall.team.activity.HTeamMemberListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name="com.chwl.app.mentoring_relationship.activity.MentoringRelationshipActivity"
|
||||
android:label="@string/main_androidmanifest_030"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".avroom.recommendcard.MyRecommendCardActivity"
|
||||
android:launchMode="singleTask"
|
||||
@@ -655,12 +596,6 @@
|
||||
<activity
|
||||
android:name="com.chwl.app.room_chat.activity.RoomMsgActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name="com.chwl.app.room_chat.activity.RoomNewbieActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name="com.chwl.app.room_chat.activity.RoomNewbieMessageActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name="com.chwl.app.room_chat.activity.RoomInviteFansActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
@@ -678,9 +613,6 @@
|
||||
<activity
|
||||
android:name=".radish.activity.RadishRecordActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".radish.signin.SignInActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".radish.task.activity.TaskCenterActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -704,42 +636,6 @@
|
||||
<activity
|
||||
android:name=".audio.VoiceMatchActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldGuestPageActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 推荐位 -->
|
||||
<activity
|
||||
android:name=".miniworld.activity.TopicMainActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 房间内私聊 -->
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldEditActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldMemberListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldTeamMessageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MWTeamRoomMessageAct"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldGroupThemeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.AllTopicActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 房间内私聊 -->
|
||||
<!-- 萝卜-签到-任务 -->
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldSearchActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".miniworld.activity.MiniWorldMainActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".ui.im.friend.ActFriendList" />
|
||||
<activity
|
||||
android:name=".bank_card.activity.BankCardListActivity"
|
||||
@@ -760,19 +656,10 @@
|
||||
android:name=".home.activity.CommunityNoticeAct"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".community.publish.view.PublishActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustNothing" />
|
||||
<activity
|
||||
android:name=".community.dynamic.view.DynamicDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".community.photo.PreviewPhotoActivity"
|
||||
android:name=".photo.PreviewPhotoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".community.photo.BigPhotoActivity"
|
||||
android:name=".photo.BigPhotoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name="com.example.matisse.ui.MatisseActivity"
|
||||
@@ -783,41 +670,25 @@
|
||||
<activity
|
||||
android:name="com.example.matisse.internal.ui.SelectedPreviewActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 房间内私聊 -->
|
||||
<activity
|
||||
android:name=".ui.wallet.sendgold.SendGoldActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldToUserActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldSearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".ui.setting.PrivacySettingActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 银行卡列表 -->
|
||||
<activity
|
||||
android:name=".ui.setting.NoticeSettingActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 解除绑定银行卡 -->
|
||||
<activity
|
||||
android:name=".ui.login.LoginActivity"
|
||||
android:label="@string/main_androidmanifest_031"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait" /> <!-- 绑定银行卡 -->
|
||||
<activity
|
||||
android:name=".ui.webview.DialogWebViewActivity"
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" /> <!-- 隐私政策 -->
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".ui.webview.baishun.BaiShunGameWebActivity"
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".ui.webview.room_banner.RoomWebDialogActivity"
|
||||
android:theme="@style/room_dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<!-- 隐私政策 -->
|
||||
<activity
|
||||
android:name=".ui.webview.DatingRuleWebViewActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
@@ -830,6 +701,7 @@
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".ui.login.LoginPasswordActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait" /> <!-- 社区 -->
|
||||
<activity
|
||||
android:name=".ui.setting.ResetPasswordActivity"
|
||||
@@ -857,9 +729,6 @@
|
||||
android:name=".avroom.singleroompk.SingleRoomPKSearchActivity"
|
||||
android:theme="@style/dialog_web_view_activity"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".avroom.firstcharge.FirstChargeDialog"
|
||||
android:theme="@style/dialogactivity" />
|
||||
<activity
|
||||
android:name=".ui.setting.GrantedPermissionsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -867,8 +736,8 @@
|
||||
android:name=".ui.setting.PermissionGuideActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".vip.VipMainActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 隐私设置 -->
|
||||
android:name=".vip.VipCenterActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".vip.VipSettingActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 通知提醒设置 -->
|
||||
@@ -899,21 +768,6 @@
|
||||
<activity
|
||||
android:name=".relation.cp.activity.CpInviteRecordActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamJoinActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamJoinedActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".shipantics.PullRadishActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".shipantics.RadishRankingActivity"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name=".AgentActivity"
|
||||
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
|
||||
@@ -933,11 +787,6 @@
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".earn.activity.EarnWithdrawActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" /> <!-- com.chwl.core.skill -->
|
||||
<activity
|
||||
android:name=".earn.activity.BindWithdrawMsgActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
@@ -968,11 +817,6 @@
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.user.activity.EditUserLabelActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.webview.FairyDialogWebViewActivity"
|
||||
@@ -1036,21 +880,86 @@
|
||||
|
||||
<service
|
||||
android:name="com.netease.nimlib.service.NimService"
|
||||
android:foregroundServiceType="remoteMessaging"
|
||||
android:process=":core" />
|
||||
<service
|
||||
android:name="com.netease.nimlib.service.NimService$Aux"
|
||||
android:foregroundServiceType="remoteMessaging"
|
||||
android:process=":core" />
|
||||
<service
|
||||
android:name="com.netease.nimlib.job.NIMJobService"
|
||||
android:foregroundServiceType="remoteMessaging"
|
||||
android:permission="android.permission.BIND_JOB_SERVICE"
|
||||
android:process=":core" />
|
||||
<service android:name="com.netease.nimlib.service.ResponseService" />
|
||||
<service android:name="com.netease.nimlib.service.ResponseService"
|
||||
android:foregroundServiceType="remoteMessaging"/>
|
||||
<service
|
||||
android:name=".service.DaemonService"
|
||||
android:foregroundServiceType="mediaPlayback"
|
||||
android:enabled="true" />
|
||||
|
||||
<activity android:name=".avroom.room_album.RoomAlbumActivity" />
|
||||
|
||||
<activity android:name=".ui.language.LanguageActivity" />
|
||||
|
||||
<activity android:name=".public_chat.ui.message.PublicChatRoomMessageActivity"
|
||||
android:configChanges="keyboardHidden|orientation"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamJoinActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamJoinedActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".fansteam.FansTeamListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".decoration.view.DecorationStoreActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldToUserActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldSearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".game.ui.game.GameActivity"
|
||||
android:hardwareAccelerated="true"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".community.dynamic.view.DynamicDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".community.publish.view.PublishActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustNothing" />
|
||||
<activity
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:name=".ui.feedback.FeedbackActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".ui.debug.DebugActivity"
|
||||
android:screenOrientation="portrait"/>
|
||||
<activity android:name=".ui.game_team.record.GameTeamRecordActivity"
|
||||
android:screenOrientation="portrait"/>
|
||||
</application>
|
||||
|
||||
</manifest>
|
BIN
app/src/main/assets/mp4/cp_bind.mp4
Normal file
BIN
app/src/main/assets/mp4/cp_bind.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/mp4/cp_userinfo_anim_3.mp4
Normal file
BIN
app/src/main/assets/mp4/cp_userinfo_anim_3.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/mp4/cp_userinfo_anim_4.mp4
Normal file
BIN
app/src/main/assets/mp4/cp_userinfo_anim_4.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/mp4/cp_userinfo_anim_5.mp4
Normal file
BIN
app/src/main/assets/mp4/cp_userinfo_anim_5.mp4
Normal file
Binary file not shown.
BIN
app/src/main/assets/mp4/home_star.mp4
Normal file
BIN
app/src/main/assets/mp4/home_star.mp4
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
app/src/main/assets/svga/Combo_Boom.svga
Normal file
BIN
app/src/main/assets/svga/Combo_Boom.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/bubble_tran_bg.svga
Normal file
BIN
app/src/main/assets/svga/bubble_tran_bg.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_level_up_1.svga
Normal file
BIN
app/src/main/assets/svga/cp_level_up_1.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_level_up_2.svga
Normal file
BIN
app/src/main/assets/svga/cp_level_up_2.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_level_up_3.svga
Normal file
BIN
app/src/main/assets/svga/cp_level_up_3.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_level_up_4.svga
Normal file
BIN
app/src/main/assets/svga/cp_level_up_4.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_level_up_5.svga
Normal file
BIN
app/src/main/assets/svga/cp_level_up_5.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_list_head_1.svga
Normal file
BIN
app/src/main/assets/svga/cp_list_head_1.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_list_head_2.svga
Normal file
BIN
app/src/main/assets/svga/cp_list_head_2.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_list_head_3.svga
Normal file
BIN
app/src/main/assets/svga/cp_list_head_3.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_list_head_4.svga
Normal file
BIN
app/src/main/assets/svga/cp_list_head_4.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/cp_list_head_5.svga
Normal file
BIN
app/src/main/assets/svga/cp_list_head_5.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/gold_box_bg.svga
Normal file
BIN
app/src/main/assets/svga/gold_box_bg.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/home_pk.svga
Normal file
BIN
app/src/main/assets/svga/home_pk.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/home_star_gift.svga
Normal file
BIN
app/src/main/assets/svga/home_star_gift.svga
Normal file
Binary file not shown.
Binary file not shown.
BIN
app/src/main/assets/svga/room_menu_gift.svga
Normal file
BIN
app/src/main/assets/svga/room_menu_gift.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/room_pk_pb_indicator.svga
Normal file
BIN
app/src/main/assets/svga/room_pk_pb_indicator.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/single_room_pk_pb_indicator.svga
Normal file
BIN
app/src/main/assets/svga/single_room_pk_pb_indicator.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/single_room_pk_vs.svga
Normal file
BIN
app/src/main/assets/svga/single_room_pk_vs.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/smash_eggs_open.svga
Normal file
BIN
app/src/main/assets/svga/smash_eggs_open.svga
Normal file
Binary file not shown.
BIN
app/src/main/assets/svga/svga_voice_like_button.svga
Normal file
BIN
app/src/main/assets/svga/svga_voice_like_button.svga
Normal file
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 25 KiB |
@@ -23,22 +23,31 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.chwl.app.base.GlobalViewModelOwner;
|
||||
import com.chwl.app.common.widget.dialog.DialogManager;
|
||||
import com.chwl.app.community.square.SquareFragment;
|
||||
import com.chwl.app.game.core.GameStateAbility;
|
||||
import com.chwl.app.game.data.GameModel2;
|
||||
import com.chwl.app.game.ui.game.GameActivity;
|
||||
import com.chwl.app.game.ui.game.GameIntent;
|
||||
import com.chwl.app.game.ui.home.GameHomeFragment;
|
||||
import com.chwl.app.star.StarFragment;
|
||||
import com.chwl.app.support.PreloadResourceViewModel;
|
||||
import com.chwl.app.ui.login.LoginPasswordActivity;
|
||||
import com.chwl.core.home.bean.MainTabInfo;
|
||||
import com.chwl.core.settings.SettingsModel;
|
||||
import com.chwl.library.utils.JavaUtil;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.RequestCallbackWrapper;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent;
|
||||
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.RecentContact;
|
||||
import com.netease.nimlib.sdk.team.TeamService;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamMessageNotifyTypeEnum;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.chwl.app.upgrade.AppUpgradeHelper;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.chwl.app.application.IReportConstants;
|
||||
import com.chwl.app.application.ReportManager;
|
||||
@@ -47,9 +56,6 @@ import com.chwl.app.avroom.activity.AVRoomActivity;
|
||||
import com.chwl.app.base.BaseMvpActivity;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.app.common.widget.DragLayout;
|
||||
import com.chwl.app.community.dynamic.view.DynamicDetailActivity;
|
||||
import com.chwl.app.community.publish.view.PublishActivity;
|
||||
import com.chwl.app.family.view.activity.FamilyHomeActivity;
|
||||
import com.chwl.app.home.HomeViewModel;
|
||||
import com.chwl.app.home.dialog.NewUserHelloDialog;
|
||||
import com.chwl.app.home.dialog.ProtocolUpdateDialog;
|
||||
@@ -59,15 +65,12 @@ import com.chwl.app.home.fragment.MeFragment;
|
||||
import com.chwl.app.home.presenter.MainPresenter;
|
||||
import com.chwl.app.home.view.IMainView;
|
||||
import com.chwl.app.home.widget.AnchorCardView;
|
||||
import com.chwl.app.main.helper.NoticationsUiHelper;
|
||||
import com.chwl.app.miniworld.activity.MiniWorldGuestPageActivity;
|
||||
import com.chwl.app.module.Extras;
|
||||
import com.chwl.app.module_hall.secretcode.PwdCodeMgr;
|
||||
import com.chwl.app.service.DaemonService;
|
||||
import com.chwl.app.ui.im.ImInitHelper;
|
||||
import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.chwl.app.ui.login.BindPhoneActivity;
|
||||
import com.chwl.app.ui.login.LoginActivity;
|
||||
import com.chwl.app.ui.login.fragment.AddUserInfoFragment;
|
||||
import com.chwl.app.ui.patriarch.help.LimitEnterRoomHelper;
|
||||
import com.chwl.app.ui.patriarch.help.PmDialogShowMrg;
|
||||
@@ -89,7 +92,6 @@ import com.chwl.core.channel_page.model.ChannelPageModel;
|
||||
import com.chwl.core.community.event.SquareTaskEvent;
|
||||
import com.chwl.core.community.event.UnReadCountEvent;
|
||||
import com.chwl.core.home.bean.MainTabType;
|
||||
import com.chwl.core.home.event.RefreshHomeDataEvent;
|
||||
import com.chwl.core.home.event.VisitorUnreadCountEvent;
|
||||
import com.chwl.core.home.model.GameHomeModel;
|
||||
import com.chwl.core.home.model.HomeModel;
|
||||
@@ -114,7 +116,6 @@ import com.chwl.core.utils.SharedPreferenceUtils;
|
||||
import com.chwl.core.utils.StringFormatUtils;
|
||||
import com.chwl.library.base.factory.CreatePresenter;
|
||||
import com.chwl.library.threadmgr.ThreadPoolManager;
|
||||
import com.chwl.library.utils.JavaUtil;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -125,10 +126,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
@@ -141,7 +138,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private static final String TAG = "MainActivity";
|
||||
private static final String EXTRA_APP_QUIT = "APP_QUIT";
|
||||
private final SparseArray<Fragment> fragmentArray = new SparseArray<>();
|
||||
private DragLayout avatarLayout;
|
||||
private View avatarLayout;
|
||||
private CircleImageView avatarImage;
|
||||
private LivingIconView userLivingView;
|
||||
private MainTabLayout mMainTabLayout;
|
||||
@@ -160,13 +157,15 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private boolean mResumed = false;
|
||||
@Nullable
|
||||
private Fragment tempFragment = null;
|
||||
private DialogManager resumeGameDialogManager;
|
||||
|
||||
@Nullable
|
||||
private Runnable touchRunnable;
|
||||
|
||||
{
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment());
|
||||
// fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_GAME, new GameHomeFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_MSG, new ContactsListFragment());
|
||||
fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment());
|
||||
}
|
||||
@@ -199,16 +198,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
// 跳转
|
||||
if (!StringUtil.isEmpty(linkedInfo.getRoomUid()) && linkedInfo.getType().equals("2")) {
|
||||
AVRoomActivity.start(context, Long.parseLong(linkedInfo.getRoomUid()));
|
||||
} else if (!StringUtil.isEmpty(linkedInfo.getFamilyId()) && linkedInfo.getType().equals("4")) {
|
||||
FamilyHomeActivity.start(context, linkedInfo.getFamilyId());
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getUrl()) && linkedInfo.getType().equals("3")) {
|
||||
CommonWebViewActivity.start(context, UriProvider.getLinkUrl(linkedInfo.getUrl()));
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getWorldId()) && linkedInfo.getType().equals("5")) {
|
||||
MiniWorldGuestPageActivity.start(context, linkedInfo.getWorldId());
|
||||
} else if (linkedInfo.getType().equals("6") && !TextUtils.isEmpty(linkedInfo.getWorldId()) &&
|
||||
!TextUtils.isEmpty(linkedInfo.getDynamicId())) {
|
||||
DynamicDetailActivity.start(context, JavaUtil.str2long(linkedInfo.getDynamicId()),
|
||||
JavaUtil.str2long(linkedInfo.getWorldId()), 6);
|
||||
} else if (linkedInfo.getType().equals("7") && !TextUtils.isEmpty(linkedInfo.getUid())) {
|
||||
NimP2PMessageActivity.start(context, linkedInfo.getUid());
|
||||
} else {
|
||||
@@ -233,7 +224,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
homeViewModel = new ViewModelProvider(this).get(HomeViewModel.class);
|
||||
ViewModelProvider viewModelProvider = new ViewModelProvider(this);
|
||||
homeViewModel = viewModelProvider.get(HomeViewModel.class);
|
||||
NimMiddleActivity.firstEnter = false;
|
||||
if (savedInstanceState != null) {
|
||||
mCurrentTabType = savedInstanceState.getInt(Constants.KEY_MAIN_POSITION);
|
||||
@@ -244,13 +236,10 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
.doOnError(throwable -> onNeedLogin())
|
||||
.subscribe();
|
||||
initView();
|
||||
InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfo -> {
|
||||
if (mainTabInfo != null) {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfo);
|
||||
}
|
||||
});
|
||||
//检测更新
|
||||
AppUpgradeHelper.checkAppUpgrade(this);
|
||||
List<MainTabInfo> mainTabInfo = InitialModel.get().getMainTabInfosLiveData().getValue();
|
||||
if (mainTabInfo != null) {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfo);
|
||||
}
|
||||
initMaterialView();
|
||||
onParseIntent();
|
||||
updateDatas();
|
||||
@@ -259,17 +248,13 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
EventBus.getDefault().register(this);
|
||||
otherModelInit();
|
||||
|
||||
Observable.interval(60, TimeUnit.SECONDS)
|
||||
.compose(bindToLifecycle())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(aLong -> EventBus.getDefault().post(new RefreshHomeDataEvent()));
|
||||
|
||||
homeViewModel.getAnchorInfoLiveData().observe(this, anchorInfo -> {
|
||||
if (anchorInfo != null) {
|
||||
anchorCardView.setAnchorInfo(anchorInfo);
|
||||
DemoCache.saveAnchorCardView(2);
|
||||
}
|
||||
});
|
||||
checkResumeGame();
|
||||
}
|
||||
|
||||
private void otherModelInit() {
|
||||
@@ -279,6 +264,48 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
IMBroadcastManager.get().onCreate();
|
||||
ImageLoadUtilsV2.init(context);
|
||||
SettingsModel.get().checkSysAccount();
|
||||
initPreloadResource();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void checkResumeGame() {
|
||||
GameModel2.INSTANCE.getResumeGameRoomInfo().compose(bindToLifecycle()).subscribe(gameRoomInfo -> {
|
||||
if (gameRoomInfo != null && gameRoomInfo.getData() != null) {
|
||||
Integer state = gameRoomInfo.getData().getMatchStatus();
|
||||
if (state != null && (state == GameStateAbility.STATE_MATCH_SUCCESS || state == GameStateAbility.STATE_MATCHING)) {
|
||||
if (resumeGameDialogManager == null) {
|
||||
resumeGameDialogManager = new DialogManager(this);
|
||||
}
|
||||
resumeGameDialogManager.showOkCancelDialog(getString(R.string.resume_game_tips), getString(R.string.join_organization_ok), getString(R.string.join_organization_no), false, new DialogManager.OkCancelDialogListener() {
|
||||
@Override
|
||||
public void onOk() {
|
||||
long gameId = JavaUtil.str2long(gameRoomInfo.getData().getMgId());
|
||||
int gameMode = 0;
|
||||
GameActivity.Companion.start(context, new GameIntent(gameId, gameMode));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
DialogManager.OkCancelDialogListener.super.onCancel();
|
||||
Long roomId = gameRoomInfo.getRoomId();
|
||||
if (roomId != null) {
|
||||
GameModel2.INSTANCE.closeGameRx(roomId).compose(bindToLifecycle()).subscribe(s -> {
|
||||
}, throwable -> {
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}, throwable -> {
|
||||
});
|
||||
}
|
||||
|
||||
private void initPreloadResource() {
|
||||
PreloadResourceViewModel viewModel = new ViewModelProvider(
|
||||
GlobalViewModelOwner.Companion.getInstance()
|
||||
).get(PreloadResourceViewModel.class);
|
||||
viewModel.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -327,34 +354,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
UserInfo userInfo = UserModel.get().getCacheLoginUserInfo();
|
||||
if (userInfo != null) {
|
||||
handleLinkedJump(this);
|
||||
// if (userInfo.isShowLimitCharge() &&
|
||||
// PmDialogShowMrg.get().isHasShow() &&
|
||||
// DemoCache.readNewUserChargeGift() == 1) {
|
||||
// StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_NUGIFT_POP_SHOW, getString(R.string.enjoy_the_popup_exposure));
|
||||
// NewUserChargeGiftDialog.start(context);
|
||||
// DemoCache.saveNewUserChargeGift(2);
|
||||
// }
|
||||
// checkShowAnchorCardView();
|
||||
}
|
||||
}
|
||||
|
||||
// private void checkShowAnchorCardView() {
|
||||
// if (touchRunnable != null || !mResumed || AvRoomDataManager.get().mCurrentRoomInfo != null)
|
||||
// return;
|
||||
// int anchorCardViewType = DemoCache.readAnchorCardView();
|
||||
// if (anchorCardViewType == 2) {
|
||||
// if (CurrentTimeUtils.getCurrentTime() - DemoCache.readAnchorCardViewTime() > 15 * 60 * 1000) {
|
||||
// touchRunnable = () -> {
|
||||
// touchRunnable = null;
|
||||
// homeViewModel.requestAnchorInfo();
|
||||
// };
|
||||
// mMainTabLayout.postDelayed(touchRunnable, 5000);
|
||||
// }
|
||||
// } else if (anchorCardViewType == 1 || DemoCache.readLaunchCount() == 1) {
|
||||
// homeViewModel.requestAnchorInfo();
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
@@ -388,10 +390,10 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
userLivingView.setColor(Color.WHITE);
|
||||
mMainTabLayout.setOnTabClickListener(this);
|
||||
anchorCardView = findViewById(R.id.vs_anchor_card);
|
||||
mMainTabLayout.setDefaultTabType(mCurrentTabType);
|
||||
}
|
||||
|
||||
private void updateDatas() {
|
||||
mMainTabLayout.setDefaultTabType(mCurrentTabType);
|
||||
handleNimIntent();
|
||||
}
|
||||
|
||||
@@ -436,6 +438,9 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
protected void onDestroy() {
|
||||
CleanLeakUtils.fixInputMethodManagerLeak(MainActivity.this);
|
||||
super.onDestroy();
|
||||
if (resumeGameDialogManager != null) {
|
||||
resumeGameDialogManager.dismissDialog();
|
||||
}
|
||||
ImInitHelper.get().unInit();
|
||||
EventBus.getDefault().unregister(this);
|
||||
stopRoomMinAnim();
|
||||
@@ -506,8 +511,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
|
||||
Log.i("checkLostUser", "onLogin");
|
||||
|
||||
//登录成功查询未读信息数量
|
||||
mMainTabLayout.setUnReadDynamicCount(0);
|
||||
int unreadCount = IMMessageManager.get().queryUnreadMsg();
|
||||
mMainTabLayout.setMsgNum(unreadCount);
|
||||
openCommunityNotice();
|
||||
@@ -522,14 +525,14 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
public void onLogout() {
|
||||
Logger.e(TAG, "onLogout Success ~~~~");
|
||||
getMvpPresenter().exitRoom();
|
||||
LoginActivity.start(MainActivity.this);
|
||||
LoginPasswordActivity.start(MainActivity.this);
|
||||
PmDialogShowMrg.get().onLogout();
|
||||
finish();
|
||||
}
|
||||
|
||||
public void onNeedLogin() {
|
||||
NimMiddleActivity.openCommunity = false;
|
||||
LoginActivity.start(MainActivity.this);
|
||||
LoginPasswordActivity.start(MainActivity.this);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -572,27 +575,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
private void updateRoomState() {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null) {
|
||||
UserModel.get().getUserInfo(roomInfo.getUid())
|
||||
.subscribe(userInfo -> {
|
||||
if (userInfo != null) {
|
||||
displayAvatarLayout(userInfo.getAvatar(), roomInfo.getTitle(), userInfo.getErbanNo());
|
||||
} else {
|
||||
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(roomInfo.getUid() + "");
|
||||
if (nimUserInfo == null) {
|
||||
NimUserInfoCache.getInstance().getUserInfoFromRemote(roomInfo.getUid() + "", new RequestCallbackWrapper<NimUserInfo>() {
|
||||
@Override
|
||||
public void onResult(int i, NimUserInfo nimUserInfo, Throwable throwable) {
|
||||
if (nimUserInfo != null) {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(), roomInfo.getTitle(), userInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
displayAvatarLayout(nimUserInfo.getAvatar(), roomInfo.getTitle(), userInfo.getUid());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
displayAvatarLayout(roomInfo.getAvatar(), roomInfo.getTitle(), roomInfo.getUid());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -641,9 +624,13 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
transaction.add(R.id.main_fragment, showFragment, null);
|
||||
}
|
||||
transaction.show(showFragment);
|
||||
if (tempFragment != null) transaction.hide(tempFragment);
|
||||
if (tempFragment != null) {
|
||||
transaction.hide(tempFragment);
|
||||
}
|
||||
tempFragment = showFragment;
|
||||
if (!isDestroyed()) transaction.commitNowAllowingStateLoss();
|
||||
if (!isDestroyed()) {
|
||||
transaction.commitNowAllowingStateLoss();
|
||||
}
|
||||
mCurrentTabType = tabType;
|
||||
|
||||
//每次点击我的都更新当前用户信息
|
||||
@@ -655,9 +642,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
case MainTabType.TAB_TYPE_HOME:
|
||||
reportTabClick(IReportConstants.ELEVEN);
|
||||
break;
|
||||
case MainTabType.TAB_TYPE_SQUARE:
|
||||
reportTabClick(IReportConstants.TWELVE);
|
||||
break;
|
||||
case MainTabType.TAB_TYPE_MSG:
|
||||
reportTabClick(IReportConstants.THIRTEEN);
|
||||
break;
|
||||
@@ -676,7 +660,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
//登录页展示时
|
||||
HashMap<String, Object> map = new HashMap<>(3);
|
||||
map.put(IReportConstants.HOMEPAGE_TYPE, type);
|
||||
map.put(IReportConstants.MODULE, IReportConstants.PEKO_HOMEPAGE);
|
||||
map.put(IReportConstants.MODULE, IReportConstants.MOLISTAR_HOMEPAGE);
|
||||
ReportManager.get().reportEvent(IReportConstants.MODULE_HOMEPAGE_CLICK, map);
|
||||
}
|
||||
|
||||
@@ -694,9 +678,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
//青少年弹窗处理
|
||||
PmDialogShowMrg.get().handle(new WeakReference<>(this));
|
||||
|
||||
//通知栏权限判断
|
||||
NoticationsUiHelper.handle(this, getDialogManager());
|
||||
|
||||
handleChannelPageInfo();
|
||||
|
||||
checkProtocolUpdate();
|
||||
@@ -847,16 +828,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onUnReadCount(UnReadCountEvent event) {
|
||||
mMainTabLayout.setUnReadDynamicCount(event.getTotal());
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void SquarePublish(SquareTaskEvent event) {
|
||||
if (getDialogManager() != null) {
|
||||
PublishActivity.start(getDialogManager());
|
||||
}
|
||||
}
|
||||
|
||||
private void handlePmExitRoom() {
|
||||
|
4
app/src/main/java/com/chwl/app/MainTabContentView.kt
Normal file
4
app/src/main/java/com/chwl/app/MainTabContentView.kt
Normal file
@@ -0,0 +1,4 @@
|
||||
package com.chwl.app
|
||||
|
||||
interface MainTabContentView {
|
||||
}
|
@@ -12,7 +12,6 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity;
|
||||
import com.chwl.app.base.BaseActivity;
|
||||
import com.chwl.app.radish.signin.SignInActivity;
|
||||
import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity;
|
||||
import com.chwl.app.utils.PushMessageHandler;
|
||||
@@ -106,11 +105,6 @@ public class NimMiddleActivity extends BaseActivity {
|
||||
if (noticeAttachment.getUid() > 0) {
|
||||
AVRoomActivity.start(this, noticeAttachment.getUid());
|
||||
}
|
||||
} else if (attachment instanceof OpenSignInAttachment) {
|
||||
if (AuthModel.get().isImLogin()
|
||||
&& !UIUtils.isTopActivity(this, SignInActivity.class.getSimpleName())) {
|
||||
SignInActivity.start(this);
|
||||
}
|
||||
} else if (attachment.getFirst() == CustomAttachment.CUSTOM_MSG_RED_PACKAGE) {
|
||||
if (attachment.getSecond() == CustomAttachment.CUSTOM_MSG_SUB_RED_PACKAGE_RECEIVE_ALL_DIAMOND) {
|
||||
RedPackageAttachment redPackageAttachment = (RedPackageAttachment) attachment;
|
||||
|
@@ -10,7 +10,6 @@ import com.chwl.app.audio.SoundSignatureActivity;
|
||||
import com.chwl.app.ui.login.AddUserInfoActivity;
|
||||
import com.chwl.app.ui.login.ModifyInfoActivity;
|
||||
import com.chwl.app.ui.setting.SettingActivity;
|
||||
import com.chwl.app.ui.user.activity.EditUserLabelActivity;
|
||||
import com.chwl.app.ui.user.activity.UserInfoActivity;
|
||||
import com.chwl.app.ui.user.activity.UserInfoModifyActivity;
|
||||
import com.chwl.app.ui.user.activity.UserModifyPhotosActivity;
|
||||
@@ -108,12 +107,7 @@ public class UIHelper {
|
||||
|
||||
public static void showMonsterResult(Context context, String monsterId) {
|
||||
CommonWebViewActivity.start(context, UriProvider.IM_SERVER_URL +
|
||||
"/hiyoo/modules/monster/index.html?monsterId=" + monsterId);
|
||||
}
|
||||
|
||||
public static void showLabelInfoAct(Activity mActivity, int requestCode) {
|
||||
Intent intent = new Intent(mActivity, EditUserLabelActivity.class);
|
||||
mActivity.startActivityForResult(intent, requestCode);
|
||||
"/molistar/modules/monster/index.html?monsterId=" + monsterId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -132,11 +126,11 @@ public class UIHelper {
|
||||
*/
|
||||
public static void showRecommendPosH5(Context context) {
|
||||
String cardUrl = UriProvider.JAVA_WEB_URL +
|
||||
"/hiyoo/modules/recommend-card/index.html";
|
||||
"/molistar/modules/recommend-card/index.html";
|
||||
CommonWebViewActivity.start(context, cardUrl);
|
||||
}
|
||||
|
||||
public static void openContactUs(Context context) {
|
||||
CommonWebViewActivity.start(context, UriProvider.IM_SERVER_URL + "/hiyoo/modules/contact/contact.html");
|
||||
CommonWebViewActivity.start(context, UriProvider.IM_SERVER_URL + "/molistar/modules/contact/contact.html");
|
||||
}
|
||||
}
|
||||
|
@@ -5,22 +5,27 @@ import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TY
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.net.http.HttpResponseCache;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.util.Supplier;
|
||||
import androidx.multidex.MultiDex;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.bumptech.glide.request.target.ViewTarget;
|
||||
import com.chwl.app.support.IMUserInfoProvider;
|
||||
import com.example.lib_utils.LanguageUtils;
|
||||
import com.chwl.library.language.LanguageHelper;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.example.lib_utils.ServiceTime;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.liulishuo.filedownloader.FileDownloader;
|
||||
import com.netease.nim.uikit.api.NimUIKit;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
@@ -66,9 +71,7 @@ import com.chwl.core.interceptor.TimeSyncInterceptor;
|
||||
import com.chwl.core.manager.IMMessageManager;
|
||||
import com.chwl.core.manager.IMSystemMsgManager;
|
||||
import com.chwl.core.market_verify.MarketVerifyModel;
|
||||
import com.chwl.core.mentoring_relationship.model.MentoringRelationshipModel;
|
||||
import com.chwl.core.pay.PayModel;
|
||||
import com.chwl.core.public_chat_hall.model.PublicChatHallModel;
|
||||
import com.chwl.core.radish.RadishModel;
|
||||
import com.chwl.core.radish.signin.bean.ImNotice;
|
||||
import com.chwl.core.room.face.DynamicFaceModel;
|
||||
@@ -82,7 +85,6 @@ import com.chwl.library.common.file.FileHelper;
|
||||
import com.chwl.library.net.rxnet.RxNet;
|
||||
import com.chwl.library.net.rxnet.converter.GsonConverterPlugins;
|
||||
import com.chwl.library.utils.AppMetaDataUtil;
|
||||
import com.chwl.library.utils.AppUtils;
|
||||
import com.chwl.library.utils.DeviceUuidFactory;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
@@ -323,6 +325,7 @@ public class App extends BaseApp {
|
||||
BasicConfig.INSTANCE.setVoiceDir(Constants.VOICE_DIR);
|
||||
BasicConfig.INSTANCE.setCacheDir(Constants.CACHE_DIR);
|
||||
BasicConfig.INSTANCE.setImageDir(Constants.IMAGE_CACHE_DIR);
|
||||
com.example.lib_utils.log.LogUtil.INSTANCE.setConsolePrinterEnabled(BuildConfig.DEBUG);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -414,13 +417,13 @@ public class App extends BaseApp {
|
||||
httpParams.put("netType", String.valueOf(SystemUtils.getNetworkType(context)));
|
||||
httpParams.put("model", SystemUtils.getPhoneModel());
|
||||
httpParams.put("appVersion", VersionUtil.getLocalName(context));
|
||||
httpParams.put("appVersionCode", String.valueOf(AppUtils.getVersionCode(context)));
|
||||
httpParams.put("appVersionCode", String.valueOf(VersionUtil.getVersionCode(context)));
|
||||
httpParams.put("deviceId", DeviceUuidFactory.getDeviceId(context));
|
||||
httpParams.put("androidId", MD5Utils.getMD5String(Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID)));
|
||||
httpParams.put("channel", AppMetaDataUtil.getChannelID());
|
||||
httpParams.put("lang", LanguageUtils.INSTANCE.getSystemLanguage().toLanguageTag());
|
||||
httpParams.put("lang", LanguageHelper.INSTANCE.getSystemLanguage().toLanguageTag());
|
||||
RxNet.init(context)
|
||||
.debug(Env.isDebug())
|
||||
.debug(Env.isRealDebug())
|
||||
.setBaseUrl(url)
|
||||
.addInterceptors(new ParamsInterceptor(httpParams))
|
||||
.addInterceptors(new NoParamsInterceptor())//注意:拦截器的添加顺序,请求的拦截顺序
|
||||
@@ -456,6 +459,7 @@ public class App extends BaseApp {
|
||||
.build();
|
||||
Realm.setDefaultConfiguration(config);
|
||||
|
||||
FileDownloader.setup(BasicConfig.INSTANCE.getAppContext());
|
||||
LogUtil.i(TAG, channel);
|
||||
}
|
||||
|
||||
@@ -480,11 +484,8 @@ public class App extends BaseApp {
|
||||
ChannelModel.get();
|
||||
MarketVerifyModel.get();
|
||||
GiftModel.get();
|
||||
PublicChatHallModel.get();
|
||||
// 模厅
|
||||
HallDataManager.get().application();
|
||||
// 师徒
|
||||
MentoringRelationshipModel.get();
|
||||
//全局处理
|
||||
GlobalHandleManager.get().init();
|
||||
|
||||
@@ -527,11 +528,13 @@ public class App extends BaseApp {
|
||||
BasicConfig.INSTANCE.setAppContext(this.getApplicationContext());
|
||||
SharedPreferenceUtils.init(this);
|
||||
ResUtil.init(this);
|
||||
ResUtil.contextSupplier = () -> App.gStack.getTopContext();
|
||||
LanguageHelper.INSTANCE.wrapContext(instance);
|
||||
initOtherSDK();
|
||||
initContext(this);
|
||||
//首次启动事件
|
||||
HashMap<String, Object> map = new HashMap<>(2);
|
||||
map.put(IReportConstants.MODULE, IReportConstants.PEKO_ACTIVATE);
|
||||
map.put(IReportConstants.MODULE, IReportConstants.MOLISTAR_ACTIVATE);
|
||||
ReportManager.get().reportEvent(IReportConstants.ACTIVATE_FIRST, map);
|
||||
}
|
||||
|
||||
@@ -555,6 +558,12 @@ public class App extends BaseApp {
|
||||
MultiDex.install(base);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(@NonNull Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
LanguageHelper.INSTANCE.wrapContext(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTerminate() {
|
||||
super.onTerminate();
|
||||
|
@@ -2,15 +2,11 @@ package com.chwl.app.application;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import com.chwl.app.upgrade.AppUpgradeHelper;
|
||||
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
|
||||
import com.chwl.app.avroom.newuserchargegift.NewUserChargePrizeDialog;
|
||||
import com.chwl.app.relation.cp.dialog.CpGlobalDialog;
|
||||
import com.chwl.app.ui.widget.LevelUpDialog;
|
||||
import com.chwl.app.ui.widget.RecallDialog;
|
||||
import com.chwl.app.ui.widget.lottery_dialog.LotteryDialogManager;
|
||||
import com.chwl.app.vip.dialog.VipUpgradeDialog;
|
||||
import com.chwl.core.activity.bean.LotteryInfo;
|
||||
import com.chwl.core.level.event.CharmLevelUpEvent;
|
||||
import com.chwl.core.level.event.LevelUpEvent;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
@@ -55,14 +51,6 @@ public class GlobalHandleManager {
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onImPushUpdateAppEvent(ImPushUpdateAppEvent event) {
|
||||
AppUpgradeHelper.checkAppUpgrade((RxAppCompatActivity) getActivity(), event.getInfo());
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onReceiveLotteryActivity(LotteryInfo lotteryInfo) {
|
||||
Activity activity = getActivity();
|
||||
if (activity == null) return;
|
||||
LotteryDialogManager.checkLotteryDialog(activity);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -109,7 +97,7 @@ public class GlobalHandleManager {
|
||||
Activity activity = getActivity();
|
||||
if (activity == null) return;
|
||||
if (AvRoomDataManager.get().isSelfGamePlaying()) return;
|
||||
LevelUpDialog.start(activity, event.getLevelName(), true);
|
||||
// LevelUpDialog.start(activity, event.getLevelName(), true);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
@@ -117,7 +105,7 @@ public class GlobalHandleManager {
|
||||
Activity activity = getActivity();
|
||||
if (activity == null) return;
|
||||
if (AvRoomDataManager.get().isSelfGamePlaying()) return;
|
||||
LevelUpDialog.start(activity, event.getLevelName(), false);
|
||||
// LevelUpDialog.start(activity, event.getLevelName(), false);
|
||||
}
|
||||
|
||||
private static final class Helper {
|
||||
|
@@ -32,9 +32,9 @@ public interface IReportConstants {
|
||||
int FIFTEEN = 15;
|
||||
|
||||
String ACTIVATE_FIRST = "activate_first";
|
||||
String PEKO_ACTIVATE = "peko_activate";
|
||||
String MOLISTAR_ACTIVATE = "molistar_activate";
|
||||
String AGREEMENT_SHOW = "agreement_show";
|
||||
String PEKO_LOGIN = "peko_login";
|
||||
String MOLISTAR_LOGIN = "molistar_login";
|
||||
String AGREEMENT_CLICK = "agreement_click";
|
||||
String CLICK_TYPE = "click_type";
|
||||
String PAGE = "page";
|
||||
@@ -47,7 +47,7 @@ public interface IReportConstants {
|
||||
String FAIL_DETAIL = "fail_detail";
|
||||
String MODULE_HOMEPAGE_CLICK = "module_homepage_click";
|
||||
String HOMEPAGE_TYPE = "homepage_type";
|
||||
String PEKO_HOMEPAGE = "peko_homepage";
|
||||
String MOLISTAR_HOMEPAGE = "molistar_homepage";
|
||||
String TAB_HOMEPAGE_CLICK = "tab_homepage_click";
|
||||
String HOMEPAGE_TAB = "homepage_tab";
|
||||
String PAYPAGE_SHOW = "paypage_show";
|
||||
@@ -55,6 +55,6 @@ public interface IReportConstants {
|
||||
String ACCOUNT_BALANCE = "account_balance";
|
||||
String PAY_CLICK = "pay_click";
|
||||
String MONEY = "money";
|
||||
String PEKO_PAY = "peko_pay";
|
||||
String MOLISTAR_PAY = "molistar_pay";
|
||||
|
||||
}
|
@@ -23,38 +23,8 @@ public class ReportManager implements IReportService {
|
||||
}
|
||||
|
||||
public void init() {
|
||||
// initFirebase();
|
||||
// initAdjust();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化Firebase相关库
|
||||
*/
|
||||
// private void initFirebase() {
|
||||
// // FirebaseCrashlytics注册公共属性
|
||||
// FirebaseCrashlytics.getInstance().setCustomKey(IReportConstants.CHANNEL, AppMetaDataUtil.getChannelID());
|
||||
// // FirebaseAnalytics注册公共属性
|
||||
// Bundle params = new Bundle();
|
||||
// if (AuthModel.get().getCurrentUid() != 0) {
|
||||
// params.putLong(IReportConstants.UID, AuthModel.get().getCurrentUid());
|
||||
// }
|
||||
// params.putString(IReportConstants.CHANNEL, AppMetaDataUtil.getChannelID());
|
||||
// setFirebaseAnalyticsDefaultEventParameters(params);
|
||||
// }
|
||||
|
||||
//Adjust初始化
|
||||
// private void initAdjust() {
|
||||
// String appToken = XChatConstants.ADJUST_APP_TOKEN;
|
||||
// String environment;
|
||||
// if (XChatApplication.isDebug()) {
|
||||
// environment = AdjustConfig.ENVIRONMENT_SANDBOX;
|
||||
// } else {
|
||||
// environment = AdjustConfig.ENVIRONMENT_PRODUCTION;
|
||||
// }
|
||||
// AdjustConfig config = new AdjustConfig(XChatApplication.instance(), appToken, environment);
|
||||
// config.setLogLevel(LogLevel.WARN);
|
||||
// Adjust.onCreate(config);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 设置FirebaseAnalytics公共属性
|
||||
@@ -63,9 +33,6 @@ public class ReportManager implements IReportService {
|
||||
*/
|
||||
@Override
|
||||
public void setFirebaseAnalyticsDefaultEventParameters(Bundle bundle) {
|
||||
// if (bundle != null) {
|
||||
// FirebaseAnalytics.getInstance(XChatApplication.instance()).setDefaultEventParameters(bundle);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,30 +53,10 @@ public class ReportManager implements IReportService {
|
||||
*/
|
||||
@Override
|
||||
public void reportEvent(String eventId, Map<String, Object> map) {
|
||||
// try {
|
||||
// Logger.i(TAG, "reportEvent: eventId=%s, map=%s", eventId, new Gson().toJson(map));
|
||||
// Bundle bundle = null;
|
||||
// if (map != null) {
|
||||
// bundle = new Bundle();
|
||||
// for (Map.Entry<String, Object> item : map.entrySet()) {
|
||||
// String key = item.getKey();
|
||||
// Object value = item.getValue();
|
||||
// if (!TextUtils.isEmpty(key) && value != null) {
|
||||
// bundle.putString(key, String.valueOf(value));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// //所有事件都上报到Google Analytics
|
||||
// FirebaseAnalytics.getInstance(XChatApplication.instance()).logEvent(eventId, bundle);
|
||||
// } catch (Exception e) {
|
||||
// Logger.e(TAG, "reportEvent", e);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reportAdjustEvent(String eventId) {
|
||||
// AdjustEvent adjustEvent = new AdjustEvent(eventId);
|
||||
// Adjust.trackEvent(adjustEvent);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -35,6 +35,8 @@ import com.chwl.library.utils.TimeUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Single;
|
||||
@@ -519,6 +521,7 @@ public class BottleLayout extends FrameLayout {
|
||||
double num = likeCountDouble / 10000;
|
||||
|
||||
DecimalFormat decimalFormat = new DecimalFormat("0.00");// 构造方法的字符格式这里如果小数不足2位,会以0补足.
|
||||
decimalFormat.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.ENGLISH));
|
||||
BigDecimal bigDecimal = new BigDecimal(num);
|
||||
double likeCountFormat = bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
if (likeCountFormat > 9999) {
|
||||
|
@@ -47,4 +47,7 @@ public abstract class BottomViewListenerWrapper {
|
||||
|
||||
}
|
||||
|
||||
public void onRoomGameplayClick(boolean isOnlyPK){
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -13,7 +13,6 @@ import com.chwl.app.R;
|
||||
import com.chwl.app.UIHelper;
|
||||
import com.chwl.app.avroom.widget.ViewItem;
|
||||
import com.chwl.app.common.widget.dialog.DialogManager;
|
||||
import com.chwl.app.public_chat_hall.widget.ShutUpDialog;
|
||||
import com.chwl.app.ui.im.avtivity.NimFriendModel;
|
||||
import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.chwl.app.ui.widget.ButtonItem;
|
||||
@@ -27,7 +26,6 @@ import com.chwl.core.initial.bean.InitInfo;
|
||||
import com.chwl.core.kick.KickModel;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.manager.IMNetEaseManager;
|
||||
import com.chwl.core.public_chat_hall.manager.PublicChatHallDataManager;
|
||||
import com.chwl.core.room.bean.RoomInfo;
|
||||
import com.chwl.core.room.model.AvRoomModel;
|
||||
import com.chwl.core.statistic.StatLogKey;
|
||||
@@ -195,42 +193,6 @@ public class ButtonItemFactory {
|
||||
return buttonItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建相关的buttons 添加到资料卡片
|
||||
*
|
||||
* @param context context
|
||||
* @param uid uid or 云信account
|
||||
* @param listener dialog的监听回调
|
||||
* @return List<ViewItem>
|
||||
*/
|
||||
public static List<ViewItem> createPublicChatHallButtonItems(
|
||||
Context context,
|
||||
long uid,
|
||||
boolean isInRoom,
|
||||
GiftDialog.OnGiftDialogBtnClickListener listener) {
|
||||
if (uid <= 0) return null;
|
||||
String currentUid = String.valueOf(AuthModel.get().getCurrentUid());
|
||||
String account = String.valueOf(uid);
|
||||
//account和chatRoomMember 不会同时为空,如果同时为空,则是前面传参出错
|
||||
boolean isMySelf = Objects.equals(currentUid, account);
|
||||
if (isMySelf) {
|
||||
return null;
|
||||
}
|
||||
List<ViewItem> buttonItems = new ArrayList<>();
|
||||
//不在房间内,也不需要魔法
|
||||
buttonItems.add(createSendGiftItem(context, uid, true, true, listener));
|
||||
// 私聊
|
||||
buttonItems.add(createPrivateChatItem(context, account, isInRoom));
|
||||
//装扮和关注目前是都有的操作
|
||||
//buttonItems.add(createSendDecorationItem(context, uid));
|
||||
buttonItems.add(createAttentItem());
|
||||
buttonItems.add(createFindMeItem());
|
||||
if (PublicChatHallDataManager.get().isRoomAdmin()) {
|
||||
buttonItems.add(createShutupItem(context, uid));
|
||||
}
|
||||
return buttonItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* 踩TA,当该人再房间中的时候,进入他所在的房间
|
||||
*
|
||||
@@ -463,15 +425,6 @@ public class ButtonItemFactory {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 公聊大厅禁言
|
||||
*/
|
||||
public static ViewItem createShutupItem(Context context, long uid) {
|
||||
return new ViewItem(ResUtil.getString(R.string.erban_avroom_buttonitemfactory_028), R.drawable.icon_shut_up, () -> {
|
||||
new ShutUpDialog(context, uid).openDialog();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param isInRoom true 在房间内弹起
|
||||
|
@@ -1,23 +1,17 @@
|
||||
package com.chwl.app.avroom.activity;
|
||||
|
||||
import static android.view.View.VISIBLE;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_ALL_SERVICE_GIFT;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_BOX;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_FAIRY;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_HEADER_TYPE_GIFT;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_SEA;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_LUCKY_SEA_GIFT_SERVER_ALL;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_ROOM_PK;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_DRAW_GIFT_L5;
|
||||
import static com.chwl.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_ROOM_PK_NOTIFY;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.app.FragmentManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
@@ -40,11 +34,19 @@ import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.chwl.app.notify.RoomNotifyManager;
|
||||
import com.chwl.app.ui.webview.baishun.BaiShunGameWebFragment;
|
||||
import com.chwl.app.ui.webview.baishun.IBaiShunGameListener;
|
||||
import com.chwl.library.widget.SVGAView;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterDataBean;
|
||||
import com.chwl.core.room.game.bean.BaiShunGameConfig;
|
||||
import com.chwl.core.support.room.AudioRoomContext;
|
||||
import com.chwl.core.support.room.RoomWidget;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nimlib.sdk.NIMSDK;
|
||||
import com.netease.nimlib.sdk.Observer;
|
||||
@@ -57,18 +59,15 @@ import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.dialog.NewUserGiftDialog;
|
||||
import com.chwl.app.avroom.dialog.SingleRoomTipDialog;
|
||||
import com.chwl.app.avroom.firstcharge.FirstChargeDialog;
|
||||
import com.chwl.app.avroom.fragment.FakeSingleRoomBackFragment;
|
||||
import com.chwl.app.avroom.fragment.FakeSingleRoomFragment;
|
||||
import com.chwl.app.avroom.fragment.HomePartyFragment;
|
||||
import com.chwl.app.avroom.fragment.InputPwdDialogFragment;
|
||||
import com.chwl.app.avroom.presenter.AvRoomPresenter;
|
||||
import com.chwl.app.avroom.presenter.HomePartyPresenter;
|
||||
import com.chwl.app.avroom.redpackage.RedPackageHandler;
|
||||
import com.chwl.app.avroom.view.IAvRoomView;
|
||||
import com.chwl.app.avroom.widget.VerticalViewPagerAdapter;
|
||||
import com.chwl.app.base.BaseMvpActivity;
|
||||
@@ -81,12 +80,10 @@ import com.chwl.app.ui.patriarch.help.LimitEnterRoomHelper;
|
||||
import com.chwl.app.ui.user.activity.UserInfoActivity;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity;
|
||||
import com.chwl.app.ui.webview.DialogWebViewActivity;
|
||||
import com.chwl.app.ui.widget.NobleOpenNoticeView;
|
||||
import com.chwl.app.ui.widget.dialog.AllServiceGiftLevelDialog;
|
||||
import com.chwl.app.ui.widget.dialog.MonsterDialog;
|
||||
import com.chwl.app.utils.UserUtils;
|
||||
import com.chwl.app.room_chat.activity.RoomMsgActivity;
|
||||
import com.chwl.core.Constants;
|
||||
import com.chwl.core.DemoCache;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
@@ -95,18 +92,14 @@ import com.chwl.core.bean.BaseProtocol;
|
||||
import com.chwl.core.channel_page.bean.HelloMessageInfo;
|
||||
import com.chwl.core.gift.GiftModel;
|
||||
import com.chwl.core.gift.bean.GiftInfo;
|
||||
import com.chwl.core.gift.bean.LuckyBagNoticeInfo;
|
||||
import com.chwl.core.im.custom.bean.CustomAttachment;
|
||||
import com.chwl.core.im.custom.bean.FairyMsgAttachment;
|
||||
import com.chwl.core.im.custom.bean.NotifyH5Attachment;
|
||||
import com.chwl.core.im.custom.bean.NotifyH5Info;
|
||||
import com.chwl.core.im.custom.bean.RoomBoxPrizeAttachment;
|
||||
import com.chwl.core.im.custom.bean.RoomBoxPrizeInfo;
|
||||
import com.chwl.core.im.custom.bean.RoomLuckySeaAttachment;
|
||||
import com.chwl.core.im.custom.bean.RoomLuckySeaMsgBean;
|
||||
import com.chwl.core.im.custom.bean.RoomPKAttachment;
|
||||
import com.chwl.core.im.custom.bean.RoomPkBean;
|
||||
import com.chwl.core.im.custom.bean.RoomReceivedLuckyGiftAttachment;
|
||||
import com.chwl.core.im.custom.bean.TarotAttachment;
|
||||
import com.chwl.core.im.custom.bean.TarotMsgBean;
|
||||
import com.chwl.core.initial.InitialModel;
|
||||
@@ -117,7 +110,6 @@ import com.chwl.core.module_hall.hall.HallModel;
|
||||
import com.chwl.core.module_hall.hall.bean.SuperAdminInfo;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterHuntingResult;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterInfo;
|
||||
import com.chwl.core.monsterhunting.bean.MonsterProtocol;
|
||||
import com.chwl.core.monsterhunting.manager.MonsterDataManager;
|
||||
import com.chwl.core.noble.bean.AllServiceGiftProtocol;
|
||||
import com.chwl.core.noble.bean.NobleInfo;
|
||||
@@ -142,7 +134,6 @@ import com.chwl.core.support.room.RoomContext;
|
||||
import com.chwl.core.support.room.RoomView;
|
||||
import com.chwl.core.treasurefairy.bean.FairyMsgInfoBean;
|
||||
import com.chwl.core.user.UserModel;
|
||||
import com.chwl.core.user.bean.FirstChargeInfo;
|
||||
import com.chwl.core.user.bean.UserInfo;
|
||||
import com.chwl.core.utils.LogUtils;
|
||||
import com.chwl.core.utils.StringFormatUtils;
|
||||
@@ -160,13 +151,12 @@ import java.lang.ref.WeakReference;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
|
||||
/**
|
||||
@@ -188,6 +178,15 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
private static final String TAG = "AVRoomActivity";
|
||||
private static final int SHOW_RED_DIALOG_MAX = 10;
|
||||
public static boolean isPKModel = false;
|
||||
private static SVGAView.SVGACache svgaCache;
|
||||
|
||||
public static SVGAView.SVGACache getSvgaCache() {
|
||||
if (svgaCache == null) {
|
||||
svgaCache = SVGAView.newCache(20);
|
||||
}
|
||||
return svgaCache;
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理限制进房
|
||||
*/
|
||||
@@ -229,6 +228,10 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
// 是否禁用VP滑动(true:不允许滑动;false:某些条件下可以滑动)
|
||||
private boolean viewPagerInputDisable;
|
||||
|
||||
private RoomNotifyManager roomNotify;
|
||||
|
||||
private BaiShunGameWebFragment baiShunGameFragment;
|
||||
|
||||
public static void start(Context context, long roomUid) {
|
||||
startForFromType(context, roomUid, FROM_TYPE_NORMAL, null, null);
|
||||
}
|
||||
@@ -507,6 +510,17 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
}
|
||||
});
|
||||
|
||||
roomNotify = new RoomNotifyManager(this);
|
||||
roomNotify.setOnShowUserCard(new Function1<String, Unit>() {
|
||||
@Override
|
||||
public Unit invoke(String s) {
|
||||
if (mCurrentFragment != null) {
|
||||
mCurrentFragment.showUserCardDialog(s);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
roomNotify.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -690,11 +704,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
if (roomContext != null) {
|
||||
roomContext.onViewAttach(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 每次View重新创建(意味着可能在房间外点了红包),就重新尝试加载红包并展示
|
||||
*/
|
||||
tryShowSourceRedPackage();
|
||||
}
|
||||
|
||||
private void showLiveFinishView(long uid) {
|
||||
@@ -731,23 +740,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
AvRoomDataManager.get().release();
|
||||
}
|
||||
|
||||
/**
|
||||
* 尝试展示来源红包(在房间外点击红包入口进入房间时)
|
||||
*/
|
||||
private void tryShowSourceRedPackage() {
|
||||
try {
|
||||
if (redPackageNotifyInfo != null) {
|
||||
RedPackageHandler handler = getRoomContext().findAbility(RedPackageHandler.class.getSimpleName());
|
||||
if (handler != null) {
|
||||
long id = Long.parseLong(redPackageNotifyInfo.getRedEnvelopeId());
|
||||
handler.tryShowRedPackage(id);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void dismissRedPackageDialog() {
|
||||
if (mCurrentFragment != null) {
|
||||
mCurrentFragment.dismissSendRedPackageDialog();
|
||||
@@ -917,6 +909,10 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
GiftModel.get().cancelCountDownTimer();
|
||||
EventBus.getDefault().unregister(this);
|
||||
DemoCache.saveBoolean("FirstCharge", false);
|
||||
if (svgaCache != null) {
|
||||
svgaCache.clear();
|
||||
}
|
||||
svgaCache = null;
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
@@ -938,7 +934,9 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
|
||||
if (closeBaiShunGame()) {
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isGamePlaying(AvRoomDataManager.get().getMicPosition(AuthModel.get().getCurrentUid()))) {
|
||||
getDialogManager().showOkCancelDialog(ResUtil.getString(R.string.avroom_activity_avroomactivity_09), false,
|
||||
this::minRoomCode);
|
||||
@@ -1194,56 +1192,56 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
if (baseProtocol == null) return;
|
||||
if (!isValid()) return;
|
||||
switch (baseProtocol.getFirst()) {
|
||||
case CUSTOM_MSG_HEADER_TYPE_GIFT:
|
||||
if (giftList == null) {
|
||||
giftList = new LinkedList<>();
|
||||
}
|
||||
int second2 = baseProtocol.getSecond();
|
||||
AllServiceGiftProtocol.DataBean data = JSON.parseObject(String.valueOf(baseProtocol.getData()), AllServiceGiftProtocol.DataBean.class);
|
||||
if (data == null || (data.getGiftUrl()) == null)
|
||||
return;
|
||||
giftList.add(data);
|
||||
if (second2 == CUSTOM_MSG_ALL_SERVICE_GIFT) {
|
||||
if (giftDialog != null && giftDialog.isShowing()) {
|
||||
// 如果当前以及有礼物弹窗在展示,则需要等到他 dismiss 后再显示下一个
|
||||
AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
|
||||
if (dataBean != null) {
|
||||
return;
|
||||
} else {
|
||||
giftDialog.dismiss();
|
||||
}
|
||||
} else {
|
||||
showGiftDialog();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case CUSTOM_MSG_BOX://寻爱之旅
|
||||
if (baseProtocol.getSecond() == CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA) {
|
||||
RoomBoxPrizeAttachment roomBoxPrizeAttachment = new RoomBoxPrizeAttachment(CUSTOM_MSG_BOX, CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA);
|
||||
RoomBoxPrizeInfo roomBoxPrizeBean = JSON.parseObject(String.valueOf(baseProtocol.getData()), RoomBoxPrizeInfo.class);
|
||||
roomBoxPrizeAttachment.setUid(roomBoxPrizeBean.getUid());
|
||||
roomBoxPrizeAttachment.setPrizeName(roomBoxPrizeBean.getPrizeName());
|
||||
roomBoxPrizeAttachment.setNick(roomBoxPrizeBean.getNick());
|
||||
roomBoxPrizeAttachment.setBoxTypeStr(roomBoxPrizeBean.getBoxTypeStr());
|
||||
roomBoxPrizeAttachment.setRoomUid(roomBoxPrizeBean.getRoomUid());
|
||||
roomBoxPrizeAttachment.setPrizeNum(roomBoxPrizeBean.getPrizeNum());
|
||||
roomBoxPrizeAttachment.setUserLevelLimit(roomBoxPrizeBean.getUserLevelLimit());
|
||||
if (AvRoomDataManager.get().isOpenPureMode()) {
|
||||
// 純凈模式打開後,僅能看跟自己相關的砸蛋消息
|
||||
if (Objects.equals(roomBoxPrizeAttachment.getUid(), AuthModel.get().getCurrentUid())) {
|
||||
ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment);
|
||||
IMNetEaseManager.get().addMessages(message);
|
||||
}
|
||||
} else {
|
||||
ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment);
|
||||
IMNetEaseManager.get().addMessages(message);
|
||||
IMNetEaseManager.get().getChatRoomEventObservable()
|
||||
.onNext(new RoomEvent()
|
||||
.setEvent(RoomEvent.BOX_NOTIFY_SVGA)
|
||||
.setChatRoomMessage(message));
|
||||
}
|
||||
}
|
||||
break;
|
||||
// case CUSTOM_MSG_HEADER_TYPE_GIFT:
|
||||
// if (giftList == null) {
|
||||
// giftList = new LinkedList<>();
|
||||
// }
|
||||
// int second2 = baseProtocol.getSecond();
|
||||
// AllServiceGiftProtocol.DataBean data = JSON.parseObject(String.valueOf(baseProtocol.getData()), AllServiceGiftProtocol.DataBean.class);
|
||||
// if (data == null || (data.getGiftUrl()) == null)
|
||||
// return;
|
||||
// giftList.add(data);
|
||||
// if (second2 == CUSTOM_MSG_ALL_SERVICE_GIFT) {
|
||||
// if (giftDialog != null && giftDialog.isShowing()) {
|
||||
// // 如果当前以及有礼物弹窗在展示,则需要等到他 dismiss 后再显示下一个
|
||||
// AllServiceGiftProtocol.DataBean dataBean = giftList.peekFirst();
|
||||
// if (dataBean != null) {
|
||||
// return;
|
||||
// } else {
|
||||
// giftDialog.dismiss();
|
||||
// }
|
||||
// } else {
|
||||
// showGiftDialog();
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// case CUSTOM_MSG_BOX://寻爱之旅
|
||||
// if (baseProtocol.getSecond() == CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA) {
|
||||
// RoomBoxPrizeAttachment roomBoxPrizeAttachment = new RoomBoxPrizeAttachment(CUSTOM_MSG_BOX, CUSTOM_MSG_SUB_BOX_ALL_ROOM_NOTIFY_BY_SVGA);
|
||||
// RoomBoxPrizeInfo roomBoxPrizeBean = JSON.parseObject(String.valueOf(baseProtocol.getData()), RoomBoxPrizeInfo.class);
|
||||
// roomBoxPrizeAttachment.setUid(roomBoxPrizeBean.getUid());
|
||||
// roomBoxPrizeAttachment.setPrizeName(roomBoxPrizeBean.getPrizeName());
|
||||
// roomBoxPrizeAttachment.setNick(roomBoxPrizeBean.getNick());
|
||||
// roomBoxPrizeAttachment.setBoxTypeStr(roomBoxPrizeBean.getBoxTypeStr());
|
||||
// roomBoxPrizeAttachment.setRoomUid(roomBoxPrizeBean.getRoomUid());
|
||||
// roomBoxPrizeAttachment.setPrizeNum(roomBoxPrizeBean.getPrizeNum());
|
||||
// roomBoxPrizeAttachment.setUserLevelLimit(roomBoxPrizeBean.getUserLevelLimit());
|
||||
// if (AvRoomDataManager.get().isOpenPureMode()) {
|
||||
// // 純凈模式打開後,僅能看跟自己相關的砸蛋消息
|
||||
// if (Objects.equals(roomBoxPrizeAttachment.getUid(), AuthModel.get().getCurrentUid())) {
|
||||
// ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment);
|
||||
// IMNetEaseManager.get().addMessages(message);
|
||||
// }
|
||||
// } else {
|
||||
// ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), roomBoxPrizeAttachment);
|
||||
// IMNetEaseManager.get().addMessages(message);
|
||||
// IMNetEaseManager.get().getChatRoomEventObservable()
|
||||
// .onNext(new RoomEvent()
|
||||
// .setEvent(RoomEvent.BOX_NOTIFY_SVGA)
|
||||
// .setChatRoomMessage(message));
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
case CustomAttachment.CUSTOM_MESS_TAROT:
|
||||
if (baseProtocol.getSecond() == CustomAttachment.CUSTOM_MESS_TAROT_SENIOR_PRIZE_WINNING) {
|
||||
TarotMsgBean tarotMsgBean = JSON.parseObject(String.valueOf(baseProtocol.getData()), TarotMsgBean.class);
|
||||
@@ -1281,15 +1279,15 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
IMNetEaseManager.get().noticeRoomEvent(message, RoomEvent.LUCKY_SEA_GIFT_SERVER_NOTIFY);
|
||||
}
|
||||
break;
|
||||
case CUSTOM_MSG_LUCKY_GIFT://福袋
|
||||
if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY || baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL) {
|
||||
RoomReceivedLuckyGiftAttachment attachment = new RoomReceivedLuckyGiftAttachment(CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY);
|
||||
attachment.setLuckyBagNoticeInfo(JSON.parseObject(String.valueOf(baseProtocol.getData()), LuckyBagNoticeInfo.class));
|
||||
ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), attachment);
|
||||
IMNetEaseManager.get().noticeServiceLuckyBagNotice(message);
|
||||
IMNetEaseManager.get().addMessages(message);
|
||||
}
|
||||
break;
|
||||
// case CUSTOM_MSG_LUCKY_GIFT://福袋
|
||||
// if (baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY || baseProtocol.getSecond() == CUSTOM_MSG_LUCKY_GIFT_SERVER_ALL) {
|
||||
// RoomReceivedLuckyGiftAttachment attachment = new RoomReceivedLuckyGiftAttachment(CUSTOM_MSG_LUCKY_GIFT_SERVER_NOTIFY);
|
||||
// attachment.setLuckyBagNoticeInfo(JSON.parseObject(String.valueOf(baseProtocol.getData()), LuckyBagNoticeInfo.class));
|
||||
// ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(String.valueOf(AvRoomDataManager.get().getRoomId()), attachment);
|
||||
// IMNetEaseManager.get().noticeServiceLuckyBagNotice(message);
|
||||
// IMNetEaseManager.get().addMessages(message);
|
||||
// }
|
||||
// break;
|
||||
case CUSTOM_MSG_FAIRY://夺宝精灵
|
||||
if (baseProtocol.getSecond() == CUSTOM_MSG_SUB_DRAW_GIFT_L5) {
|
||||
FairyMsgAttachment attachment = new FairyMsgAttachment(CUSTOM_MSG_FAIRY, CUSTOM_MSG_SUB_DRAW_GIFT_L5);
|
||||
@@ -1363,22 +1361,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
new NewUserGiftDialog(giftInfo).show(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showFirstChargeDialog(FirstChargeInfo firstChargeInfo) {
|
||||
Single.timer(firstChargeInfo.getShowAfterSecond() * 1000L, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread())
|
||||
.compose(bindUntilEvent(ActivityEvent.DESTROY))
|
||||
.doOnSuccess(aLong -> {
|
||||
if (!DemoCache.readBoolean("FirstCharge", false) &&
|
||||
(UIUtils.isTopActivity(AVRoomActivity.this)
|
||||
// || UIUtils.isTopActivity(this, TreasureBoxActivity.class.getName())
|
||||
|| UIUtils.isTopActivity(this, DialogWebViewActivity.class.getName())
|
||||
|| UIUtils.isTopActivity(this, RoomMsgActivity.class.getName()))) {
|
||||
FirstChargeDialog.start(this);
|
||||
}
|
||||
})
|
||||
.subscribe();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onImPushMsgPmLimitTimeEvent(ImPushMsgPmLimitTimeEvent event) {
|
||||
//时间到限制时间段之后,后台推送im消息
|
||||
@@ -1391,10 +1373,21 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FragmentManager getFragmentManager() {
|
||||
return super.getFragmentManager();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public RoomContext getRoomContext() {
|
||||
return RoomContext.Companion.get();
|
||||
return AudioRoomContext.Companion.get();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LiveData<? extends RoomContext> getRoomContextLiveData() {
|
||||
return AudioRoomContext.Companion.getContextLiveData();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -1403,6 +1396,19 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
return this;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public androidx.fragment.app.FragmentManager getViewFragmentManager() {
|
||||
return getSupportFragmentManager();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public RoomWidget findWidget(@NonNull String name) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private static class GiftBroadcastObserver implements Observer<BroadcastMessage> {
|
||||
private WeakReference<AVRoomActivity> mReference;
|
||||
|
||||
@@ -1422,14 +1428,14 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
JSONObject jsonObject;
|
||||
try {
|
||||
jsonObject = JSON.parseObject(contentStr);
|
||||
if (jsonObject == null) return;
|
||||
if (jsonObject.containsKey("body")) {
|
||||
String body = jsonObject.getString("body");
|
||||
if (TextUtils.isEmpty(body)) return;
|
||||
activity.onReceivedGiftBroadcastMessage(body);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
jsonObject = null;
|
||||
}
|
||||
if (jsonObject == null) return;
|
||||
if (jsonObject.containsKey("body")) {
|
||||
String body = jsonObject.getString("body");
|
||||
if (TextUtils.isEmpty(body)) return;
|
||||
activity.onReceivedGiftBroadcastMessage(body);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1472,4 +1478,30 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showBaiShunGame(String url, BaiShunGameConfig config) {
|
||||
closeBaiShunGame();
|
||||
baiShunGameFragment = BaiShunGameWebFragment.Companion.newInstance(url, config);
|
||||
baiShunGameFragment.setListener(new IBaiShunGameListener() {
|
||||
@Override
|
||||
public void onGameClose() {
|
||||
closeBaiShunGame();
|
||||
}
|
||||
});
|
||||
findViewById(R.id.layout_baishun_game).setVisibility(VISIBLE);
|
||||
getSupportFragmentManager().beginTransaction().add(R.id.layout_baishun_game, baiShunGameFragment).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
private boolean closeBaiShunGame() {
|
||||
boolean isClose = false;
|
||||
if (baiShunGameFragment != null) {
|
||||
if (baiShunGameFragment.isAdded()) {
|
||||
getSupportFragmentManager().beginTransaction().remove(baiShunGameFragment).commitAllowingStateLoss();
|
||||
isClose = true;
|
||||
}
|
||||
}
|
||||
findViewById(R.id.layout_baishun_game).setVisibility(View.GONE);
|
||||
baiShunGameFragment = null;
|
||||
return isClose;
|
||||
}
|
||||
}
|
@@ -1,146 +0,0 @@
|
||||
package com.chwl.app.avroom.activity;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.fragment.InviteFriendListFragment;
|
||||
import com.chwl.app.base.BaseBindingActivity;
|
||||
import com.chwl.app.databinding.ActivityCpRoomInviteBinding;
|
||||
import com.chwl.app.public_chat_hall.event.AitFriendEvent;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.manager.IMNetEaseManager;
|
||||
import com.chwl.core.room.bean.RoomInfo;
|
||||
import com.chwl.core.room.model.RoomSettingModel;
|
||||
import com.chwl.core.share.bean.SessionType;
|
||||
import com.chwl.core.utils.net.DontWarnObserver;
|
||||
import com.chwl.library.annatation.ActLayoutRes;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.Single;
|
||||
import io.reactivex.SingleSource;
|
||||
import io.reactivex.functions.Function;
|
||||
|
||||
@ActLayoutRes(R.layout.activity_cp_room_invite)
|
||||
public class CpRoomInviteActivity extends BaseBindingActivity<ActivityCpRoomInviteBinding> {
|
||||
|
||||
private List<String> uids = new ArrayList<>();
|
||||
private List<String> userNames = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
EventBus.getDefault().register(this);
|
||||
initTitleBar(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_01));
|
||||
getSupportFragmentManager().beginTransaction().add(R.id.content, new InviteFriendListFragment(), null).commitAllowingStateLoss();
|
||||
|
||||
mBinding.tvInvite.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (AvRoomDataManager.get().mCurrentRoomInfo == null) return;
|
||||
if (uids.size() == 0) {
|
||||
toast(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_02));
|
||||
return;
|
||||
}
|
||||
String uid = "";
|
||||
for (int i = 0; i < uids.size(); i++) {
|
||||
String targetUid = uids.get(i);
|
||||
String nick = userNames.get(i);
|
||||
uid += uids.get(i) + ",";
|
||||
int sessionType = SessionType.P2P;
|
||||
IMNetEaseManager.get().sendSharingRoomMessage(sessionType, targetUid);
|
||||
}
|
||||
|
||||
RoomSettingModel model = new RoomSettingModel();
|
||||
|
||||
model.invite(AvRoomDataManager.get().mCurrentRoomInfo.getUid(), uid)
|
||||
.flatMap((Function<String, SingleSource<RoomInfo>>) s -> updateRoomInfo("", RoomInfo.IS_INVITE))
|
||||
.subscribe(new DontWarnObserver<RoomInfo>() {
|
||||
@Override
|
||||
public void accept(RoomInfo roomInfo, String error) {
|
||||
super.accept(roomInfo, error);
|
||||
if (error != null) {
|
||||
toast(error);
|
||||
} else {
|
||||
toast(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_03));
|
||||
finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Single<RoomInfo> updateRoomInfo(String encryptPwd, String limitType) {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null) {
|
||||
return Single.error(new Throwable(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_04)));
|
||||
}
|
||||
//更新房间接口调用成功后,会发事件RoomEvent.ROOM_INFO_UPDATE
|
||||
RoomSettingModel model = new RoomSettingModel();
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
return model.updateRoomInfo(roomInfo.title,
|
||||
roomInfo.getRoomDesc(),
|
||||
roomInfo.getIntroduction(),
|
||||
encryptPwd,
|
||||
roomInfo.getRoomTag(),
|
||||
roomInfo.tagId,
|
||||
AuthModel.get().getCurrentUid(),
|
||||
AuthModel.get().getTicket(),
|
||||
roomInfo.isHasAnimationEffect(),
|
||||
roomInfo.getAudioQuality(),
|
||||
limitType,
|
||||
roomInfo.isPureMode(),
|
||||
roomInfo.getType(),
|
||||
roomInfo.getMgId());
|
||||
} else {
|
||||
return model.updateByAdmin(roomInfo.getUid(), roomInfo.title,
|
||||
roomInfo.getRoomDesc(),
|
||||
roomInfo.getIntroduction(),
|
||||
encryptPwd,
|
||||
roomInfo.getRoomTag(),
|
||||
roomInfo.tagId,
|
||||
AuthModel.get().getCurrentUid(),
|
||||
AuthModel.get().getTicket(),
|
||||
roomInfo.isHasAnimationEffect(),
|
||||
roomInfo.getAudioQuality(),
|
||||
roomInfo.isPureMode());
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void countingAitFriends(AitFriendEvent event) {
|
||||
switch (event.getType()) {
|
||||
case AitFriendEvent.TYPE_ADD:
|
||||
if (uids.size() == 20) {
|
||||
toast(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_05));
|
||||
return;
|
||||
}
|
||||
if (!uids.contains(event.getUid())) {
|
||||
uids.add(event.getUid());
|
||||
userNames.add(event.getNick());
|
||||
}
|
||||
break;
|
||||
|
||||
case AitFriendEvent.TYTPE_REMOVE:
|
||||
if (uids.contains(event.getUid())) {
|
||||
uids.remove(event.getUid());
|
||||
userNames.remove(event.getNick());
|
||||
}
|
||||
break;
|
||||
}
|
||||
initTitleBar(ResUtil.getString(R.string.avroom_activity_cproominviteactivity_06) + uids.size() + "/20)");
|
||||
}
|
||||
}
|
@@ -210,7 +210,7 @@ public class CreatePKActivity extends BaseMvpActivity<ICreatePKView, CreatePKPre
|
||||
redTeamName.get(i).setText(userInfoList.get(i).getNick());
|
||||
} else {
|
||||
redTeamAvatar.get(i).setImageResource(R.mipmap.ic_red_seat);
|
||||
redTeamName.get(i).setText(R.string.wait_for_mic);
|
||||
redTeamName.get(i).setText(String.valueOf(i+1));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ public class CreatePKActivity extends BaseMvpActivity<ICreatePKView, CreatePKPre
|
||||
blueTeamName.get(i).setText(userInfoList.get(i).getNick());
|
||||
} else {
|
||||
blueTeamAvatar.get(i).setImageResource(R.mipmap.ic_blue_seat);
|
||||
blueTeamName.get(i).setText(R.string.wait_for_mic);
|
||||
blueTeamName.get(i).setText(String.valueOf(i+1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,77 @@
|
||||
package com.chwl.app.avroom.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.core.view.WindowCompat
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.adapter.RoomBgAdapter
|
||||
import com.chwl.app.base.BaseViewBindingActivity
|
||||
import com.chwl.app.databinding.RoomBgSettingActivityBinding
|
||||
import com.chwl.core.auth.AuthModel
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.model.RoomSettingModel
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
|
||||
class RoomBgSettingActivity : BaseViewBindingActivity<RoomBgSettingActivityBinding>() {
|
||||
private val adapter = RoomBgAdapter()
|
||||
|
||||
private val model = RoomSettingModel()
|
||||
override fun init() {
|
||||
initWhiteTitleBar(ResUtil.getString(R.string.room_theme))
|
||||
mTitleBar.setTitleColor(resources.getColor(R.color.white))
|
||||
mTitleBar.setLeftImageResource(R.drawable.arrow_left_white)
|
||||
binding.recyclerView.adapter = adapter
|
||||
adapter.selectItem(AvRoomDataManager.get().mCurrentRoomInfo?.backPic)
|
||||
adapter.setOnItemClickListener { _, view, position ->
|
||||
adapter.getItem(position)?.let {
|
||||
if (adapter.getSelectItem() != it) {
|
||||
showUpdateRoomBackgroundTips(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
val list = listOf(
|
||||
"https://image.molistar.xyz/BG_0.webp",
|
||||
"https://image.molistar.xyz/BG_1.webp",
|
||||
"https://image.molistar.xyz/BG_2.webp",
|
||||
"https://image.molistar.xyz/BG_3.webp",
|
||||
"https://image.molistar.xyz/BG_4.webp",
|
||||
"https://image.molistar.xyz/BG_5.webp"
|
||||
)
|
||||
adapter.setNewData(list)
|
||||
}
|
||||
|
||||
private fun showUpdateRoomBackgroundTips(url: String) {
|
||||
dialogManager.showOkCancelDialog(
|
||||
getString(R.string.room_theme_changed_tips),
|
||||
getString(R.string.btn_text_confirm_select_team_member)
|
||||
) {
|
||||
updateRoomBackground(url)
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private fun updateRoomBackground(url: String) {
|
||||
dialogManager.showProgressDialog(this)
|
||||
model.updateRoomBackground(AuthModel.get().currentUid, url)
|
||||
.compose(bindToLifecycle()).subscribe({
|
||||
dialogManager.dismissDialog()
|
||||
toast(R.string.avroom_dialog_roomimposedialog_04)
|
||||
adapter.selectItem(url)
|
||||
}, {
|
||||
dialogManager.dismissDialog()
|
||||
toast(it.message)
|
||||
})
|
||||
}
|
||||
|
||||
override fun needSteepStateBar(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun setStatusBar() {
|
||||
StatusBarUtil.transparencyBar(this)
|
||||
StatusBarUtil.StatusBarLightMode(this)
|
||||
WindowCompat.getInsetsController(window, window.decorView).let {
|
||||
it.isAppearanceLightStatusBars = false
|
||||
}
|
||||
}
|
||||
}
|
@@ -7,6 +7,7 @@ import android.text.TextUtils;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.core.room.bean.RoomOnlineUserBean;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.sys.NetworkUtil;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMember;
|
||||
@@ -20,7 +21,6 @@ import com.chwl.app.avroom.view.IRoomInviteView;
|
||||
import com.chwl.app.base.BaseMvpActivity;
|
||||
import com.chwl.core.Constants;
|
||||
import com.chwl.core.noble.NobleResourceType;
|
||||
import com.chwl.core.room.bean.OnlineChatMember;
|
||||
import com.chwl.core.user.bean.UserInfo;
|
||||
import com.chwl.library.base.factory.CreatePresenter;
|
||||
import com.chwl.library.utils.ListUtils;
|
||||
@@ -106,8 +106,9 @@ public class RoomInviteActivity extends BaseMvpActivity<IRoomInviteView, RoomInv
|
||||
getMvpPresenter().requestChatMemberByPage(mPage, time, onlyManager);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onRequestChatMemberByPageSuccess(List<OnlineChatMember> memberList, int page) {
|
||||
public void onRequestRoomOnlineListSuccess(List<RoomOnlineUserBean> memberList) {
|
||||
|
||||
}
|
||||
|
||||
|
@@ -7,8 +7,10 @@ import android.view.View;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.adapter.CommonVPAdapter;
|
||||
import com.chwl.app.avroom.fragment.RoomCharmListFragment;
|
||||
import com.chwl.app.avroom.fragment.RoomContributeListFragment;
|
||||
import com.chwl.app.base.BaseBindingActivity;
|
||||
@@ -39,18 +41,8 @@ public class RoomRankListActivity extends BaseBindingActivity<ActivityRoomRankLi
|
||||
List<Fragment> list = new ArrayList<>();
|
||||
list.add(RoomCharmListFragment.newInstance());
|
||||
list.add(new RoomContributeListFragment());
|
||||
mBinding.viewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return list.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return list.size();
|
||||
}
|
||||
});
|
||||
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
mBinding.viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(),getLifecycle(),list));
|
||||
mBinding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback(){
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
|
@@ -8,11 +8,17 @@ import android.text.SpannableString;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.chwl.app.avroom.giftvalue.GiftValueDialogUiHelper;
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil;
|
||||
import com.chwl.core.utils.net.DontWarnObserver;
|
||||
import com.chwl.core.utils.net.RxHelper;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
|
||||
import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
|
||||
@@ -112,6 +118,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
initView();
|
||||
initLeaveMode();
|
||||
loadGiftValueState();
|
||||
getMvpPresenter().requestRoomInfo(roomInfo.getUid());
|
||||
mRoomBgLayout.setVisibility(View.GONE);
|
||||
if (!AvRoomDataManager.get().isRoomOwner() && !AvRoomDataManager.get().isSuperAdmin()) {
|
||||
@@ -149,6 +156,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
managerLayout.setOnClickListener(this);
|
||||
blackLayout.setOnClickListener(this);
|
||||
mRoomBgLayout.setOnClickListener(this);
|
||||
binding.layoutTheme.setOnClickListener(this);
|
||||
|
||||
binding.switchAudio.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
@@ -190,6 +198,28 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
}
|
||||
|
||||
private void loadGiftValueState(){
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
binding.layoutGiftValue.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isCpRoom()) {
|
||||
binding.layoutGiftValue.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (!AvRoomDataManager.get().isManager()) {
|
||||
binding.layoutGiftValue.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenKTV()) {
|
||||
binding.layoutGiftValue.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
boolean openGiftValue = AvRoomDataManager.get().isShowGiftValue();
|
||||
binding.layoutGiftValue.setVisibility(View.VISIBLE);
|
||||
setSelected(binding.switchGiftValue, openGiftValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更改房间设置的消息
|
||||
*/
|
||||
@@ -295,6 +325,9 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.layout_theme:
|
||||
startActivity(new Intent(context, RoomBgSettingActivity.class));
|
||||
break;
|
||||
case R.id.manager_layout:
|
||||
RoomManagerListActivity.start(this);
|
||||
break;
|
||||
@@ -516,10 +549,59 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
break;
|
||||
|
||||
case R.id.switch_gift_value:
|
||||
switchGiftValue();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private void switchGiftValue(){
|
||||
if (AvRoomDataManager.get().isCpRoom()) {
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_029));
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenKTV()) {
|
||||
SingleToastUtil.showToast(R.string.before_open_gift_value_should_close_ktv_model);
|
||||
return;
|
||||
}
|
||||
//开启礼物值不需要弹框
|
||||
if (!AvRoomDataManager.get().isShowGiftValue()) {
|
||||
handleOpenGiftValue();
|
||||
return;
|
||||
}
|
||||
if (!GiftValueDialogUiHelper.get().isNeedConfirmDialog(
|
||||
GiftValueDialogUiHelper.TYPE_CLOSE_SHOW_GIFT_VALUE)) {
|
||||
handleOpenGiftValue();
|
||||
return;
|
||||
}
|
||||
GiftValueDialogUiHelper.get().showGiftValueDialog(context, getDialogManager(),
|
||||
GiftValueDialogUiHelper.TYPE_CLOSE_SHOW_GIFT_VALUE,
|
||||
this::handleOpenGiftValue);
|
||||
}
|
||||
|
||||
private void handleOpenGiftValue() {
|
||||
boolean isOpen = !binding.switchGiftValue.isSelected();
|
||||
getDialogManager().showProgressDialog(this);
|
||||
GiftValueModel.get().openGiftValue(isOpen)
|
||||
.compose(RxHelper.bindContext(context))
|
||||
.subscribe(new DontWarnObserver<String>() {
|
||||
@Override
|
||||
public void accept(String s, String error) {
|
||||
super.accept(s, error);
|
||||
getDialogManager().dismissDialog();
|
||||
if (error != null) {
|
||||
SingleToastUtil.showToast(error);
|
||||
} else {
|
||||
setSelected(binding.switchGiftValue, !binding.switchGiftValue.isSelected());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResultRequestTagAllSuccess(List<RoomSettingTabInfo> tabInfoList) {
|
||||
this.tabInfoList = tabInfoList;
|
||||
@@ -806,4 +888,10 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
StatusBarUtil.transparencyBar(this);
|
||||
StatusBarUtil.StatusBarLightMode(this);
|
||||
}
|
||||
|
||||
private void setSelected(ImageView imageView, boolean isSelected) {
|
||||
imageView.setSelected(isSelected);
|
||||
imageView.setImageResource(isSelected ?
|
||||
R.drawable.icon_room_set_lock_true : R.drawable.icon_room_set_lock_false);
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,142 @@
|
||||
package com.chwl.app.avroom.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseViewBindingActivity
|
||||
import com.chwl.app.databinding.RoomTypeSwitchActivityBinding
|
||||
import com.chwl.app.home.helper.OpenRoomHelper
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.bean.RoomInfo
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import com.example.lib_utils.ktx.singleClick
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
|
||||
class RoomTypeSwitchActivity : BaseViewBindingActivity<RoomTypeSwitchActivityBinding>() {
|
||||
|
||||
private var currentType: Int? = null
|
||||
|
||||
private var selectType: Int? = null
|
||||
|
||||
companion object {
|
||||
fun isCanSwitch(): Boolean {
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
return false
|
||||
}
|
||||
if (AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_HOME_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_REVELRY) {
|
||||
return false
|
||||
}
|
||||
if (AvRoomDataManager.get().isDatingMode) {
|
||||
return false
|
||||
}
|
||||
val roomInfo = AvRoomDataManager.get().mCurrentRoomInfo
|
||||
if (roomInfo == null || roomInfo.isPermitRoom == 1) {
|
||||
return false
|
||||
}
|
||||
return AvRoomDataManager.get().isManager
|
||||
}
|
||||
|
||||
fun start(context: Context) {
|
||||
context.startActivity(Intent(context, RoomTypeSwitchActivity::class.java))
|
||||
}
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
initWhiteTitleBar(ResUtil.getString(R.string.room_type))
|
||||
initEvent()
|
||||
this.currentType = AvRoomDataManager.get().mCurrentRoomInfo?.type
|
||||
updateSelectView(currentType)
|
||||
}
|
||||
|
||||
private fun initEvent() {
|
||||
binding.tvSubmit.singleClick {
|
||||
selectType?.let {
|
||||
if (currentType != it) {
|
||||
trySwitchRoomType(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
addTypeSelectClick(binding.iv9, RoomInfo.ROOMTYPE_HOME_PARTY)
|
||||
addTypeSelectClick(binding.iv10, RoomInfo.ROOMTYPE_PARTY)
|
||||
addTypeSelectClick(binding.iv15, RoomInfo.ROOMTYPE_REVELRY)
|
||||
}
|
||||
|
||||
private fun addTypeSelectClick(view: View, type: Int) {
|
||||
view.setOnClickListener {
|
||||
updateSelectView(type)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateSelectView(type: Int?) {
|
||||
this.selectType = type
|
||||
val views = mapOf(
|
||||
RoomInfo.ROOMTYPE_HOME_PARTY to binding.iv9Border,
|
||||
RoomInfo.ROOMTYPE_PARTY to binding.iv10Border,
|
||||
RoomInfo.ROOMTYPE_REVELRY to binding.iv15Border
|
||||
)
|
||||
val displayRes = mapOf(
|
||||
RoomInfo.ROOMTYPE_HOME_PARTY to R.drawable.room_type_bg_9,
|
||||
RoomInfo.ROOMTYPE_PARTY to R.drawable.room_type_bg_10,
|
||||
RoomInfo.ROOMTYPE_REVELRY to R.drawable.room_type_bg_15
|
||||
)
|
||||
views.forEach {
|
||||
it.value.isVisible = it.key == type
|
||||
}
|
||||
val resId = displayRes.get(type)
|
||||
if (resId != null) {
|
||||
binding.ivSelected.setImageResource(resId)
|
||||
} else {
|
||||
binding.ivSelected.setImageDrawable(null)
|
||||
}
|
||||
if (type == currentType) {
|
||||
binding.tvSubmit.setText(R.string.room_type_using)
|
||||
} else {
|
||||
binding.tvSubmit.setText(R.string.room_type_use)
|
||||
}
|
||||
}
|
||||
|
||||
private fun trySwitchRoomType(type: Int) {
|
||||
val currentType = this.currentType
|
||||
if (currentType != null && currentType > type) {
|
||||
dialogManager.showOkCancelDialog(
|
||||
ResUtil.getString(R.string.switch_room_type_tips),
|
||||
ResUtil.getString(R.string.login_fragment_adduserinfofragment_04)
|
||||
) {
|
||||
requestSwitchRoomType(type)
|
||||
}
|
||||
} else {
|
||||
requestSwitchRoomType(type)
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private fun requestSwitchRoomType(type: Int) {
|
||||
dialogManager.showProgressDialog(context)
|
||||
OpenRoomHelper.updateRoomInfoRx(
|
||||
AvRoomDataManager.get().mCurrentRoomInfo,
|
||||
type,
|
||||
0
|
||||
).compose(bindToLifecycle()).subscribe({
|
||||
dialogManager.dismissDialog()
|
||||
finish()
|
||||
}, {
|
||||
SingleToastUtil.showToast(it.message)
|
||||
dialogManager.dismissDialog()
|
||||
})
|
||||
}
|
||||
|
||||
override fun needSteepStateBar(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun setStatusBar() {
|
||||
super.setStatusBar()
|
||||
StatusBarUtil.transparencyBar(this)
|
||||
StatusBarUtil.StatusBarLightMode(this)
|
||||
}
|
||||
}
|
@@ -15,8 +15,12 @@ import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity;
|
||||
import com.chwl.app.utils.AvatarHelper;
|
||||
import com.chwl.library.widget.SVGAView;
|
||||
import com.chwl.core.utils.extension.StringExtensionKt;
|
||||
import com.coorchice.library.SuperTextView;
|
||||
import com.example.lib_utils.StringUtils2;
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.chwl.app.R;
|
||||
@@ -55,6 +59,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
public static final String MICRO_TYPE_DATING = "dating";
|
||||
public static final String MICRO_TYPE_DATING_VIP = "dating_vip";
|
||||
public static final String MICRO_TYPE_SINGLE = "single";
|
||||
public static final String MICRO_TYPE_PARTY = "party";
|
||||
public static final String MICRO_TYPE_REVELRY = "revelry";
|
||||
|
||||
protected static final int TYPE_KING = 2;
|
||||
protected static final int TYPE_BOSS = 1;
|
||||
protected static final int TYPE_NORMAL = 0;
|
||||
@@ -76,11 +83,16 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByMicPosition(position - 1);
|
||||
if (roomQueueInfo == null) return;
|
||||
NormalMicroViewHolder holder = (NormalMicroViewHolder) viewHolder;
|
||||
holder.micPositionNameOffset = getMicPositionNameOffset();
|
||||
holder.bind(roomQueueInfo, position - 1);
|
||||
}
|
||||
|
||||
public abstract String microType();
|
||||
|
||||
protected int getMicPositionNameOffset() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 9;
|
||||
@@ -137,9 +149,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
SVGAImageView ivHalo;
|
||||
|
||||
@Nullable
|
||||
ImageView ivHeadWear;
|
||||
@Nullable
|
||||
TextView tvNumber;
|
||||
SVGAView ivHeadWear;
|
||||
@Nullable
|
||||
ImageView ivCharmLevelTag;
|
||||
|
||||
@@ -148,6 +158,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
|
||||
RoomQueueInfo info;
|
||||
int position = TYPE_INVALID;
|
||||
int micPositionNameOffset = 2;
|
||||
|
||||
NormalMicroViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
@@ -158,13 +169,15 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
ivAvatar = itemView.findViewById(R.id.avatar);
|
||||
ivHeadWear = itemView.findViewById(R.id.iv_head_wear);
|
||||
tvNick = itemView.findViewById(R.id.nick);
|
||||
tvNumber = itemView.findViewById(R.id.tv_number);
|
||||
ivCharmLevelTag = itemView.findViewById(R.id.iv_charm_level_tag);
|
||||
ivKickGuard = itemView.findViewById(R.id.iv_kick_guard);
|
||||
|
||||
ivUpImage.setOnClickListener(this);
|
||||
ivLockImage.setOnClickListener(this);
|
||||
ivAvatar.setOnClickListener(this);
|
||||
if (ivHeadWear != null) {
|
||||
ivHeadWear.bindCache(AVRoomActivity.getSvgaCache());
|
||||
}
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
@@ -270,6 +283,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
private void clearHeadWear() {
|
||||
if (ivHeadWear == null) return;
|
||||
ivHeadWear.clearAnimation();
|
||||
ivHeadWear.stopAnimation();
|
||||
ivHeadWear.setImageDrawable(null);
|
||||
ivHeadWear.setTag(R.id.mic_item_head_wear, null);
|
||||
ivHeadWear.setVisibility(View.GONE);
|
||||
@@ -277,41 +291,29 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
|
||||
protected void setDefalutText(int index) {
|
||||
tvNick.setTextColor(Color.WHITE);
|
||||
tvNick.setText(ResUtil.getString(R.string.avroom_adapter_basemicroviewadapter_01));
|
||||
|
||||
if (tvNumber != null) {
|
||||
tvNumber.setBackgroundResource(R.drawable.icon_bg_number_default);
|
||||
tvNumber.setTextColor(Color.WHITE);
|
||||
tvNumber.setText(String.valueOf(index + 1));
|
||||
}
|
||||
tvNick.setText(getMicPositionName(index));
|
||||
}
|
||||
|
||||
protected String getMicPositionName(int index) {
|
||||
return "NO." + (index + micPositionNameOffset);
|
||||
}
|
||||
|
||||
protected void setSelectText(int index, String nick, int gender) {
|
||||
tvNick.setText(StringExtensionKt.subAndReplaceDot(StringUtil.removeBlanks(nick), 7));
|
||||
tvNick.setTextColor(context.getResources().getColor(R.color.white));
|
||||
|
||||
if (tvNumber != null) {
|
||||
if (AvRoomDataManager.get().isOpenPKMode()) { // pk模式不加性别背景
|
||||
tvNumber.setBackgroundResource(R.drawable.icon_bg_number_default);
|
||||
tvNumber.setTextColor(context.getResources().getColor(R.color.white));
|
||||
} else {
|
||||
tvNumber.setBackgroundResource(gender == 1 ? R.drawable.bg_number_male : R.drawable.bg_number_female);
|
||||
tvNumber.setTextColor(context.getResources().getColor(R.color.white));
|
||||
}
|
||||
tvNumber.setText(String.valueOf(index + 1));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//优先使用MicMemberInfo里面的头饰
|
||||
private void updateNobleView(MicMemberInfo chatRoomMember) {
|
||||
if (ivHeadWear == null) return;
|
||||
String headWear = chatRoomMember.getHeadWearUrl();
|
||||
int headWearType = chatRoomMember.getHeadWearType();
|
||||
if (TextUtils.isEmpty(headWear)) {
|
||||
headWear = NobleUtil.getHeadResource(HeadWearInfo.EFFECT, chatRoomMember) != null ?
|
||||
NobleUtil.getHeadResource(HeadWearInfo.EFFECT, chatRoomMember) :
|
||||
NobleUtil.getHeadResource(HeadWearInfo.PIC, chatRoomMember);
|
||||
String type = NobleUtil.getHeadResource(HeadWearInfo.TYPE, chatRoomMember);
|
||||
headWearType = StringUtils2.INSTANCE.toInt(type);
|
||||
}
|
||||
String nobleHeadWear = (String) NobleUtil.getResource(NobleResourceType.KEY_HEAD_WEAR, chatRoomMember);
|
||||
if (!TextUtils.isEmpty(headWear)) {
|
||||
@@ -319,7 +321,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
//只有头饰发生改变才更新,防止闪烁
|
||||
if (!headWear.equals(ivHeadWear.getTag(R.id.mic_item_head_wear))) {
|
||||
ivHeadWear.setTag(R.id.mic_item_head_wear, headWear);
|
||||
NobleUtil.loadMicHeadWear(headWear, ivHeadWear, R.id.mic_item_head_wear, headWear);
|
||||
AvatarHelper.loadAvatarFrame(ivHeadWear, headWear, headWearType);
|
||||
}
|
||||
} else if (!TextUtils.isEmpty(nobleHeadWear)) {
|
||||
// 头饰
|
||||
@@ -500,10 +502,10 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
//控制最高最低头饰
|
||||
Observer<Integer> headWearObserver = headWearValue -> {
|
||||
if (ivCharmLevelTag == null) return;
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
if (headWearValue == 1) {
|
||||
ivCharmLevelTag.setVisibility(View.VISIBLE);
|
||||
ivCharmLevelTag.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_charm_level_min));
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
// ivCharmLevelTag.setVisibility(View.VISIBLE);
|
||||
// ivCharmLevelTag.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_charm_level_min));
|
||||
} else if (headWearValue == 2) {
|
||||
ivCharmLevelTag.setVisibility(View.VISIBLE);
|
||||
ivCharmLevelTag.setImageDrawable(context.getResources().getDrawable(R.drawable.ic_charm_level_max));
|
||||
@@ -586,6 +588,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
protected void setDefalutText(int index) {
|
||||
//重新覆盖掉用户名的逻辑
|
||||
tvNick.setText("");
|
||||
tvNick.setVisibility(View.GONE);
|
||||
tvNick.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
|
||||
ivTag.setVisibility(View.GONE);
|
||||
}
|
||||
@@ -593,6 +596,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
@Override
|
||||
protected void setSelectText(int index, String nick, int gender) {
|
||||
super.setSelectText(index, nick, gender);
|
||||
tvNick.setVisibility(View.VISIBLE);
|
||||
if (UserModel.get().getCacheLoginUserInfo() != null &&
|
||||
UserModel.get().getCacheLoginUserInfo().getUserInfoSkillVo() != null) {
|
||||
if (AvRoomDataManager.get().isRoomOwner() && !TextUtils.isEmpty(UserModel.get().getCacheLoginUserInfo().getUserInfoSkillVo().getSkillTag())) {
|
||||
|
@@ -27,6 +27,11 @@ public class CpMicroViewAdapter extends BaseMicroViewAdapter {
|
||||
return BaseMicroViewAdapter.MICRO_TYPE_CP;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMicPositionNameOffset() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindToRecyclerView(RecyclerView recyclerView) {
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(context, 3);
|
||||
|
@@ -27,6 +27,9 @@ import com.chwl.library.utils.ResUtil
|
||||
* @date 2017/12/18
|
||||
*/
|
||||
class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context) {
|
||||
override fun getMicPositionNameOffset(): Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
/**
|
||||
* Set LayoutManager and bind this to RecyclerView
|
||||
@@ -146,6 +149,7 @@ class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context)
|
||||
if (info.mChatRoomMember == null) {
|
||||
tvNick.alpha = 1f
|
||||
tvNick.text = "主持人"
|
||||
tvNick.isVisible = true
|
||||
ivVipWear.isVisible = false
|
||||
} else {
|
||||
if (info.mChatRoomMember.isVipMic) {
|
||||
@@ -222,7 +226,6 @@ class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context)
|
||||
super.bind(info, position)
|
||||
ivVipWear.isVisible = true
|
||||
ivHeadWear?.isVisible = false
|
||||
tvNumber?.isVisible = false
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -54,7 +54,7 @@ class GameMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context) {
|
||||
width = when (itemCount) {
|
||||
6 -> ScreenUtil.screenWidth / 6
|
||||
7 -> ScreenUtil.screenWidth / 7
|
||||
else -> (ScreenUtil.screenWidth / 7.5f).toInt()
|
||||
else -> (ScreenUtil.screenWidth / 6f).toInt()
|
||||
}
|
||||
}
|
||||
super.bind(info, position)
|
||||
|
@@ -1,134 +0,0 @@
|
||||
package com.chwl.app.avroom.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.public_chat_hall.bean.PublicChatHallFriendInfo;
|
||||
import com.chwl.app.public_chat_hall.event.AitFriendEvent;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils;
|
||||
import com.chwl.app.ui.widget.NobleAvatarView;
|
||||
import com.chwl.core.noble.NobleUtil;
|
||||
import com.chwl.core.user.bean.UserInfo;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
public class InviteFriendListAdapter extends BaseQuickAdapter<PublicChatHallFriendInfo, BaseViewHolder> {
|
||||
|
||||
private Activity context;
|
||||
|
||||
public InviteFriendListAdapter(Activity context) {
|
||||
super(R.layout.item_public_chat_hall_friend_list);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
private OnItemClickListener onItemClickListener;
|
||||
|
||||
public interface OnItemClickListener {
|
||||
void sendListener(UserInfo attentionInfo);
|
||||
}
|
||||
|
||||
public void setRylListener(OnItemClickListener onClickListener) {
|
||||
onItemClickListener = onClickListener;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, PublicChatHallFriendInfo pchFriendInfo) {
|
||||
if (pchFriendInfo == null) return;
|
||||
final UserInfo item = pchFriendInfo.getUserInfo();
|
||||
|
||||
CheckBox cbFriend = helper.getView(R.id.cb_friend);
|
||||
|
||||
helper.setText(R.id.tv_userName, item.getNick())
|
||||
.setText(R.id.tv_user_desc, item.getUserDesc() != null ?
|
||||
item.getUserDesc()
|
||||
: helper.itemView.getContext().getResources().getString(R.string.msg_no_user_desc))
|
||||
.setVisible(R.id.view_line, helper.getLayoutPosition() != getItemCount() - 1)
|
||||
;
|
||||
|
||||
NobleAvatarView nobleAvatarView = helper.getView(R.id.noble_avatar_view);
|
||||
nobleAvatarView.setSize(47, 70, 13);
|
||||
nobleAvatarView.setData(item.getAvatar(), item.getNobleUsers());
|
||||
|
||||
|
||||
AppCompatImageView ivGender = helper.getView(R.id.iv_gender);
|
||||
if (item.getGender() == 1) {
|
||||
ivGender.setImageResource(R.drawable.ic_gender_male);
|
||||
} else {
|
||||
ivGender.setImageResource(R.drawable.ic_gender_female);
|
||||
}
|
||||
|
||||
AppCompatImageView ivNobleLevel = helper.getView(R.id.iv_noble_level);
|
||||
if (item.getNobleUsers() != null) {
|
||||
ivNobleLevel.setVisibility(View.VISIBLE);
|
||||
String badgeByLevel = NobleUtil.getBadgeByLevel(item.getNobleUsers().getLevel());
|
||||
if (!TextUtils.isEmpty(badgeByLevel)) {
|
||||
NobleUtil.loadResource(badgeByLevel, ivNobleLevel);
|
||||
} else {
|
||||
ivNobleLevel.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
ivNobleLevel.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
AppCompatImageView ivUserLevel = helper.getView(R.id.iv_user_level);
|
||||
ivUserLevel.setVisibility(View.GONE);
|
||||
if (item.getUserLevelVo() != null && !TextUtils.isEmpty(item.getUserLevelVo().getExperUrl())) {
|
||||
ivUserLevel.setVisibility(View.VISIBLE);
|
||||
ImageLoadUtils.loadImage(mContext, item.getUserLevelVo().getExperUrl(), ivUserLevel);
|
||||
}
|
||||
|
||||
AppCompatImageView ivCharmLevel = helper.getView(R.id.iv_charm_level);
|
||||
ivCharmLevel.setVisibility(View.GONE);
|
||||
if (item.getUserLevelVo() != null && !TextUtils.isEmpty(item.getUserLevelVo().getCharmUrl())) {
|
||||
ivCharmLevel.setVisibility(View.VISIBLE);
|
||||
ImageLoadUtils.loadImage(mContext, item.getUserLevelVo().getCharmUrl(), ivCharmLevel);
|
||||
}
|
||||
|
||||
cbFriend.setChecked(pchFriendInfo.isSelected());
|
||||
// cbFriend.setOnClickListener(new View.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(View v) {
|
||||
// onSelect(cbFriend, pchFriendInfo, item);
|
||||
// }
|
||||
// });
|
||||
// cbFriend.setOnCheckedChangeListener((buttonView, isChecked) -> {
|
||||
//
|
||||
// });
|
||||
helper.getView(R.id.container).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
onSelect(cbFriend, pchFriendInfo, item);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void onSelect(CheckBox cbFriend, PublicChatHallFriendInfo pchFriendInfo, UserInfo item) {
|
||||
int count = 0;
|
||||
for (PublicChatHallFriendInfo publicChatHallFriendInfo : getData()) {
|
||||
if (publicChatHallFriendInfo.isSelected()) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (count == 20 && !pchFriendInfo.isSelected()) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_adapter_invitefriendlistadapter_01));
|
||||
return;
|
||||
}
|
||||
cbFriend.setChecked(!cbFriend.isChecked());
|
||||
pchFriendInfo.setSelected(!pchFriendInfo.isSelected());
|
||||
EventBus.getDefault().post(new AitFriendEvent()
|
||||
.setType(pchFriendInfo.isSelected() ? AitFriendEvent.TYPE_ADD : AitFriendEvent.TYTPE_REMOVE)
|
||||
.setUid(String.valueOf(item.getUid()))
|
||||
.setNick(item.getNick()));
|
||||
}
|
||||
|
||||
}
|
@@ -2,7 +2,6 @@ package com.chwl.app.avroom.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -13,8 +12,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.core.bean.RoomQueueInfo;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
/**
|
||||
* @author xiaoyu
|
||||
@@ -27,6 +24,11 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMicPositionNameOffset() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set LayoutManager and bind this to RecyclerView
|
||||
*/
|
||||
@@ -62,15 +64,6 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position) {
|
||||
RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByMicPosition(position - 1);
|
||||
if (roomQueueInfo == null) {
|
||||
return;
|
||||
}
|
||||
NormalMicroViewHolder holder = (NormalMicroViewHolder) viewHolder;
|
||||
holder.bind(roomQueueInfo, position - 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String microType() {
|
||||
@@ -91,27 +84,27 @@ public class MicroViewAdapter extends BaseMicroViewAdapter {
|
||||
@Override
|
||||
public void bind(RoomQueueInfo info, int position) {
|
||||
super.bind(info, position);
|
||||
if (position == 7) {
|
||||
ivUpImage.setImageResource(R.drawable.icon_room_up_micro_vip);
|
||||
} else {
|
||||
// if (position == 7) {
|
||||
// ivUpImage.setImageResource(R.drawable.icon_room_up_micro_vip);
|
||||
// } else {
|
||||
ivUpImage.setImageResource(R.drawable.icon_room_up_micro);
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void setDefalutText(int index) {
|
||||
if (index == 7) {
|
||||
tvNick.setTextColor(Color.WHITE);
|
||||
tvNick.setText(ResUtil.getString(R.string.avroom_adapter_microviewadapter_01));
|
||||
if (tvNumber != null) {
|
||||
tvNumber.setBackgroundResource(R.drawable.shape_micro_vip);
|
||||
tvNumber.setTextColor(Color.WHITE);
|
||||
tvNumber.setText(String.valueOf((index + 1)));
|
||||
}
|
||||
} else {
|
||||
// if (index == 7) {
|
||||
// tvNick.setTextColor(Color.WHITE);
|
||||
// tvNick.setText(ResUtil.getString(R.string.avroom_adapter_microviewadapter_01));
|
||||
// if (tvNumber != null) {
|
||||
// tvNumber.setBackgroundResource(R.drawable.shape_micro_vip);
|
||||
// tvNumber.setTextColor(Color.WHITE);
|
||||
// tvNumber.setText(String.valueOf((index + 1)));
|
||||
// }
|
||||
// } else {
|
||||
super.setDefalutText(index);
|
||||
}
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -12,6 +12,9 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.utils.NamePlateHelper;
|
||||
import com.chwl.core.level.UserLevelVo;
|
||||
import com.chwl.core.room.bean.RoomOnlineUserBean;
|
||||
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
|
||||
import com.netease.nimlib.sdk.RequestCallbackWrapper;
|
||||
import com.netease.nimlib.sdk.uinfo.constant.GenderEnum;
|
||||
@@ -41,19 +44,16 @@ import io.reactivex.disposables.Disposable;
|
||||
* @author Administrator
|
||||
* @date 2017/12/4
|
||||
*/
|
||||
public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMember, BaseViewHolder> {
|
||||
|
||||
public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<RoomOnlineUserBean, BaseViewHolder> {
|
||||
private boolean mIsHomeParty;
|
||||
private Disposable mDisposable;
|
||||
private Context context;
|
||||
private OnRoomOnlineNumberChangeListener mListener;
|
||||
|
||||
public OnlineUserAdapter(Context context, boolean isHomeParty) {
|
||||
super(null);
|
||||
addItemType(OnlineChatMember.NORMAL, R.layout.list_item_online_user);
|
||||
addItemType(OnlineChatMember.NOBLE, R.layout.list_item_online_user_mystery);
|
||||
addItemType(RoomOnlineUserBean.NORMAL, R.layout.list_item_online_user);
|
||||
addItemType(RoomOnlineUserBean.NOBLE, R.layout.list_item_online_user_mystery);
|
||||
mIsHomeParty = isHomeParty;
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -63,147 +63,76 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(@NonNull BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
||||
if (onlineChatMember != null && onlineChatMember.chatRoomMember != null) {
|
||||
if (onlineChatMember.getItemType() == OnlineChatMember.NORMAL) {
|
||||
setNormalData(baseViewHolder, onlineChatMember);
|
||||
} else {
|
||||
setMysteryData();
|
||||
}
|
||||
protected void convert(@NonNull BaseViewHolder helper, RoomOnlineUserBean item) {
|
||||
if (item.getItemType() == OnlineChatMember.NOBLE) {
|
||||
return;
|
||||
}
|
||||
// 性别
|
||||
final ImageView sexImage = helper.getView(R.id.sex);
|
||||
if (item.getGender() == 1) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_male);
|
||||
} else if (item.getGender() == 2) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_female);
|
||||
} else {
|
||||
sexImage.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
private void setMysteryData() {
|
||||
//do nothing
|
||||
}
|
||||
// 昵称
|
||||
helper.setText(R.id.nick, RegexUtil.getPrintableString(item.getNick()));
|
||||
|
||||
private void setNormalData(BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
||||
setSexData(baseViewHolder, onlineChatMember);
|
||||
|
||||
ImageView roomOnlineTag = baseViewHolder.getView(R.id.room_online_tag);
|
||||
ImageView managerLogo = baseViewHolder.getView(R.id.manager_logo);
|
||||
roomOnlineTag.setVisibility(onlineChatMember.isOnMic ? View.VISIBLE : View.GONE);
|
||||
managerLogo.setVisibility((onlineChatMember.isAdmin || onlineChatMember.isRoomOwer)
|
||||
? View.VISIBLE : View.GONE);
|
||||
managerLogo.setImageResource(onlineChatMember.isAdmin ? R.drawable.icon_admin_logo
|
||||
: R.drawable.icon_user_list_room_ownner);
|
||||
|
||||
baseViewHolder.setText(R.id.nick, RegexUtil.getPrintableString(onlineChatMember.chatRoomMember.getNick()));
|
||||
|
||||
NobleAvatarView nobleAvatarView = baseViewHolder.getView(R.id.noble_avatar_view);
|
||||
// 头像
|
||||
NobleAvatarView nobleAvatarView = helper.getView(R.id.noble_avatar_view);
|
||||
nobleAvatarView.setSize(37, 54, 0);
|
||||
nobleAvatarView.setData(onlineChatMember.chatRoomMember);
|
||||
nobleAvatarView.setData(item);
|
||||
|
||||
// 官字
|
||||
baseViewHolder.getView(R.id.iv_user_official).setVisibility(onlineChatMember.isOfficial() ? View.VISIBLE : View.GONE);
|
||||
helper.getView(R.id.iv_user_official).setVisibility(item.isOfficial() ? View.VISIBLE : View.GONE);
|
||||
|
||||
// 管理
|
||||
ImageView ivManager = helper.getView(R.id.manager_logo);
|
||||
if (item.getMemberType() != null && item.getMemberType().equals("MANAGER")) {
|
||||
ivManager.setVisibility(View.VISIBLE);
|
||||
ivManager.setImageResource(R.drawable.icon_admin_logo);
|
||||
} else if (item.getMemberType() != null && item.getMemberType().equals("CREATOR")) {
|
||||
ivManager.setVisibility(View.VISIBLE);
|
||||
ivManager.setImageResource(R.drawable.icon_user_list_room_ownner);
|
||||
} else {
|
||||
ivManager.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
// 在麦
|
||||
ImageView ivMic = helper.getView(R.id.room_online_tag);
|
||||
ivMic.setVisibility(item.isInMic() ? View.VISIBLE : View.GONE);
|
||||
|
||||
|
||||
//等级
|
||||
UserLevelVo levelVo = item.getUserLevelVo();
|
||||
String experLevelUrl = null;
|
||||
String charmLevelUrl = null;
|
||||
if (levelVo != null) {
|
||||
experLevelUrl = levelVo.getExperUrl();
|
||||
charmLevelUrl = levelVo.getCharmUrl();
|
||||
}
|
||||
//经验等级
|
||||
AppCompatImageView ivUserExper = baseViewHolder.getView(R.id.iv_user_exper);
|
||||
String experLevelUrl = NobleUtil.getLevel(UserLevelResourceType.EXPER_URL, onlineChatMember.chatRoomMember);
|
||||
AppCompatImageView ivUserExper = helper.getView(R.id.iv_user_exper);
|
||||
boolean isExperLevelUrlEmpty = TextUtils.isEmpty(experLevelUrl);
|
||||
ivUserExper.setVisibility(!isExperLevelUrlEmpty ? View.VISIBLE : View.GONE);
|
||||
if (!isExperLevelUrlEmpty) {
|
||||
ImageLoadUtils.loadImage(mContext, experLevelUrl, ivUserExper);
|
||||
}
|
||||
//魅力等级
|
||||
AppCompatImageView ivUserCharm = baseViewHolder.getView(R.id.iv_user_charm);
|
||||
String charmLevelUrl = NobleUtil.getLevel(UserLevelResourceType.CHARM_URL, onlineChatMember.chatRoomMember);
|
||||
AppCompatImageView ivUserCharm = helper.getView(R.id.iv_user_charm);
|
||||
boolean isCharmLevelUrlEmpty = TextUtils.isEmpty(charmLevelUrl);
|
||||
ivUserCharm.setVisibility(!isCharmLevelUrlEmpty ? View.VISIBLE : View.GONE);
|
||||
if (!isCharmLevelUrlEmpty) {
|
||||
ImageLoadUtils.loadImage(mContext, charmLevelUrl, ivUserCharm);
|
||||
}
|
||||
|
||||
// 官方主播铭牌标识
|
||||
String fixWord = NobleUtil.getLevel(UserInfo.OAC_NAME, onlineChatMember.chatRoomMember);
|
||||
String iconPic = NobleUtil.getLevel(UserInfo.OAC_ICON, onlineChatMember.chatRoomMember);
|
||||
View inOfficialMask = baseViewHolder.getView(R.id.in_official_mask);
|
||||
if (!TextUtils.isEmpty(fixWord) && !TextUtils.isEmpty(iconPic)) {
|
||||
inOfficialMask.setVisibility(View.VISIBLE);
|
||||
TextView tvOfficialMask = inOfficialMask.findViewById(R.id.tv_official_mask);
|
||||
if (tvOfficialMask != null) {
|
||||
tvOfficialMask.setText(fixWord);
|
||||
}
|
||||
|
||||
ImageView ivOfficialMask = inOfficialMask.findViewById(R.id.iv_official_mask);
|
||||
if (ivOfficialMask != null) {
|
||||
ImageLoadUtils.loadImage(mContext, iconPic, ivOfficialMask);
|
||||
}
|
||||
|
||||
} else {
|
||||
inOfficialMask.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
// 铭牌
|
||||
String namePlateWord = NobleUtil.getLevel(UserInfo.NAMEPLATE_WORD, onlineChatMember.chatRoomMember);
|
||||
String namePlatePic = NobleUtil.getLevel(UserInfo.NAMEPLATE_PIC, onlineChatMember.chatRoomMember);
|
||||
View inNamePlate = baseViewHolder.getView(R.id.in_nameplate);
|
||||
if (!TextUtils.isEmpty(namePlateWord) && !TextUtils.isEmpty(namePlatePic)) {
|
||||
inNamePlate.setVisibility(View.VISIBLE);
|
||||
TextView tvNamePlate = inNamePlate.findViewById(R.id.tv_official_mask);
|
||||
if (tvNamePlate != null) {
|
||||
tvNamePlate.setText(namePlateWord);
|
||||
}
|
||||
|
||||
ImageView ivNamePlate = inNamePlate.findViewById(R.id.iv_official_mask);
|
||||
if (ivNamePlate != null) {
|
||||
ImageLoadUtils.loadImage(mContext, namePlatePic, ivNamePlate);
|
||||
}
|
||||
|
||||
} else {
|
||||
inNamePlate.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
AppCompatImageView ivUserLevel = baseViewHolder.getView(R.id.iv_noble_level);
|
||||
String resource = (String) NobleUtil.getResource(NobleResourceType.KEY_BADGE, onlineChatMember.chatRoomMember);
|
||||
if (TextUtils.isEmpty(resource)) {
|
||||
ivUserLevel.setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
ivUserLevel.setVisibility(View.VISIBLE);
|
||||
NobleUtil.loadResource(resource, ivUserLevel);
|
||||
}
|
||||
|
||||
private void setSexData(BaseViewHolder baseViewHolder, OnlineChatMember onlineChatMember) {
|
||||
final ImageView sexImage = baseViewHolder.getView(R.id.sex);
|
||||
String gender = NobleUtil.getLevel(UserInfo.GENDER, onlineChatMember.chatRoomMember);
|
||||
if ("1".equals(gender)) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_male);
|
||||
} else if ("2".equals(gender)) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_female);
|
||||
} else {
|
||||
NimUserInfo nimUserInfo = NimUserInfoCache.getInstance().getUserInfo(onlineChatMember.chatRoomMember.getAccount());
|
||||
if (nimUserInfo == null) {
|
||||
NimUserInfoCache.getInstance().getUserInfoFromRemote(onlineChatMember.chatRoomMember.getAccount(),
|
||||
new RequestCallbackWrapper<NimUserInfo>() {
|
||||
@Override
|
||||
public void onResult(int i, NimUserInfo nimUserInfo, Throwable throwable) {
|
||||
if (nimUserInfo != null) {
|
||||
if (nimUserInfo.getGenderEnum() == GenderEnum.MALE) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_male);
|
||||
} else if (nimUserInfo.getGenderEnum() == GenderEnum.FEMALE) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_female);
|
||||
} else {
|
||||
sexImage.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (nimUserInfo.getGenderEnum() == GenderEnum.MALE) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_male);
|
||||
} else if (nimUserInfo.getGenderEnum() == GenderEnum.FEMALE) {
|
||||
sexImage.setVisibility(View.VISIBLE);
|
||||
sexImage.setImageResource(R.drawable.ic_gender_female);
|
||||
} else {
|
||||
sexImage.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
View inNamePlate = helper.getView(R.id.in_nameplate);
|
||||
NamePlateHelper.INSTANCE.load(inNamePlate, inNamePlate.findViewById(R.id.tv_official_mask), inNamePlate.findViewById(R.id.iv_official_mask), item);
|
||||
}
|
||||
|
||||
private void registerRoomEvent() {
|
||||
@@ -240,7 +169,7 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
updateMemberIn(roomEvent);
|
||||
} else if (event == RoomEvent.ROOM_MEMBER_EXIT) {
|
||||
if (mListener != null) {
|
||||
mListener.onMemberExit(roomEvent.getAccount(), mData);
|
||||
mListener.onMemberExit(roomEvent.getAccount());
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -248,19 +177,19 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
|
||||
private void updateMemberIn(RoomEvent roomEvent) {
|
||||
if (mListener != null) {
|
||||
mListener.onMemberIn(roomEvent.getAccount(), mData);
|
||||
mListener.onMemberIn(roomEvent.getAccount());
|
||||
}
|
||||
}
|
||||
|
||||
private void updateManager(RoomEvent roomEvent) {
|
||||
if (mListener != null)
|
||||
mListener.onUpdateMemberManager(roomEvent.getAccount(),
|
||||
roomEvent.getEvent() == RoomEvent.ROOM_MANAGER_REMOVE, mData);
|
||||
roomEvent.getEvent() == RoomEvent.ROOM_MANAGER_REMOVE);
|
||||
}
|
||||
|
||||
private void updateDownUpMic(String account, boolean isUpMic) {
|
||||
if (mListener != null) {
|
||||
mListener.onMemberDownUpMic(account, isUpMic, mData);
|
||||
mListener.onMemberDownUpMic(account, isUpMic);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -281,34 +210,29 @@ public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<OnlineChatMembe
|
||||
*
|
||||
* @param account
|
||||
*/
|
||||
void onMemberIn(String account, List<OnlineChatMember> dataList);
|
||||
void onMemberIn(String account);
|
||||
|
||||
/**
|
||||
* 成员出去回调
|
||||
*
|
||||
* @param account
|
||||
* @param dataList
|
||||
*/
|
||||
void onMemberExit(String account, List<OnlineChatMember> dataList);
|
||||
void onMemberExit(String account);
|
||||
|
||||
/**
|
||||
* 成员上下麦更新
|
||||
*
|
||||
* @param account
|
||||
* @param isUpMic
|
||||
* @param dataList
|
||||
*/
|
||||
void onMemberDownUpMic(String account, boolean isUpMic,
|
||||
List<OnlineChatMember> dataList);
|
||||
void onMemberDownUpMic(String account, boolean isUpMic);
|
||||
|
||||
/**
|
||||
* 设置管理员回调
|
||||
*
|
||||
* @param account
|
||||
* @param dataList
|
||||
*/
|
||||
void onUpdateMemberManager(String account, boolean isRemoveManager,
|
||||
List<OnlineChatMember> dataList);
|
||||
void onUpdateMemberManager(String account, boolean isRemoveManager);
|
||||
|
||||
void addMemberBlack();
|
||||
}
|
||||
|
@@ -0,0 +1,79 @@
|
||||
package com.chwl.app.avroom.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.core.bean.RoomQueueInfo;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
|
||||
/**
|
||||
* @author xiaoyu
|
||||
* @date 2017/12/18
|
||||
*/
|
||||
|
||||
public class PartyMicroViewAdapter extends BaseMicroViewAdapter {
|
||||
|
||||
public PartyMicroViewAdapter(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set LayoutManager and bind this to RecyclerView
|
||||
*/
|
||||
@Override
|
||||
public void bindToRecyclerView(RecyclerView recyclerView) {
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(context, 5);
|
||||
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setAdapter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View item;
|
||||
item = LayoutInflater.from(parent.getContext()).
|
||||
inflate(R.layout.list_item_micro, parent, false);
|
||||
return new MicroViewHolder(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String microType() {
|
||||
return BaseMicroViewAdapter.MICRO_TYPE_PARTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return TYPE_NORMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
class MicroViewHolder extends GiftValueViewHolder {
|
||||
MicroViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(RoomQueueInfo info, int position) {
|
||||
super.bind(info, position);
|
||||
ivUpImage.setImageResource(R.drawable.icon_room_up_micro);
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void setDefalutText(int index) {
|
||||
super.setDefalutText(index);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,79 @@
|
||||
package com.chwl.app.avroom.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.core.bean.RoomQueueInfo;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
|
||||
/**
|
||||
* @author xiaoyu
|
||||
* @date 2017/12/18
|
||||
*/
|
||||
|
||||
public class RevelryMicroViewAdapter extends BaseMicroViewAdapter {
|
||||
|
||||
public RevelryMicroViewAdapter(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set LayoutManager and bind this to RecyclerView
|
||||
*/
|
||||
@Override
|
||||
public void bindToRecyclerView(RecyclerView recyclerView) {
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(context, 5);
|
||||
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setAdapter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View item;
|
||||
item = LayoutInflater.from(parent.getContext()).
|
||||
inflate(R.layout.list_item_micro, parent, false);
|
||||
return new MicroViewHolder(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String microType() {
|
||||
return BaseMicroViewAdapter.MICRO_TYPE_REVELRY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return TYPE_NORMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return 15;
|
||||
}
|
||||
|
||||
class MicroViewHolder extends GiftValueViewHolder {
|
||||
MicroViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bind(RoomQueueInfo info, int position) {
|
||||
super.bind(info, position);
|
||||
ivUpImage.setImageResource(R.drawable.icon_room_up_micro);
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void setDefalutText(int index) {
|
||||
super.setDefalutText(index);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
package com.chwl.app.avroom.adapter
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.core.view.isVisible
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.load.DataSource
|
||||
import com.bumptech.glide.load.engine.GlideException
|
||||
import com.bumptech.glide.request.RequestListener
|
||||
import com.bumptech.glide.request.target.Target
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.load
|
||||
|
||||
class RoomBgAdapter : BaseQuickAdapter<String, BaseViewHolder>(R.layout.room_bg_setting_item) {
|
||||
private var selectItem: String? = null
|
||||
override fun convertPayloads(
|
||||
helper: BaseViewHolder,
|
||||
item: String?,
|
||||
payloads: MutableList<Any>
|
||||
) {
|
||||
super.convertPayloads(helper, item, payloads)
|
||||
convertStatus(helper, item)
|
||||
}
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: String?) {
|
||||
val imageView = helper.getView<ImageView>(R.id.iv_image)
|
||||
imageView.load(item)
|
||||
convertStatus(helper, item)
|
||||
}
|
||||
|
||||
private fun convertStatus(helper: BaseViewHolder, item: String?) {
|
||||
val statusView = helper.getView<View>(R.id.tv_status)
|
||||
statusView.isVisible = item == selectItem
|
||||
}
|
||||
|
||||
fun getSelectItem() = selectItem
|
||||
|
||||
fun selectItem(url: String?) {
|
||||
selectItem = url
|
||||
notifyItemRangeChanged(0, itemCount, true)
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
package com.chwl.app.avroom.adapter
|
||||
|
||||
import android.widget.ImageView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.ui.utils.load
|
||||
import com.chwl.core.room.bean.RoomIcon
|
||||
import com.chwl.core.room.game.bean.GameInfo
|
||||
|
||||
class RoomGameListAdapter :
|
||||
BaseQuickAdapter<GameInfo, BaseViewHolder>(R.layout.room_gameplay_item2) {
|
||||
override fun convert(helper: BaseViewHolder, item: GameInfo?) {
|
||||
helper.setText(R.id.tv_name, item?.name)
|
||||
val iconView = helper.getView<ImageView>(R.id.iv_icon)
|
||||
iconView.load(item?.pic2)
|
||||
}
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
package com.chwl.app.avroom.adapter
|
||||
|
||||
import android.widget.ImageView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.bean.RoomGameplayItem
|
||||
import com.chwl.app.ui.utils.load
|
||||
|
||||
class RoomGameplayAdapter :
|
||||
BaseQuickAdapter<RoomGameplayItem, BaseViewHolder>(R.layout.room_gameplay_item2) {
|
||||
override fun convert(helper: BaseViewHolder, item: RoomGameplayItem?) {
|
||||
helper.setText(R.id.tv_name, item?.getName())
|
||||
val iconView = helper.getView<ImageView>(R.id.iv_icon)
|
||||
val iconRes = item?.getIconRes()
|
||||
if (iconRes != null) {
|
||||
iconView.setImageResource(iconRes)
|
||||
} else {
|
||||
val iconUrl = item?.getIconUrl()
|
||||
iconView.load(iconUrl ?: "")
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,106 @@
|
||||
package com.chwl.app.avroom.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.Gravity;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.ui.widget.XRecyclerView.ScaleTransitionPagerTitleView;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.indicators.GradientLineRoundPagerIndicator;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RoomMessageIndicatorAdapter extends CommonNavigatorAdapter {
|
||||
private final Context mContext;
|
||||
private final List<? extends CharSequence> mTitleList;
|
||||
|
||||
private int textSize = 14;
|
||||
private float minScale = 1f;
|
||||
private boolean showIndicator = true;
|
||||
private OnItemSelectListener mOnItemSelectListener;
|
||||
|
||||
public RoomMessageIndicatorAdapter(Context context, List<? extends CharSequence> charSequences) {
|
||||
this.mContext = context;
|
||||
this.mTitleList = charSequences;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return mTitleList == null ? 0 : mTitleList.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPagerTitleView getTitleView(Context context, final int i) {
|
||||
ScaleTransitionPagerTitleView scaleTransitionPagerTitleView = new ScaleTransitionPagerTitleView(context, true);
|
||||
scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(context, R.color.white_transparent_60));
|
||||
scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context, R.color.color_FFFFFF));
|
||||
scaleTransitionPagerTitleView.setMinScale(minScale);
|
||||
scaleTransitionPagerTitleView.setTextSize(textSize);
|
||||
int padding = UIUtil.dip2px(context, 13);
|
||||
scaleTransitionPagerTitleView.setPadding(padding, 0, padding, 0);
|
||||
scaleTransitionPagerTitleView.setText(mTitleList.get(i));
|
||||
scaleTransitionPagerTitleView.setOnClickListener(view -> {
|
||||
if (mOnItemSelectListener != null) {
|
||||
mOnItemSelectListener.onItemSelect(i, scaleTransitionPagerTitleView);
|
||||
}
|
||||
|
||||
});
|
||||
return scaleTransitionPagerTitleView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPagerIndicator getIndicator(Context context) {
|
||||
LinePagerIndicator indicator = new LinePagerIndicator(context);
|
||||
indicator.setMode(LinePagerIndicator.MODE_EXACTLY);
|
||||
indicator.setLineHeight(UIUtil.dip2px(mContext, 1.5));
|
||||
indicator.setRoundRadius(UIUtil.dip2px(mContext, 1));
|
||||
indicator.setLineWidth(UIUtil.dip2px(mContext, 8));
|
||||
indicator.setColors(context.getResources().getColor(R.color.color_10ECD6));
|
||||
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
// lp.bottomMargin = mBottomMargin;
|
||||
indicator.setLayoutParams(lp);
|
||||
return indicator;
|
||||
}
|
||||
|
||||
public int getTextSize() {
|
||||
return textSize;
|
||||
}
|
||||
|
||||
public void setTextSize(int textSize) {
|
||||
this.textSize = textSize;
|
||||
}
|
||||
|
||||
public float getMinScale() {
|
||||
return minScale;
|
||||
}
|
||||
|
||||
public void setMinScale(float minScale) {
|
||||
this.minScale = minScale;
|
||||
}
|
||||
|
||||
public boolean isShowIndicator() {
|
||||
return showIndicator;
|
||||
}
|
||||
|
||||
public void setShowIndicator(boolean showIndicator) {
|
||||
this.showIndicator = showIndicator;
|
||||
}
|
||||
|
||||
public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) {
|
||||
mOnItemSelectListener = onItemSelectListener;
|
||||
}
|
||||
|
||||
public interface OnItemSelectListener {
|
||||
void onItemSelect(int position, TextView view);
|
||||
}
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
package com.chwl.app.avroom.adapter
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.chwl.app.R
|
||||
import com.chwl.core.room.game.bean.GameInfo
|
||||
|
||||
class SelectGameAdapter :
|
||||
BaseQuickAdapter<GameInfo, BaseViewHolder>(R.layout.item_room_select_game) {
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: GameInfo) {
|
||||
helper.setText(R.id.tv_name,item.name)
|
||||
}
|
||||
|
||||
}
|
@@ -72,14 +72,10 @@ class SingleAnchorMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(con
|
||||
}
|
||||
}
|
||||
super.bind(info, position)
|
||||
tvNumber?.background = null
|
||||
tvNumber?.text = ""
|
||||
}
|
||||
|
||||
override fun setDefalutText(index: Int) {
|
||||
tvNick.text = ""
|
||||
tvNumber?.background = null
|
||||
tvNumber?.text = ""
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -8,17 +8,18 @@ import android.util.AttributeSet
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.PopupWindow
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.marginBottom
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.lifecycle.Observer
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.netease.nim.uikit.common.util.sys.TimeUtil
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity
|
||||
import com.chwl.app.common.widget.DragLayout
|
||||
import com.chwl.app.databinding.LayoutRoomPkBoardViewBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.core.im.custom.bean.RoomPkBean
|
||||
@@ -29,6 +30,9 @@ import com.chwl.core.utils.CurrentTimeUtils
|
||||
import com.chwl.core.utils.extension.subAndReplaceDot
|
||||
import com.chwl.library.rxbus.RxBus
|
||||
import com.chwl.library.utils.CommonUtils
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.widget.drag.ViewDragLayout
|
||||
import com.example.lib_utils.UiUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
@@ -36,7 +40,7 @@ import java.util.concurrent.TimeUnit
|
||||
|
||||
class RoomPKBoardView @JvmOverloads constructor(
|
||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||
) : DragLayout(context, attrs, defStyleAttr) {
|
||||
) : ViewDragLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
private val binding = LayoutRoomPkBoardViewBinding.inflate(LayoutInflater.from(context))
|
||||
private val observer = Observer<RoomPkBean?> { updateView(it) }
|
||||
@@ -45,25 +49,34 @@ class RoomPKBoardView @JvmOverloads constructor(
|
||||
private var roomPkBean: RoomPkBean? = null
|
||||
|
||||
init {
|
||||
addView(binding.root, LayoutParams(ScreenUtil.dip2px(339f), ScreenUtil.dip2px(233f)))
|
||||
addView(
|
||||
binding.root,
|
||||
FrameLayout.LayoutParams(
|
||||
context.resources.getDimensionPixelOffset(R.dimen.dp_309),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
).apply {
|
||||
this.gravity = Gravity.CENTER
|
||||
this.setMargins(0, 0, 0, UiUtils.dip2px(50f))
|
||||
}
|
||||
)
|
||||
//注意这里需要先改变Style,再订阅数据
|
||||
binding.viewRankListCharmLeft.showCharmStyle()
|
||||
binding.viewRankListCharmRight.showCharmStyle()
|
||||
AvRoomDataManager.get().roomPkLiveData.observeForever(observer)
|
||||
binding.ivDetails.setOnClickListener {
|
||||
if (CommonUtils.isFastDoubleClick(1000)) return@setOnClickListener
|
||||
if (CommonUtils.isFastDoubleClick(500)) return@setOnClickListener
|
||||
binding.groupRank.isVisible = !binding.groupRank.isVisible
|
||||
if (binding.groupRank.isVisible) {
|
||||
binding.clRoot.setBackgroundResource(R.drawable.bg_room_pk_board)
|
||||
binding.clRoot.updateLayoutParams<FrameLayout.LayoutParams> {
|
||||
width = ScreenUtil.dip2px(339f)
|
||||
height = ScreenUtil.dip2px(233f)
|
||||
binding.ivBg.setImageResource(R.drawable.room_pk_bg_full)
|
||||
binding.ivBg.updateLayoutParams<ConstraintLayout.LayoutParams> {
|
||||
width = ViewGroup.LayoutParams.MATCH_PARENT
|
||||
height = context.resources.getDimensionPixelOffset(R.dimen.dp_285)
|
||||
}
|
||||
} else {
|
||||
binding.clRoot.setBackgroundResource(R.drawable.bg_room_pk_board_small)
|
||||
binding.clRoot.updateLayoutParams<FrameLayout.LayoutParams> {
|
||||
width = ScreenUtil.dip2px(339f)
|
||||
height = ScreenUtil.dip2px(137f)
|
||||
binding.ivBg.setImageResource(R.drawable.room_pk_bg_small)
|
||||
binding.ivBg.updateLayoutParams<ConstraintLayout.LayoutParams> {
|
||||
width = ViewGroup.LayoutParams.MATCH_PARENT
|
||||
height = context.resources.getDimensionPixelOffset(R.dimen.dp_130)
|
||||
}
|
||||
}
|
||||
binding.ivDetails.animate().rotationBy(180f).start()
|
||||
@@ -122,11 +135,17 @@ class RoomPKBoardView @JvmOverloads constructor(
|
||||
)
|
||||
binding.viewRankListCharmRight.updateData(roomPkBean?.arRank)
|
||||
binding.viewRankListContributeRight.updateData(roomPkBean?.asRank)
|
||||
|
||||
binding.pbScore.progress = ((roomPkBean?.cPercent ?: 0.5f) * 100).toInt()
|
||||
val layoutParams = binding.svgaHot.layoutParams as ConstraintLayout.LayoutParams
|
||||
layoutParams.horizontalBias = roomPkBean?.cPercent ?: 0.5f
|
||||
binding.svgaHot.layoutParams = layoutParams
|
||||
binding.pbScore.post {
|
||||
val progress = binding.pbScore.width * (roomPkBean?.cPercent ?: 0.5f)
|
||||
var bias =
|
||||
(progress - binding.svgaHot.width / 2f) / (binding.pbScore.width - binding.svgaHot.width)
|
||||
val layoutParams = binding.svgaHot.layoutParams as ConstraintLayout.LayoutParams
|
||||
bias = 1f.coerceAtMost(bias)
|
||||
bias = 0f.coerceAtLeast(bias)
|
||||
layoutParams.horizontalBias = bias
|
||||
binding.svgaHot.layoutParams = layoutParams
|
||||
}
|
||||
|
||||
binding.tvScoreLeft.text = "${roomPkBean?.cAmount ?: 0}"
|
||||
binding.tvScoreRight.text = "${roomPkBean?.aAmount ?: 0}"
|
||||
@@ -134,13 +153,18 @@ class RoomPKBoardView @JvmOverloads constructor(
|
||||
disposable = Observable.interval(1, TimeUnit.SECONDS)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe { _ ->
|
||||
binding.tvTime.text = roomPkBean?.endTime?.let {
|
||||
roomPkBean?.endTime?.let {
|
||||
val remainTime = (it - CurrentTimeUtils.getCurrentTime()).toInt() / 1000
|
||||
binding.tvTime.setTextColor(Color.parseColor(if (remainTime <= 30) "#ff87a1" else "#fff600"))
|
||||
binding.tvTime.isVisible = remainTime > 0
|
||||
binding.tvEndHint.isVisible = remainTime <= 0
|
||||
TimeUtil.secToTime(remainTime)
|
||||
} ?: "00:00"
|
||||
binding.tvTime.setTextColor(Color.parseColor(if (remainTime <= 30) "#FFF17D" else "#ffffff"))
|
||||
if (remainTime > 0) {
|
||||
binding.tvTime.text = TimeUtil.secToTime(remainTime)
|
||||
} else {
|
||||
binding.tvTime.text =
|
||||
ResUtil.getString(R.string.layout_layout_room_pk_board_view_02)
|
||||
}
|
||||
} ?: let {
|
||||
binding.tvTime.text = "00:00"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,7 +174,11 @@ class RoomPKBoardView @JvmOverloads constructor(
|
||||
contentView =
|
||||
LayoutInflater.from(context).inflate(R.layout.layout_room_pk_help_view, null)
|
||||
helpPopupWindow =
|
||||
PopupWindow(contentView, ScreenUtil.dip2px(244f), ScreenUtil.dip2px(177f))
|
||||
PopupWindow(
|
||||
contentView,
|
||||
resources.getDimensionPixelOffset(R.dimen.dp_209),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
helpPopupWindow.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
helpPopupWindow.isOutsideTouchable = true
|
||||
helpPopupWindow.isFocusable = true
|
||||
@@ -158,10 +186,10 @@ class RoomPKBoardView @JvmOverloads constructor(
|
||||
|
||||
try {
|
||||
helpPopupWindow.showAsDropDown(
|
||||
binding.viewHelpAnchor,
|
||||
binding.ivHelp,
|
||||
0,
|
||||
0,
|
||||
Gravity.START or Gravity.BOTTOM
|
||||
ScreenUtil.dip2px(7f),
|
||||
Gravity.END or Gravity.BOTTOM
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
|
@@ -5,6 +5,8 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.FrameLayout
|
||||
import androidx.core.view.isGone
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.databinding.LayoutRoomPkRankListViewBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
@@ -19,7 +21,6 @@ class RoomPKRankListView @JvmOverloads constructor(
|
||||
private val binding = LayoutRoomPkRankListViewBinding.inflate(LayoutInflater.from(context))
|
||||
private val tvValues = arrayOf(binding.tvValue1, binding.tvValue2, binding.tvValue3)
|
||||
private val ivAvatars = arrayOf(binding.ivAvatar1, binding.ivAvatar2, binding.ivAvatar3)
|
||||
private var defaultAvatarRes = R.drawable.bg_room_pk_rank_contribute_default
|
||||
|
||||
init {
|
||||
addView(binding.root)
|
||||
@@ -36,13 +37,9 @@ class RoomPKRankListView @JvmOverloads constructor(
|
||||
binding.tvValue1.setBackgroundResource(R.drawable.bg_room_pk_charm)
|
||||
binding.tvValue2.setBackgroundResource(R.drawable.bg_room_pk_charm)
|
||||
binding.tvValue3.setBackgroundResource(R.drawable.bg_room_pk_charm)
|
||||
binding.viewBg1.setBackgroundResource(R.drawable.bg_room_pk_rank_charm1)
|
||||
binding.viewBg2.setBackgroundResource(R.drawable.bg_room_pk_rank_charm2)
|
||||
binding.viewBg3.setBackgroundResource(R.drawable.bg_room_pk_rank_charm2)
|
||||
binding.ivAvatar1.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
|
||||
binding.ivAvatar2.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
|
||||
binding.ivAvatar3.setImageResource(R.drawable.bg_room_pk_rank_charm_default)
|
||||
defaultAvatarRes = R.drawable.bg_room_pk_rank_charm_default
|
||||
binding.ivAvatarSeat1.setImageResource(R.drawable.room_pk_ic_seat_charm)
|
||||
binding.ivAvatarSeat2.setImageResource(R.drawable.room_pk_ic_seat_charm)
|
||||
binding.ivAvatarSeat3.setImageResource(R.drawable.room_pk_ic_seat_charm)
|
||||
}
|
||||
|
||||
fun updateData(data: List<RoomPkBean.RankBean>?) {
|
||||
@@ -50,12 +47,16 @@ class RoomPKRankListView @JvmOverloads constructor(
|
||||
val rankBean = data?.getOrNull(i)
|
||||
tvValues[i].text = rankBean?.amount ?: "0"
|
||||
tvValues[i].isGone = "0" == tvValues[i].text
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
rankBean?.avatar,
|
||||
ivAvatars[i],
|
||||
if (rankBean?.avatar.isNullOrEmpty()) defaultAvatarRes else R.drawable.default_avatar
|
||||
)
|
||||
if (rankBean?.avatar.isNullOrEmpty()) {
|
||||
ivAvatars[i].isInvisible = true
|
||||
} else {
|
||||
ivAvatars[i].isVisible = true
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
rankBean?.avatar,
|
||||
ivAvatars[i], R.drawable.default_avatar
|
||||
)
|
||||
}
|
||||
ivAvatars[i].tag = rankBean?.uid
|
||||
}
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@ class RoomPKSearchAdapter :
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: SimpleRoomInfo) {
|
||||
helper.setText(R.id.tv_room_title,item.title.subAndReplaceDot(7))
|
||||
.setText(R.id.tv_room_id,"Hiyoo号:${item.erbanNo}")
|
||||
.setText(R.id.tv_room_id,"ID:${item.erbanNo}")
|
||||
.setChecked(R.id.check_box,item.checked)
|
||||
ImageLoadUtils.loadImage(mContext,item.avatar,helper.getView(R.id.iv_avatar))
|
||||
helper.addOnClickListener(R.id.iv_avatar,R.id.check_box)
|
||||
|
@@ -3,15 +3,14 @@ package com.chwl.app.avroom.anotherroompk
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.WindowManager
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogRoomPkFinishBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.core.im.custom.bean.RoomPkBean
|
||||
import com.chwl.core.utils.extension.subAndReplaceDot
|
||||
|
||||
class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
class RoomPkFinishDialog : BaseDialogFragment<DialogRoomPkFinishBinding>() {
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
@@ -30,10 +29,8 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
|
||||
@SuppressLint("CheckResult", "SetTextI18n")
|
||||
override fun init() {
|
||||
binding?.ivClose?.setOnClickListener { dismissAllowingStateLoss() }
|
||||
binding?.tvTitleRed?.text = roomPkBean.cTitle.subAndReplaceDot(7)
|
||||
binding?.tvValueRed?.text = "${roomPkBean.cAmount}"
|
||||
binding?.ivRedWin?.isVisible = roomPkBean.cUid == roomPkBean.winUid && roomPkBean.winUid != 0L
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
roomPkBean.cAvatar,
|
||||
@@ -43,8 +40,6 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
|
||||
binding?.tvTitleBlue?.text = roomPkBean.aTitle.subAndReplaceDot(7)
|
||||
binding?.tvValueBlue?.text = "${roomPkBean.aAmount}"
|
||||
binding?.ivBlueWin?.isVisible =
|
||||
roomPkBean.cUid != roomPkBean.winUid && roomPkBean.winUid != 0L
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
roomPkBean.aAvatar,
|
||||
@@ -53,8 +48,10 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
)
|
||||
|
||||
roomPkBean.csRank.getOrNull(0)?.let {
|
||||
binding?.tvNickContribute?.text = it.nick.subAndReplaceDot(7)
|
||||
binding?.tvValueContribute?.text = "神豪值:${it.amount}"
|
||||
binding?.tvNickContribute?.text = it.nick
|
||||
binding?.tvValueContribute?.text =
|
||||
context?.getString(R.string.layout_dialog_room_pk_finish_07, it.amount.toString())
|
||||
?: ""
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
it.avatar,
|
||||
@@ -64,8 +61,9 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
}
|
||||
|
||||
roomPkBean.crRank.getOrNull(0)?.let {
|
||||
binding?.tvNickCharm?.text = it.nick.subAndReplaceDot(7)
|
||||
binding?.tvValueCharm?.text = "魅力值:${it.amount}"
|
||||
binding?.tvNickCharm?.text = it.nick
|
||||
binding?.tvValueCharm?.text =
|
||||
context?.getString(R.string.layout_activity_jewel_09, it.amount?.toString()) ?: ""
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
it.avatar,
|
||||
@@ -76,25 +74,13 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
|
||||
when (roomPkBean.winUid) {
|
||||
0L -> {
|
||||
binding?.viewBg?.setBackgroundResource(R.drawable.bg_719cea_radius_10)
|
||||
binding?.clRoot?.setBackgroundResource(R.drawable.bg_room_pk_finish_deuce)
|
||||
binding?.viewContribute?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_deuce)
|
||||
binding?.viewCharm?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_deuce)
|
||||
binding?.ivClose?.setImageResource(R.drawable.ic_room_pk_finish_close_deuce)
|
||||
binding?.ivStatus?.setImageResource(R.drawable.room_pk_result_draw)
|
||||
}
|
||||
roomPkBean.cUid -> {
|
||||
binding?.viewBg?.setBackgroundResource(R.drawable.bg_edbf89_radius_10)
|
||||
binding?.clRoot?.setBackgroundResource(R.drawable.bg_room_pk_finish_win)
|
||||
binding?.viewContribute?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_win)
|
||||
binding?.viewCharm?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_win)
|
||||
binding?.ivClose?.setImageResource(R.drawable.ic_room_pk_finish_close_win)
|
||||
binding?.ivStatus?.setImageResource(R.drawable.room_pk_result_win)
|
||||
}
|
||||
else -> {
|
||||
binding?.viewBg?.setBackgroundResource(R.drawable.bg_bfabf6_radius_10)
|
||||
binding?.clRoot?.setBackgroundResource(R.drawable.bg_room_pk_finish_failed)
|
||||
binding?.viewContribute?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_failed)
|
||||
binding?.viewCharm?.setBackgroundResource(R.drawable.bg_room_pk_finish_rank_failed)
|
||||
binding?.ivClose?.setImageResource(R.drawable.ic_room_pk_finish_close_failed)
|
||||
binding?.ivStatus?.setImageResource(R.drawable.room_pk_result_fail)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4,13 +4,13 @@ import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.WindowManager
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogRoomPkForceFinishBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.core.im.custom.bean.RoomPkBean
|
||||
import com.chwl.core.utils.extension.subAndReplaceDot
|
||||
|
||||
class RoomPkForceFinishDialog : BaseDialog<DialogRoomPkForceFinishBinding>() {
|
||||
class RoomPkForceFinishDialog : BaseDialogFragment<DialogRoomPkForceFinishBinding>() {
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
|
@@ -3,12 +3,12 @@ package com.chwl.app.avroom.anotherroompk
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogRoomPkReceivedBinding
|
||||
import com.chwl.core.im.custom.bean.RoomPkBean
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.anotherroompk.RoomPKModel
|
||||
import com.chwl.core.utils.extension.ifNotNullOrEmpty
|
||||
import com.chwl.core.utils.extension.subAndReplaceDot
|
||||
import com.chwl.core.utils.extension.toast
|
||||
import io.reactivex.Observable
|
||||
@@ -16,7 +16,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class RoomPkReceivedDialog : BaseDialog<DialogRoomPkReceivedBinding>() {
|
||||
class RoomPkReceivedDialog : BaseDialogFragment<DialogRoomPkReceivedBinding>() {
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -36,12 +36,20 @@ class RoomPkReceivedDialog : BaseDialog<DialogRoomPkReceivedBinding>() {
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
binding?.tvNick?.text = pkBean.inviteRoomTitle.subAndReplaceDot(7)
|
||||
binding?.tvTime?.text = "${pkBean.pkDuration}分鐘"
|
||||
pkBean.pkDesc.ifNotNullOrEmpty {
|
||||
binding?.tvDescTitle?.isVisible = true
|
||||
binding?.tvDesc?.isVisible = true
|
||||
binding?.tvDesc?.text = it
|
||||
binding?.tvNick?.text = pkBean.inviteRoomTitle
|
||||
binding?.tvTime?.text = "${pkBean.pkDuration}${getString(R.string.layout_activity_room_pk_create_010)}"
|
||||
val height: Int
|
||||
if (pkBean.pkDesc.isNullOrEmpty()) {
|
||||
binding?.groupDesc?.isVisible = false
|
||||
height = resources.getDimensionPixelOffset(R.dimen.dp_192)
|
||||
} else {
|
||||
binding?.tvDesc?.text = pkBean.pkDesc
|
||||
binding?.groupDesc?.isVisible = true
|
||||
height = resources.getDimensionPixelOffset(R.dimen.dp_211)
|
||||
}
|
||||
binding?.layoutContent?.let {
|
||||
it.layoutParams.height = height
|
||||
it.requestLayout()
|
||||
}
|
||||
disposable = Observable.intervalRange(0, 10, 0, 1, TimeUnit.SECONDS)
|
||||
.compose(bindToLifecycle())
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package com.chwl.app.avroom.anotherroompk
|
||||
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogRoomPkRuleBinding
|
||||
|
||||
class RoomPkRuleDialog : BaseDialog<DialogRoomPkRuleBinding>() {
|
||||
class RoomPkRuleDialog : BaseDialogFragment<DialogRoomPkRuleBinding>() {
|
||||
|
||||
companion object {
|
||||
|
||||
|
@@ -0,0 +1,63 @@
|
||||
package com.chwl.app.avroom.bean
|
||||
|
||||
import androidx.annotation.Keep
|
||||
import com.chwl.app.avroom.dialog.RoomGameplayDialog
|
||||
import com.chwl.core.room.bean.RoomIcon
|
||||
import java.io.Serializable
|
||||
|
||||
@Keep
|
||||
interface RoomGameplayItem : Serializable {
|
||||
|
||||
fun getName(): String?
|
||||
|
||||
fun getIconUrl(): String?
|
||||
|
||||
fun getIconRes(): Int?
|
||||
|
||||
fun onItemClick(dialog: RoomGameplayDialog)
|
||||
|
||||
@Keep
|
||||
class RoomIconItem(
|
||||
private val roomIcon: RoomIcon,
|
||||
private val onClick: (RoomGameplayDialog, RoomIcon) -> Unit
|
||||
) : RoomGameplayItem {
|
||||
override fun getName(): String? {
|
||||
return roomIcon.name
|
||||
}
|
||||
|
||||
override fun getIconUrl(): String? {
|
||||
return roomIcon.icon
|
||||
}
|
||||
|
||||
override fun getIconRes(): Int? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun onItemClick(dialog: RoomGameplayDialog) {
|
||||
onClick.invoke(dialog, roomIcon)
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
class CustomItem(
|
||||
private val name: String,
|
||||
private val iconRes: Int,
|
||||
private val onClick: (RoomGameplayDialog, CustomItem) -> Unit
|
||||
) : RoomGameplayItem {
|
||||
override fun getName(): String {
|
||||
return name
|
||||
}
|
||||
|
||||
override fun getIconUrl(): String? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun getIconRes(): Int {
|
||||
return iconRes
|
||||
}
|
||||
|
||||
override fun onItemClick(dialog: RoomGameplayDialog) {
|
||||
onClick.invoke(dialog, this)
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
package com.chwl.app.avroom.core
|
||||
|
||||
import com.chwl.app.avroom.redpackage.RedPackageHandler
|
||||
import com.chwl.core.support.room.RoomAbility
|
||||
import com.chwl.core.support.room.RoomContext
|
||||
|
||||
/**
|
||||
* Created by Max on 2023/10/26 15:41
|
||||
* Desc:语音房
|
||||
* @param roomId roomUid
|
||||
**/
|
||||
class AudioRoomContext(roomId: Long) : RoomContext(roomId) {
|
||||
|
||||
override fun loadAbility(list: MutableMap<String, RoomAbility>) {
|
||||
super.loadAbility(list)
|
||||
// 红包处理器
|
||||
list[RedPackageHandler::class.java.simpleName] = RedPackageHandler()
|
||||
}
|
||||
}
|
@@ -0,0 +1,149 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.Window
|
||||
import android.view.WindowManager
|
||||
import androidx.annotation.StyleRes
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.widget.VDHLayout
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog
|
||||
|
||||
abstract class BaseRoomNotifyDialog<VB : ViewBinding>(context: Context, theme: Int = 0) : BaseDialog(context, theme) {
|
||||
|
||||
protected val handle = Handler(Looper.getMainLooper())
|
||||
protected lateinit var mBinding: VB
|
||||
|
||||
abstract fun createBinding(inflater: LayoutInflater): VB
|
||||
|
||||
abstract fun init()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
mBinding = createBinding(LayoutInflater.from(context))
|
||||
setContentView(mBinding.root)
|
||||
setCancelable(true)
|
||||
setCanceledOnTouchOutside(false)
|
||||
window?.let {
|
||||
initWindow(it)
|
||||
}
|
||||
|
||||
init()
|
||||
|
||||
if (useAutoDismiss()) {
|
||||
handle.postDelayed({
|
||||
dismissDialog()
|
||||
}, (getStaySecond()*1000).toLong())
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
handle.removeCallbacksAndMessages(null)
|
||||
super.onDetachedFromWindow()
|
||||
}
|
||||
|
||||
protected open fun initWindow(window: Window) {
|
||||
window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
val windowParams = window.attributes
|
||||
windowParams.width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
windowParams.height = WindowManager.LayoutParams.WRAP_CONTENT
|
||||
windowParams.dimAmount = 0.0f
|
||||
windowParams.gravity = Gravity.TOP
|
||||
windowParams.x = 0
|
||||
windowParams.y = getTopOffset()
|
||||
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
|
||||
window.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL)
|
||||
window.attributes = windowParams
|
||||
window.setWindowAnimations(getAnimations())
|
||||
}
|
||||
|
||||
protected open fun getStaySecond():Float{
|
||||
return 5f
|
||||
}
|
||||
|
||||
protected open fun getTopOffset():Int{
|
||||
return 0
|
||||
}
|
||||
|
||||
@StyleRes
|
||||
protected open fun getAnimations():Int{
|
||||
return R.style.anim_left
|
||||
}
|
||||
|
||||
override fun setContentView(view: View) {
|
||||
if (useSlipSlip()) {
|
||||
val vdhLayout = VDHLayout(context, null)
|
||||
vdhLayout.addView(view)
|
||||
vdhLayout.setListener { dismissDialog() }
|
||||
super.setContentView(vdhLayout)
|
||||
return
|
||||
}
|
||||
super.setContentView(view)
|
||||
}
|
||||
|
||||
override fun setContentView(layoutResID: Int) {
|
||||
if (useSlipSlip()) {
|
||||
val vdhLayout = VDHLayout(context, null)
|
||||
LayoutInflater.from(context).inflate(layoutResID, vdhLayout)
|
||||
vdhLayout.setListener { dismissDialog() }
|
||||
super.setContentView(vdhLayout)
|
||||
return
|
||||
}
|
||||
super.setContentView(layoutResID)
|
||||
}
|
||||
|
||||
override fun setContentView(view: View, params: ViewGroup.LayoutParams?) {
|
||||
if (useSlipSlip()) {
|
||||
val vdhLayout = VDHLayout(context, null)
|
||||
vdhLayout.addView(view)
|
||||
vdhLayout.setListener { dismissDialog() }
|
||||
super.setContentView(vdhLayout, params)
|
||||
return
|
||||
}
|
||||
super.setContentView(view, params)
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否启动侧滑,左滑:删除,右滑:回到原位置
|
||||
*/
|
||||
protected open fun useSlipSlip(): Boolean {
|
||||
return true
|
||||
}
|
||||
protected open fun useAutoDismiss(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
var mCallBack : CallBack? = null
|
||||
interface CallBack{
|
||||
fun onHide();
|
||||
}
|
||||
|
||||
open fun dismissDialog() {
|
||||
try {
|
||||
dismiss()
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
mCallBack?.onHide()
|
||||
}
|
||||
|
||||
open fun clearDialog() {
|
||||
try {
|
||||
dismiss()
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
}
|
||||
|
||||
open fun showDialog(){
|
||||
show()
|
||||
}
|
||||
}
|
@@ -6,7 +6,7 @@ import android.view.WindowManager
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import com.chwl.app.avroom.adapter.CreateRoomGameGuideAdapter
|
||||
import com.chwl.app.base.BaseActivity
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogCreateGameRoomBinding
|
||||
import com.chwl.app.home.helper.OpenRoomHelper
|
||||
import com.chwl.app.ui.utils.RVDelegate
|
||||
@@ -14,7 +14,7 @@ import com.chwl.core.room.bean.RoomInfo
|
||||
import com.chwl.core.room.game.bean.GameInfo
|
||||
import com.chwl.core.room.game.GameModel
|
||||
|
||||
class CreateGameRoomDialog : BaseDialog<DialogCreateGameRoomBinding>() {
|
||||
class CreateGameRoomDialog : BaseDialogFragment<DialogCreateGameRoomBinding>() {
|
||||
|
||||
private lateinit var rvDelegate: RVDelegate<GameInfo>
|
||||
private val gameAdapter = CreateRoomGameGuideAdapter()
|
||||
@@ -44,7 +44,7 @@ class CreateGameRoomDialog : BaseDialog<DialogCreateGameRoomBinding>() {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
GameModel.getGameList()
|
||||
GameModel.getGameList(null)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{
|
||||
|
@@ -4,10 +4,12 @@ import android.annotation.SuppressLint
|
||||
import android.view.Gravity
|
||||
import android.view.WindowManager
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.adapter.CreateRoomGameAdapter
|
||||
import com.chwl.app.base.BaseActivity
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogCreateRoomBinding
|
||||
import com.chwl.app.home.helper.OpenRoomHelper
|
||||
import com.chwl.app.ui.utils.RVDelegate
|
||||
@@ -17,7 +19,7 @@ import com.chwl.core.room.game.GameModel
|
||||
import com.chwl.core.utils.extension.toast
|
||||
import com.chwl.library.utils.ResUtil
|
||||
|
||||
class CreateRoomDialog : BaseDialog<DialogCreateRoomBinding>() {
|
||||
class CreateRoomDialog : BaseDialogFragment<DialogCreateRoomBinding>() {
|
||||
|
||||
private lateinit var rvDelegate: RVDelegate<GameInfo>
|
||||
private val gameAdapter = CreateRoomGameAdapter()
|
||||
@@ -30,35 +32,35 @@ class CreateRoomDialog : BaseDialog<DialogCreateRoomBinding>() {
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
// if(isHomeGame){
|
||||
// binding?.tvPlayType?.isVisible = false
|
||||
// binding?.rgType?.isVisible = false
|
||||
// binding?.rvGame?.isVisible = true
|
||||
// }
|
||||
// binding?.rvGame?.itemAnimator = null
|
||||
// rvDelegate = RVDelegate.Builder<GameInfo>()
|
||||
// .setAdapter(gameAdapter)
|
||||
// .setRecyclerView(binding?.rvGame)
|
||||
// .setLayoutManager(LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false))
|
||||
// .build()
|
||||
if(isHomeGame){
|
||||
binding?.tvPlayType?.isVisible = false
|
||||
binding?.rgType?.isVisible = false
|
||||
binding?.rvGame?.isVisible = true
|
||||
}
|
||||
binding?.rvGame?.itemAnimator = null
|
||||
rvDelegate = RVDelegate.Builder<GameInfo>()
|
||||
.setAdapter(gameAdapter)
|
||||
.setRecyclerView(binding?.rvGame)
|
||||
.setLayoutManager(LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false))
|
||||
.build()
|
||||
|
||||
// gameAdapter.setOnItemClickListener { _, _, position ->
|
||||
// if (selectIndex != -1) {
|
||||
// gameAdapter.data.getOrNull(selectIndex)?.isSelect = false
|
||||
// gameAdapter.notifyItemChanged(selectIndex)
|
||||
// }
|
||||
// selectIndex = position
|
||||
// gameAdapter.data.getOrNull(selectIndex)?.isSelect = true
|
||||
// gameAdapter.notifyItemChanged(selectIndex)
|
||||
// checkCreateEnable()
|
||||
// }
|
||||
gameAdapter.setOnItemClickListener { _, _, position ->
|
||||
if (selectIndex != -1) {
|
||||
gameAdapter.data.getOrNull(selectIndex)?.isSelect = false
|
||||
gameAdapter.notifyItemChanged(selectIndex)
|
||||
}
|
||||
selectIndex = position
|
||||
gameAdapter.data.getOrNull(selectIndex)?.isSelect = true
|
||||
gameAdapter.notifyItemChanged(selectIndex)
|
||||
checkCreateEnable()
|
||||
}
|
||||
|
||||
// binding?.rbGameRoom?.setOnCheckedChangeListener { _, isChecked ->
|
||||
// checkCreateEnable()
|
||||
// if (isChecked) {
|
||||
// binding?.rvGame?.isVisible = true
|
||||
// }
|
||||
// }
|
||||
binding?.rbGameRoom?.setOnCheckedChangeListener { _, isChecked ->
|
||||
checkCreateEnable()
|
||||
if (isChecked) {
|
||||
binding?.rvGame?.isVisible = true
|
||||
}
|
||||
}
|
||||
|
||||
binding?.rbPartyRoom?.setOnCheckedChangeListener { _, isChecked ->
|
||||
checkCreateEnable()
|
||||
@@ -86,7 +88,7 @@ class CreateRoomDialog : BaseDialog<DialogCreateRoomBinding>() {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
GameModel.getGameList()
|
||||
GameModel.getGameList(null)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{
|
||||
|
@@ -6,7 +6,7 @@ import android.view.View;
|
||||
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.databinding.DialogDatingVipRuleBinding;
|
||||
import com.chwl.app.treasure_box.widget.dialog.BaseBindingDialog;
|
||||
import com.chwl.app.base.BaseBindingDialog;
|
||||
import com.chwl.library.annatation.ActLayoutRes;
|
||||
|
||||
|
||||
|
@@ -25,6 +25,7 @@ import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.model.AvRoomModel
|
||||
import com.chwl.library.annatation.ActLayoutRes
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.example.lib_utils.UiUtils
|
||||
import io.reactivex.disposables.Disposable
|
||||
|
||||
|
||||
@@ -64,8 +65,11 @@ class ExitRoomPopupWindow(val avRoomActivity: AVRoomActivity) : PopupWindow() {
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
|
||||
animationStyle = R.style.style_anim_right_in_out
|
||||
if(UiUtils.isRtl(avRoomActivity)){
|
||||
animationStyle = R.style.style_anim_left_in_out
|
||||
}else{
|
||||
animationStyle = R.style.style_anim_right_in_out
|
||||
}
|
||||
setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
|
||||
tvExitRoom.setOnClickListener {
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogNewUserGiftBinding
|
||||
import com.chwl.app.ui.utils.load
|
||||
import com.chwl.core.gift.bean.GiftInfo
|
||||
|
||||
class NewUserGiftDialog(val giftInfo: GiftInfo) :
|
||||
BaseDialog<DialogNewUserGiftBinding>() {
|
||||
BaseDialogFragment<DialogNewUserGiftBinding>() {
|
||||
|
||||
override fun init() {
|
||||
binding?.ivClose?.setOnClickListener {
|
||||
|
@@ -1,360 +0,0 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog;
|
||||
import com.chwl.library.common.util.Utils;
|
||||
import com.chwl.app.ui.widget.recyclerview.decoration.ColorDecoration;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2019/1/4
|
||||
*/
|
||||
public class PKResultDialog extends BaseDialog {
|
||||
private final static int TEAM_RED = PKTeamInfo.TEAM_RED;
|
||||
private final static int TEAM_BLUE = PKTeamInfo.TEAM_BLUE;
|
||||
|
||||
private final static int PK_RESULT_VICTORY = 1;
|
||||
private final static int PK_RESULT_FAIL = -1;
|
||||
private final static int PK_RESULT_TIE = 0;
|
||||
|
||||
private LinearLayout llGuardianName;
|
||||
private LinearLayout llGuardianValue;
|
||||
private LinearLayout llPkMember;
|
||||
private LinearLayout llScore;
|
||||
private ImageView ivResultBottom;
|
||||
private ImageView ivResultTop;
|
||||
private RecyclerView rvList;
|
||||
private TextView tvScore;
|
||||
private TextView tvGuardianName;
|
||||
private TextView tvGuardianValue;
|
||||
private TextView tvTeamStatus;
|
||||
private TextView tvSeeOtherTeam;
|
||||
private TextView tvTeamLose;
|
||||
private LinearLayout llResultTie;
|
||||
private TextView tvTieScore;
|
||||
|
||||
private int pkResult = PK_RESULT_TIE;
|
||||
private boolean isShowOpponent = false;//是否在显示对手
|
||||
private PkResultMemberAdapter adapter;
|
||||
private RoomPkData roomPkData;
|
||||
private PKTeamInfo teamInfo;
|
||||
|
||||
public PKResultDialog(Context context, RoomPkData roomPkData) {
|
||||
super(context, R.style.full_screen_dialog);
|
||||
Window window = getWindow();
|
||||
if (window != null) {
|
||||
WindowManager.LayoutParams lps = window.getAttributes();
|
||||
lps.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
lps.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
lps.gravity = Gravity.CENTER;
|
||||
window.setAttributes(lps);
|
||||
}
|
||||
this.roomPkData = roomPkData;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_pk_result);
|
||||
|
||||
llPkMember = (LinearLayout) findViewById(R.id.ll_pk_member);
|
||||
llScore = (LinearLayout) findViewById(R.id.ll_score);
|
||||
|
||||
ivResultBottom = (ImageView) findViewById(R.id.iv_result_bottom);
|
||||
ivResultTop = (ImageView) findViewById(R.id.iv_result_top);
|
||||
rvList = (RecyclerView) findViewById(R.id.rv_list);
|
||||
|
||||
tvScore = (TextView) findViewById(R.id.tv_score);
|
||||
llGuardianName = (LinearLayout) findViewById(R.id.ll_guardian_name);
|
||||
llGuardianValue = (LinearLayout) findViewById(R.id.ll_guardian_value);
|
||||
tvGuardianName = (TextView) findViewById(R.id.tv_guardian_name);
|
||||
tvGuardianValue = (TextView) findViewById(R.id.tv_guardian_value);
|
||||
tvTeamStatus = (TextView) findViewById(R.id.tv_team_status);
|
||||
tvSeeOtherTeam = (TextView) findViewById(R.id.tv_see_other_team);
|
||||
tvTeamLose = (TextView) findViewById(R.id.tv_team_lose);
|
||||
|
||||
llResultTie = (LinearLayout) findViewById(R.id.ll_result_tie);
|
||||
tvTieScore = (TextView) findViewById(R.id.tv_tie_score);
|
||||
|
||||
|
||||
adapter = new PkResultMemberAdapter(null);
|
||||
rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
rvList.addItemDecoration(new ColorDecoration(Color.TRANSPARENT, Utils.dip2px(getContext(), 10), 0, true));
|
||||
rvList.setAdapter(adapter);
|
||||
|
||||
tvSeeOtherTeam.setOnClickListener(v -> {
|
||||
if (!isShowOpponent) {
|
||||
showOpponentResult();
|
||||
} else {
|
||||
showMyResult();
|
||||
}
|
||||
});
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_PERSON) {
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
}
|
||||
int result = roomPkData.getResult();
|
||||
int teamId = findTeamIdByAccount(String.valueOf(AuthModel.get().getCurrentUid()));
|
||||
if (teamId == PKTeamInfo.TEAM_NONE) {
|
||||
//观众
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_01));
|
||||
llPkMember.setVisibility(View.GONE);
|
||||
llScore.setVisibility(View.GONE);
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
llResultTie.setVisibility(View.VISIBLE);
|
||||
tvTieScore.setText(FormatUtils.formatPKValue(roomPkData.getTeams().get(0).getScore()));
|
||||
refreshBgByStatus();
|
||||
} else {
|
||||
pkResult = PK_RESULT_VICTORY;
|
||||
teamInfo = findTeamByTeamId(result);
|
||||
refreshView(pkResult, teamInfo);
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
//非观众
|
||||
teamInfo = findTeamByTeamId(teamId);
|
||||
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_02));
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
llGuardianName.setVisibility(View.GONE);
|
||||
llGuardianValue.setVisibility(View.GONE);
|
||||
tvTeamLose.setVisibility(View.GONE);
|
||||
refreshView(pkResult, teamInfo);
|
||||
|
||||
} else {
|
||||
pkResult = teamId == result ? PK_RESULT_VICTORY : PK_RESULT_FAIL;
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void showTeamMembers(PKTeamInfo teamInfo) {
|
||||
List<PkResultMember> pkResultMembers = new ArrayList<>();
|
||||
for (PKTeamMember pkTeamMember : teamInfo.getTeamMembers()) {
|
||||
PkResultMember resultMember = new PkResultMember();
|
||||
resultMember.avatar = pkTeamMember.getAvatar();
|
||||
resultMember.nick = pkTeamMember.getNick();
|
||||
resultMember.isMVP = pkTeamMember.getUid().equals(teamInfo.getMvp());
|
||||
pkResultMembers.add(resultMember);
|
||||
}
|
||||
adapter.setNewData(pkResultMembers);
|
||||
}
|
||||
|
||||
private void showColorByTeam(PKTeamInfo pkTeamInfo) {
|
||||
if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_RED) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
} else if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_BLUE) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_59B9FB));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_FD4D72));
|
||||
} else {
|
||||
//未知
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshBgByStatus() {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
ivResultTop.setImageResource(R.mipmap.pk_result_victory_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_victory_bottom);
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
ivResultTop.setImageResource(R.mipmap.pk_result_fail_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_fail_bottom);
|
||||
} else if (pkResult == PK_RESULT_TIE) {
|
||||
ivResultTop.setImageResource(R.mipmap.pk_result_tie_top);
|
||||
ivResultBottom.setImageResource(R.mipmap.pk_result_tie_bottom);
|
||||
}
|
||||
}
|
||||
|
||||
private int findTeamIdByAccount(String account) {
|
||||
for (PKTeamInfo pkTeamInfo : roomPkData.getTeams()) {
|
||||
for (PKTeamMember pkTeamMember : pkTeamInfo.getTeamMembers()) {
|
||||
if (pkTeamMember.getUid().equals(account)) {
|
||||
return pkTeamInfo.getTeam();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 反转队伍,状态
|
||||
*/
|
||||
private void reverseTeamAndStatus() {
|
||||
if (teamInfo.getTeam() == TEAM_RED) {
|
||||
teamInfo = findTeamByTeamId(TEAM_BLUE);
|
||||
} else if (teamInfo.getTeam() == TEAM_BLUE) {
|
||||
teamInfo = findTeamByTeamId(TEAM_RED);
|
||||
}
|
||||
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
pkResult = PK_RESULT_FAIL;
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
pkResult = PK_RESULT_VICTORY;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示本队的结果
|
||||
*/
|
||||
private void showMyResult() {
|
||||
if (isShowOpponent) {
|
||||
isShowOpponent = false;
|
||||
reverseTeamAndStatus();
|
||||
}
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示对手队结果
|
||||
*/
|
||||
private void showOpponentResult() {
|
||||
isShowOpponent = true;
|
||||
reverseTeamAndStatus();
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
|
||||
private void refreshView(int pkResult, PKTeamInfo teamInfo) {
|
||||
refreshBgByStatus();
|
||||
showTeamMembers(teamInfo);
|
||||
showColorByTeam(teamInfo);
|
||||
|
||||
tvScore.setText(FormatUtils.formatPKValue(teamInfo.getScore()));
|
||||
|
||||
if (teamInfo.getProtector() != null && teamInfo.getProtector().getUid() != 0) {
|
||||
tvGuardianName.setText(teamInfo.getProtector().getNick());
|
||||
tvGuardianValue.setText(FormatUtils.formatPKValue(teamInfo.getProtecScore()));
|
||||
} else {
|
||||
tvGuardianName.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_03));
|
||||
tvGuardianValue.setText("0");
|
||||
}
|
||||
|
||||
int myTeamId = findTeamIdByAccount(String.valueOf(AuthModel.get().getCurrentUid()));
|
||||
if (teamInfo.getTeam() == PKTeamInfo.TEAM_RED) {
|
||||
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_04));
|
||||
if (myTeamId == PKTeamInfo.TEAM_NONE) {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_05));
|
||||
} else if (myTeamId == teamInfo.getTeam()) {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_06));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
tvTeamLose.setVisibility(View.VISIBLE);
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_07));
|
||||
} else {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_08));
|
||||
}
|
||||
} else if (teamInfo.getTeam() == PKTeamInfo.TEAM_BLUE) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_09));
|
||||
if (myTeamId == PKTeamInfo.TEAM_NONE) {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_010));
|
||||
} else if (myTeamId == teamInfo.getTeam()) {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_011));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
tvTeamLose.setVisibility(View.VISIBLE);
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_012));
|
||||
} else {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_013));
|
||||
}
|
||||
} else {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_014));
|
||||
tvSeeOtherTeam.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
class PkResultMember {
|
||||
String avatar;
|
||||
String nick;
|
||||
boolean isMVP;
|
||||
}
|
||||
|
||||
class PkResultMemberAdapter extends BaseQuickAdapter<PkResultMember, BaseViewHolder> {
|
||||
|
||||
public PkResultMemberAdapter(@Nullable List<PkResultMember> data) {
|
||||
super(R.layout.item_pk_result_member_rv, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, PkResultMember item) {
|
||||
CircleImageView avatar = helper.getView(R.id.civ_avatar);
|
||||
GlideApp.with(avatar)
|
||||
.load(item.avatar)
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(avatar);
|
||||
|
||||
helper.setVisible(R.id.iv_mvp_mark, item.isMVP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private PKTeamInfo findTeamByTeamId(int teamId) {
|
||||
if (roomPkData == null) {
|
||||
return null;
|
||||
}
|
||||
for (PKTeamInfo pkTeamInfo : roomPkData.getTeams()) {
|
||||
if (teamId == pkTeamInfo.getTeam()) {
|
||||
return pkTeamInfo;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@@ -1,297 +0,0 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.common.widget.CircleImageView;
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog;
|
||||
import com.chwl.app.ui.widget.dialog.CommonTipDialog;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.manager.IMNetEaseManager;
|
||||
import com.chwl.core.manager.RoomEvent;
|
||||
import com.chwl.core.room.pk.bean.PKMemberInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeFinishEvent;
|
||||
import com.chwl.core.room.pk.event.PKTimeTickEvent;
|
||||
import com.chwl.core.room.pk.model.PkModel;
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.SingleObserver;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2019/1/3
|
||||
*/
|
||||
public class PKScoreBoardDialog extends BaseDialog {
|
||||
|
||||
|
||||
private TextView tvPkVoteMode;
|
||||
private View tvClose;
|
||||
private ProgressBar pbScore;
|
||||
private TextView tvRedTeamScore;
|
||||
private TextView tvBlueTeamScore;
|
||||
private TextView tvPkTimer;
|
||||
private CircleImageView ivRedAvatar1;
|
||||
private CircleImageView ivRedAvatar2;
|
||||
private CircleImageView ivRedAvatar3;
|
||||
private CircleImageView ivRedAvatar4;
|
||||
private CircleImageView ivBlueAvatar1;
|
||||
private CircleImageView ivBlueAvatar2;
|
||||
private CircleImageView ivBlueAvatar3;
|
||||
private CircleImageView ivBlueAvatar4;
|
||||
private TextView tvRestart;
|
||||
|
||||
private final List<CircleImageView> redTeamAvatars = new ArrayList<>();
|
||||
|
||||
private final List<CircleImageView> blueTeamAvatars = new ArrayList<>();
|
||||
|
||||
private RoomPkData roomPkData;
|
||||
|
||||
private CompositeDisposable compositeDisposable;
|
||||
|
||||
public PKScoreBoardDialog(Context context) {
|
||||
super(context, R.style.easy_dialog_style);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_pk_score_board);
|
||||
|
||||
tvPkVoteMode = (TextView) findViewById(R.id.tv_pk_vote_mode);
|
||||
tvClose = findViewById(R.id.tv_close);
|
||||
pbScore = (ProgressBar) findViewById(R.id.pb_score);
|
||||
tvRedTeamScore = (TextView) findViewById(R.id.tv_red_team_score);
|
||||
tvBlueTeamScore = (TextView) findViewById(R.id.tv_blue_team_score);
|
||||
tvPkTimer = (TextView) findViewById(R.id.tv_pk_timer);
|
||||
tvRestart = (TextView) findViewById(R.id.tv_restart);
|
||||
|
||||
ivRedAvatar1 = (CircleImageView) findViewById(R.id.iv_red_avatar_1);
|
||||
ivRedAvatar2 = (CircleImageView) findViewById(R.id.iv_red_avatar_2);
|
||||
ivRedAvatar3 = (CircleImageView) findViewById(R.id.iv_red_avatar_3);
|
||||
ivRedAvatar4 = (CircleImageView) findViewById(R.id.iv_red_avatar_4);
|
||||
|
||||
ivBlueAvatar1 = (CircleImageView) findViewById(R.id.iv_blue_avatar_1);
|
||||
ivBlueAvatar2 = (CircleImageView) findViewById(R.id.iv_blue_avatar_2);
|
||||
ivBlueAvatar3 = (CircleImageView) findViewById(R.id.iv_blue_avatar_3);
|
||||
ivBlueAvatar4 = (CircleImageView) findViewById(R.id.iv_blue_avatar_4);
|
||||
|
||||
redTeamAvatars.add(ivRedAvatar1);
|
||||
redTeamAvatars.add(ivRedAvatar2);
|
||||
redTeamAvatars.add(ivRedAvatar3);
|
||||
redTeamAvatars.add(ivRedAvatar4);
|
||||
|
||||
blueTeamAvatars.add(ivBlueAvatar1);
|
||||
blueTeamAvatars.add(ivBlueAvatar2);
|
||||
blueTeamAvatars.add(ivBlueAvatar3);
|
||||
blueTeamAvatars.add(ivBlueAvatar4);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
tvClose.setOnClickListener(v -> dismiss());
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_GIFT) {
|
||||
tvPkVoteMode.setText(getContext().getResources().getString(R.string.vote_type_gift_value));
|
||||
} else if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_PERSON) {
|
||||
tvPkVoteMode.setText(getContext().getResources().getString(R.string.vote_type_gift_member));
|
||||
}
|
||||
|
||||
PKTeamInfo redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
for (int i = 0; i < redTeamAvatars.size(); i++) {
|
||||
if (i < redTeam.getTeamMembers().size()) {
|
||||
redTeamAvatars.get(i).setVisibility(View.VISIBLE);
|
||||
PKTeamMember pkTeamMember = redTeam.getTeamMembers().get(i);
|
||||
PKMemberInfo pkMemberInfo = findPKMemberInfo(pkTeamMember.getUid());
|
||||
if (pkMemberInfo == null || pkMemberInfo.getUserInfo() == null) {
|
||||
continue;
|
||||
}
|
||||
GlideApp.with(redTeamAvatars.get(i))
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(redTeamAvatars.get(i));
|
||||
} else {
|
||||
redTeamAvatars.get(i).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
PKTeamInfo blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
for (int i = 0; i < blueTeamAvatars.size(); i++) {
|
||||
if (i < blueTeam.getTeamMembers().size()) {
|
||||
blueTeamAvatars.get(i).setVisibility(View.VISIBLE);
|
||||
PKTeamMember pkTeamMember = blueTeam.getTeamMembers().get(i);
|
||||
PKMemberInfo pkMemberInfo = findPKMemberInfo(pkTeamMember.getUid());
|
||||
if (pkMemberInfo == null || pkMemberInfo.getUserInfo() == null) {
|
||||
continue;
|
||||
}
|
||||
GlideApp.with(blueTeamAvatars.get(i))
|
||||
.load(pkMemberInfo.getUserInfo().getAvatar())
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(blueTeamAvatars.get(i));
|
||||
|
||||
} else {
|
||||
blueTeamAvatars.get(i).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isManager() && !SuperAdminUtil.isSuperAdmin()) {
|
||||
tvRestart.setVisibility(View.VISIBLE);
|
||||
tvRestart.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (PkModel.get().getCurPkInfo() == null) {
|
||||
toast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_01));
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
if (PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
toast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_02));
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
CommonTipDialog tipDialog = new CommonTipDialog(getContext());
|
||||
tipDialog.setTipMsg(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_03) +
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_04));
|
||||
tipDialog.setOnActionListener(
|
||||
new CommonTipDialog.OnActionListener() {
|
||||
@Override
|
||||
public void onOk() {
|
||||
PkModel.get().toPKAgain().subscribe(new SingleObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
compositeDisposable.add(d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String s) {
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
toast(e.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
tipDialog.show();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
tvRestart.setVisibility(View.GONE);
|
||||
tvRestart.setOnClickListener(null);
|
||||
}
|
||||
updateTime();
|
||||
onPKDataUpdateEvent(null);
|
||||
}
|
||||
|
||||
private PKMemberInfo findPKMemberInfo(String account) {
|
||||
for (PKMemberInfo pkMemberInfo : PkModel.get().getPkMemberInfoList()) {
|
||||
if (String.valueOf(pkMemberInfo.getUserInfo().getUid()).equals(account)) {
|
||||
return pkMemberInfo;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private void updateTime() {
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
long pkTimeUntilEnd = roomPkData.getCurPkTimeUntilEnd();
|
||||
tvPkTimer.setText(String.format("%1$02d:%2$02d", pkTimeUntilEnd / 60, pkTimeUntilEnd % 60));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
EventBus.getDefault().register(this);
|
||||
compositeDisposable = new CompositeDisposable();
|
||||
compositeDisposable.add(IMNetEaseManager.get().getChatRoomEventObservable()
|
||||
.subscribe(this::onReceiveRoomEvent));
|
||||
}
|
||||
|
||||
private void onReceiveRoomEvent(RoomEvent roomEvent) {
|
||||
int event = roomEvent.getEvent();
|
||||
switch (event) {
|
||||
case RoomEvent.PK_INFO_UPDATE:
|
||||
roomPkData = PkModel.get().getCurPkInfo();
|
||||
if (roomPkData != null && (roomPkData.getPkStatus() == RoomPkData.PK_STATUS_BEFORE_PK ||
|
||||
roomPkData.getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK)) {
|
||||
dismiss();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
EventBus.getDefault().unregister(this);
|
||||
compositeDisposable.dispose();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKDataUpdateEvent(PKDataUpdateEvent event) {
|
||||
if (PkModel.get().getCurPkInfo() == null
|
||||
|| PkModel.get().getCurPkInfo().getPkStatus() == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
dismiss();
|
||||
return;
|
||||
}
|
||||
|
||||
PKTeamInfo redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
PKTeamInfo blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE);
|
||||
if (redTeam == null || blueTeam == null) {
|
||||
return;
|
||||
}
|
||||
long totalScore = redTeam.getScore() + blueTeam.getScore();
|
||||
if (totalScore > 0) {
|
||||
tvRedTeamScore.setText(FormatUtils.formatPKValue(redTeam.getScore()));
|
||||
tvBlueTeamScore.setText(FormatUtils.formatPKValue(blueTeam.getScore()));
|
||||
int percent = (int) ((float) redTeam.getScore() / (float) totalScore * 100.0f);
|
||||
pbScore.setProgress(percent);
|
||||
} else {
|
||||
pbScore.setProgress(50);
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeTickEvent(PKTimeTickEvent event) {
|
||||
updateTime();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPKTimeFinishEvent(PKTimeFinishEvent event) {
|
||||
tvPkTimer.setText("00:00");
|
||||
}
|
||||
}
|
@@ -95,7 +95,10 @@ public class PKSelectPeopleDialog extends BaseDialog implements View.OnClickList
|
||||
keys[i] = micQueue.keyAt(i);
|
||||
}
|
||||
Arrays.sort(keys);
|
||||
for (int i = 0; i < keys.length; i++) {
|
||||
for (int i = 0; i < micEntityList.size(); i++) {
|
||||
if (i >= micQueue.size()) {
|
||||
continue;
|
||||
}
|
||||
RoomQueueInfo roomQueueInfo = micQueue.get(keys[i]);
|
||||
MicMemberInfo chatRoomMember = roomQueueInfo.mChatRoomMember;
|
||||
if (chatRoomMember != null) {
|
||||
|
@@ -4,7 +4,7 @@ import android.content.Context
|
||||
import android.view.View
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.databinding.DialogRequestUpmicBinding
|
||||
import com.chwl.app.treasure_box.widget.dialog.BaseBindingDialog
|
||||
import com.chwl.app.base.BaseBindingDialog
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.manager.IMNetEaseManager
|
||||
import com.chwl.core.user.bean.BaseInfo
|
||||
|
@@ -1,68 +0,0 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Display;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.databinding.DialogRoomFreeGiftBinding;
|
||||
import com.chwl.app.ui.utils.ImageLoadUtilsV2;
|
||||
import com.chwl.core.gift.bean.GiftFreeInfo;
|
||||
import com.chwl.library.utils.TimeUtils;
|
||||
|
||||
/**
|
||||
* 房间免费礼物弹窗
|
||||
* Created by wushaocheng on 2022/12/14.
|
||||
*/
|
||||
public class RoomFreeGiftDialog extends BottomSheetDialog implements View.OnClickListener {
|
||||
private Context context;
|
||||
private GiftFreeInfo giftFreeInfo;
|
||||
private DialogRoomFreeGiftBinding binding;
|
||||
|
||||
public RoomFreeGiftDialog(Context context, GiftFreeInfo giftFreeInfo) {
|
||||
super(context, R.style.ErbanBottomSheetDialog);
|
||||
this.context = context;
|
||||
this.giftFreeInfo = giftFreeInfo;
|
||||
}
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_room_free_gift);
|
||||
binding = DataBindingUtil.bind(findViewById(R.id.dialog_container));
|
||||
binding.setClick(this);
|
||||
|
||||
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||
Display d = windowManager.getDefaultDisplay();
|
||||
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
|
||||
d.getRealMetrics(realDisplayMetrics);
|
||||
WindowManager.LayoutParams params = getWindow().getAttributes();
|
||||
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
params.height = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
params.dimAmount = 0f;
|
||||
getWindow().setAttributes(params);
|
||||
|
||||
binding.tvTop.setText(context.getString(R.string.dialog_free_gift_top, TimeUtils.secondsToTime(giftFreeInfo.getFirstSecond())));
|
||||
binding.tvBottom.setText(String.format(context.getString(R.string.dialog_free_gift_bottom_text), giftFreeInfo.getGiftName(), giftFreeInfo.getMaxStage()));
|
||||
ImageLoadUtilsV2.loadImage(binding.ivGiftIcon, giftFreeInfo.getGiftUrl());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.iv_delete:
|
||||
case R.id.tv_know:
|
||||
dismiss();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,302 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.adapter.RoomGameListAdapter
|
||||
import com.chwl.app.base.BaseActivity
|
||||
import com.chwl.app.common.widget.dialog.DialogManager
|
||||
import com.chwl.app.databinding.RoomGameplayDialogBinding
|
||||
import com.chwl.app.home.helper.OpenRoomHelper
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.bean.RoomIcon
|
||||
import com.chwl.core.room.bean.RoomInfo
|
||||
import com.chwl.core.room.bean.RoomModeType
|
||||
import com.chwl.core.room.core.RoomDataService
|
||||
import com.chwl.core.room.game.GameModel
|
||||
import com.chwl.core.room.game.GameModel.getGameList
|
||||
import com.chwl.core.room.game.bean.BaiShunGameConfig
|
||||
import com.chwl.core.room.game.bean.GameInfo
|
||||
import com.chwl.core.room.model.AvRoomModel
|
||||
import com.chwl.core.support.room.AudioRoomContext
|
||||
import com.chwl.core.utils.LogUtils
|
||||
import com.chwl.library.utils.JavaUtil
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import com.example.lib_utils.ktx.asLifecycle
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.gson.Gson
|
||||
import com.unity3d.splash.services.core.lifecycle.LifecycleEvent
|
||||
import io.reactivex.Single
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
class RoomGameListDialog :
|
||||
BottomSheetDialogFragment(), LifecycleObserver {
|
||||
private var binding: RoomGameplayDialogBinding? = null
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
private val adapter = RoomGameListAdapter()
|
||||
private var dialogManager: DialogManager? = null
|
||||
private lateinit var recycleView: RecyclerView
|
||||
val cacheKey = "game_list#${parentFragment.hashCode()}"
|
||||
private var mStatus = -1
|
||||
private var mGameData = arrayListOf<GameInfo>()
|
||||
var listener: RoomGameplayDialog.GameplayDialogListener? = null
|
||||
override fun getTheme(): Int {
|
||||
return R.style.ErbanBottomSheetDialogDimFalse
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = RoomGameplayDialogBinding.inflate(LayoutInflater.from(context))
|
||||
return binding?.root
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
return super.onCreateDialog(savedInstanceState).apply {
|
||||
this.setCanceledOnTouchOutside(true)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initView()
|
||||
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
|
||||
recycleView = recyclerView
|
||||
switchStatus(0)
|
||||
requestData()
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
val lifecycleObserver = object : LifecycleEventObserver {
|
||||
override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) {
|
||||
if (event == Lifecycle.Event.ON_DESTROY) {
|
||||
context.asLifecycle()?.removeObserver(this)
|
||||
try {
|
||||
this@RoomGameListDialog.dismissAllowingStateLoss()
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
context.asLifecycle()?.addObserver(lifecycleObserver)
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
adapter.setOnItemClickListener { _, view, position ->
|
||||
val item = adapter.getItem(position) as GameInfo
|
||||
switchGame(item)
|
||||
}
|
||||
binding?.recyclerView?.adapter = adapter
|
||||
}
|
||||
|
||||
private fun updateDialogHeight(count: Int) {
|
||||
if (count > 10) {
|
||||
val layoutParams = recycleView.layoutParams
|
||||
layoutParams.height = 600
|
||||
recycleView.layoutParams = layoutParams
|
||||
}
|
||||
}
|
||||
|
||||
private fun requestData() {
|
||||
|
||||
val dataService = AudioRoomContext.get()?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
|
||||
// val cacheKey = "game_list#${parentFragment.hashCode()}"
|
||||
val list = dataService?.getData(cacheKey) as? List<GameInfo>
|
||||
if (!list.isNullOrEmpty()) {
|
||||
updateDialogHeight(list.size)
|
||||
loadData(list)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
val getGameList = getGameList(AvRoomDataManager.get().roomUid)
|
||||
.doOnError {
|
||||
SingleToastUtil.showToast(it.message)
|
||||
if (mStatus != 1)switchStatus(-2)
|
||||
}
|
||||
.subscribe { it: List<GameInfo> ->
|
||||
LogUtils.d(" gamegame getGameList GameInfo = $it")
|
||||
mGameData.addAll(0,it)
|
||||
dataService?.putData(cacheKey, it)
|
||||
updateDialogHeight(mGameData.size)
|
||||
loadData(mGameData)
|
||||
}
|
||||
|
||||
val roomGamePlayList = AvRoomModel.get().roomGamePlayList
|
||||
.doOnError {
|
||||
SingleToastUtil.showToast(it.message)
|
||||
if (mStatus != 1)switchStatus(-2)
|
||||
}
|
||||
.subscribe { it: List<RoomIcon> ->
|
||||
LogUtils.d(" gamegame roomGamePlayList RoomIcon = $it")
|
||||
it.forEachIndexed { index, roomIcon ->
|
||||
if (roomIcon.isBaiShunGame()) {
|
||||
mGameData.add(GameInfo(name = roomIcon.name?:"", pic = roomIcon.icon?:"" , pic2 = roomIcon.icon?:"", skipContent = roomIcon.skipContent?:"", ruleValue = roomIcon.ruleValue?:""))
|
||||
}
|
||||
}
|
||||
dataService?.putData(cacheKey, mGameData)
|
||||
updateDialogHeight(mGameData.size)
|
||||
loadData(mGameData)
|
||||
}
|
||||
|
||||
getCompositeDisposable().add(getGameList)
|
||||
getCompositeDisposable().add(roomGamePlayList)
|
||||
|
||||
}
|
||||
|
||||
private fun loadData(list: List<GameInfo>?) {
|
||||
if (list.isNullOrEmpty()) {
|
||||
switchStatus(-1)
|
||||
} else {
|
||||
adapter.setNewData(list)
|
||||
switchStatus(1)
|
||||
}
|
||||
}
|
||||
|
||||
private fun switchStatus(status: Int) {
|
||||
mStatus = status
|
||||
when (status) {
|
||||
// loading
|
||||
0 -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = true
|
||||
binding?.groupStatusText?.isVisible = false
|
||||
}
|
||||
|
||||
// 有数据
|
||||
1 -> {
|
||||
binding?.recyclerView?.isVisible = true
|
||||
binding?.layoutStatus?.isVisible = false
|
||||
}
|
||||
|
||||
// 空数据
|
||||
-1 -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = false
|
||||
binding?.groupStatusText?.isVisible = true
|
||||
binding?.tvStatus?.setText(R.string.avroom_presenter_roomnewbiehellowwordpresenter_01)
|
||||
}
|
||||
|
||||
// 失败
|
||||
else -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = false
|
||||
binding?.groupStatusText?.isVisible = true
|
||||
binding?.tvStatus?.setText(R.string.request_failed_again_later)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun switchGame(gameInfo: GameInfo) {
|
||||
if (AvRoomDataManager.get().isGamePlaying) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.room_switch_game_failed_in_game))
|
||||
return
|
||||
}
|
||||
if (!isShowChangeGame()) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_04))
|
||||
return
|
||||
}
|
||||
|
||||
if (dialogManager == null) {
|
||||
dialogManager = DialogManager(context)
|
||||
}
|
||||
dialogManager?.showOkCancelDialog(
|
||||
getString(R.string.room_switch_game_tips)
|
||||
) {
|
||||
|
||||
if (gameInfo.mgId.isNotEmpty()) {
|
||||
if (gameInfo.isStandardRoom()) {
|
||||
OpenRoomHelper.updateRoomInfo(
|
||||
activity as BaseActivity,
|
||||
AvRoomDataManager.get().mCurrentRoomInfo,
|
||||
RoomInfo.ROOMTYPE_HOME_PARTY,
|
||||
0,
|
||||
false
|
||||
)
|
||||
} else {
|
||||
OpenRoomHelper.updateRoomInfo(
|
||||
activity as BaseActivity,
|
||||
AvRoomDataManager.get().mCurrentRoomInfo,
|
||||
RoomInfo.ROOMTYPE_GAME,
|
||||
JavaUtil.str2long(gameInfo.mgId),
|
||||
false
|
||||
)
|
||||
}
|
||||
}else if(!gameInfo.skipContent.isNullOrEmpty() || !gameInfo.ruleValue.isNullOrEmpty()){
|
||||
jumpBaiShunGame(gameInfo)
|
||||
}
|
||||
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
}
|
||||
|
||||
private fun jumpBaiShunGame(data: GameInfo) {
|
||||
try {
|
||||
val url = data.skipContent
|
||||
val ruleValue = Gson().fromJson<RoomIcon.RuleValueBean>(
|
||||
data.ruleValue,
|
||||
RoomIcon.RuleValueBean::class.java
|
||||
)
|
||||
val config = Gson().fromJson<BaiShunGameConfig>(
|
||||
ruleValue.RESERVE,
|
||||
BaiShunGameConfig::class.java
|
||||
)
|
||||
if (config != null && url != null) {
|
||||
config.reloadDynamicParams()
|
||||
listener?.onShowBaiShunGame(url, config)
|
||||
} else {
|
||||
SingleToastUtil.showToast(R.string.manager_trtc_trtcengineadapter_042)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
onUnbindContext()
|
||||
dialogManager?.dismissDialog()
|
||||
dialogManager = null
|
||||
}
|
||||
|
||||
private fun getCompositeDisposable(): CompositeDisposable {
|
||||
var disposable = compositeDisposable
|
||||
if (disposable == null) {
|
||||
disposable = CompositeDisposable()
|
||||
compositeDisposable = disposable
|
||||
}
|
||||
return disposable
|
||||
}
|
||||
|
||||
private fun onUnbindContext() {
|
||||
compositeDisposable?.dispose()
|
||||
compositeDisposable = null
|
||||
}
|
||||
|
||||
//这里的2和4是服务端定义的错误状态 关闭排麦模式和关闭PK模式!
|
||||
private fun isShowChangeGame(): Boolean {
|
||||
val currentRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo
|
||||
return currentRoomInfo != null && currentRoomInfo.type != RoomInfo.ROOM_TYPE_SINGLE &&
|
||||
(currentRoomInfo.roomModeType == RoomModeType.NORMAL_MODE || currentRoomInfo.roomModeType == 2 || currentRoomInfo.roomModeType == 4)
|
||||
}
|
||||
|
||||
interface GameplayDialogListener {
|
||||
fun onShowBaiShunGame(url: String, config: BaiShunGameConfig)
|
||||
}
|
||||
}
|
@@ -0,0 +1,421 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.activity.CreatePKActivity
|
||||
import com.chwl.app.avroom.adapter.RoomGameplayAdapter
|
||||
import com.chwl.app.avroom.anotherroompk.RoomPKCreateActivity
|
||||
import com.chwl.app.avroom.bean.RoomGameplayItem
|
||||
import com.chwl.app.avroom.singleroompk.SingleRoomPKCreateActivity
|
||||
import com.chwl.app.databinding.RoomGameplayDialogBinding
|
||||
import com.chwl.app.treasure_box.widget.GoldBoxHelper
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity
|
||||
import com.chwl.app.ui.webview.room_banner.RoomWebDialogActivity
|
||||
import com.chwl.app.utils.CommonJumpHelper
|
||||
import com.chwl.core.auth.AuthModel
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.anotherroompk.SingleRoomPKModel
|
||||
import com.chwl.core.room.bean.RoomIcon
|
||||
import com.chwl.core.room.bean.RoomInfo
|
||||
import com.chwl.core.room.core.RoomDataService
|
||||
import com.chwl.core.room.game.bean.BaiShunGameConfig
|
||||
import com.chwl.core.room.model.AvRoomModel
|
||||
import com.chwl.core.super_admin.util.SuperAdminUtil
|
||||
import com.chwl.core.support.room.AudioRoomContext
|
||||
import com.chwl.core.utils.CurrentTimeUtils
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import com.example.lib_utils.ktx.asLifecycle
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import com.google.gson.Gson
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
|
||||
class RoomGameplayDialog : BottomSheetDialogFragment() {
|
||||
|
||||
var isOnlyPK = false
|
||||
private lateinit var recycleView: RecyclerView
|
||||
|
||||
private var binding: RoomGameplayDialogBinding? = null
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
private val adapter = RoomGameplayAdapter()
|
||||
|
||||
var listener: RoomGameplayDialog.GameplayDialogListener? = null
|
||||
|
||||
override fun getTheme(): Int {
|
||||
return R.style.ErbanBottomSheetDialogDimFalse
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = RoomGameplayDialogBinding.inflate(LayoutInflater.from(context))
|
||||
return binding?.root
|
||||
}
|
||||
|
||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||
return super.onCreateDialog(savedInstanceState).apply {
|
||||
this.setCanceledOnTouchOutside(true)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initView()
|
||||
|
||||
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerView)
|
||||
recycleView = recyclerView
|
||||
|
||||
switchStatus(0)
|
||||
requestData()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
adapter.setOnItemClickListener { _, view, position ->
|
||||
adapter.getItem(position)?.onItemClick(this)
|
||||
}
|
||||
binding?.recyclerView?.adapter = adapter
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
val lifecycleObserver = object : LifecycleEventObserver {
|
||||
override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) {
|
||||
if (event == Lifecycle.Event.ON_DESTROY) {
|
||||
context.asLifecycle()?.removeObserver(this)
|
||||
try {
|
||||
this@RoomGameplayDialog.dismissAllowingStateLoss()
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
context.asLifecycle()?.addObserver(lifecycleObserver)
|
||||
}
|
||||
|
||||
private fun requestData() {
|
||||
if (isOnlyPK) {
|
||||
loadSuccess(arrayListOf())
|
||||
} else {
|
||||
val dataService =
|
||||
AudioRoomContext.get()
|
||||
?.findAbility<RoomDataService>(RoomDataService::class.java.simpleName)
|
||||
val cacheKey = "gameplay_list#${parentFragment.hashCode()}"
|
||||
val list = dataService?.getData(cacheKey) as? List<RoomIcon>
|
||||
|
||||
if (!list.isNullOrEmpty()) {
|
||||
updateDialogHeight(list.size)
|
||||
loadSuccess(list)
|
||||
return
|
||||
}
|
||||
val disposable = AvRoomModel.get().roomGamePlayList
|
||||
.doOnError {
|
||||
loadFail(it)
|
||||
}
|
||||
.subscribe { it: List<RoomIcon> ->
|
||||
dataService?.putData(cacheKey, it)
|
||||
updateDialogHeight(it.size)
|
||||
loadSuccess(it)
|
||||
}
|
||||
getCompositeDisposable().add(disposable)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateDialogHeight(count: Int) {
|
||||
if (count > 10) {
|
||||
val layoutParams = recycleView.layoutParams
|
||||
layoutParams.height = 600
|
||||
recycleView.layoutParams = layoutParams
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadSuccess(list: List<RoomIcon>?) {
|
||||
var finalList = mutableListOf<RoomGameplayItem>()
|
||||
if (isOnlyPK) {
|
||||
finalList = getLocalList()
|
||||
}
|
||||
list?.let {
|
||||
finalList.addAll(list.map {
|
||||
RoomGameplayItem.RoomIconItem(it) { dialog, item ->
|
||||
jump(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (finalList.isEmpty()) {
|
||||
switchStatus(-1)
|
||||
} else {
|
||||
adapter.setNewData(finalList)
|
||||
switchStatus(1)
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadFail(throwable: Throwable) {
|
||||
SingleToastUtil.showToast(throwable.message)
|
||||
val finalList = getLocalList()
|
||||
if (finalList.isEmpty()) {
|
||||
switchStatus(-2)
|
||||
} else {
|
||||
adapter.setNewData(finalList)
|
||||
switchStatus(1)
|
||||
}
|
||||
}
|
||||
|
||||
private fun switchStatus(status: Int) {
|
||||
when (status) {
|
||||
// loading
|
||||
0 -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = true
|
||||
binding?.groupStatusText?.isVisible = false
|
||||
}
|
||||
|
||||
// 有数据
|
||||
1 -> {
|
||||
binding?.recyclerView?.isVisible = true
|
||||
binding?.layoutStatus?.isVisible = false
|
||||
}
|
||||
|
||||
// 空数据
|
||||
-1 -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = false
|
||||
binding?.groupStatusText?.isVisible = true
|
||||
binding?.tvStatus?.setText(R.string.avroom_presenter_roomnewbiehellowwordpresenter_01)
|
||||
}
|
||||
|
||||
// 失败
|
||||
else -> {
|
||||
binding?.recyclerView?.isVisible = false
|
||||
binding?.layoutStatus?.isVisible = true
|
||||
binding?.groupStatusLoading?.isVisible = false
|
||||
binding?.groupStatusText?.isVisible = true
|
||||
binding?.tvStatus?.setText(R.string.request_failed_again_later)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun jump(data: RoomIcon) {
|
||||
dismissAllowingStateLoss()
|
||||
if (data.isFindLove()) {
|
||||
GoldBoxHelper.handleBoxClick(context)
|
||||
} else if (data.isBaiShunGame()) {
|
||||
jumpBaiShunGame(data)
|
||||
} else {
|
||||
val url = data.skipContent
|
||||
if (data.skipType == 3 && !url.isNullOrEmpty()) {
|
||||
if (data.showType == 2) {
|
||||
RoomWebDialogActivity.start(requireContext(), url, false)
|
||||
} else {
|
||||
CommonWebViewActivity.start(context, url)
|
||||
}
|
||||
} else {
|
||||
CommonJumpHelper.bannerJump(context, data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
onUnbindContext()
|
||||
}
|
||||
|
||||
private fun getCompositeDisposable(): CompositeDisposable {
|
||||
var disposable = compositeDisposable
|
||||
if (disposable == null) {
|
||||
disposable = CompositeDisposable()
|
||||
compositeDisposable = disposable
|
||||
}
|
||||
return disposable
|
||||
}
|
||||
|
||||
private fun onUnbindContext() {
|
||||
compositeDisposable?.dispose()
|
||||
compositeDisposable = null
|
||||
}
|
||||
|
||||
private fun jumpBaiShunGame(data: RoomIcon) {
|
||||
try {
|
||||
val url = data.skipContent
|
||||
val ruleValue = Gson().fromJson<RoomIcon.RuleValueBean>(
|
||||
data.ruleValue,
|
||||
RoomIcon.RuleValueBean::class.java
|
||||
)
|
||||
val config = Gson().fromJson<BaiShunGameConfig>(
|
||||
ruleValue.RESERVE,
|
||||
BaiShunGameConfig::class.java
|
||||
)
|
||||
if (config != null && url != null) {
|
||||
config.reloadDynamicParams()
|
||||
listener?.onShowBaiShunGame(url, config)
|
||||
// BaiShunGameWebActivity.start(requireContext(), url, config)
|
||||
} else {
|
||||
SingleToastUtil.showToast(R.string.manager_trtc_trtcengineadapter_042)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getLocalList(): MutableList<RoomGameplayItem> {
|
||||
val list = ArrayList<RoomGameplayItem>()
|
||||
getPkItem()?.let {
|
||||
list.add(it)
|
||||
}
|
||||
getRoomPkItem()?.let {
|
||||
list.add(it)
|
||||
}
|
||||
// getSingleRoomPkItem()?.let {
|
||||
// list.add(it)
|
||||
// }
|
||||
return list
|
||||
}
|
||||
|
||||
private fun getPkItem(): RoomGameplayItem? {
|
||||
val context = context ?: return null
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
return null
|
||||
}
|
||||
if (AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_HOME_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_REVELRY) {
|
||||
return null
|
||||
}
|
||||
val roomInfo = AvRoomDataManager.get().mCurrentRoomInfo
|
||||
if (roomInfo == null) {
|
||||
return null
|
||||
}
|
||||
if (AvRoomDataManager.get().isManager && !AvRoomDataManager.get().isCpRoom) {
|
||||
val str =
|
||||
if (AvRoomDataManager.get().isOpenPKMode) context.resources.getString(R.string.room_was_in_PK) else context.resources.getString(
|
||||
R.string.room_PK_mode
|
||||
)
|
||||
val icon =
|
||||
if (AvRoomDataManager.get().isOpenPKMode) R.drawable.room_gameplay_ic_team_pk else R.drawable.room_gameplay_ic_team_pk
|
||||
return RoomGameplayItem.CustomItem(str, icon) { dialog, item ->
|
||||
if (AvRoomDataManager.get().isDatingMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_01))
|
||||
return@CustomItem
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_02))
|
||||
return@CustomItem
|
||||
}
|
||||
dialog.dismissAllowingStateLoss()
|
||||
CreatePKActivity.start(context)
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
private fun getRoomPkItem(): RoomGameplayItem? {
|
||||
val context = context ?: return null
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
return null
|
||||
}
|
||||
if (AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_HOME_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_PARTY && AvRoomDataManager.get().roomType != RoomInfo.ROOMTYPE_REVELRY) {
|
||||
return null
|
||||
}
|
||||
val roomInfo = AvRoomDataManager.get().mCurrentRoomInfo
|
||||
if (roomInfo == null) {
|
||||
return null
|
||||
}
|
||||
if ((AvRoomDataManager.get().isRoomOwner || AvRoomDataManager.get().isSuperAdmin) &&
|
||||
!AvRoomDataManager.get().isCpRoom
|
||||
) {
|
||||
val str =
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_03) else ResUtil.getString(
|
||||
R.string.avroom_dialog_roomoperationdialog_04
|
||||
)
|
||||
val icon =
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) R.drawable.room_gameplay_ic_room_pk else R.drawable.room_gameplay_ic_room_pk
|
||||
return RoomGameplayItem.CustomItem(str, icon) { dialog, item ->
|
||||
if (AvRoomDataManager.get().isDatingMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_05))
|
||||
return@CustomItem
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenPKMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_06))
|
||||
return@CustomItem
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_07))
|
||||
return@CustomItem
|
||||
}
|
||||
dismissAllowingStateLoss()
|
||||
RoomPKCreateActivity.start(context)
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
private fun getSingleRoomPkItem(): RoomGameplayItem? {
|
||||
val context = context ?: return null
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
return null
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenGame) {
|
||||
return null
|
||||
}
|
||||
if (!AvRoomDataManager.get().isSingleRoom) {
|
||||
return null
|
||||
}
|
||||
val pkBean = AvRoomDataManager.get().roomPkLiveData.value
|
||||
if (AvRoomDataManager.get().isRoomOwner && !AvRoomDataManager.get().isCpRoom) {
|
||||
var str =
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_08) else ResUtil.getString(
|
||||
R.string.avroom_dialog_roomoperationdialog_09
|
||||
)
|
||||
if (pkBean != null) {
|
||||
if (pkBean.pkState == 2 &&
|
||||
(pkBean.winUid == 0L || pkBean.winUid == AuthModel.get().currentUid || pkBean.penaltyEndTime < CurrentTimeUtils.getCurrentTime())
|
||||
) {
|
||||
str = ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_010)
|
||||
}
|
||||
}
|
||||
val icon =
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) R.drawable.ic_room_opt_single_pk_open else R.drawable.ic_room_opt_single_pk_in
|
||||
val finalStr = str
|
||||
return RoomGameplayItem.CustomItem(str, icon) { dialog, item ->
|
||||
if (pkBean != null && ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_011) == finalStr) {
|
||||
SingleRoomPKModel.endSingleRoomPk(pkBean.roundId)
|
||||
.doOnSuccess { s: String? ->
|
||||
SingleToastUtil.showToast(
|
||||
ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_012)
|
||||
)
|
||||
}
|
||||
.doOnError { throwable: Throwable ->
|
||||
SingleToastUtil.showToast(
|
||||
throwable.message
|
||||
)
|
||||
}
|
||||
.subscribe()
|
||||
dismissAllowingStateLoss()
|
||||
return@CustomItem
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenAnotherPKMode) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_013))
|
||||
return@CustomItem
|
||||
}
|
||||
dismissAllowingStateLoss()
|
||||
SingleRoomPKCreateActivity.start(context)
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
interface GameplayDialogListener {
|
||||
fun onShowBaiShunGame(url: String, config: BaiShunGameConfig)
|
||||
}
|
||||
}
|
@@ -1,154 +0,0 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.Display;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.avroom.activity.CpRoomInviteActivity;
|
||||
import com.chwl.app.avroom.widget.EditRoomTitleDialog;
|
||||
import com.chwl.app.databinding.DialogRoomImposeBinding;
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil;
|
||||
import com.chwl.library.common.util.Utils;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.manager.AvRoomDataManager;
|
||||
import com.chwl.core.room.bean.RoomInfo;
|
||||
import com.chwl.core.room.model.RoomSettingModel;
|
||||
import com.chwl.core.utils.net.DontWarnObserver;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.chwl.library.utils.SingleToastUtil;
|
||||
import com.chwl.library.utils.codec.DESUtils;
|
||||
|
||||
public class RoomImposeDialog extends BottomSheetDialog implements View.OnClickListener {
|
||||
private Context context;
|
||||
private DialogRoomImposeBinding binding;
|
||||
|
||||
public RoomImposeDialog(Context context) {
|
||||
super(context, R.style.ErbanBottomSheetDialogDimFalse);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(R.layout.dialog_room_impose);
|
||||
binding = DataBindingUtil.bind(findViewById(R.id.dialog_container));
|
||||
binding.setClick(this);
|
||||
|
||||
FrameLayout bottomSheet = findViewById(R.id.design_bottom_sheet);
|
||||
if (bottomSheet != null) {
|
||||
BottomSheetBehavior.from(bottomSheet).setSkipCollapsed(false);
|
||||
BottomSheetBehavior.from(bottomSheet).setPeekHeight(
|
||||
UIUtil.dip2px(context, 270) +
|
||||
(Utils.hasSoftKeys(context) ? Utils.getNavigationBarHeight(context) : 0));
|
||||
}
|
||||
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
||||
Display d = windowManager.getDefaultDisplay();
|
||||
DisplayMetrics realDisplayMetrics = new DisplayMetrics();
|
||||
d.getRealMetrics(realDisplayMetrics);
|
||||
WindowManager.LayoutParams params = getWindow().getAttributes();
|
||||
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
params.height = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
getWindow().setAttributes(params);
|
||||
getWindow().setWindowAnimations(R.style.ErbanCommonWindowAnimationStyle);
|
||||
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null) return;
|
||||
if ("lock".equals(roomInfo.getLimitType()) || !TextUtils.isEmpty(roomInfo.roomPwd)) {
|
||||
binding.tvPwd.setTextColor(context.getResources().getColor(R.color.appColor));
|
||||
} else if ("isFriend".equals(roomInfo.getLimitType())) {
|
||||
binding.tvFriend.setTextColor(context.getResources().getColor(R.color.appColor));
|
||||
} else if ("isInvite".equals(roomInfo.getLimitType())) {
|
||||
binding.tvInvite.setTextColor(context.getResources().getColor(R.color.appColor));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null) return;
|
||||
switch (v.getId()) {
|
||||
case R.id.tv_invite:
|
||||
context.startActivity(new Intent(context, CpRoomInviteActivity.class));
|
||||
dismiss();
|
||||
break;
|
||||
case R.id.tv_friend:
|
||||
updateRoomInfo("", roomInfo, RoomInfo.IS_FRIEND);
|
||||
break;
|
||||
case R.id.tv_pwd:
|
||||
String oldContent = "";
|
||||
try {
|
||||
oldContent = DESUtils.DESAndBase64Decrypt(roomInfo.roomPwd);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
EditRoomTitleDialog pwdDialog = new EditRoomTitleDialog(context,
|
||||
EditRoomTitleDialog.TYPE_EDIT_PASSWORD, oldContent);
|
||||
pwdDialog.setOnEditTitleListner(new EditRoomTitleDialog.OnEditTitleListner() {
|
||||
@Override
|
||||
public void onEditPwdListner(String newPwd) {
|
||||
String encryptPwd = DESUtils.DESAndBase64(newPwd);
|
||||
|
||||
if (encryptPwd.equals(roomInfo.getRoomPwd())) {
|
||||
return;
|
||||
}
|
||||
updateRoomInfo(encryptPwd, roomInfo, RoomInfo.LOCK);
|
||||
}
|
||||
});
|
||||
pwdDialog.show();
|
||||
break;
|
||||
case R.id.tv_cancel_limit:
|
||||
updateRoomInfo("", roomInfo, "");
|
||||
break;
|
||||
case R.id.btn_cancel:
|
||||
dismiss();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void updateRoomInfo(String encryptPwd, RoomInfo roomInfo, String limitType) {
|
||||
//更新房间接口调用成功后,会发事件RoomEvent.ROOM_INFO_UPDATE
|
||||
RoomSettingModel model = new RoomSettingModel();
|
||||
model.updateRoomInfo(roomInfo.title,
|
||||
roomInfo.getRoomDesc(),
|
||||
roomInfo.getIntroduction(),
|
||||
encryptPwd,
|
||||
roomInfo.getRoomTag(),
|
||||
roomInfo.tagId,
|
||||
AuthModel.get().getCurrentUid(),
|
||||
AuthModel.get().getTicket(),
|
||||
roomInfo.isHasAnimationEffect(),
|
||||
roomInfo.getAudioQuality(),
|
||||
limitType,
|
||||
roomInfo.isPureMode(),
|
||||
roomInfo.getType(),
|
||||
roomInfo.getMgId())
|
||||
.subscribe(new DontWarnObserver<RoomInfo>() {
|
||||
@Override
|
||||
public void accept(RoomInfo roomInfo, String error) {
|
||||
super.accept(roomInfo, error);
|
||||
if (error != null) {
|
||||
SingleToastUtil.showToast(error);
|
||||
} else {
|
||||
if (!limitType.equals(RoomInfo.IS_INVITE)) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomimposedialog_04));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
dismiss();
|
||||
}
|
||||
}
|
@@ -0,0 +1,87 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.view.LayoutInflater
|
||||
import com.chwl.app.databinding.RoomNotifyCpBindBinding
|
||||
import com.chwl.app.ui.utils.CpUtils
|
||||
import com.chwl.core.gift.bean.CpMsgBean
|
||||
import com.chwl.core.utils.LogUtils
|
||||
import com.tencent.qgame.animplayer.inter.IFetchResource
|
||||
import com.tencent.qgame.animplayer.mix.Resource
|
||||
import com.tencent.qgame.animplayer.util.ScaleType
|
||||
|
||||
class RoomNotifyCpBindDialog (private val context: Context) : BaseRoomNotifyDialog<RoomNotifyCpBindBinding>(context) {
|
||||
|
||||
override fun createBinding(inflater: LayoutInflater): RoomNotifyCpBindBinding {
|
||||
return RoomNotifyCpBindBinding.inflate(inflater)
|
||||
}
|
||||
|
||||
var cpMsgBean : CpMsgBean? = null
|
||||
var senderAvatar : Bitmap? = null
|
||||
var receiverAvatar : Bitmap? = null
|
||||
var index = 0
|
||||
|
||||
|
||||
override fun init() {
|
||||
cpMsgBean?.let { data->
|
||||
mBinding.anim.setScaleType(ScaleType.CENTER_CROP)
|
||||
|
||||
|
||||
mBinding.anim.setFetchResource(object : IFetchResource {
|
||||
|
||||
override fun fetchImage(resource: Resource, result: (Bitmap?) -> Unit) {
|
||||
result(if (resource.tag == "avatar1") senderAvatar else receiverAvatar)
|
||||
}
|
||||
|
||||
override fun fetchText(resource: Resource, result: (String?) -> Unit) {
|
||||
var name = ""
|
||||
try {
|
||||
name = if (resource.tag == "name1") data.senderNick else data.receiverNick
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
result(name)
|
||||
}
|
||||
|
||||
override fun releaseResource(resources: List<Resource>) {
|
||||
resources?.forEach {
|
||||
it?.bitmap?.recycle()
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
mBinding.anim.startPlay(context.assets,"mp4/cp_bind.mp4")
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
override fun useSlipSlip() = false
|
||||
override fun useAutoDismiss() = true
|
||||
|
||||
override fun showDialog() {
|
||||
index = 0
|
||||
cpMsgBean?.let {
|
||||
CpUtils.downLoadAvatar(it.senderAvatar) { resource ->
|
||||
index += 1
|
||||
senderAvatar = resource
|
||||
checkImg()
|
||||
}
|
||||
CpUtils.downLoadAvatar(it.receiverAvatar) { resource ->
|
||||
index += 1
|
||||
receiverAvatar = resource
|
||||
checkImg()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun checkImg() {
|
||||
if (index == 2){
|
||||
show()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import com.chwl.app.databinding.RoomNotifyCpGiftBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.core.gift.bean.CpMsgBean
|
||||
import kotlin.math.truncate
|
||||
|
||||
/**
|
||||
* cp 飘屏
|
||||
*/
|
||||
class RoomNotifyCpGiftDialog (private val context: Context) : BaseRoomNotifyDialog<RoomNotifyCpGiftBinding>(context) {
|
||||
|
||||
override fun createBinding(inflater: LayoutInflater): RoomNotifyCpGiftBinding {
|
||||
return RoomNotifyCpGiftBinding.inflate(inflater)
|
||||
}
|
||||
|
||||
var cpMsgBean : CpMsgBean? = null
|
||||
|
||||
override fun init() {
|
||||
cpMsgBean?.let {
|
||||
ImageLoadUtils.loadImage(mBinding.sendAvatar,it.senderAvatar)
|
||||
ImageLoadUtils.loadImage(mBinding.receiverAvatar,it.receiverAvatar)
|
||||
ImageLoadUtils.loadImage(mBinding.gift,it.giftUrl)
|
||||
}
|
||||
}
|
||||
|
||||
override fun useSlipSlip() = true
|
||||
|
||||
}
|
@@ -0,0 +1,101 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.text.Layout
|
||||
import android.text.StaticLayout
|
||||
import android.text.TextPaint
|
||||
import android.view.LayoutInflater
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.helper.AnimHelper
|
||||
import com.chwl.app.databinding.RoomNotifyCpLevelUpBinding
|
||||
import com.chwl.app.ui.utils.CpUtils
|
||||
import com.chwl.app.ui.utils.loadFromAssets
|
||||
import com.chwl.app.utils.SpannableBuilder
|
||||
import com.chwl.core.gift.bean.CpMsgBean
|
||||
import com.chwl.core.utils.SpanUtils
|
||||
import com.example.lib_utils.ktx.getColor
|
||||
import com.example.lib_utils.ktx.getString
|
||||
import com.opensource.svgaplayer.SVGADrawable
|
||||
import com.opensource.svgaplayer.SVGADynamicEntity
|
||||
import com.opensource.svgaplayer.SVGAParser
|
||||
import com.opensource.svgaplayer.SVGAParser.Companion.shareParser
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity
|
||||
|
||||
class RoomNotifyLevelUpDialog (private val context: Context) : BaseRoomNotifyDialog<RoomNotifyCpLevelUpBinding>(context) {
|
||||
|
||||
override fun createBinding(inflater: LayoutInflater): RoomNotifyCpLevelUpBinding {
|
||||
return RoomNotifyCpLevelUpBinding.inflate(inflater)
|
||||
}
|
||||
|
||||
var cpMsgBean : CpMsgBean ? = null
|
||||
|
||||
override fun init() {
|
||||
cpMsgBean?.let {
|
||||
SpanUtils.with(mBinding.text)
|
||||
.append(" ${it.senderNick} ").setForegroundColor(R.color.white.getColor())
|
||||
.append(" ${R.string.avroom_widget_roomeffectview_02.getString()} ").setForegroundColor(R.color.color_fff664.getColor())
|
||||
.append(" ${it.receiverNick} ").setForegroundColor(R.color.white.getColor())
|
||||
.append(" ${R.string.Become.getString()} ").setForegroundColor(R.color.color_fff664.getColor())
|
||||
.append(" ${CpUtils.getCpLevelUpStr(it.cpLevel)} ").setForegroundColor(R.color.white.getColor())
|
||||
.create()
|
||||
mBinding.text.setBackgroundResource(CpUtils.getCpLevelUpTextBg(it.cpLevel))
|
||||
|
||||
if (it.cpLevel < 1) return
|
||||
val svga = "svga/cp_level_up_${it.cpLevel}.svga"
|
||||
try {
|
||||
shareParser().decodeFromAssets(svga, object : SVGAParser.ParseCompletion {
|
||||
override fun onComplete(svgaVideoEntity: SVGAVideoEntity) {
|
||||
val dynamicEntity = SVGADynamicEntity()
|
||||
// val textPaint = TextPaint()
|
||||
// textPaint.color = Color.WHITE //字体颜色
|
||||
// textPaint.textSize = 24f //字体大小
|
||||
// dynamicEntity.setDynamicText(
|
||||
// StaticLayout(
|
||||
// text.build(),
|
||||
// 0,
|
||||
// text.build().length,
|
||||
// textPaint,
|
||||
// 0,
|
||||
// Layout.Alignment.ALIGN_CENTER,
|
||||
// 1.0f,
|
||||
// 0.0f,
|
||||
// false
|
||||
// ), "bg"
|
||||
// )
|
||||
|
||||
AnimHelper.addDynamicImage(
|
||||
mBinding.svga,
|
||||
dynamicEntity,
|
||||
it.senderAvatar,
|
||||
"user_img1"
|
||||
)
|
||||
AnimHelper.addDynamicImage(
|
||||
mBinding.svga,
|
||||
dynamicEntity,
|
||||
it.receiverAvatar,
|
||||
"user_img2"
|
||||
)
|
||||
|
||||
val drawable = SVGADrawable(svgaVideoEntity, dynamicEntity)
|
||||
mBinding.svga.setImageDrawable(drawable)
|
||||
mBinding.svga.stepToFrame(0, true)
|
||||
// mBinding.svga.startAnimation()
|
||||
}
|
||||
|
||||
override fun onError() {
|
||||
}
|
||||
}, null)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun useSlipSlip() = false
|
||||
|
||||
}
|
@@ -0,0 +1,64 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.avroom.activity.AVRoomActivity
|
||||
import com.chwl.app.common.widget.dialog.DialogManager
|
||||
import com.chwl.app.common.widget.dialog.DialogManager.OkCancelDialogListener
|
||||
import com.chwl.app.databinding.RoomNotifyLuckGiftDlgBinding
|
||||
import com.chwl.app.ui.utils.ImageLoadUtils
|
||||
import com.chwl.app.utils.NumberUtils
|
||||
import com.chwl.core.gift.bean.LuckyGiftMsgAllBean
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.example.lib_utils.UiUtils
|
||||
|
||||
/**
|
||||
* @Author Vance
|
||||
* 幸运礼物的飘屏,全服但是展示的时候限制只有房间才展示
|
||||
*/
|
||||
class RoomNotifyLuckGiftDialog(private val context: Context) : BaseRoomNotifyDialog<RoomNotifyLuckGiftDlgBinding>(context) {
|
||||
|
||||
override fun createBinding(inflater: LayoutInflater): RoomNotifyLuckGiftDlgBinding {
|
||||
return RoomNotifyLuckGiftDlgBinding.inflate(inflater)
|
||||
}
|
||||
|
||||
private var mDialogManager: DialogManager? = null
|
||||
var luckyGiftMsgBean: LuckyGiftMsgAllBean ? = null
|
||||
|
||||
override fun init() {
|
||||
|
||||
if (UiUtils.isRtl(context)) {
|
||||
mBinding.bg.scaleX = -1f
|
||||
}
|
||||
|
||||
ImageLoadUtils.loadImage(mBinding.avatar,luckyGiftMsgBean?.sender?.avatar?:"")
|
||||
mBinding.giftName.text = luckyGiftMsgBean?.giftNameMap?.getFirstText()
|
||||
mBinding.winNum.text = luckyGiftMsgBean?.times.toString()
|
||||
|
||||
val coinNum = NumberUtils.format(luckyGiftMsgBean?.coins?:0)
|
||||
mBinding.coinNum.text = coinNum
|
||||
|
||||
mBinding.clickArea.setOnClickListener {
|
||||
mDialogManager = DialogManager(context)
|
||||
mDialogManager?.showOkCancelDialog(ResUtil.getString(R.string.changeRoomTips), true, object : OkCancelDialogListener {
|
||||
override fun onCancel() {
|
||||
mDialogManager?.dismissDialog()
|
||||
}
|
||||
|
||||
override fun onOk() {
|
||||
mDialogManager?.dismissDialog()
|
||||
luckyGiftMsgBean?.roomUid?.let {
|
||||
if (AvRoomDataManager.get().roomUid != it) {
|
||||
AVRoomActivity.start(context, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -14,6 +14,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.avroom.activity.RoomTypeSwitchActivity;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
@@ -76,6 +77,14 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
private Context context;
|
||||
private OptAdapter optAdapter;
|
||||
private OnActionListener onActionListener;
|
||||
private CallBack callBack;
|
||||
public void setCallBack(CallBack callBack) {
|
||||
this.callBack = callBack;
|
||||
}
|
||||
|
||||
public interface CallBack{
|
||||
void onCLick(int Type);
|
||||
}
|
||||
|
||||
public RoomOperationDialog(@NonNull Context context) {
|
||||
super(context, R.style.ErbanBottomSheetDialogDimFalse);
|
||||
@@ -113,29 +122,30 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
true));
|
||||
rvOPtList.setLayoutManager(new FullyGridLayoutManager(getContext(), 5));
|
||||
optAdapter = new OptAdapter(context, null);
|
||||
addRoomAlbum(optAdapter);
|
||||
addDatingAction(optAdapter);
|
||||
addPKAction(optAdapter);
|
||||
addRoomPKAction(optAdapter);
|
||||
addSingleRoomPKAction(optAdapter);
|
||||
addSendBroadcastAction(optAdapter);
|
||||
// addInviteFansOptAdapter();
|
||||
addVipSendBroadcastAction(optAdapter);
|
||||
addRedPacketAction(optAdapter);
|
||||
addRoomSettingAction(optAdapter);
|
||||
addGiftEffectAction(optAdapter);
|
||||
addOpenOrClosePublicScreenAction(optAdapter);
|
||||
// addRedPackageSwitch();
|
||||
addCleanScreenAction(optAdapter);
|
||||
addRoomLimit(optAdapter);
|
||||
addGiftValueAction(optAdapter);
|
||||
addSuperAdminAction(optAdapter);
|
||||
addShieldReportAction(optAdapter);
|
||||
addRoomAlbum(optAdapter); //房间相册
|
||||
addDatingAction(optAdapter); // 相亲 模式
|
||||
addPKAction(optAdapter); //pk PK 模式-同房间
|
||||
addRoomPKAction(optAdapter); //跨房PK
|
||||
addSingleRoomPKAction(optAdapter); //个播PK
|
||||
// addSendBroadcastAction(optAdapter); //发布广播
|
||||
// addInviteFansOptAdapter(); //邀请粉丝
|
||||
addVipSendBroadcastAction(optAdapter); //小喇叭
|
||||
// addRedPacketAction(optAdapter); //红包
|
||||
addRoomSettingAction(optAdapter); //房间设置
|
||||
addGiftEffectAction(optAdapter); //礼物特效
|
||||
// addOpenOrClosePublicScreenAction(optAdapter); //公屏开关
|
||||
// addRedPackageSwitch(); // 开关红包
|
||||
addCleanScreenAction(optAdapter); //清空公屏
|
||||
// addRoomLimit(optAdapter); //添加房间限制
|
||||
// addGiftValueAction(optAdapter); //礼物值
|
||||
addSuperAdminAction(optAdapter); //超管管理
|
||||
addShieldReportAction(optAdapter); //举报屏蔽
|
||||
addRoomTypeSwitchAction(optAdapter); //房间类型切换
|
||||
rvOPtList.setAdapter(optAdapter);
|
||||
}
|
||||
|
||||
/**
|
||||
* PK 模式
|
||||
* PK 模式-同房间
|
||||
*
|
||||
* @param optAdapter
|
||||
*/
|
||||
@@ -160,6 +170,9 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
int icon = AvRoomDataManager.get().isOpenPKMode() ?
|
||||
R.drawable.ic_room_opt_op_pk :
|
||||
R.drawable.ic_room_opt_in_pk;
|
||||
|
||||
|
||||
|
||||
optAdapter.addData(new OptAction(icon, str, () -> {
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_01));
|
||||
@@ -176,7 +189,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* 跨房PK
|
||||
* 跨房PK
|
||||
*
|
||||
* @param optAdapter
|
||||
*/
|
||||
@@ -191,7 +204,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
return;
|
||||
}
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo == null || roomInfo.getIsPermitRoom() != 1) {
|
||||
if (roomInfo == null) {
|
||||
return;
|
||||
}
|
||||
if ((AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isSuperAdmin()) &&
|
||||
@@ -200,6 +213,9 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
int icon = AvRoomDataManager.get().isOpenAnotherPKMode() ?
|
||||
R.drawable.ic_room_opt_another_pk_in :
|
||||
R.drawable.ic_room_opt_another_pk_open;
|
||||
|
||||
|
||||
|
||||
optAdapter.addData(new OptAction(icon, str, () -> {
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_05));
|
||||
@@ -220,7 +236,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* 跨房PK
|
||||
* 个播PK
|
||||
*
|
||||
* @param optAdapter
|
||||
*/
|
||||
@@ -250,6 +266,9 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
R.drawable.ic_room_opt_single_pk_open :
|
||||
R.drawable.ic_room_opt_single_pk_in;
|
||||
String finalStr = str;
|
||||
|
||||
|
||||
|
||||
optAdapter.addData(new OptAction(icon, str, () -> {
|
||||
if (pkBean != null && ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_011).equals(finalStr)) {
|
||||
SingleRoomPKModel.INSTANCE
|
||||
@@ -269,9 +288,11 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//房间相册
|
||||
private void addRoomAlbum(OptAdapter optAdapter) {
|
||||
if (AvRoomDataManager.get().isHasRoomAlbum()) {
|
||||
optAdapter.addData(new OptAction(R.drawable.ic_room_operation_album, "房间相册", () -> {
|
||||
optAdapter.addData(new OptAction(R.drawable.ic_room_operation_album, ResUtil.getString(R.string.room_album), () -> {
|
||||
RoomAlbumActivity.start(getContext());
|
||||
}));
|
||||
}
|
||||
@@ -286,10 +307,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenGame()) {
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isSingleRoom()) {
|
||||
if (AvRoomDataManager.get().getRoomType() != RoomInfo.ROOMTYPE_HOME_PARTY) {
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isManager() && !AvRoomDataManager.get().isCpRoom()) {
|
||||
@@ -336,7 +354,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* 相亲 模式
|
||||
* 红包
|
||||
*
|
||||
* @param optAdapter
|
||||
*/
|
||||
@@ -361,12 +379,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
*/
|
||||
private void addRoomLimit(OptAdapter optAdapter) {
|
||||
//添加
|
||||
if (AvRoomDataManager.get().isRoomOwner() && AvRoomDataManager.get().isCpRoom()) {
|
||||
optAdapter.addData(new OptAction(R.drawable.icon_room_limit,
|
||||
ResUtil.getString(R.string.avroom_dialog_roomoperationdialog_023),
|
||||
() -> new RoomImposeDialog(context).show()));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -561,6 +574,18 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 房间类型切换
|
||||
*
|
||||
* @param optAdapter
|
||||
*/
|
||||
private void addRoomTypeSwitchAction(OptAdapter optAdapter) {
|
||||
if (RoomTypeSwitchActivity.Companion.isCanSwitch()) {
|
||||
optAdapter.addData(new OptAction(R.drawable.icon_room_type_switch,
|
||||
getContext().getResources().getString(R.string.room_type), () -> RoomTypeSwitchActivity.Companion.start(getContext())));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 超管管理
|
||||
*/
|
||||
@@ -578,7 +603,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* 超管管理
|
||||
* 发布广播
|
||||
*/
|
||||
private void addSendBroadcastAction(OptAdapter optAdapter) {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
@@ -603,7 +628,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
/**
|
||||
* 超管管理
|
||||
* 小喇叭
|
||||
*/
|
||||
private void addVipSendBroadcastAction(OptAdapter optAdapter) {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
|
@@ -0,0 +1,351 @@
|
||||
package com.chwl.app.avroom.dialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.chwl.app.R;
|
||||
import com.chwl.app.databinding.RoomTeamPkResultDialogBinding;
|
||||
import com.chwl.app.ui.widget.dialog.BaseDialog;
|
||||
import com.chwl.core.auth.AuthModel;
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo;
|
||||
import com.chwl.core.room.pk.bean.PKTeamMember;
|
||||
import com.chwl.core.room.pk.bean.RoomPkData;
|
||||
import com.chwl.library.utils.FormatUtils;
|
||||
import com.chwl.library.utils.ResUtil;
|
||||
import com.netease.nim.uikit.support.glide.GlideApp;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author jack
|
||||
* @Description
|
||||
* @Date 2019/1/4
|
||||
*/
|
||||
public class RoomTeamPKResultDialog extends BaseDialog {
|
||||
private final static int TEAM_RED = PKTeamInfo.TEAM_RED;
|
||||
private final static int TEAM_BLUE = PKTeamInfo.TEAM_BLUE;
|
||||
|
||||
private final static int PK_RESULT_VICTORY = 1;
|
||||
private final static int PK_RESULT_FAIL = -1;
|
||||
private final static int PK_RESULT_TIE = 0;
|
||||
private RoomTeamPkResultDialogBinding binding;
|
||||
private ImageView ivResultTop;
|
||||
private RecyclerView rvList;
|
||||
private TextView tvScore;
|
||||
private TextView tvGuardianName;
|
||||
private TextView tvGuardianValue;
|
||||
private TextView tvTeamStatus;
|
||||
private TextView tvSeeOtherTeam;
|
||||
|
||||
private int pkResult = PK_RESULT_TIE;
|
||||
private boolean isShowOpponent = false;//是否在显示对手
|
||||
private PkResultMemberAdapter adapter;
|
||||
private RoomPkData roomPkData;
|
||||
private PKTeamInfo teamInfo;
|
||||
|
||||
public RoomTeamPKResultDialog(Context context, RoomPkData roomPkData) {
|
||||
super(context, R.style.full_screen_dialog);
|
||||
binding = RoomTeamPkResultDialogBinding.inflate(LayoutInflater.from(getContext()));
|
||||
Window window = getWindow();
|
||||
if (window != null) {
|
||||
WindowManager.LayoutParams lps = window.getAttributes();
|
||||
lps.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
lps.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
lps.gravity = Gravity.CENTER;
|
||||
window.setAttributes(lps);
|
||||
}
|
||||
this.roomPkData = roomPkData;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setCanceledOnTouchOutside(true);
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
ivResultTop = (ImageView) findViewById(R.id.iv_result_top);
|
||||
rvList = (RecyclerView) findViewById(R.id.recycler_view);
|
||||
|
||||
tvScore = (TextView) findViewById(R.id.tv_score);
|
||||
tvGuardianName = (TextView) findViewById(R.id.tv_guardian_name);
|
||||
tvGuardianValue = (TextView) findViewById(R.id.tv_guardian_value);
|
||||
tvTeamStatus = (TextView) findViewById(R.id.tv_team_status);
|
||||
tvSeeOtherTeam = (TextView) findViewById(R.id.tv_see_other_team);
|
||||
|
||||
|
||||
adapter = new PkResultMemberAdapter(null);
|
||||
rvList.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
rvList.setAdapter(adapter);
|
||||
|
||||
tvSeeOtherTeam.setOnClickListener(v -> {
|
||||
if (!isShowOpponent) {
|
||||
showOpponentResult();
|
||||
} else {
|
||||
showMyResult();
|
||||
}
|
||||
});
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
if (roomPkData == null) {
|
||||
return;
|
||||
}
|
||||
if (roomPkData.getVoteMode() == RoomPkData.VOTE_MODE_PERSON) {
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
}
|
||||
int result = roomPkData.getResult();
|
||||
int teamId = findTeamIdByAccount(String.valueOf(AuthModel.get().getCurrentUid()));
|
||||
if (teamId == PKTeamInfo.TEAM_NONE) {
|
||||
//观众
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
teamInfo = findTeamByTeamId(PKTeamInfo.TEAM_RED);
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_01));
|
||||
if (teamInfo != null) {
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
} else {
|
||||
tvScore.setText("0");
|
||||
}
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
refreshView(pkResult, teamInfo);
|
||||
} else {
|
||||
pkResult = PK_RESULT_VICTORY;
|
||||
teamInfo = findTeamByTeamId(result);
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
|
||||
} else {
|
||||
//非观众
|
||||
teamInfo = findTeamByTeamId(teamId);
|
||||
|
||||
if (result == RoomPkData.PK_RESULT_DRAW) {
|
||||
pkResult = PK_RESULT_TIE;
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_02));
|
||||
if (teamInfo != null) {
|
||||
tvScore.setText(teamInfo.getScore() + "");
|
||||
} else {
|
||||
tvScore.setText("0");
|
||||
}
|
||||
binding.groupGuardianName.setVisibility(View.GONE);
|
||||
binding.groupGuardianValue.setVisibility(View.GONE);
|
||||
refreshView(pkResult, teamInfo);
|
||||
|
||||
} else {
|
||||
pkResult = teamId == result ? PK_RESULT_VICTORY : PK_RESULT_FAIL;
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void showTeamMembers(int pkResult, PKTeamInfo teamInfo) {
|
||||
List<PkResultMember> pkResultMembers = new ArrayList<>();
|
||||
for (PKTeamMember pkTeamMember : teamInfo.getTeamMembers()) {
|
||||
PkResultMember resultMember = new PkResultMember();
|
||||
resultMember.avatar = pkTeamMember.getAvatar();
|
||||
resultMember.nick = pkTeamMember.getNick();
|
||||
resultMember.isMVP = pkTeamMember.getUid().equals(teamInfo.getMvp());
|
||||
pkResultMembers.add(resultMember);
|
||||
}
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_win);
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_fail);
|
||||
} else {
|
||||
adapter.setAvatarBg(R.drawable.room_team_pk_result_avatar_bg_draw);
|
||||
}
|
||||
adapter.setNewData(pkResultMembers);
|
||||
}
|
||||
|
||||
private void showColorByTeam(PKTeamInfo pkTeamInfo) {
|
||||
if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_RED) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_FF396F));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_FF4B81));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
} else if (pkTeamInfo.getTeam() == PKTeamInfo.TEAM_BLUE) {
|
||||
tvScore.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvGuardianName.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvGuardianValue.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvTeamStatus.setTextColor(getContext().getResources().getColor(R.color.color_73B8FF));
|
||||
tvSeeOtherTeam.setTextColor(getContext().getResources().getColor(R.color.color_FF4B81));
|
||||
} else {
|
||||
//未知
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshBgByStatus() {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_win);
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_fail);
|
||||
} else if (pkResult == PK_RESULT_TIE) {
|
||||
ivResultTop.setImageResource(R.drawable.room_team_pk_result_top_draw);
|
||||
}
|
||||
}
|
||||
|
||||
private int findTeamIdByAccount(String account) {
|
||||
for (PKTeamInfo pkTeamInfo : roomPkData.getTeams()) {
|
||||
for (PKTeamMember pkTeamMember : pkTeamInfo.getTeamMembers()) {
|
||||
if (pkTeamMember.getUid().equals(account)) {
|
||||
return pkTeamInfo.getTeam();
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 反转队伍,状态
|
||||
*/
|
||||
private void reverseTeamAndStatus() {
|
||||
if (teamInfo.getTeam() == TEAM_RED) {
|
||||
teamInfo = findTeamByTeamId(TEAM_BLUE);
|
||||
} else if (teamInfo.getTeam() == TEAM_BLUE) {
|
||||
teamInfo = findTeamByTeamId(TEAM_RED);
|
||||
}
|
||||
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
pkResult = PK_RESULT_FAIL;
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
pkResult = PK_RESULT_VICTORY;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示本队的结果
|
||||
*/
|
||||
private void showMyResult() {
|
||||
if (isShowOpponent) {
|
||||
isShowOpponent = false;
|
||||
reverseTeamAndStatus();
|
||||
}
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示对手队结果
|
||||
*/
|
||||
private void showOpponentResult() {
|
||||
isShowOpponent = true;
|
||||
reverseTeamAndStatus();
|
||||
refreshView(pkResult, teamInfo);
|
||||
}
|
||||
|
||||
private void refreshView(int pkResult, PKTeamInfo teamInfo) {
|
||||
refreshBgByStatus();
|
||||
showTeamMembers(pkResult, teamInfo);
|
||||
showColorByTeam(teamInfo);
|
||||
|
||||
tvScore.setText(FormatUtils.formatPKValue(teamInfo.getScore()));
|
||||
|
||||
if (teamInfo.getProtector() != null && teamInfo.getProtector().getUid() != 0) {
|
||||
tvGuardianName.setText(teamInfo.getProtector().getNick());
|
||||
tvGuardianValue.setText(FormatUtils.formatPKValue(teamInfo.getProtecScore()));
|
||||
} else {
|
||||
tvGuardianName.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_03));
|
||||
tvGuardianValue.setText("0");
|
||||
}
|
||||
|
||||
int myTeamId = findTeamIdByAccount(String.valueOf(AuthModel.get().getCurrentUid()));
|
||||
if (teamInfo.getTeam() == PKTeamInfo.TEAM_RED) {
|
||||
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_04));
|
||||
if (myTeamId == PKTeamInfo.TEAM_NONE) {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_05));
|
||||
} else if (myTeamId == teamInfo.getTeam()) {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_06));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_07));
|
||||
} else {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_08));
|
||||
}
|
||||
} else if (teamInfo.getTeam() == PKTeamInfo.TEAM_BLUE) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_09));
|
||||
if (myTeamId == PKTeamInfo.TEAM_NONE) {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_010));
|
||||
} else if (myTeamId == teamInfo.getTeam()) {
|
||||
if (pkResult == PK_RESULT_VICTORY) {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_011));
|
||||
} else if (pkResult == PK_RESULT_FAIL) {
|
||||
}
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_012));
|
||||
} else {
|
||||
tvSeeOtherTeam.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_013));
|
||||
}
|
||||
} else {
|
||||
tvTeamStatus.setText(ResUtil.getString(R.string.avroom_dialog_pkresultdialog_014));
|
||||
tvSeeOtherTeam.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
class PkResultMember {
|
||||
String avatar;
|
||||
String nick;
|
||||
boolean isMVP;
|
||||
}
|
||||
|
||||
class PkResultMemberAdapter extends BaseQuickAdapter<PkResultMember, BaseViewHolder> {
|
||||
|
||||
private int avatarBgResId = R.drawable.room_team_pk_result_avatar_bg_win;
|
||||
|
||||
public void setAvatarBg(int redId) {
|
||||
this.avatarBgResId = redId;
|
||||
}
|
||||
|
||||
public PkResultMemberAdapter(@Nullable List<PkResultMember> data) {
|
||||
super(R.layout.room_team_pk_result_item, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, PkResultMember item) {
|
||||
ImageView avatarBg = helper.getView(R.id.iv_avatar_bg);
|
||||
avatarBg.setImageResource(avatarBgResId);
|
||||
ImageView avatar = helper.getView(R.id.iv_avatar);
|
||||
GlideApp.with(avatar)
|
||||
.load(item.avatar)
|
||||
.placeholder(R.drawable.default_avatar)
|
||||
.dontAnimate()
|
||||
.into(avatar);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private PKTeamInfo findTeamByTeamId(int teamId) {
|
||||
if (roomPkData == null) {
|
||||
return null;
|
||||
}
|
||||
for (PKTeamInfo pkTeamInfo : roomPkData.getTeams()) {
|
||||
if (teamId == pkTeamInfo.getTeam()) {
|
||||
return pkTeamInfo;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
325
app/src/main/java/com/chwl/app/avroom/dialog/RoomTeamPkDialog.kt
Normal file
325
app/src/main/java/com/chwl/app/avroom/dialog/RoomTeamPkDialog.kt
Normal file
@@ -0,0 +1,325 @@
|
||||
package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.text.TextUtils
|
||||
import android.view.WindowManager
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.view.isVisible
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.RoomTeamPkDialogBinding
|
||||
import com.chwl.app.ui.utils.loadAvatar
|
||||
import com.chwl.app.ui.widget.dialog.CommonTipDialog
|
||||
import com.chwl.core.manager.AvRoomDataManager
|
||||
import com.chwl.core.room.pk.bean.PKTeamInfo
|
||||
import com.chwl.core.room.pk.bean.RoomPKInvitedUpMicMember
|
||||
import com.chwl.core.room.pk.bean.RoomPkData
|
||||
import com.chwl.core.room.pk.event.PKDataUpdateEvent
|
||||
import com.chwl.core.room.pk.event.PKTimeFinishEvent
|
||||
import com.chwl.core.room.pk.event.PKTimeTickEvent
|
||||
import com.chwl.core.room.pk.model.PkModel
|
||||
import com.chwl.library.utils.FormatUtils
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import io.reactivex.SingleObserver
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.Locale
|
||||
|
||||
class RoomTeamPkDialog : BaseDialogFragment<RoomTeamPkDialogBinding>() {
|
||||
|
||||
private var compositeDisposable: CompositeDisposable? = null
|
||||
|
||||
private var onActionListener: OnActionListener? = null
|
||||
|
||||
override var width = WindowManager.LayoutParams.MATCH_PARENT
|
||||
|
||||
override fun init() {
|
||||
binding.layoutRoot.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.userListBlue.showBlueStyle()
|
||||
binding.ivClose.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.tvNext.setOnClickListener {
|
||||
if (PkModel.get().isFighting) {
|
||||
onRestartClick()
|
||||
} else {
|
||||
onStartClick()
|
||||
}
|
||||
}
|
||||
binding.ivAvatarRed.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_RED)
|
||||
}
|
||||
}
|
||||
binding.ivAvatarBlue.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_BLUE)
|
||||
}
|
||||
}
|
||||
binding.userListRed.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_RED)
|
||||
}
|
||||
}
|
||||
binding.userListBlue.setOnClickListener {
|
||||
if (!PkModel.get().isFighting) {
|
||||
onSeatClick(PKTeamInfo.TEAM_BLUE)
|
||||
}
|
||||
}
|
||||
updateView()
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
EventBus.getDefault().register(this)
|
||||
compositeDisposable = CompositeDisposable()
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
EventBus.getDefault().unregister(this)
|
||||
compositeDisposable?.dispose()
|
||||
}
|
||||
|
||||
fun setOnActionListener(onActionListener: OnActionListener?) {
|
||||
this.onActionListener = onActionListener
|
||||
}
|
||||
|
||||
fun updateView() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
updateTeamUserList()
|
||||
updateTime()
|
||||
updateProgress()
|
||||
if (PkModel.get().isFighting) {
|
||||
binding.tvNext.setText(R.string.pk_restart)
|
||||
} else {
|
||||
binding.tvNext.setText(R.string.start_pk)
|
||||
}
|
||||
updateManageButtonVisible(AvRoomDataManager.get().isManager)
|
||||
}
|
||||
|
||||
private fun updateTeamUserList() {
|
||||
val pkMemberInfoList = PkModel.get().pkMemberInfoList
|
||||
val redList =
|
||||
pkMemberInfoList.filter { it.teamId == PKTeamInfo.TEAM_RED }.take(4).mapNotNull {
|
||||
it.userInfo
|
||||
}
|
||||
val blueList =
|
||||
pkMemberInfoList.filter { it.teamId == PKTeamInfo.TEAM_BLUE }.take(4).mapNotNull {
|
||||
it.userInfo
|
||||
}
|
||||
binding.userListRed.updateData(redList.drop(1).map {
|
||||
it.avatar
|
||||
})
|
||||
binding.userListBlue.updateData(blueList.drop(1).map {
|
||||
it.avatar
|
||||
})
|
||||
binding.ivAvatarRed.loadAvatar(redList.firstOrNull()?.avatar)
|
||||
binding.ivAvatarBlue.loadAvatar(blueList.firstOrNull()?.avatar)
|
||||
}
|
||||
|
||||
private fun updateManageButtonVisible(isVisible: Boolean) {
|
||||
val dimensionRatio: String
|
||||
if (isVisible) {
|
||||
binding.ivBg.setImageResource(R.drawable.room_team_pk_bg)
|
||||
binding.tvNext.isVisible = true
|
||||
dimensionRatio = "309:379"
|
||||
} else {
|
||||
binding.ivBg.setImageResource(R.drawable.room_team_pk_bg_no_manage)
|
||||
binding.tvNext.isVisible = false
|
||||
dimensionRatio = "309:324"
|
||||
}
|
||||
val params = binding.layoutContent.layoutParams as ConstraintLayout.LayoutParams
|
||||
params.dimensionRatio = dimensionRatio
|
||||
binding.layoutContent.layoutParams = params
|
||||
}
|
||||
|
||||
private fun updateTime() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
val roomPkData = PkModel.get().curPkInfo
|
||||
val pkTimeUntilEnd: Long
|
||||
if (roomPkData?.pkStatus != RoomPkData.PK_STATUS_IN_PK) {
|
||||
pkTimeUntilEnd = roomPkData?.duration ?: 0
|
||||
} else {
|
||||
pkTimeUntilEnd = roomPkData.curPkTimeUntilEnd
|
||||
}
|
||||
binding.tvTime.text =
|
||||
String.format(Locale.ENGLISH, "%1$02d:%2$02d", pkTimeUntilEnd / 60, pkTimeUntilEnd % 60)
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKDataUpdateEvent(event: PKDataUpdateEvent) {
|
||||
updateProgress()
|
||||
if (event.type == PKDataUpdateEvent.TYPE_RESULT) {
|
||||
safeDismiss()
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateProgress() {
|
||||
if (_binding == null) {
|
||||
return
|
||||
}
|
||||
val roomPkData = PkModel.get().curPkInfo
|
||||
if (roomPkData?.pkStatus != RoomPkData.PK_STATUS_IN_PK) {
|
||||
updateProgress(0, 0)
|
||||
return
|
||||
}
|
||||
val redTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_RED)
|
||||
val blueTeam = PkModel.get().findTeamByTeamId(PKTeamInfo.TEAM_BLUE)
|
||||
if (redTeam == null || blueTeam == null) {
|
||||
updateProgress(0, 0)
|
||||
return
|
||||
}
|
||||
updateProgress(redTeam.score, blueTeam.score)
|
||||
}
|
||||
|
||||
private fun updateProgress(redScore: Long, blueScore: Long) {
|
||||
val totalScore = redScore + blueScore
|
||||
if (totalScore > 0) {
|
||||
binding.tvScoreRed.text = FormatUtils.formatPKValue(redScore)
|
||||
binding.tvScoreBlue.text = FormatUtils.formatPKValue(blueScore)
|
||||
updateProgress(redScore.toFloat() / totalScore.toFloat())
|
||||
} else {
|
||||
updateProgress(0.5f)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateProgress(percent: Float) {
|
||||
binding.pbScore.post {
|
||||
binding.pbScore.progress = (percent * 100).toInt()
|
||||
val progress = binding.pbScore.width * (percent)
|
||||
var bias =
|
||||
(progress - binding.svgaHot.width / 2f) / (binding.pbScore.width - binding.svgaHot.width)
|
||||
val layoutParams = binding.svgaHot.layoutParams as ConstraintLayout.LayoutParams
|
||||
bias = 1f.coerceAtMost(bias)
|
||||
bias = 0f.coerceAtLeast(bias)
|
||||
layoutParams.horizontalBias = bias
|
||||
binding.svgaHot.layoutParams = layoutParams
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKTimeTickEvent(event: PKTimeTickEvent?) {
|
||||
updateTime()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onPKTimeFinishEvent(event: PKTimeFinishEvent?) {
|
||||
updateView()
|
||||
}
|
||||
|
||||
private fun onSeatClick(teamType: Int) {
|
||||
//不是管理员或者房主弹出排麦dialog
|
||||
if (!AvRoomDataManager.get().isManager) {
|
||||
//已经排麦不操作
|
||||
if (!PkModel.get().pkMemberInfoList.isNullOrEmpty() && AvRoomDataManager.get().myIsInQueue) {
|
||||
SingleToastUtil.showToastShort(ResUtil.getString(R.string.avroom_widget_pkboardview_03))
|
||||
return
|
||||
}
|
||||
onActionListener?.onShowPKMicQueueDialog()
|
||||
return
|
||||
}
|
||||
//添加红队人员
|
||||
val selectDialog =
|
||||
PKSelectPeopleDialog(context, teamType, PkModel.get().pkMemberInfoList)
|
||||
selectDialog.setOnSelectPeopleListener { micEntityList -> //更新队伍,麦序,显示头像
|
||||
val upMicMemberList: MutableList<RoomPKInvitedUpMicMember> =
|
||||
ArrayList()
|
||||
for (micEntity in micEntityList) {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
continue
|
||||
}
|
||||
val roomPKInvitedUpMicMember = RoomPKInvitedUpMicMember()
|
||||
if (micEntity.isSelect) {
|
||||
roomPKInvitedUpMicMember.groupType = teamType
|
||||
} else {
|
||||
if (TextUtils.isEmpty(micEntity.uid)) {
|
||||
roomPKInvitedUpMicMember.groupType = PKTeamInfo.TEAM_NONE
|
||||
} else {
|
||||
val teamId = PkModel.get().getTeamIdInPKMemberList(micEntity.uid)
|
||||
roomPKInvitedUpMicMember.groupType =
|
||||
if (teamId == teamType) PKTeamInfo.TEAM_NONE else teamId
|
||||
}
|
||||
}
|
||||
roomPKInvitedUpMicMember.uid = micEntity.uid
|
||||
roomPKInvitedUpMicMember.nick = micEntity.nick
|
||||
val micQueue = AvRoomDataManager.get().mMicQueueMemberMap
|
||||
//设置坑位的位置
|
||||
for (i in 0 until micQueue.size()) {
|
||||
val key = micQueue.keyAt(i)
|
||||
val roomQueueInfo = micQueue[key]
|
||||
if (roomQueueInfo.mChatRoomMember != null && roomQueueInfo.mChatRoomMember.account == micEntity.uid
|
||||
) {
|
||||
roomPKInvitedUpMicMember.position = key
|
||||
}
|
||||
}
|
||||
upMicMemberList.add(roomPKInvitedUpMicMember)
|
||||
}
|
||||
PkModel.get().inviteInTeam(upMicMemberList)
|
||||
.doOnError { throwable: Throwable ->
|
||||
SingleToastUtil.showToastShort(
|
||||
throwable.message
|
||||
)
|
||||
}
|
||||
.subscribe()
|
||||
}
|
||||
selectDialog.show()
|
||||
}
|
||||
|
||||
private fun onStartClick() {
|
||||
onActionListener?.onBeginPK()
|
||||
}
|
||||
|
||||
private fun onRestartClick() {
|
||||
if (PkModel.get().curPkInfo == null) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_01))
|
||||
dismissAllowingStateLoss()
|
||||
return
|
||||
}
|
||||
if (PkModel.get().curPkInfo?.pkStatus == RoomPkData.PK_STATUS_AFTER_PK) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_02))
|
||||
dismissAllowingStateLoss()
|
||||
return
|
||||
}
|
||||
val tipDialog = CommonTipDialog(context)
|
||||
tipDialog.setTipMsg(
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_03) +
|
||||
ResUtil.getString(R.string.avroom_dialog_pkscoreboarddialog_04)
|
||||
)
|
||||
tipDialog.setOnActionListener(
|
||||
object : CommonTipDialog.OnActionListener {
|
||||
override fun onOk() {
|
||||
PkModel.get().toPKAgain().subscribe(object : SingleObserver<String?> {
|
||||
override fun onSubscribe(d: Disposable) {
|
||||
compositeDisposable?.add(d)
|
||||
}
|
||||
|
||||
override fun onSuccess(t: String) {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
||||
override fun onError(e: Throwable) {
|
||||
SingleToastUtil.showToast(e.message)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
tipDialog.show()
|
||||
}
|
||||
|
||||
interface OnActionListener {
|
||||
fun onBeginPK()
|
||||
fun onShowPKMicQueueDialog()
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@ import android.view.View
|
||||
import com.donkingliang.labels.LabelsView
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.databinding.DialogSelectLabelBinding
|
||||
import com.chwl.app.treasure_box.widget.dialog.BaseBindingDialog
|
||||
import com.chwl.app.base.BaseBindingDialog
|
||||
import com.chwl.library.annatation.ActLayoutRes
|
||||
|
||||
@ActLayoutRes(R.layout.dialog_select_label)
|
||||
|
@@ -9,7 +9,7 @@ import android.view.WindowManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.chwl.app.avroom.adapter.SendBroadcastAdapter
|
||||
import com.chwl.app.base.BaseActivity
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogSendBroadcastBinding
|
||||
import com.chwl.app.ui.utils.RVDelegate
|
||||
import com.chwl.app.utils.SpannableBuilder
|
||||
@@ -24,7 +24,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
class SendBroadcastDialog : BaseDialogFragment<DialogSendBroadcastBinding>() {
|
||||
|
||||
private lateinit var rvDelegate: RVDelegate<String>
|
||||
private lateinit var adapter: SendBroadcastAdapter
|
||||
|
@@ -2,11 +2,11 @@ package com.chwl.app.avroom.dialog
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.WindowManager
|
||||
import com.chwl.app.base.BaseDialog
|
||||
import com.chwl.app.base.BaseDialogFragment
|
||||
import com.chwl.app.databinding.DialogSingleRoomTipBinding
|
||||
|
||||
class SingleRoomTipDialog :
|
||||
BaseDialog<DialogSingleRoomTipBinding>() {
|
||||
BaseDialogFragment<DialogSingleRoomTipBinding>() {
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun init() {
|
||||
binding?.root?.setOnClickListener {
|
||||
|
@@ -1,498 +0,0 @@
|
||||
package com.chwl.app.avroom.firstcharge
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.text.Spannable
|
||||
import android.text.SpannableStringBuilder
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.util.Log
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.PopupWindow
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
//import com.appsflyer.AFInAppEventParameterName
|
||||
//import com.appsflyer.AFInAppEventType
|
||||
//import com.appsflyer.AppsFlyerLib
|
||||
import com.example.module_base.support.billing.IBillingResult
|
||||
import com.example.module_base.support.billing.IBillingService
|
||||
import com.example.module_base.support.billing.IProductDetails
|
||||
import com.example.module_base.support.billing.IPurchase
|
||||
import com.example.module_base.support.google.IGoogleService
|
||||
import com.netease.nim.uikit.common.util.sys.ScreenUtil
|
||||
import com.chwl.app.R
|
||||
import com.chwl.app.base.BaseViewBindingActivity
|
||||
import com.chwl.app.databinding.DialogFirstChargeBinding
|
||||
import com.chwl.app.ui.setting.ModifyPwdActivity
|
||||
import com.chwl.app.ui.webview.CommonWebViewActivity
|
||||
import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil
|
||||
import com.chwl.core.Constants
|
||||
import com.chwl.core.DemoCache
|
||||
import com.chwl.core.UriProvider
|
||||
import com.chwl.core.pay.PayModel
|
||||
import com.chwl.core.pay.bean.FirstChargeGoods
|
||||
import com.chwl.core.pay.bean.FirstChargeReward
|
||||
import com.chwl.core.pay.bean.PayRecordId
|
||||
import com.chwl.core.pay.event.FirstChargeEvent
|
||||
import com.chwl.core.room.model.AvRoomModel
|
||||
import com.chwl.core.utils.net.IgnoreException
|
||||
import com.chwl.core.utils.extension.toast
|
||||
import com.chwl.library.common.util.DeviceUtil
|
||||
import com.chwl.library.utils.AppMetaDataUtil
|
||||
import com.chwl.library.utils.ResUtil
|
||||
import com.chwl.library.utils.SingleToastUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
/**
|
||||
* author: wushaocheng
|
||||
* time: 2022/2/21
|
||||
* desc: 限时首充
|
||||
*/
|
||||
class FirstChargeDialog : BaseViewBindingActivity<DialogFirstChargeBinding>(),
|
||||
IBillingService.Listener {
|
||||
|
||||
private var goodsList: List<FirstChargeGoods>? = null
|
||||
|
||||
private var currGoods: FirstChargeGoods? = null
|
||||
|
||||
private lateinit var helpPopupWindow: PopupWindow
|
||||
private var billingManager: IBillingService? = null
|
||||
private var position = -1
|
||||
|
||||
private val mReward2Adapter by lazy { Reward2Adapter() }
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun start(context: Context) {
|
||||
val starter = Intent(context, FirstChargeDialog::class.java)
|
||||
context.startActivity(starter)
|
||||
}
|
||||
|
||||
private const val BIND_CODE_GOLD = 200
|
||||
private const val TAG = "FirstChargeDialog"
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
//这里的height用MATCH_PARENT状态栏会被顶上去,不知道什么鬼
|
||||
val height = ScreenUtil.screenHeight - ScreenUtil.getStatusBarHeight(context)
|
||||
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, height)
|
||||
window.setGravity(Gravity.CENTER)
|
||||
EventBus.getDefault().register(this)
|
||||
binding.rbPlanA.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = true
|
||||
binding.rbPlanB.isChecked = false
|
||||
binding.rbPlanC.isChecked = false
|
||||
binding.ivArrow1.visibility = View.VISIBLE
|
||||
binding.ivArrow2.visibility = View.INVISIBLE
|
||||
binding.ivArrow3.visibility = View.INVISIBLE
|
||||
updateCurrGoods(goodsList?.getOrNull(0))
|
||||
position = 0
|
||||
}
|
||||
binding.rbPlanB.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = false
|
||||
binding.rbPlanB.isChecked = true
|
||||
binding.rbPlanC.isChecked = false
|
||||
binding.ivArrow1.visibility = View.INVISIBLE
|
||||
binding.ivArrow2.visibility = View.VISIBLE
|
||||
binding.ivArrow3.visibility = View.INVISIBLE
|
||||
updateCurrGoods(goodsList?.getOrNull(1))
|
||||
position = 1
|
||||
}
|
||||
binding.rbPlanC.setOnClickListener {
|
||||
binding.rbPlanA.isChecked = false
|
||||
binding.rbPlanB.isChecked = false
|
||||
binding.rbPlanC.isChecked = true
|
||||
binding.ivArrow1.visibility = View.INVISIBLE
|
||||
binding.ivArrow2.visibility = View.INVISIBLE
|
||||
binding.ivArrow3.visibility = View.VISIBLE
|
||||
updateCurrGoods(goodsList?.getOrNull(2))
|
||||
position = 2
|
||||
}
|
||||
binding.ivHelp.setOnClickListener { showHelpPopup() }
|
||||
binding.tvCharge.setOnClickListener {
|
||||
val channel = AppMetaDataUtil.getChannelID()
|
||||
if (position == -1) {
|
||||
ResUtil.getString(R.string.avroom_firstcharge_firstchargedialog_01).toast()
|
||||
}
|
||||
else{
|
||||
goodsList?.get(position)?.let { charge ->
|
||||
buyProduct(charge.productDetails)
|
||||
}
|
||||
}
|
||||
// if (channel.equals(Constants.GOOGLE)) {
|
||||
// goodsList?.get(position)?.let { charge ->
|
||||
// buyProduct(charge.productDetails)
|
||||
// }
|
||||
// } else {
|
||||
// CommonWebViewActivity.start(
|
||||
// context,
|
||||
// UriProvider.getOfficialPay(6, DeviceUtil.getDeviceId(context))
|
||||
// )
|
||||
// }
|
||||
}
|
||||
|
||||
binding.recyclerView.layoutManager = GridLayoutManager(this, 6)
|
||||
//重新定义每行的item数量
|
||||
mReward2Adapter.setSpanSizeLookup { _, position ->
|
||||
val data = mReward2Adapter.data
|
||||
var spanSize = 0
|
||||
when (data[position].itemType) {
|
||||
FirstChargeReward.ONE -> {
|
||||
spanSize = 6
|
||||
}
|
||||
|
||||
FirstChargeReward.TWO_LEFT -> {
|
||||
spanSize = 3
|
||||
}
|
||||
|
||||
FirstChargeReward.TWO_RIGHT -> {
|
||||
spanSize = 3
|
||||
}
|
||||
|
||||
FirstChargeReward.THREE -> {
|
||||
spanSize = 2
|
||||
}
|
||||
|
||||
FirstChargeReward.TWO_LEFT_SMALL -> {
|
||||
spanSize = 3
|
||||
}
|
||||
|
||||
FirstChargeReward.TWO_RIGHT_SMALL -> {
|
||||
spanSize = 3
|
||||
}
|
||||
}
|
||||
spanSize
|
||||
}
|
||||
binding.recyclerView.adapter = mReward2Adapter
|
||||
|
||||
PayModel.get().firstChargeList
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe({
|
||||
initData(it)
|
||||
}, {
|
||||
it.printStackTrace()
|
||||
SingleToastUtil.showToast(it.message)
|
||||
finish()
|
||||
})
|
||||
binding.viewBg.setOnClickListener {
|
||||
//do nothing
|
||||
}
|
||||
binding.root.setOnClickListener {
|
||||
finish()
|
||||
}
|
||||
|
||||
DemoCache.saveBoolean("FirstCharge", true)
|
||||
AvRoomModel.get().postFirstCharge()
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe()
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private fun initData(goodsList: List<FirstChargeGoods>) {
|
||||
this.goodsList = goodsList
|
||||
binding.rbPlanA.isChecked = true
|
||||
updateCurrGoods(goodsList.getOrNull(0))
|
||||
position = 0
|
||||
when (goodsList.size) {
|
||||
1 -> {
|
||||
binding.rbPlanB.visibility = View.GONE
|
||||
binding.rbPlanC.visibility = View.GONE
|
||||
binding.rbPlanA.text = "$${goodsList[0].chargeMoney}"
|
||||
}
|
||||
|
||||
2 -> {
|
||||
binding.rbPlanC.visibility = View.GONE
|
||||
binding.rbPlanA.text = "$${goodsList[0].chargeMoney}"
|
||||
binding.rbPlanB.text = "$${goodsList[1].chargeMoney}"
|
||||
}
|
||||
|
||||
3 -> {
|
||||
binding.rbPlanA.text = "$${goodsList[0].chargeMoney}"
|
||||
binding.rbPlanB.text = "$${goodsList[1].chargeMoney}"
|
||||
binding.rbPlanC.text = "$${goodsList[2].chargeMoney}"
|
||||
}
|
||||
}
|
||||
if (AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
initBilling()
|
||||
}
|
||||
}
|
||||
|
||||
private fun initBilling() {
|
||||
billingManager = IGoogleService.newBillingService(this,this)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onBillingClientSetupFinished() {
|
||||
Log.i(TAG, "onBillingClientSetupFinished")
|
||||
goodsList?.let { initProduceList(it) }
|
||||
}
|
||||
|
||||
private fun initProduceList(goodsList: List<FirstChargeGoods>) {
|
||||
val productKeys: MutableList<String> = ArrayList()
|
||||
for (bean in goodsList) {
|
||||
productKeys.add(bean.chargeProdId)
|
||||
}
|
||||
billingManager?.querySkuDetailsAsync(productKeys,object :IBillingService.ProductDetailsResponseListener{
|
||||
override fun onProductDetailsResponse(
|
||||
billingResult: IBillingResult,
|
||||
productDetails: List<IProductDetails>
|
||||
) {
|
||||
if (!billingResult.isResponseOk()) {
|
||||
Log.w(
|
||||
TAG,
|
||||
"Unsuccessful query for Error code: " + billingResult.getResponseCode()
|
||||
)
|
||||
}else if (productDetails.isNotEmpty()) {
|
||||
for (chargeBean in goodsList) {
|
||||
for (skuDetails in productDetails) {
|
||||
if (skuDetails.getProductId() == chargeBean.chargeProdId) {
|
||||
chargeBean.productDetails = skuDetails
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*商品更新回调*/
|
||||
@SuppressLint("CheckResult")
|
||||
override fun onPurchasesUpdated(purchases: List<IPurchase>) {
|
||||
for (purchase in purchases) {
|
||||
if (purchase.isPurchasedState() &&
|
||||
purchase.getAccountIdentifiers() != null
|
||||
) {
|
||||
PayModel.get().verifyOrder(
|
||||
purchase.getAccountIdentifiers()!!.getObfuscatedAccountId(),
|
||||
purchase.getProducts()[0],
|
||||
purchase.getPackageName(),
|
||||
purchase.getPurchaseToken()
|
||||
)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{ token: String ->
|
||||
//L.i("token=" + token);
|
||||
billingManager?.consumeAsync(token)
|
||||
// var skuDetails: IProductDetails? = null
|
||||
// val goodList = goodsList
|
||||
// if (!goodList.isNullOrEmpty()) {
|
||||
// for (datum in goodList) {
|
||||
// if (datum.chargeProdId == purchase.getProducts()[0]) {
|
||||
// skuDetails = datum.productDetails
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (skuDetails != null) {
|
||||
// val eventValue: MutableMap<String, Any> =
|
||||
// HashMap()
|
||||
// eventValue[AFInAppEventParameterName.CONTENT_TYPE] = "Gold"
|
||||
// eventValue[AFInAppEventParameterName.QUANTITY] = 1
|
||||
// eventValue[AFInAppEventParameterName.CONTENT_ID] = purchase.getOrderId()!!
|
||||
// skuDetails.getOneTimePurchaseOfferDetails()?.let {
|
||||
// eventValue[AFInAppEventParameterName.REVENUE] =
|
||||
// it.getPriceAmountMicros() / 1000000f
|
||||
// eventValue["Price"] = it.getFormattedPrice()
|
||||
// eventValue[AFInAppEventParameterName.CURRENCY] =
|
||||
// it.getPriceCurrencyCode()
|
||||
// }
|
||||
// AppsFlyerLib.getInstance().logEvent(
|
||||
// applicationContext,
|
||||
// AFInAppEventType.PURCHASE,
|
||||
// eventValue
|
||||
// )
|
||||
// }
|
||||
}
|
||||
) { throwable: Throwable ->
|
||||
if (throwable !is IgnoreException) {
|
||||
SingleToastUtil.showToast(throwable.message)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Log.i(TAG, "onPurchasesUpdated")
|
||||
}
|
||||
|
||||
override fun onConsumeFinished(token: String?, result: Int) {
|
||||
|
||||
}
|
||||
|
||||
override fun onFailedHandle(result: Int) {
|
||||
|
||||
}
|
||||
|
||||
/*购买商品*/
|
||||
@SuppressLint("CheckResult")
|
||||
fun buyProduct(skuDetails: IProductDetails?) {
|
||||
if (skuDetails != null) {
|
||||
Log.d(TAG, "BuyProduct:" + skuDetails.getProductId())
|
||||
PayModel.get().placeOrder(skuDetails.getProductId())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{ recordId: PayRecordId ->
|
||||
billingManager?.initiatePurchaseFlow(
|
||||
skuDetails,
|
||||
recordId.recordId
|
||||
)
|
||||
}
|
||||
) { throwable: Throwable ->
|
||||
SingleToastUtil.showToast(
|
||||
throwable.message
|
||||
)
|
||||
}
|
||||
} else {
|
||||
Log.w(TAG, "skuDetails ==null")
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (billingManager?.isServiceConnected() == true) {
|
||||
billingManager?.onQueryPurchases()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
EventBus.getDefault().unregister(this)
|
||||
billingManager?.destroy()
|
||||
}
|
||||
|
||||
private fun updateCurrGoods(firstChargeGoods: FirstChargeGoods?) {
|
||||
firstChargeGoods?.let {
|
||||
currGoods = it
|
||||
val giveMoneyIndex = it.chargeProdTitle.lastIndexOf(it.giveMoney)
|
||||
if (giveMoneyIndex == -1) {
|
||||
binding.tvTitle.text = it.chargeProdTitle
|
||||
} else {
|
||||
val builder = SpannableStringBuilder(it.chargeProdTitle)
|
||||
builder.setSpan(
|
||||
ForegroundColorSpan(Color.parseColor("#BE5AF6")), giveMoneyIndex,
|
||||
giveMoneyIndex + (it.giveMoney?.length ?: 0),
|
||||
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
|
||||
)
|
||||
binding.tvTitle.text = builder
|
||||
}
|
||||
val firstChargeRewardList = it.firstChargeRewardList ?: return
|
||||
when (firstChargeRewardList.size) {
|
||||
1 -> {
|
||||
for (bean in firstChargeRewardList) {
|
||||
bean.itemType = FirstChargeReward.ONE
|
||||
}
|
||||
}
|
||||
|
||||
2 -> {
|
||||
for (i in firstChargeRewardList.indices) {
|
||||
if (i == 0) {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.TWO_LEFT
|
||||
} else if (i == 1) {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.TWO_RIGHT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
3 -> {
|
||||
for (bean in firstChargeRewardList) {
|
||||
bean.itemType = FirstChargeReward.THREE
|
||||
}
|
||||
}
|
||||
|
||||
4 -> {
|
||||
for (i in firstChargeRewardList.indices) {
|
||||
if ((i + 1) % 2 != 0) {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.TWO_LEFT
|
||||
} else {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.TWO_RIGHT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else -> {
|
||||
if (firstChargeRewardList.size % 3 == 0) {
|
||||
for (bean in firstChargeRewardList) {
|
||||
bean.itemType = FirstChargeReward.THREE
|
||||
}
|
||||
} else {
|
||||
val num = firstChargeRewardList.size / 3
|
||||
val residueNUm = firstChargeRewardList.size - (num * 3)
|
||||
for (i in firstChargeRewardList.indices) {
|
||||
if ((i + 1) <= num * 3) {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.THREE
|
||||
} else if (residueNUm == 2) {
|
||||
if (firstChargeRewardList.size - (i + 1) == 1) {
|
||||
firstChargeRewardList[i].itemType =
|
||||
FirstChargeReward.TWO_LEFT_SMALL
|
||||
} else if (firstChargeRewardList.size - (i + 1) == 0) {
|
||||
firstChargeRewardList[i].itemType =
|
||||
FirstChargeReward.TWO_RIGHT_SMALL
|
||||
}
|
||||
} else {
|
||||
firstChargeRewardList[i].itemType = FirstChargeReward.THREE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
mReward2Adapter.setNewData(it.firstChargeRewardList)
|
||||
}
|
||||
}
|
||||
|
||||
private fun showHelpPopup() {
|
||||
if (currGoods == null) {
|
||||
SingleToastUtil.showToast(ResUtil.getString(R.string.avroom_firstcharge_firstchargedialog_02))
|
||||
return
|
||||
}
|
||||
val contentView: View
|
||||
if (!this::helpPopupWindow.isInitialized) {
|
||||
contentView =
|
||||
LayoutInflater.from(context)
|
||||
.inflate(R.layout.layout_first_charge_help_view, null)
|
||||
contentView.findViewById<TextView>(R.id.tv_content).text =
|
||||
currGoods?.chargeProdDesc?.replace("\\n", "\n")?.replace("\\r", "\r")
|
||||
helpPopupWindow =
|
||||
PopupWindow(
|
||||
contentView,
|
||||
ScreenUtil.dip2px(150f),
|
||||
WindowManager.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
helpPopupWindow.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
|
||||
helpPopupWindow.isOutsideTouchable = true
|
||||
helpPopupWindow.isFocusable = true
|
||||
}
|
||||
|
||||
try {
|
||||
helpPopupWindow.showAsDropDown(
|
||||
binding.ivHelp,
|
||||
UIUtil.dip2px(context, 18.0), UIUtil.dip2px(context, -3.0), Gravity.END
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
super.onActivityResult(requestCode, resultCode, data)
|
||||
dialogManager.dismissDialog()
|
||||
if (resultCode != RESULT_OK) {
|
||||
return
|
||||
}
|
||||
if (requestCode == BIND_CODE_GOLD) {
|
||||
ModifyPwdActivity.start(this, ModifyPwdActivity.FOGERT_PAY_PWD)
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onFirstRechargeEvent(event: FirstChargeEvent?) {
|
||||
finish()
|
||||
}
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user