Compare commits
22 Commits
新潘多拉_6.9.0
...
新潘多拉
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94a06b9cf2 | ||
|
|
410aa45b1c | ||
|
|
9c117e2752 | ||
|
|
0e69ea1732 | ||
|
|
b4574f730d | ||
|
|
08480af796 | ||
|
|
02387a7321 | ||
|
|
c7f4c1276f | ||
|
|
f463557bc4 | ||
|
|
114a6472fb | ||
|
|
ba47239e12 | ||
|
|
6abe02390e | ||
|
|
7fb4a10425 | ||
|
|
b6f9545fe8 | ||
| cfb5a5aac2 | |||
|
|
3143ec2be4 | ||
|
|
af6398354c | ||
|
|
d61d142ec1 | ||
|
|
27c2261fac | ||
|
|
730f681f31 | ||
|
|
1c3c0badfc | ||
| 520491a804 |
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2006, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
**
|
||||
** Created with STMS Automation System
|
||||
*/ -->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||
<string name="mids_sapps_pop_unknown_error_occurred">Unbekannter Fehler aufgetreten</string>
|
||||
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchase kann nicht geöffnet werden. Wechseln Sie zu „Berechtigungen“, erteilen Sie die erforderlichen Berechtigungen und versuchen Sie es anschließend erneut.</string>
|
||||
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||
<string name="dream_sapps_body_authenticating_ing">Authentifizierung wird durchgeführt\u2026</string>
|
||||
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Wenden Sie sich an den Kundendienst, um Ihren Einkauf abzuschließen.</string>
|
||||
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||
<string name="dream_sapps_body_your_purchase_is_complete">Ihr Kauf ist abgeschlossen.</string>
|
||||
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||
<string name="dream_ph_pheader_couldnt_complete_purchase">Abschließen des Kaufs nicht möglich</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Sie müssen Galaxy Store aktualisieren, um diesen Kauf abzuschließen.</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Sie müssen Galaxy Store in den Einstellungen aktivieren, um diesen Kauf abzuschließen.</string>
|
||||
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Weitere Informationen erhalten Sie vom %1$sKundendienst%2$s.\n\nFehlercode: %3$s</string>
|
||||
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||
<string name="ids_com_body_error_code_c">Fehlercode:</string>
|
||||
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Wenn Sie Artikel kaufen möchten, müssen Sie Samsung In-App-Kauf installieren. Installieren?</string>
|
||||
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Es wurde ein ungültiger Wert für Samsung In-App Purchase angegeben.</string>
|
||||
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||
<string name="mids_sapps_body_waiting_ing">Warten\u2026</string>
|
||||
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||
<string name="mids_sapps_pop_payment_canceled">Zahlung abgebrochen</string>
|
||||
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||
<string name="mids_sapps_header_update_galaxy_apps">Aktualisieren von Galaxy Apps</string>
|
||||
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Eine neue Version ist verfügbar. Galaxy Apps wird auf die neueste Version aktualisiert, um diesen Kauf abzuschließen.</string>
|
||||
</resources>
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2006, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
**
|
||||
** Created with STMS Automation System
|
||||
*/ -->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||
<string name="mids_sapps_pop_unknown_error_occurred">Дојде до непозната грешка.</string>
|
||||
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Не може да се отвори Samsung In-App Purchase. Одете во Дозволи, а потоа овозможете ги бараните дозволи и обидете се повторно.</string>
|
||||
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||
<string name="dream_sapps_body_authenticating_ing">Се потврдува\u2026</string>
|
||||
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Контактирајте со Службата за корисници за да го завршите Вашето купување.</string>
|
||||
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||
<string name="dream_sapps_body_your_purchase_is_complete">Купувањето Ви е завршено.</string>
|
||||
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||
<string name="dream_ph_pheader_couldnt_complete_purchase">Не може да се заврши купувањето</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">За да го завршите ова купување, треба да го ажурирате Galaxy Store.</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">За да го завршите ова купување, треба да го овозможите Galaxy Store во Поставувања.</string>
|
||||
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Контактирајте со %1$sУслугите за корисниците%2$s за повеќе информации.\n\nШифра на грешка: %3$s</string>
|
||||
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||
<string name="ids_com_body_error_code_c">Шифра на грешка:</string>
|
||||
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">За да купувате ставки, треба да го инсталирате Samsung купување во апликација. Да се инсталира?</string>
|
||||
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Дадена е неважечка вредност за Samsung In-App Purchase.</string>
|
||||
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||
<string name="mids_sapps_body_waiting_ing">Се чека\u2026</string>
|
||||
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||
<string name="mids_sapps_pop_payment_canceled">Плаќањето е одложено.</string>
|
||||
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||
<string name="mids_sapps_header_update_galaxy_apps">Ажурирање на Galaxy Apps</string>
|
||||
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Достапна е нова верзија. Galaxy Apps ќе се ажурира на најновата верзија за да го завршите купувањево.</string>
|
||||
</resources>
|
||||
@@ -4,7 +4,7 @@
|
||||
>
|
||||
|
||||
<queries>
|
||||
<package android:name="com.pandora.sy"/>
|
||||
<package android:name="com.newpandora.yo"/>
|
||||
<package android:name="com.facebook.orca"/>
|
||||
|
||||
<package
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="com.twitter.sdk.android.CONSUMER_KEY" >ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ</string>
|
||||
<string name="com.twitter.sdk.android.CONSUMER_SECRET">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
|
||||
<string name="com.twitter.sdk.android.CONSUMER_KEY">ZWRrZnRUNlBlcHVxMXpsMzVmb2k6MTpjaQ</string>
|
||||
<string name="com.twitter.sdk.android.CONSUMER_SECRET">aq0eV4R1pqMK_AAeKRWnjPr7ErGMGgTPGgZJdm73WeRY-Kluws</string>
|
||||
|
||||
<string name="dialog_share_title">分享</string>
|
||||
<string name="dialog_share_info">快來 PDLIVE觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_app_facebook" >Facebook</string>
|
||||
<string name="dialog_share_app_line" >Line</string>
|
||||
<string name="dialog_share_app_twitter">Twitter</string>
|
||||
<string name="dialog_share_app_whatsapp" >WhatsApp</string>
|
||||
<string name="dialog_share_app_messenger">Messenger</string>
|
||||
<string name="dialog_share_app_instagram" >Instagram</string>
|
||||
<string name="dialog_share_title">分享</string>
|
||||
<string name="dialog_share_app_internal">站內好友</string>
|
||||
<string name="dialog_share_info">快來 PDLIVE觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_app_facebook">Facebook</string>
|
||||
<string name="dialog_share_app_line">Line</string>
|
||||
<string name="dialog_share_app_twitter">Twitter</string>
|
||||
<string name="dialog_share_app_whatsapp">WhatsApp</string>
|
||||
<string name="dialog_share_app_messenger">Messenger</string>
|
||||
<string name="dialog_share_app_instagram">Instagram</string>
|
||||
|
||||
<string name="dialog_invite_title">邀請好友</string>
|
||||
<string name="dialog_invite_info">快來 PDLIVE觀看直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_copy">複製</string>
|
||||
<string name="dialog_invite_title">邀請好友</string>
|
||||
<string name="dialog_invite_info">快來 PDLIVE觀看直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_copy">複製</string>
|
||||
</resources>
|
||||
@@ -1,24 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="dialog_share_title">Share</string>
|
||||
<string name="dialog_share_info">Come and watch %s live on PDLIVE and meet more interesting people!</string>
|
||||
<string name="dialog_invite_title">Invite Friends</string>
|
||||
<string name="dialog_invite_info">Come to PDLIVE to discover more and better live streams.</string>
|
||||
<string name="dialog_share_copy">Copy</string>
|
||||
<string name="dialog_share_app_internal">Site friends</string>
|
||||
<string name="dialog_share_internal_title">Share To</string>
|
||||
<string name="dialog_share_internal_cancel">cancel</string>
|
||||
<string name="dialog_share_internal_search">Search nickname</string>
|
||||
<string name="dialog_share_internal_list_btn">Send</string>
|
||||
<string name="dialog_share_success">Share success</string>
|
||||
<string name="dialog_share_success_btn">Go chat</string>
|
||||
<string name="dialog_share_failure_not_select">Please select friends</string>
|
||||
|
||||
<string name="dialog_share_title">分享</string>
|
||||
<string name="dialog_share_info">快來 PDLIVE觀看%s直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_app_facebook" translatable="false">Facebook</string>
|
||||
<string name="dialog_share_app_line" translatable="false">Line</string>
|
||||
<string name="dialog_share_app_twitter" translatable="false">Twitter</string>
|
||||
<string name="dialog_share_app_whatsapp" translatable="false">WhatsApp</string>
|
||||
<string name="dialog_share_app_messenger" translatable="false">Messenger</string>
|
||||
<string name="dialog_share_app_instagram" translatable="false">Instagram</string>
|
||||
<string name="dialog_share_app_internal">站內好友</string>
|
||||
|
||||
<string name="dialog_invite_title">邀請好友</string>
|
||||
<string name="dialog_invite_info">快來 PDLIVE觀看直播,認識更多有趣的朋友吧!</string>
|
||||
<string name="dialog_share_copy">複製</string>
|
||||
<string name="dialog_share_internal_title">分享至</string>
|
||||
<string name="dialog_share_internal_search">搜索昵稱</string>
|
||||
<string name="dialog_share_internal_list_btn">發送</string>
|
||||
<string name="dialog_share_success">分享成功</string>
|
||||
<string name="dialog_share_success_btn">去聊聊</string>
|
||||
<string name="dialog_share_failure_not_select">请选择好友</string>
|
||||
<string name="dialog_share_app_facebook" >Facebook</string>
|
||||
<string name="dialog_share_app_line" >Line</string>
|
||||
<string name="dialog_share_app_twitter">Twitter</string>
|
||||
<string name="dialog_share_app_whatsapp" >WhatsApp</string>
|
||||
<string name="dialog_share_app_messenger">Messenger</string>
|
||||
<string name="dialog_share_app_instagram" >Instagram</string>
|
||||
|
||||
</resources>
|
||||
@@ -297,8 +297,7 @@ android {
|
||||
|
||||
|
||||
defaultConfig {
|
||||
// applicationId "myname.pdlive.shayu"
|
||||
applicationId "com.pandora.sy"
|
||||
applicationId "com.newpandora.yo"
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
//版本在这里修改
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
|
||||
@@ -1,57 +1,73 @@
|
||||
{
|
||||
"project_info": {
|
||||
"project_number": "867032862719",
|
||||
"project_id": "pdlnew",
|
||||
"storage_bucket": "pdlnew.appspot.com"
|
||||
"project_number": "671943160079",
|
||||
"project_id": "pdlnews",
|
||||
"storage_bucket": "pdlnews.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:867032862719:android:841a73fdfb6c37453ae1ca",
|
||||
"mobilesdk_app_id": "1:671943160079:android:e3116655ea962750fb8e7a",
|
||||
"android_client_info": {
|
||||
"package_name": "com.pandora.sy"
|
||||
"package_name": "com.newpandora.yo"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "867032862719-af2dnojobjd8s6ekdr1is1vev8nk36sv.apps.googleusercontent.com",
|
||||
"client_id": "671943160079-9olh3lsv7mo2mrjr16u0cqtlmde8r4ps.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pandora.sy",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "867032862719-ohaa1f18e186qpasvgt7qkk1i1pivniq.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pandora.sy",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "867032862719-snpbqruvqcc9fsifjnmm1h3dcgtr8am4.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.pandora.sy",
|
||||
"package_name": "com.newpandora.yo",
|
||||
"certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
|
||||
"client_id": "671943160079-evu2q1gur12tb34cimc9g14t9vffb9sm.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpandora.yo",
|
||||
"certificate_hash": "38cc19306c9facee36a9224e9a4070bc0be15c7d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "671943160079-gd4v6mr8t330ik8a00po6psdsn6p7b9k.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpandora.yo",
|
||||
"certificate_hash": "89f318e9603ae92835b6dab299a45afc59485b9e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "671943160079-gs1mv4vpdjgofj541cuqkfhija98rna0.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpandora.yo",
|
||||
"certificate_hash": "b55235e71e9e1d2f8f7120ddc4224db85125e085"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "671943160079-pdtdv5k1s4mamo7obssuo99rtghkd503.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.newpandora.yo",
|
||||
"certificate_hash": "b66dc8d21cfcf6c729577ddcf0c312b2a31ed872"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "671943160079-9259s527l99jlrfikv6hd4ljcieup34u.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyAnlY2aBEGyg7QpghHo7EaMRkM89dVNgq8"
|
||||
"current_key": "AIzaSyCf7-JJ44TD09I34Yt4DVzcAO7VCDCa424"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com",
|
||||
"client_id": "671943160079-9259s527l99jlrfikv6hd4ljcieup34u.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.facebook.appevents.AppEventsLogger;
|
||||
import com.fm.openinstall.OpenInstall;
|
||||
import com.google.gson.Gson;
|
||||
import com.pandoralive.shayu.R;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.LogUtils;
|
||||
import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
|
||||
import com.yunbao.common.http.Data;
|
||||
@@ -482,7 +483,7 @@ public class AppContext extends CommonAppContext {
|
||||
NeverCrashUtils.getInstance().setDebugMode(BuildConfig.DEBUG).setMainCrashHandler((t, e) -> {
|
||||
Log.e("ApplicationError", "主线程异常");//此处log只是展示,当debug为true时,主类内部log会打印异常信息
|
||||
e.printStackTrace();
|
||||
AppManager.runDebugCode(() -> {
|
||||
DebugUtils.runDebugCode(() -> {
|
||||
//闪退后finish所有Activity并且杀死进程
|
||||
for (WeakReference<Activity> activity : activities) {
|
||||
if (activity != null && activity.get() != null) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.widget.Toast;
|
||||
|
||||
import com.yunbao.common.bean.CrashSaveBean;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.FileUtil;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
|
||||
@@ -105,10 +106,10 @@ public class NeverCrashUtils {
|
||||
}
|
||||
e.printStackTrace();
|
||||
AppContext.setFirebaseCrashData();
|
||||
AppManager.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
|
||||
DebugUtils.runDebugCode(() -> Toast.makeText(application, "发生闪退:" + e.getMessage(), Toast.LENGTH_SHORT).show());
|
||||
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()), throwableToString(e), "error.log");
|
||||
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
|
||||
AppManager.runDebugCode(() -> errorWhile = false);
|
||||
DebugUtils.runDebugCode(() -> errorWhile = false);
|
||||
// return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||
# This is a configuration file for ProGuard.
|
||||
# http://proguard.sourceforge.net/index.html#manual/usage.html
|
||||
#
|
||||
@@ -95,8 +95,8 @@
|
||||
# These classes are duplicated between android.jar and core-lambda-stubs.jar.
|
||||
-dontnote java.lang.invoke.**
|
||||
|
||||
# End of content from D:\android project\pandorapan\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\app\proguard-rules.pro
|
||||
# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\default_proguard_files\global\proguard-android.txt-8.3.1
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\proguard-rules.pro
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in /Users/macpro/Library/Android/sdk/tools/proguard/proguard-android.txt
|
||||
@@ -419,8 +419,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keep class com.qiniu.**{public <init>();}
|
||||
-ignorewarnings
|
||||
|
||||
# End of content from D:\android project\pandorapan\app\proguard-rules.pro
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\app\build\intermediates\aapt_proguard_file\google_onlineRelease\processGoogle_onlineReleaseResources\aapt_rules.txt
|
||||
# End of content from D:\AndroidProject\pandorapanL\app\proguard-rules.pro
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt
|
||||
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
|
||||
-keep class androidx.core.content.FileProvider { <init>(); }
|
||||
-keep class androidx.core.content.FileProvider4Utils { <init>(); }
|
||||
@@ -674,6 +674,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.constraintlayout.widget.Group { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.constraintlayout.widget.Guideline { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
|
||||
-keep class androidx.coordinatorlayout.widget.CoordinatorLayout { <init>(android.content.Context, android.util.AttributeSet); }
|
||||
@@ -1091,11 +1093,11 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keepclassmembers class * { *** videoEditClick(android.view.View); }
|
||||
|
||||
|
||||
# End of content from D:\android project\pandorapan\app\build\intermediates\aapt_proguard_file\google_onlineRelease\processGoogle_onlineReleaseResources\aapt_rules.txt
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\google_onlineRelease\exportGoogle_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# End of content from D:\AndroidProject\pandorapanL\app\build\intermediates\aapt_proguard_file\google_testRelease\processGoogle_testReleaseResources\aapt_rules.txt
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
|
||||
# End of content from D:\android project\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\google_onlineRelease\exportGoogle_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
||||
# End of content from D:\AndroidProject\pandorapanL\lib_faceunity\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
||||
# Generated keep rule for Lifecycle observer adapter.
|
||||
-if class com.lxj.xpopup.core.BasePopupView {
|
||||
<init>(...);
|
||||
@@ -1104,8 +1106,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<init>(...);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||
# Copyright (C) 2015 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1153,16 +1155,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
}
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\google_onlineRelease\exportGoogle_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
|
||||
# End of content from D:\android project\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\google_onlineRelease\exportGoogle_onlineReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
||||
# End of content from D:\AndroidProject\pandorapanL\lib_google\build\intermediates\consumer_proguard_dir\google_testRelease\exportGoogle_testReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
||||
-keepattributes *Annotation*
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
||||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
@@ -1202,8 +1204,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
public android.os.Bundle getSkuDetails(int, java.lang.String, java.lang.String, android.os.Bundle);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1244,8 +1246,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.gamingservices.GamingServices
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1286,8 +1288,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.share.Share
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1328,8 +1330,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.login.Login
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1370,12 +1372,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.common.Common
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
||||
-keep class com.davemorrissey.labs.subscaleview.** { *; }
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||
# Copyright (C) 2018 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1399,13 +1401,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
||||
#Picasso Proguard Config https://github.com/square/picasso
|
||||
-dontwarn com.squareup.okhttp.**
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||
# Copyright (C) 2016 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1432,13 +1434,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
RuntimeVisibleParameterAnnotations,
|
||||
RuntimeVisibleTypeAnnotations
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
||||
-keepclasseswithmembers class androidx.recyclerview.widget.RecyclerView$ViewHolder {
|
||||
public final android.view.View *;
|
||||
}
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
||||
# Proguard rules specific to the UI module.
|
||||
|
||||
# Constructor method accessed via reflection in StyledPlayerView
|
||||
@@ -1479,8 +1481,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-dontwarn kotlin.annotations.jvm.**
|
||||
-dontwarn javax.annotation.**
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||
# Copyright (C) 2015 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1506,11 +1508,11 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
public void suppressLayout(boolean);
|
||||
public boolean isLayoutSuppressed();
|
||||
}
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||
# The proguard configuration file for the following section is D:\android project\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt
|
||||
# The proguard configuration file for the following section is D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
|
||||
# End of content from D:\android project\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
||||
# End of content from D:\AndroidProject\pandorapanL\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1551,8 +1553,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.applinks.AppLinks
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1597,8 +1599,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.facebook.messenger.Messenger
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
||||
# Copyright (C) 2020 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1627,16 +1629,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
android.view.View findViewByAccessibilityIdTraversal(int);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
||||
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
|
||||
void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
|
||||
void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
|
||||
void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
||||
-dontwarn jp.co.cyberagent.android.gpuimage.**
|
||||
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
@@ -1646,8 +1648,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
public *;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
||||
-keep public class * implements com.bumptech.glide.module.GlideModule
|
||||
-keep class * extends com.bumptech.glide.module.AppGlideModule {
|
||||
<init>(...);
|
||||
@@ -1663,8 +1665,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
# Uncomment for DexGuard only
|
||||
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||
# Keep the AIDL interface
|
||||
-keep class com.android.vending.billing.** { *; }
|
||||
|
||||
@@ -1699,8 +1701,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
|
||||
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
|
||||
com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian;
|
||||
@@ -1708,8 +1710,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||
# Can be removed once we pull in a dependency on firebase-common that includes
|
||||
# https://github.com/firebase/firebase-android-sdk/pull/1472/commits/856f1ca1151cdd88679bbc778892f23dfa34fc06#diff-a2ed34b5a38b4c6c686b09e54865eb48
|
||||
-dontwarn com.google.auto.value.AutoValue
|
||||
@@ -1722,18 +1724,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
||||
-dontwarn com.google.firebase.platforminfo.KotlinDetector
|
||||
-dontwarn com.google.auto.value.AutoValue
|
||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||
# We keep all fields for every generated proto file as the runtime uses
|
||||
# reflection over them that ProGuard cannot detect. Without this keep
|
||||
# rule, fields may be removed that would cause runtime failures.
|
||||
@@ -1741,8 +1743,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||
# We keep all fields for every generated proto file as the runtime uses
|
||||
# reflection over them that ProGuard cannot detect. Without this keep
|
||||
# rule, fields may be removed that would cause runtime failures.
|
||||
@@ -1750,8 +1752,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||
# We keep all fields for every generated proto file as the runtime uses
|
||||
# reflection over them that ProGuard cannot detect. Without this keep
|
||||
# rule, fields may be removed that would cause runtime failures.
|
||||
@@ -1759,8 +1761,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||
# We keep all fields for every generated proto file as the runtime uses
|
||||
# reflection over them that ProGuard cannot detect. Without this keep
|
||||
# rule, fields may be removed that would cause runtime failures.
|
||||
@@ -1768,8 +1770,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||
# We keep all fields for every generated proto file as the runtime uses
|
||||
# reflection over them that ProGuard cannot detect. Without this keep
|
||||
# rule, fields may be removed that would cause runtime failures.
|
||||
@@ -1777,8 +1779,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<fields>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||
# Needed when building against pre-Marshmallow SDK.
|
||||
-dontwarn android.security.NetworkSecurityPolicy
|
||||
|
||||
@@ -1856,8 +1858,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||
# Copyright (C) 2020 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -1878,12 +1880,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
public <init>();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
||||
# 本库模块专用的混淆规则
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -1941,8 +1943,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
public <methods>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||
<init>();
|
||||
}
|
||||
@@ -1951,8 +1953,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<init>(android.app.Application);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
||||
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
|
||||
<init>(androidx.lifecycle.SavedStateHandle);
|
||||
}
|
||||
@@ -1961,8 +1963,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
|
||||
# When editing this file, update the following files as well:
|
||||
# - META-INF/proguard/coroutines.pro
|
||||
# - META-INF/com.android.tools/proguard/coroutines.pro
|
||||
@@ -1990,8 +1992,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
# An annotation used for build tooling, won't be directly accessed.
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
||||
# Allow R8 to optimize away the FastServiceLoader.
|
||||
# Together with ServiceLoader optimization in R8
|
||||
# this results in direct instantiation when loading Dispatchers.Main
|
||||
@@ -2016,8 +2018,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
boolean getDEBUG() return false;
|
||||
boolean getRECOVER_STACK_TRACES() return false;
|
||||
}
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
||||
#GSON
|
||||
# Retain Annotations for model objects
|
||||
-keepattributes *Annotation*
|
||||
@@ -2041,8 +2043,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keepclasseswithmembers class * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
||||
# JSR 305 annotations are for embedding nullability information.
|
||||
-dontwarn javax.annotation.**
|
||||
|
||||
@@ -2055,16 +2057,16 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
|
||||
-dontwarn okhttp3.internal.platform.ConscryptPlatform
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
|
||||
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
|
||||
-dontwarn org.codehaus.mojo.animal_sniffer.*
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
|
||||
@@ -2093,8 +2095,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keep @com.blankj.utilcode.util.ApiUtils$Api class *
|
||||
|
||||
-keepattributes *Annotation*
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
||||
-keep class cn.rongcloud.xcrash.NativeHandler {
|
||||
native <methods>;
|
||||
void crashCallback(...);
|
||||
@@ -2102,22 +2104,22 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
void traceCallbackBeforeDump(...);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
||||
# Proguard configuration.
|
||||
-dontwarn com.squareup.okhttp.**
|
||||
|
||||
# References to Picasso are okay if the consuming app doesn't use it
|
||||
-dontwarn com.squareup.picasso.Transformation
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
||||
-keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
|
||||
#Prevents warnings for consumers not using AndroidX
|
||||
-dontwarn androidx.annotation.**
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
||||
#https://github.com/leolin310148/ShortcutBadger/issues/46
|
||||
-keep class me.leolin.shortcutbadger.impl.AdwHomeBadger { <init>(...); }
|
||||
-keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { <init>(...); }
|
||||
@@ -2128,8 +2130,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { <init>(...); }
|
||||
-keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { <init>(...); }
|
||||
-keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { <init>(...); }
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the filterSet of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
@@ -2167,8 +2169,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
# 保持反射不被混淆
|
||||
-keepattributes EnclosingMethod
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
@@ -2190,12 +2192,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
||||
# 本库模块专用的混淆规则
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||
-keep class com.cocos.game.**{ *; }
|
||||
-keep class tech.sud.runtime.**{ *; }
|
||||
-keep class tech.sud.mgp.core.**{ *; }
|
||||
@@ -2849,8 +2851,8 @@ native <methods>;
|
||||
}
|
||||
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||
-keep class com.microsoft.cognitiveservices.** { *; }
|
||||
-keep class tech.sud.mgp.asr.azure.** { *; }
|
||||
|
||||
@@ -2865,8 +2867,8 @@ native <methods>;
|
||||
*** *Callback(long);
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
@@ -2893,8 +2895,8 @@ native <methods>;
|
||||
-keep class com.faceunity.wrapper.faceunity {*;}
|
||||
-keep class com.faceunity.wrapper.faceunity$RotatedImage {*;}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||
# Proguard rules specific to the core module.
|
||||
|
||||
# Constructors accessed via reflection in DefaultRenderersFactory
|
||||
@@ -2951,8 +2953,8 @@ native <methods>;
|
||||
<init>();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
||||
# Copyright (C) 2019 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -2971,8 +2973,8 @@ native <methods>;
|
||||
<init>();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -2992,8 +2994,8 @@ native <methods>;
|
||||
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||
# Copyright (C) 2016 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -3014,8 +3016,8 @@ native <methods>;
|
||||
*** get*();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
# All rights reserved.
|
||||
#
|
||||
@@ -3051,8 +3053,8 @@ native <methods>;
|
||||
java.lang.Object readResolve();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@@ -3076,8 +3078,8 @@ native <methods>;
|
||||
-keep class androidx.media.** implements android.os.Parcelable {
|
||||
public static final android.os.Parcelable$Creator *;
|
||||
}
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||
# Never inline methods, but allow shrinking and obfuscation.
|
||||
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
|
||||
<methods>;
|
||||
@@ -3095,8 +3097,8 @@ native <methods>;
|
||||
<methods>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
||||
-keepattributes AnnotationDefault,
|
||||
RuntimeVisibleAnnotations,
|
||||
RuntimeVisibleParameterAnnotations,
|
||||
@@ -3120,8 +3122,8 @@ native <methods>;
|
||||
# this rule is need to work properly when app is compiled with api 28, see b/142778206
|
||||
# Also this rule prevents registerIn from being inlined.
|
||||
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
||||
# Proguard rules specific to the DataSource module.
|
||||
|
||||
# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening.
|
||||
@@ -3135,8 +3137,8 @@ native <methods>;
|
||||
<init>();
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
||||
# Proguard rules specific to the extractor module.
|
||||
|
||||
# Methods accessed via reflection in DefaultExtractorsFactory
|
||||
@@ -3154,8 +3156,8 @@ native <methods>;
|
||||
-dontwarn kotlin.annotations.jvm.**
|
||||
-dontwarn javax.annotation.**
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
||||
# Proguard rules specific to the common module.
|
||||
|
||||
# Don't warn about checkerframework and Kotlin annotations
|
||||
@@ -3179,30 +3181,30 @@ native <methods>;
|
||||
# This is needed for ProGuard but not R8.
|
||||
-keepclassmembernames class com.google.common.base.Function { *; }
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||
-keep class * implements androidx.versionedparcelable.VersionedParcelable
|
||||
-keep public class android.support.**Parcelizer { *; }
|
||||
-keep public class androidx.**Parcelizer { *; }
|
||||
-keep public class androidx.versionedparcelable.ParcelImpl
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
||||
-keep class * extends androidx.room.RoomDatabase
|
||||
-dontwarn androidx.room.paging.**
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||
-dontwarn com.google.auto.value.AutoValue
|
||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
|
||||
-dontwarn com.google.auto.value.AutoValue
|
||||
-dontwarn com.google.auto.value.AutoValue$Builder
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
|
||||
# This Proguard rule ensures that ComponentInitializers are are neither shrunk nor obfuscated.
|
||||
# This is because they are discovered and instantiated during application initialization.
|
||||
-keep class * extends androidx.startup.Initializer {
|
||||
@@ -3212,22 +3214,22 @@ native <methods>;
|
||||
|
||||
-assumenosideeffects class androidx.startup.StartupLogger
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
|
||||
-dontwarn com.google.firebase.components.Component$Instantiation
|
||||
-dontwarn com.google.firebase.components.Component$ComponentType
|
||||
|
||||
-keep class * implements com.google.firebase.components.ComponentRegistrar
|
||||
-keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in /Developer/android-sdk-osx/tools/proguard/proguard-android.txt
|
||||
@@ -3249,8 +3251,8 @@ native <methods>;
|
||||
-keep class io.github.inflationx.calligraphy3.* { *; }
|
||||
-keep class io.github.inflationx.calligraphy3.*$* { *; }
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\Administrator\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt
|
||||
# The proguard configuration file for the following section is C:\Users\CVB88\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||
-keep,allowobfuscation @interface androidx.annotation.Keep
|
||||
-keep @androidx.annotation.Keep class * {*;}
|
||||
|
||||
@@ -3270,7 +3272,7 @@ native <methods>;
|
||||
@androidx.annotation.DoNotInline <methods>;
|
||||
}
|
||||
|
||||
# End of content from C:\Users\Administrator\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||
# End of content from C:\Users\CVB88\.gradle\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro
|
||||
# The proguard configuration file for the following section is <unknown>
|
||||
|
||||
# End of content from <unknown>
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="com.pandora.sy.fileprovider"
|
||||
android:authorities="com.newpandora.yo.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
||||
@@ -12,25 +12,34 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.blankj.utilcode.util.LogUtils;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.message.content.MessageChatCardContent;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
||||
import com.yunbao.common.utils.DateFormatUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||
import com.yunbao.common.utils.ViewUtils;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import org.spongycastle.jcajce.provider.asymmetric.rsa.ISOSignatureSpi;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.rong.imkit.IMCenter;
|
||||
import io.rong.imkit.RongIM;
|
||||
import io.rong.imkit.conversationlist.ConversationListAdapter;
|
||||
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||
import io.rong.imkit.conversationlist.model.SingleConversation;
|
||||
@@ -39,26 +48,54 @@ import io.rong.imkit.widget.adapter.ViewHolder;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.Message;
|
||||
import io.rong.message.HQVoiceMessage;
|
||||
import io.rong.message.ImageMessage;
|
||||
import io.rong.message.SightMessage;
|
||||
import io.rong.message.TextMessage;
|
||||
import io.rong.message.VoiceMessage;
|
||||
|
||||
public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
public static final int TYPE_SEARCH_TITLE = 500;
|
||||
public static final int TYPE_SEARCH_USER = 510;
|
||||
public static final int TYPE_SEARCH_CHAT = 520;
|
||||
private List<BaseUiConversation> srcList;
|
||||
private List<BaseUiConversation> allDataList;
|
||||
private Context mContext;
|
||||
private boolean isChat = true;
|
||||
private OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener;
|
||||
private Map<String, Integer> timerMap = new HashMap<>();
|
||||
|
||||
|
||||
public static final int FILTER_OFFLINE = 0;
|
||||
public static final int FILTER_ONLINE = 1;
|
||||
public static final int FILTER_UNREAD = 2;
|
||||
public static final int FILTER_READ = 4;
|
||||
public static final int FILTER_ALL = 7;
|
||||
private int mFilter = FILTER_ALL;
|
||||
|
||||
public int getFilter() {
|
||||
return mFilter;
|
||||
}
|
||||
|
||||
public void setFilter(int mFilter) {
|
||||
if (this.mFilter == mFilter)
|
||||
return;
|
||||
this.mFilter = mFilter;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public MainConversationListAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
public void setSrcList(List<BaseUiConversation> srcList) {
|
||||
this.srcList = srcList;
|
||||
notifyDataSetChanged();
|
||||
if (mFilter== FILTER_OFFLINE || mFilter == FILTER_ONLINE) {
|
||||
super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList));
|
||||
}else {
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public void setOnRefreshListener(OnRecyclerListRefreshListener<List<BaseUiConversation>> onRefreshListener) {
|
||||
@@ -82,7 +119,7 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_chat, parent, false);
|
||||
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
||||
} else if (viewType != -200) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item, parent, false);
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.rc_conversationlist_item2, parent, false);
|
||||
holder = ViewHolder.createViewHolder(parent.getContext(), view);
|
||||
} else {
|
||||
holder = super.onCreateViewHolder(parent, viewType);
|
||||
@@ -121,31 +158,91 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
|
||||
bindTitle(holder, position);
|
||||
} else if (getItemViewType(position) != -200) {
|
||||
bindChatNew(holder, position);
|
||||
super.onBindViewHolder(holder, position);
|
||||
return;
|
||||
}
|
||||
if (getItemViewType(position) != -200) {
|
||||
bindDefault(holder, position);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void bindChatNew(ViewHolder holder, int position) {
|
||||
BaseUiConversation conversation = mDataList.get(position);
|
||||
ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
|
||||
holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
|
||||
((TextView) holder.getView(R.id.rc_conversation_content)).setText(ChatMsgTypeUtils.getMsg(conversation.mConversationContent.toString()));
|
||||
if (conversation.mCore.getSentTime() != -1 && holder.getView(R.id.rc_conversation_date) != null) {
|
||||
holder.setText(R.id.rc_conversation_date, DateFormatUtil.getDateTimeString(conversation.mCore.getSentTime(), true, holder.getContext()));
|
||||
holder.getView(R.id.rc_conversation_date).setVisibility(View.VISIBLE);
|
||||
} else if (holder.getView(R.id.rc_conversation_date) != null) {
|
||||
holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
|
||||
}
|
||||
holder.setVisible(R.id.rc_conversation_live_online, "0".equals(conversation.mCore.getDraft()));
|
||||
int unReadCount = conversation.mCore.getUnreadMessageCount();
|
||||
|
||||
if (unReadCount > 0) {
|
||||
holder.setVisible(R.id.rc_conversation_unread_count, true);
|
||||
holder.setText(R.id.rc_conversation_unread_count, String.valueOf(unReadCount));
|
||||
} else {
|
||||
holder.setVisible(R.id.rc_conversation_unread_count, false);
|
||||
}
|
||||
|
||||
|
||||
Message message = conversation.mCore.getMessage();
|
||||
if (message != null && message.getMessageDirection() == Message.MessageDirection.SEND) {
|
||||
holder.setVisible(R.id.rc_conversation_unread_tv, true);
|
||||
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.rc_secondary_color));
|
||||
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_read_tip));
|
||||
} else {
|
||||
holder.setTextColor(R.id.rc_conversation_unread_tv, ContextCompat.getColor(holder.itemView.getContext(), R.color.red));
|
||||
holder.setText(R.id.rc_conversation_unread_tv, WordUtil.getNewString(R.string.message_chat_msg_unread_tip));
|
||||
}
|
||||
} else {
|
||||
holder.setVisible(R.id.rc_conversation_unread_tv, false);
|
||||
}
|
||||
|
||||
|
||||
if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
|
||||
return;
|
||||
}
|
||||
Integer timer = timerMap.get(mDataList.get(position).mCore.getTargetId());
|
||||
if (timer == null) {
|
||||
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
|
||||
return;
|
||||
}
|
||||
if (timer >= 10) {
|
||||
holder.setText(R.id.rc_conversation_live_status,
|
||||
String.format(WordUtil.getNewString(R.string.message_chat_msg_look_live), timer)
|
||||
);
|
||||
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void bindDefault(ViewHolder holder, int position) {
|
||||
BaseUiConversation conversation = mDataList.get(position);
|
||||
Log.i("列表", "bindDefault: 用户头像:" + conversation.mCore.getPortraitUrl());
|
||||
Log.i("列表", "bindDefault: 用户名字:" + conversation.mCore.getConversationTitle());
|
||||
ImgLoader.display(holder.getContext(), conversation.mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
|
||||
holder.setText(R.id.rc_conversation_title, conversation.mCore.getConversationTitle());
|
||||
((TextView) holder.getView(R.id.rc_conversation_content)).setText(ChatMsgTypeUtils.getMsg(conversation.mConversationContent.toString()));
|
||||
if (conversation.mCore.getSentTime() != -1 && holder.getView(R.id.rc_conversation_date) != null) {
|
||||
holder.setText(R.id.rc_conversation_date, DateFormatUtil.getDateTimeString(conversation.mCore.getSentTime(), true, holder.getContext()));
|
||||
holder.getView(R.id.rc_conversation_date).setVisibility(View.VISIBLE);
|
||||
} else if (holder.getView(R.id.rc_conversation_date) != null) {
|
||||
holder.getView(R.id.rc_conversation_date).setVisibility(View.GONE);
|
||||
}
|
||||
if("0".equals(conversation.mCore.getDraft())){
|
||||
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_online));
|
||||
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"在線":"Online");
|
||||
}else{
|
||||
holder.setImageDrawable(R.id.rc_conversation_live_online_icon,mContext.getResources().getDrawable(R.mipmap.msg_off));
|
||||
holder.setText(R.id.rc_conversation_live_online,WordUtil.isNewZh()?"離線":"Offline");
|
||||
if ("0".equals(conversation.mCore.getDraft())) {
|
||||
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_online));
|
||||
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "在線" : "Online");
|
||||
} else {
|
||||
holder.setImageDrawable(R.id.rc_conversation_live_online_icon, mContext.getResources().getDrawable(R.mipmap.msg_off));
|
||||
holder.setText(R.id.rc_conversation_live_online, WordUtil.isNewZh() ? "離線" : "Offline");
|
||||
}
|
||||
if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) {
|
||||
return;
|
||||
@@ -165,7 +262,9 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void bindEmpty(ViewHolder holder, int position) {
|
||||
Log.i("聊天数据源", "bindEmpty: ");
|
||||
if (isChat) {
|
||||
ViewUtils.findViewById(holder.itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_chat_list);
|
||||
ViewUtils.findViewById(holder.itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_chat_list);
|
||||
@@ -177,15 +276,19 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
|
||||
public void onFinish() {
|
||||
if (onRefreshListener != null) {
|
||||
Log.i("聊天数据源", "设置数据源: " + mDataList.size());
|
||||
onRefreshListener.onFinish(mDataList);
|
||||
Log.i("聊天数据源", "设置数据源: " + allDataList.size());
|
||||
onRefreshListener.onFinish(allDataList);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDataCollection(List<BaseUiConversation> data) {
|
||||
private int listHashCode = 0;
|
||||
|
||||
public synchronized void setDataCollectionV2(List<BaseUiConversation> data, boolean isSearch) {
|
||||
if (data.hashCode() == listHashCode) return;
|
||||
listHashCode = data.hashCode();
|
||||
List<BaseUiConversation> tmp = new ArrayList<>();
|
||||
Log.i("聊天数据源", "setDataCollection: " + data.hashCode());
|
||||
Log.i("聊天数据源", "size()" + data.size() + " setDataCollection: " + data.hashCode());
|
||||
|
||||
List<String> urls = new ArrayList<>();
|
||||
if (srcList == null) {
|
||||
srcList = new ArrayList<>();
|
||||
@@ -214,8 +317,11 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
}
|
||||
urls.add(item.mCore.getTargetId());
|
||||
Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId());
|
||||
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
|
||||
srcList.add(cn);
|
||||
if (!tmpUids.contains(item.mCore.getTargetId())) {
|
||||
BaseUiConversation cn = new SingleConversation(mContext, item.mCore);
|
||||
srcList.add(cn);
|
||||
tmpUids.add(item.mCore.getTargetId());
|
||||
}
|
||||
|
||||
if (item.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
|
||||
if (item.mCore.getLatestMessage() instanceof MessageChatCardContent) {
|
||||
@@ -224,11 +330,37 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
}
|
||||
tmp.add(item);
|
||||
}
|
||||
// ToastUtil.showDebug("消息数:"+data.size());
|
||||
super.setDataCollection(tmp);
|
||||
List<BaseUiConversation> showData = null;
|
||||
if (isSearch) {
|
||||
Log.i("聊天数据源", "FilterData isSearch");
|
||||
showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList);
|
||||
} else {
|
||||
allDataList = tmp;
|
||||
if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE )
|
||||
{
|
||||
Log.i("聊天数据源", "FilterData notSearch");
|
||||
showData = UiConversationCodeUtil.FilterData(mFilter, allDataList);
|
||||
}
|
||||
}
|
||||
if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) {
|
||||
Log.i("聊天数据源", "数据源有变化" + showData.size());
|
||||
super.setDataCollection(showData);
|
||||
} else {
|
||||
Log.i("聊天数据源", "数据源无变化");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setDataCollection(List<BaseUiConversation> data) {
|
||||
setDataCollectionV2(data, false);
|
||||
}
|
||||
|
||||
|
||||
private List<String> tmpUids = new ArrayList<>();
|
||||
|
||||
public void clear() {
|
||||
Log.i("聊天数据源", "clear: " + mDataList.size());
|
||||
mDataList.clear();
|
||||
if (srcList != null) {
|
||||
srcList.clear();
|
||||
@@ -335,12 +467,17 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
BaseUiConversation conversation = mDataList.get(id);
|
||||
conversation.mCore.setSentTime(bean.getSentTime());
|
||||
conversation.mCore.setUnreadMessageCount(integer);
|
||||
if(bean.getContent() instanceof SightMessage){
|
||||
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh()?"[小視頻]":"[Video]");
|
||||
}else{
|
||||
if (bean.getContent() instanceof SightMessage) {
|
||||
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[小視頻]" : "[Video]");
|
||||
} else if (bean.getContent() instanceof HQVoiceMessage) {
|
||||
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[語音]" : "[Voice]");
|
||||
} else if (bean.getContent() instanceof ImageMessage) {
|
||||
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[圖片]" : "[picture]");
|
||||
} else if (bean.getContent() instanceof MessageChatCardContent) {
|
||||
conversation.mConversationContent = new SpannableString(WordUtil.isNewZh() ? "[站內分享]" : "[In-app sharing]");
|
||||
} else {
|
||||
conversation.mConversationContent = new SpannableString(((TextMessage) bean.getContent()).getContent());
|
||||
}
|
||||
|
||||
mDataList.set(id, conversation);
|
||||
notifyItemChanged(id);
|
||||
}
|
||||
@@ -356,4 +493,6 @@ public class MainConversationListAdapter extends ConversationListAdapter {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ public class LiveTaskModel extends BaseModel {
|
||||
|
||||
public String getEndTime() {
|
||||
if (!StringUtil.isEmpty(endTime)) {
|
||||
endTime =WordUtil.getString(R.string.live_task_new_user_timer) + new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.getDefault()).format(new Date(Long.parseLong(endTime) * 1000));
|
||||
endTime = new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.getDefault()).format(new Date(Long.parseLong(endTime) * 1000));
|
||||
}
|
||||
return endTime;
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ public class GiftWallGiftInfoDialog extends AbsDialogPopupWindow {
|
||||
|
||||
void initData() {
|
||||
adapter.setList_type(list_type);
|
||||
if (isAnchor) {
|
||||
if (isAnchor || (isTab2Enter && isStar)) {
|
||||
if (isStar) {
|
||||
gift_hall_type = 2;
|
||||
} else {
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.MessageUserInfoBean;
|
||||
import com.yunbao.common.custom.RatioRoundImageView;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
|
||||
@@ -93,7 +94,7 @@ public class MessageChatNotifyDialog extends AbsDialogPositionPopupWindow {
|
||||
if (StringUtil.isEmpty(liveBean.getExtras())) {
|
||||
((TextView) findViewById(R.id.description)).setText(liveBean.getUser().getSignature());
|
||||
} else {
|
||||
((TextView) findViewById(R.id.description)).setText(liveBean.getExtras());
|
||||
((TextView) findViewById(R.id.description)).setText(ChatMsgTypeUtils.getMsg(liveBean.getExtras()));
|
||||
}
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
||||
dismiss();
|
||||
|
||||
@@ -56,7 +56,7 @@ public class SudGameSearchDialogPopup extends AbsDialogPopupWindow {
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
Bus.getOff(this);
|
||||
// Bus.getOff(this);
|
||||
super.dismiss();
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ public class SudGameSearchDialogPopup extends AbsDialogPopupWindow {
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
super.onCreate();
|
||||
Bus.getOn(this);
|
||||
// Bus.getOn(this);
|
||||
editSearch = findViewById(R.id.edit_search);
|
||||
// listHistory = findViewById(R.id.list_history);
|
||||
listRoom = findViewById(R.id.list_room);
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.yunbao.common.fragment;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
@@ -23,6 +24,7 @@ import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
|
||||
import com.yunbao.common.adapter.MainConversationListAdapter;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.InstructorRemarkManager;
|
||||
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
@@ -141,7 +143,7 @@ public abstract class AbsMainMessageChatListFragment extends Fragment {
|
||||
isNet = true;
|
||||
for (BaseUiConversation conversation : srcList) {
|
||||
map.put(conversation.mCore.getTargetId(), conversation);
|
||||
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE) {
|
||||
if (conversation.mCore.getConversationType() == Conversation.ConversationType.PRIVATE&& !conversation.mCore.getTargetId().equals("__system__")) {
|
||||
uids.add(conversation.mCore.getTargetId());
|
||||
}
|
||||
}
|
||||
@@ -158,7 +160,7 @@ public abstract class AbsMainMessageChatListFragment extends Fragment {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
srcList.get(i).mConversationContent =new SpannableString(ChatMsgTypeUtils.getMsg(srcList.get(i).mConversationContent.toString()));
|
||||
}
|
||||
onRefreshListener.onFinish(srcList);
|
||||
isNet = false;
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.yunbao.common.fragment;
|
||||
|
||||
import android.app.Application;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.facebook.all.All;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||
|
||||
public class ChatViewModel extends ViewModel {
|
||||
|
||||
private int mChatFilter = UiConversationCodeUtil.FILTER_ALL;
|
||||
|
||||
public int getChatFilter() {
|
||||
return mChatFilter;
|
||||
}
|
||||
|
||||
public void setChatFilter(int mChatFilter) {
|
||||
this.mChatFilter = mChatFilter;
|
||||
}
|
||||
|
||||
// public static final int FILTER_OFFLINE = 0;
|
||||
// public static final int FILTER_ONLINE = 1;
|
||||
// public static final int FILTER_UNREAD = 2;
|
||||
// public static final int FILTER_READ = 4;
|
||||
// public static final int FILTER_ALL = 7;
|
||||
// <string name="all_chats">All Chats</string>
|
||||
// <string name="online_only">Show Online </string>
|
||||
// <string name="offline_only">Show Offline </string>
|
||||
// <string name="read_only">Show Read </string>
|
||||
// <string name="unread_only">Show Unread </string>
|
||||
|
||||
public int getTitleTextId() {
|
||||
int id = R.string.all_chats;
|
||||
switch (mChatFilter) {
|
||||
case UiConversationCodeUtil.FILTER_ALL:
|
||||
id = R.string.all_chats;
|
||||
break;
|
||||
case UiConversationCodeUtil.FILTER_ONLINE:
|
||||
id = R.string.online_only;
|
||||
break;
|
||||
case UiConversationCodeUtil.FILTER_OFFLINE:
|
||||
id = R.string.offline_only;
|
||||
break;
|
||||
case UiConversationCodeUtil.FILTER_READ:
|
||||
id = R.string.read_only;
|
||||
break;
|
||||
case UiConversationCodeUtil.FILTER_UNREAD:
|
||||
id = R.string.unread_only;
|
||||
break;
|
||||
}
|
||||
return id;
|
||||
}
|
||||
}
|
||||
@@ -9,11 +9,13 @@ import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.MainConversationListAdapter;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.UiConversationCodeUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -32,10 +34,12 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
|
||||
private static final String TAG = "融云列表";
|
||||
int listHashCode = 0;
|
||||
// ChatViewModel chatViewModel;
|
||||
|
||||
@Nullable
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
Log.i(TAG, "onCreateView: 创建融云");
|
||||
// chatViewModel = (ChatViewModel)(new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
||||
return inflater.inflate(R.layout.rc_conversationlist_fragment, container, false);
|
||||
}
|
||||
|
||||
@@ -46,10 +50,13 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer<List<BaseUiConversation>>() {
|
||||
@Override
|
||||
public void onChanged(List<BaseUiConversation> uiConversations) {
|
||||
if (listHashCode != uiConversations.hashCode()) {
|
||||
listHashCode = uiConversations.hashCode();
|
||||
int hashCode = UiConversationCodeUtil.getListHasCode(uiConversations);
|
||||
if (listHashCode != hashCode) {
|
||||
Log.i("nwq", "刷新数据");
|
||||
listHashCode = hashCode;
|
||||
((MainConversationListAdapter) mAdapter).onFinish();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
mConversationListViewModel.getRefreshEventLiveData().observe(this.getViewLifecycleOwner(), new Observer<Event.RefreshEvent>() {
|
||||
@@ -58,7 +65,6 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
listHashCode = 0;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void setEmptyView(int viewLayoutMsgId) {
|
||||
@@ -70,6 +76,11 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
}
|
||||
|
||||
|
||||
public void refreshData() {
|
||||
mRefreshLayout.autoRefresh();
|
||||
//onConversationListRefresh(mRefreshLayout)
|
||||
}
|
||||
|
||||
public void search(String search) {
|
||||
((MainConversationListAdapter) mAdapter).setSearch();
|
||||
getContactsList(search);
|
||||
@@ -144,7 +155,7 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
list.remove(list.size() - 1);
|
||||
}
|
||||
list.addAll(data);
|
||||
mAdapter.setDataCollection(list);
|
||||
((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -156,17 +167,19 @@ public class MainMessageChatFragment extends ConversationListFragment {
|
||||
}
|
||||
|
||||
public void onChatList() {
|
||||
if(mConversationListViewModel==null)return;
|
||||
if (mConversationListViewModel == null) return;
|
||||
((MainConversationListAdapter) mAdapter).setChat();
|
||||
((MainConversationListAdapter) mAdapter).clear();
|
||||
System.out.println(">!>!>!>!!>"+mConversationListViewModel);
|
||||
System.out.println(">!>!>!>!!>" + mConversationListViewModel);
|
||||
subscribeUi();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ConversationListAdapter onResolveAdapter() {
|
||||
this.mAdapter = new MainConversationListAdapter(getContext());
|
||||
MainConversationListAdapter adapter = new MainConversationListAdapter(getContext());
|
||||
// adapter.setFilter(chatViewModel.getChatFilter());
|
||||
this.mAdapter = adapter;
|
||||
return this.mAdapter;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.yunbao.common.fragment;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -12,6 +13,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
@@ -23,6 +25,7 @@ import com.yunbao.common.interfaces.OnRecyclerListRefreshListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.InstructorRemarkManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.ChatMsgTypeUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
|
||||
@@ -39,6 +42,7 @@ import io.rong.imkit.widget.refresh.listener.OnRefreshListener;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.Message;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
import io.rong.message.VoiceMessage;
|
||||
|
||||
public class MainMessageChatListFragment extends AbsMainMessageChatListFragment {
|
||||
private static final String TAG = "MainMessageChatListFragment";
|
||||
@@ -46,7 +50,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
||||
public MainMessageChatListFragment(Context mContext) {
|
||||
this.mContext =mContext;
|
||||
}
|
||||
|
||||
ChatViewModel chatViewModel;
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
@@ -59,8 +63,10 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
chatViewModel = (new ViewModelProvider(requireActivity())).get(ChatViewModel.class);
|
||||
conversationListFragment = new MainMessageChatFragment();
|
||||
setAdapter(conversationListFragment.getAdapter());
|
||||
mAdapter.setFilter(chatViewModel.getChatFilter());
|
||||
FragmentManager manager = getChildFragmentManager();
|
||||
FragmentTransaction transaction = manager.beginTransaction();
|
||||
transaction.replace(R.id.container, conversationListFragment);
|
||||
@@ -72,6 +78,9 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
||||
@Override
|
||||
public void onFinish(List<BaseUiConversation> baseUiConversations) {
|
||||
InstructorRemarkManager.get(mContext).getNetInstructorRemark();
|
||||
for (int i = 0; i <baseUiConversations.size(); i++) {
|
||||
baseUiConversations.get(i).mCore.getMessage();
|
||||
}
|
||||
loadLiveLookTime(baseUiConversations, new OnRecyclerListRefreshListener<Map<String, Integer>>() {
|
||||
@Override
|
||||
public void onFinish(Map<String, Integer> stringIntegerMap) {
|
||||
@@ -159,6 +168,16 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment
|
||||
|
||||
}
|
||||
|
||||
public int getFilter() {
|
||||
return mAdapter.getFilter();
|
||||
}
|
||||
|
||||
public void setFilter(int mFilter) {
|
||||
mAdapter.setFilter(mFilter);
|
||||
chatViewModel.setChatFilter(mFilter);
|
||||
conversationListFragment.refreshData();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
|
||||
@@ -20,7 +20,7 @@ public class CommonHttpConsts {
|
||||
public static final String DOWNLOAD_GIF = "downloadGif";
|
||||
public static final String GET_BALANCE = "getBalance";
|
||||
public static final String CHECK_TOKEN_INVALID = "checkTokenInvalid";
|
||||
public static final String NOTIFY_GOOGLE = "Charge.google_pay";
|
||||
public static final String NOTIFY_GOOGLE = "Charge.goole_validate_panduola";
|
||||
public static final String COMMUNITY_SETREPORT = "Community.setReport";
|
||||
|
||||
public static final String GET_USER_HOME = "getUserHome";
|
||||
|
||||
@@ -417,18 +417,15 @@ public class CommonHttpUtil {
|
||||
.params("purchaseToken", purchaseToken)
|
||||
.params("productId", productId)
|
||||
.params("orderno", orderno)
|
||||
.params("package_name", "com.pandora.sy")
|
||||
.params("package_name", "com.newpandora.yo")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
public static void notifyGoogle(String purchaseToken, String orderNo, String tradeNo, String allData, String gps_adid, HttpCallback callback) {
|
||||
public static void notifyGoogle(String purchaseToken, String productId, HttpCallback callback) {
|
||||
HttpClient.getInstance().get(CommonHttpConsts.NOTIFY_GOOGLE, CommonHttpConsts.NOTIFY_GOOGLE)
|
||||
.params("purchaseToken", purchaseToken)
|
||||
.params("orderno", orderNo)
|
||||
.params("trade_no", tradeNo)
|
||||
.params("allData", allData)
|
||||
.params("gps_adid", gps_adid)
|
||||
.params("package_name", "com.pandora.sy")
|
||||
.params("productId", productId)
|
||||
.params("package_name", "com.newpandora.yo")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
@@ -437,7 +434,7 @@ public class CommonHttpUtil {
|
||||
.params("purchaseToken", purchaseToken)
|
||||
.params("orderno", orderNo)
|
||||
.params("trade_no", tradeNo)
|
||||
.params("package_name", "com.pandora.sy")
|
||||
.params("package_name", "com.newpandora.yo")
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
|
||||
@@ -543,6 +543,13 @@ public class LiveHttpUtil {
|
||||
HttpClient.getInstance().get("Live.getGiftListApp", LiveHttpConsts.GET_GIFT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
/**
|
||||
* 获取礼物列表,同时会返回剩余的钱(新版) -用于获取联系方式时的礼物设置
|
||||
*/
|
||||
public static void getHotGiftList(HttpCallback callback) {
|
||||
HttpClient.getInstance().get("Gift.getHotGiftList", LiveHttpConsts.GET_GIFT_LIST)
|
||||
.execute(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取包裹列表
|
||||
|
||||
@@ -1295,7 +1295,7 @@ public interface PDLiveApi {
|
||||
@Query("open_off") int status
|
||||
);
|
||||
|
||||
@GET("/api/public/?service=Pdlmsg.sendBefore")
|
||||
@GET("/api/public/?service=Pdlmsg.sendBefore&new_pop=1")
|
||||
Observable<ResponseModel<MessageSayHiBean>> getMessageSayHiTimer(
|
||||
);
|
||||
|
||||
|
||||
@@ -123,6 +123,7 @@ public class InstructorRemarkManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void run() {
|
||||
IMLoginModel userInfo = IMLoginManager.get(context).getUserInfo();
|
||||
if(userInfo==null)return;
|
||||
HttpClient.getInstance().get("User.getInstructorRemark", "getInstructorRemark")
|
||||
.params("uid", userInfo.getId(), true)
|
||||
.params("token", userInfo.getToken(), true)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.yunbao.common.manager.imrongcloud;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import io.rong.imkit.userinfo.RongUserInfoManager;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
|
||||
public class PDRongUserInfoManager {
|
||||
public static void saveUserInfo(UserInfo userInfo) {
|
||||
RongUserInfoManager instance = RongUserInfoManager.getInstance();
|
||||
try {
|
||||
Method method = instance.getClass().getDeclaredMethod("saveUserInfoCache", userInfo.getClass());
|
||||
method.setAccessible(true);
|
||||
method.invoke(instance, userInfo);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,297 @@
|
||||
package com.yunbao.common.pay.google;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.android.billingclient.api.BillingClientStateListener;
|
||||
import com.android.billingclient.api.BillingFlowParams;
|
||||
import com.android.billingclient.api.BillingResult;
|
||||
import com.android.billingclient.api.ConsumeParams;
|
||||
import com.android.billingclient.api.ProductDetails;
|
||||
import com.android.billingclient.api.Purchase;
|
||||
import com.android.billingclient.api.PurchasesUpdatedListener;
|
||||
import com.android.billingclient.api.QueryProductDetailsParams;
|
||||
import com.android.billingclient.api.QueryPurchasesParams;
|
||||
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
|
||||
import com.google.android.gms.common.ConnectionResult;
|
||||
import com.google.android.gms.common.GoogleApiAvailability;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
//谷歌支付
|
||||
public class GooglePlay implements PurchasesUpdatedListener {
|
||||
|
||||
private String TAG = "mLog";
|
||||
private BillingClient billingClient;
|
||||
private GoogleBillingListener billingListener;
|
||||
|
||||
private GooglePlay() {
|
||||
init();
|
||||
}
|
||||
|
||||
private boolean init() {
|
||||
if (getGoogleService() && billingClient == null) {
|
||||
billingClient = BillingClient.newBuilder(CommonAppContext.sInstance)
|
||||
.setListener(this)
|
||||
.enablePendingPurchases()
|
||||
.build();
|
||||
startConnection();
|
||||
return true;
|
||||
}
|
||||
if (billingClient != null && !billingClient.isReady()) {//没有连接的话去连接
|
||||
startConnection();
|
||||
}
|
||||
if (billingClient == null)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
private void startConnection() {
|
||||
if (!billingClient.isReady()) {
|
||||
//请求连接到GooglePay
|
||||
billingClient.startConnection(new BillingClientStateListener() {
|
||||
@Override
|
||||
public void onBillingSetupFinished(@NonNull BillingResult billingResult) {
|
||||
int code = billingResult.getResponseCode();
|
||||
if (code != BillingClient.BillingResponseCode.OK) {
|
||||
String msg = billingResult.getDebugMessage();
|
||||
Log.e(TAG, "连接到GooglePay失败 code = " + code + " msg = " + msg);
|
||||
return;
|
||||
}
|
||||
Log.e(TAG, "连接到GooglePay成功");
|
||||
}
|
||||
|
||||
//连接失败
|
||||
@Override
|
||||
public void onBillingServiceDisconnected() {
|
||||
Log.e(TAG, "连接到GooglePay失败,请重试");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//点击商品,先查询商品 然后出来支付界面,调用下单
|
||||
public void purchase(Activity activity, String orderNumber, String id) {
|
||||
if (!init()) {
|
||||
return;
|
||||
}
|
||||
ImmutableList<QueryProductDetailsParams.Product> productList = ImmutableList.of(QueryProductDetailsParams.Product.newBuilder()
|
||||
.setProductId(id)
|
||||
.setProductType(BillingClient.ProductType.INAPP)
|
||||
.build());
|
||||
QueryProductDetailsParams queryProductDetailsParams =
|
||||
QueryProductDetailsParams.newBuilder()
|
||||
.setProductList(productList)
|
||||
.build();
|
||||
billingClient.queryProductDetailsAsync(
|
||||
queryProductDetailsParams,
|
||||
(billingResult, list) -> {
|
||||
//查询商品成功
|
||||
int code = billingResult.getResponseCode();
|
||||
if (code != BillingClient.BillingResponseCode.OK || list == null || list.isEmpty()) {
|
||||
String msg = billingResult.getDebugMessage();
|
||||
Log.e(TAG, "查询商品失败 code = " + code + " msg = " + msg);
|
||||
return;
|
||||
}
|
||||
Log.e(TAG, "查询商品成功");
|
||||
buyIt(activity, orderNumber, list.get(0));
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
//开始下单,准备生成订单了
|
||||
private void buyIt(Activity activity, String orderNumber, ProductDetails productDetails) {
|
||||
List<BillingFlowParams.ProductDetailsParams> productDetailsParamsList = new ArrayList<>();
|
||||
productDetailsParamsList.add(BillingFlowParams.ProductDetailsParams.newBuilder()
|
||||
// retrieve a value for "productDetails" by calling queryProductDetailsAsync()
|
||||
.setProductDetails(productDetails)
|
||||
// For one-time products, "setOfferToken" method shouldn't be called.
|
||||
// For subscriptions, to get an offer token, call
|
||||
// ProductDetails.subscriptionOfferDetails() for a list of offers
|
||||
// that are available to the user.
|
||||
//一次性商品不需要传token
|
||||
// .setOfferToken(selectedOfferToken)
|
||||
.build());
|
||||
|
||||
BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
|
||||
.setProductDetailsParamsList(productDetailsParamsList)
|
||||
.setObfuscatedAccountId(orderNumber)//好像是账号id
|
||||
.build();
|
||||
|
||||
BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);
|
||||
int code = billingResult.getResponseCode();
|
||||
if (code != BillingClient.BillingResponseCode.OK) {
|
||||
String msg = billingResult.getDebugMessage();
|
||||
Log.e(TAG, "购买商品失败 code = " + code + " msg = " + msg);
|
||||
// ToastUtil.show(getString(R.string.pay_suc));
|
||||
return;
|
||||
}
|
||||
Log.e(TAG, "购买商品 " + productDetails.toString());
|
||||
}
|
||||
|
||||
//消耗商品 支付成功之后,调用我们后台下发商品成功之后,调用消耗
|
||||
public void consume(List<Purchase> list) {
|
||||
if (!init()) {
|
||||
return;
|
||||
}
|
||||
for (Purchase purchase : list) {
|
||||
getConsumeGoods(purchase);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 消耗所有商品
|
||||
*/
|
||||
public void consumeAll() {
|
||||
if (!init()) {
|
||||
return;
|
||||
}
|
||||
//以下示例展示了如何提取用户的订阅购买交易。请注意,queryPurchasesAsync() 仅返回有效订阅和非消耗型一次性购买交易。
|
||||
QueryPurchasesParams inAppPurchasesQuery = QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP).build();
|
||||
billingClient.queryPurchasesAsync(inAppPurchasesQuery, (billingResult, list) -> {
|
||||
if (BillingClient.BillingResponseCode.OK == billingResult.getResponseCode()) {
|
||||
for (Purchase purchase : list) {
|
||||
//0:PurchaseState.UNSPECIFIED_STATE:未知状态
|
||||
//1:PurchaseState.PURCHASED:付款完成
|
||||
//2:PurchaseState.PENDING:购买正在等待付款完成。
|
||||
if (Purchase.PurchaseState.PURCHASED == purchase.getPurchaseState()) {
|
||||
//调用google去消费
|
||||
//如果之后还出现谷歌掉单的行为在来处理
|
||||
CommonHttpUtil.notifyGoogle(purchase.getPurchaseToken(),
|
||||
purchase.getProducts().get(0), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
getConsumeGoods(purchase);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 公共消费商品接口
|
||||
*/
|
||||
private void getConsumeGoods(Purchase purchase) {
|
||||
if (purchase != null) {
|
||||
Log.i(TAG, "-----开始消耗商品:" + purchase.toString());
|
||||
ConsumeParams.Builder consumeParams = ConsumeParams.newBuilder();
|
||||
consumeParams.setPurchaseToken(purchase.getPurchaseToken());
|
||||
//调用消耗商品方法
|
||||
consumeAsync(consumeParams.build(), purchase);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 消耗商品
|
||||
* int SERVICE_TIMEOUT = -3; //服务超时
|
||||
* int FEATURE_NOT_SUPPORTED = -2; //不支持功能
|
||||
* int SERVICE_DISCONNECTED = -1; //服务单元已断开
|
||||
* int OK = 0; //成功
|
||||
* int USER_CANCELED = 1; //用户按上一步或取消对话框
|
||||
* int SERVICE_UNAVAILABLE = 2; //网络连接断开
|
||||
* int BILLING_UNAVAILABLE = 3; //所请求的类型不支持 Google Play 结算服务 AIDL 版本
|
||||
* int ITEM_UNAVAILABLE = 4; //请求的商品已不再出售。
|
||||
* int DEVELOPER_ERROR = 5; //提供给 API 的参数无效。此错误也可能说明应用未针对结算服务正确签名或设置,或者在其清单中缺少必要的权限。
|
||||
* int ERROR = 6; //API 操作期间出现严重错误
|
||||
* int ITEM_ALREADY_OWNED = 7; //未能购买,因为已经拥有此商品
|
||||
* int ITEM_NOT_OWNED = 8; //未能消费,因为尚未拥有此商品
|
||||
*/
|
||||
private void consumeAsync(ConsumeParams consumeParams, Purchase purchase) {
|
||||
if (!init()) {
|
||||
return;
|
||||
}
|
||||
billingClient.consumeAsync(consumeParams, (billingResult, purchaseToken) -> {
|
||||
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
|
||||
Log.i(TAG, "-----消耗商品成功");
|
||||
} else {
|
||||
Log.i(TAG, "-----消耗商品失败" + billingResult.toString() + "---" + purchaseToken + "--code:" + billingResult.getResponseCode());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPurchasesUpdated(@NonNull BillingResult billingResult, @Nullable List<Purchase> purchases) {
|
||||
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK
|
||||
&& purchases != null) {
|
||||
//支付成功
|
||||
if (billingListener != null)//消耗掉商品放到外面调用我们服务器成功的时候去消耗 todo 暂时注释掉 这样可以模拟掉单的问题
|
||||
billingListener.onPaySuccess(purchases);
|
||||
/*
|
||||
* 一旦您验证了购买交易,您的应用就可以向用户授予使用权了。若要确认与购买交易相关联的用户账号,
|
||||
* 您可以使用 Purchases.products:get 返回的 ProductPurchase.obfuscatedExternalAccountId(适用于应用内商品的购买交易)
|
||||
* 和 Purchases.subscriptions:get 返回的 SubscriptionPurchase.obfuscatedExternalAccountId(适用于服务器端的订阅),
|
||||
* 或者 Purchase.getAccountIdentifiers() 在客户端返回的 obfuscatedAccountId(如果在交易时已使用 setObfuscatedAccountId 设置该 ID)。
|
||||
* */
|
||||
// purchases.get(0).getAccountIdentifiers()
|
||||
for (Purchase purchase : purchases) {
|
||||
Log.d("mLog", "谷歌支付的回调 " + purchase);
|
||||
}
|
||||
} else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) {
|
||||
//取消支付了
|
||||
if (billingListener != null)
|
||||
billingListener.onPayFailed(CommonAppContext.sInstance.getString(R.string.pay_cancel));
|
||||
} else {
|
||||
//支付失败
|
||||
if (billingListener != null)
|
||||
billingListener.onPayFailed(CommonAppContext.sInstance.getString(R.string.pay_fail));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测GooglePlay服务是否可用(需要导入包api "com.google.android.gms:play-services-location:11.8.0",也可以不检查,跳过这个代码)
|
||||
*/
|
||||
public boolean getGoogleService() {
|
||||
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
|
||||
if (googleApiAvailability != null) {
|
||||
int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(CommonAppContext.sInstance);
|
||||
return resultCode == ConnectionResult.SUCCESS;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getAdId() {
|
||||
try {
|
||||
return AdvertisingIdClient.getAdvertisingIdInfo(CommonAppContext.sInstance).getId();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e("GooglePlay", "获取谷歌的id错误了");
|
||||
}
|
||||
return "google_default_id";
|
||||
}
|
||||
|
||||
public void setBillingListener(GoogleBillingListener listener) {
|
||||
billingListener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* 定义接口返回支付结果
|
||||
*/
|
||||
public interface GoogleBillingListener {
|
||||
void onPaySuccess(List<Purchase> purchases);
|
||||
|
||||
void onPayFailed(String msg);
|
||||
}
|
||||
|
||||
public static class GooglePlayHelper {
|
||||
static GooglePlay googlePlay = new GooglePlay();
|
||||
}
|
||||
|
||||
public static GooglePlay getInstance() {
|
||||
return GooglePlayHelper.googlePlay;
|
||||
}
|
||||
}
|
||||
@@ -179,14 +179,6 @@ public class AppManager {
|
||||
activityStack.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅在debug下运行的代码
|
||||
*/
|
||||
public static void runDebugCode(Runnable runnable) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
runnable.run();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
/**
|
||||
* 消息类型翻译管理器
|
||||
*/
|
||||
public class ChatMsgTypeUtils {
|
||||
public static String getMsg(String msg) {
|
||||
String rsult = msg;
|
||||
switch (msg) {
|
||||
case "[小视频]":
|
||||
rsult = WordUtil.isNewZh() ? "[小視頻]" : "[Video]";
|
||||
break;
|
||||
case "[语音]":
|
||||
rsult = WordUtil.isNewZh() ? "[語音]" : "[Voice]";
|
||||
break;
|
||||
case "[图片]":
|
||||
rsult = WordUtil.isNewZh() ? "[圖片]" : "[Image]";
|
||||
break;
|
||||
}
|
||||
return rsult;
|
||||
}
|
||||
}
|
||||
30
common/src/main/java/com/yunbao/common/utils/DebugUtils.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import com.yunbao.common.BuildConfig;
|
||||
|
||||
public class DebugUtils {
|
||||
/**
|
||||
* 打印堆栈信息
|
||||
*/
|
||||
public static void showStackTrace(){
|
||||
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
|
||||
StringBuilder sb=new StringBuilder();
|
||||
for (StackTraceElement element : stackTrace) {
|
||||
if(element!=null){
|
||||
sb.append(element).append("\n");
|
||||
}
|
||||
}
|
||||
Log.e("DebugUtils",sb.toString());
|
||||
}
|
||||
/**
|
||||
* 仅在debug下运行的代码
|
||||
*/
|
||||
public static void runDebugCode(Runnable runnable) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
runnable.run();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -83,7 +83,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
||||
if (mNeedCrop) {
|
||||
Uri uri = null;
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
|
||||
uri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCameraResult);
|
||||
} else {
|
||||
uri = Uri.fromFile(mCameraResult);
|
||||
}
|
||||
@@ -195,7 +195,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
||||
mCameraResult = getNewFile();
|
||||
Uri uri = null;
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
uri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCameraResult);
|
||||
uri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCameraResult);
|
||||
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
|
||||
} else {
|
||||
uri = Uri.fromFile(mCameraResult);
|
||||
@@ -255,7 +255,7 @@ public class ProcessImageUtil extends ProcessResultUtil {
|
||||
startActivityForResult(intent, mCropResultCallback);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
Uri resultUri = FileProvider.getUriForFile(mContext, "com.pandora.sy.fileprovider", mCorpResult);
|
||||
Uri resultUri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCorpResult);
|
||||
if (resultUri == null || mFragment == null || mContext == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
package com.yunbao.common.utils;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imkit.conversationlist.model.BaseUiConversation;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.Message;
|
||||
|
||||
public class UiConversationCodeUtil {
|
||||
|
||||
|
||||
public static final int FILTER_OFFLINE = 0;
|
||||
public static final int FILTER_ONLINE = 1;
|
||||
public static final int FILTER_UNREAD = 2;
|
||||
public static final int FILTER_READ = 4;
|
||||
public static final int FILTER_ALL = 7;
|
||||
|
||||
|
||||
public static boolean checkIsSame(List<BaseUiConversation> list1, List<BaseUiConversation> list2) {
|
||||
if (list1.size() != list2.size()) return false;
|
||||
int hashCode1 = getListHasCode(list1);
|
||||
int hashCode2 = getListHasCode(list2);
|
||||
return hashCode1 == hashCode2;
|
||||
}
|
||||
|
||||
public static boolean checkIsSame(int hashCode1, List<BaseUiConversation> list2) {
|
||||
int hashCode2 = getListHasCode(list2);
|
||||
return hashCode1 == hashCode2;
|
||||
}
|
||||
|
||||
public static int getListHasCode(List<BaseUiConversation> list) {
|
||||
int hashCodeValue = 1;
|
||||
if (list == null || list.isEmpty())
|
||||
return 1;
|
||||
for (BaseUiConversation conversation : list) {
|
||||
if (conversation != null) {
|
||||
hashCodeValue = 31 * hashCodeValue + getBaseUiConversationHashCode(conversation);
|
||||
}
|
||||
}
|
||||
return hashCodeValue;
|
||||
}
|
||||
|
||||
|
||||
//根据BaseUiConversation对象的属性计算hashCode
|
||||
private static int getBaseUiConversationHashCode(BaseUiConversation item) {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
Conversation mCore = item.mCore;
|
||||
result = prime * result + ((mCore.getPortraitUrl() == null) ? 0 : mCore.getPortraitUrl().hashCode());
|
||||
result = prime * result + ((mCore.getConversationTitle() == null) ? 0 : mCore.getConversationTitle().hashCode());
|
||||
// result = prime * result + ((item.mConversationContent == null) ? 0 : item.mConversationContent.hashCode());
|
||||
result = prime * result + (int) (mCore.getSentTime() ^ (mCore.getSentTime() >>> 32));
|
||||
result = prime * result + ((mCore.getDraft() == null) ? 0 : mCore.getDraft().hashCode());
|
||||
result = prime * result + mCore.getUnreadMessageCount();
|
||||
|
||||
Message message = mCore.getMessage();
|
||||
if (message != null) {
|
||||
Message.MessageDirection direction = message.getMessageDirection();
|
||||
if (direction != null) {
|
||||
result = prime * result + direction.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
result = prime * result + ((mCore.getSentStatus() == null) ? 0 : mCore.getSentStatus().hashCode());
|
||||
result = prime * result + ((mCore.getReceivedStatus() == null) ? 0 : mCore.getReceivedStatus().hashCode());
|
||||
result = prime * result + ((mCore.getTargetId() == null) ? 0 : mCore.getTargetId().hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
private static boolean isContains(List<BaseUiConversation> list, BaseUiConversation item) {
|
||||
// 根据 item.mCore.getChannelId() 判断 list 是否包含
|
||||
if (list == null || list.isEmpty() || item == null || item.mCore == null) {
|
||||
return false;
|
||||
}
|
||||
for (BaseUiConversation conversation : list) {
|
||||
// 增加空值检查
|
||||
if (conversation != null && conversation.mCore != null
|
||||
&& conversation.mCore.getTargetId() != null
|
||||
&& conversation.mCore.getTargetId().equals(item.mCore.getTargetId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> keyList,List<BaseUiConversation> srcList) {
|
||||
List<BaseUiConversation> showData = new ArrayList<>();
|
||||
if (keyList == null || keyList.isEmpty())
|
||||
return showData;
|
||||
Log.i("MainConversationListAdapter", "FilterData: 源" + keyList.size());
|
||||
switch (filterType) {
|
||||
case FILTER_ALL:
|
||||
showData = keyList;
|
||||
break;
|
||||
case FILTER_ONLINE:
|
||||
for (BaseUiConversation conversation : srcList) {
|
||||
if ("0".equals(conversation.mCore.getDraft()) && isContains(keyList, conversation)) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_OFFLINE:
|
||||
for (BaseUiConversation conversation : keyList) {
|
||||
if (!"0".equals(conversation.mCore.getDraft())) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_READ:
|
||||
for (BaseUiConversation conversation : keyList)
|
||||
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_UNREAD:
|
||||
for (BaseUiConversation conversation : keyList) {
|
||||
boolean isRead;
|
||||
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size());
|
||||
return showData;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static List<BaseUiConversation> FilterData(int filterType, List<BaseUiConversation> data) {
|
||||
List<BaseUiConversation> showData = new ArrayList<>();
|
||||
if (data == null || data.isEmpty())
|
||||
return showData;
|
||||
Log.i("MainConversationListAdapter", "设置数据源 FilterData: 源" + data.size());
|
||||
switch (filterType) {
|
||||
case FILTER_ALL:
|
||||
showData = data;
|
||||
break;
|
||||
case FILTER_ONLINE:
|
||||
for (BaseUiConversation conversation : data) {
|
||||
if ("0".equals(conversation.mCore.getDraft())) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_OFFLINE:
|
||||
for (BaseUiConversation conversation : data) {
|
||||
if (!"0".equals(conversation.mCore.getDraft())) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_READ:
|
||||
for (BaseUiConversation conversation : data)
|
||||
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||
if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FILTER_UNREAD:
|
||||
for (BaseUiConversation conversation : data) {
|
||||
if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) {
|
||||
if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) {
|
||||
if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) {
|
||||
showData.add(conversation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
Log.i("MainConversationListAdapter", " 设置数据源 FilterData: 结果" + showData.size());
|
||||
return showData;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -63,7 +63,7 @@ public class VersionUtil {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
||||
context.startActivity(i);
|
||||
context.finish();
|
||||
}
|
||||
@@ -85,7 +85,7 @@ public class VersionUtil {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
||||
context.startActivity(i);
|
||||
context.finish();
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ public class APKUpdateCustomPopup extends CenterPopupView {
|
||||
public void onViewClicks() {
|
||||
if (CommonAppConfig.IS_GOOGLE_PLAY == 1) {
|
||||
Intent i = new Intent(android.content.Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.pandora.sy"));
|
||||
i.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.newpandora.yo"));
|
||||
mContext.startActivity(i);
|
||||
mContext.finish();
|
||||
} else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) {
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.yunbao.common.views;
|
||||
|
||||
import static io.rong.imlib.publicservice.model.PublicServiceMenu.PublicServiceMenuItemType.View;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.lxj.xpopup.core.AttachPopupView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.MainConversationListAdapter;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
|
||||
import org.repackage.com.zui.opendeviceidlibrary.OpenDeviceId;
|
||||
|
||||
public class MsgChatTypeSelectPoPupView extends AttachPopupView implements android.view.View.OnClickListener {
|
||||
|
||||
private TextView chatTypeTv1, chatTypeTv2, chatTypeTv3, chatTypeTv4, chatTypeTv5;
|
||||
private ImageView chatTypeImg1, chatTypeImg2, chatTypeImg3, chatTypeImg4, chatTypeImg5;
|
||||
|
||||
private ResultCallBack mResultCallBack;
|
||||
private int lastType;
|
||||
|
||||
public MsgChatTypeSelectPoPupView(@NonNull Context context, int type, ResultCallBack itemDelListener) {
|
||||
super(context);
|
||||
mResultCallBack = itemDelListener;
|
||||
lastType = type;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected int getImplLayoutId() {
|
||||
return R.layout.view_msg_select_chat_type;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate() {
|
||||
|
||||
// 获取屏幕宽度
|
||||
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
|
||||
int screenWidth = displayMetrics.widthPixels;
|
||||
|
||||
// 设置弹窗宽度为屏幕宽度的 3/4
|
||||
View view = findViewById(R.id.root);
|
||||
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
|
||||
layoutParams.width = screenWidth*3/4;
|
||||
view.setLayoutParams(layoutParams);
|
||||
|
||||
chatTypeTv1 = findViewById(R.id.chatTypeTv1);
|
||||
chatTypeImg1 = findViewById(R.id.chatTypeImg1);
|
||||
chatTypeTv2 = findViewById(R.id.chatTypeTv2);
|
||||
chatTypeImg2 = findViewById(R.id.chatTypeImg2);
|
||||
chatTypeTv3 = findViewById(R.id.chatTypeTv3);
|
||||
chatTypeImg3 = findViewById(R.id.chatTypeImg3);
|
||||
chatTypeTv4 = findViewById(R.id.chatTypeTv4);
|
||||
chatTypeImg4 = findViewById(R.id.chatTypeImg4);
|
||||
chatTypeTv5 = findViewById(R.id.chatTypeTv5);
|
||||
chatTypeImg5 = findViewById(R.id.chatTypeImg5);
|
||||
|
||||
chatTypeImg1.setOnClickListener(this);
|
||||
chatTypeImg2.setOnClickListener(this);
|
||||
chatTypeImg3.setOnClickListener(this);
|
||||
chatTypeImg4.setOnClickListener(this);
|
||||
chatTypeImg5.setOnClickListener(this);
|
||||
|
||||
handleChatTypeClick(lastType);
|
||||
}
|
||||
|
||||
|
||||
private void handleChatTypeClick(int type) {
|
||||
switch (type) {
|
||||
case MainConversationListAdapter.FILTER_ALL:
|
||||
chatTypeImg1.setImageResource(R.mipmap.ic_chat_type_select);
|
||||
chatTypeTv1.setTextColor(ContextCompat.getColor(chatTypeTv1.getContext(), R.color.colorMainTab));
|
||||
break;
|
||||
case MainConversationListAdapter.FILTER_ONLINE:
|
||||
chatTypeImg2.setImageResource(R.mipmap.ic_chat_type_select);
|
||||
chatTypeTv2.setTextColor(ContextCompat.getColor(chatTypeTv2.getContext(), R.color.colorMainTab));
|
||||
break;
|
||||
case MainConversationListAdapter.FILTER_OFFLINE:
|
||||
chatTypeImg3.setImageResource(R.mipmap.ic_chat_type_select);
|
||||
chatTypeTv3.setTextColor(ContextCompat.getColor(chatTypeTv3.getContext(), R.color.colorMainTab));
|
||||
break;
|
||||
case MainConversationListAdapter.FILTER_READ:
|
||||
chatTypeImg4.setImageResource(R.mipmap.ic_chat_type_select);
|
||||
chatTypeTv4.setTextColor(ContextCompat.getColor(chatTypeTv4.getContext(), R.color.colorMainTab));
|
||||
break;
|
||||
case MainConversationListAdapter.FILTER_UNREAD:
|
||||
chatTypeImg5.setImageResource(R.mipmap.ic_chat_type_select);
|
||||
chatTypeTv5.setTextColor(ContextCompat.getColor(chatTypeTv5.getContext(), R.color.colorMainTab));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(android.view.View v) {
|
||||
if (v.getId() == R.id.chatTypeImg1) {
|
||||
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ALL, chatTypeTv1.getText().toString());
|
||||
} else if (v.getId() == R.id.chatTypeImg2) {
|
||||
mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE, chatTypeTv2.getText().toString());
|
||||
} else if (v.getId() == R.id.chatTypeImg3) {
|
||||
mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE, chatTypeTv3.getText().toString());
|
||||
} else if (v.getId() == R.id.chatTypeImg4) {
|
||||
mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ, chatTypeTv4.getText().toString());
|
||||
} else if (v.getId() == R.id.chatTypeImg5) {
|
||||
mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD, chatTypeTv5.getText().toString());
|
||||
}
|
||||
dismiss();
|
||||
}
|
||||
|
||||
|
||||
public interface ResultCallBack {
|
||||
void callBack(int i, String string);
|
||||
}
|
||||
}
|
||||
11
common/src/main/res/drawable/green_dot.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval"> <!-- 设置形状为圆形 -->
|
||||
|
||||
<solid android:color="#6DFF7C" /> <!-- 设置填充颜色 -->
|
||||
|
||||
<!-- 可以添加额外的属性如边框等 -->
|
||||
<!-- <stroke
|
||||
android:width="2dp"
|
||||
android:color="#000000" /> -->
|
||||
|
||||
</shape>
|
||||
10
common/src/main/res/drawable/red_dot.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval"> <!-- 设置形状为圆形 -->
|
||||
|
||||
<solid android:color="#ffff4874" /> <!-- 设置填充颜色 -->
|
||||
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="#30ff4874" /> <!-- 设置边框颜色为黑色并带有 70% 的不透明度 (BB 是 alpha 值) -->
|
||||
|
||||
</shape>
|
||||
6
common/src/main/res/drawable/shape_white.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="20dp"/>
|
||||
<solid android:color="@color/white"/>
|
||||
|
||||
</shape>
|
||||
@@ -11,94 +11,89 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_data_empty"
|
||||
app:riv_oval="true" />
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginTop="7dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.makeramen.roundedimageview.RoundedImageView
|
||||
android:id="@+id/avatar"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/icon_data_empty"
|
||||
app:riv_oval="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:text="栗子栗子🌰zzz"
|
||||
android:textColor="#777777"
|
||||
android:textSize="12dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/content"
|
||||
android:id="@+id/author"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="17dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@drawable/bg_main_com_author"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:text="@string/active_author"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/del"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="栗子栗子🌰zzz"
|
||||
android:padding="10dp"
|
||||
android:text="@string/delete"
|
||||
android:textColor="#777777"
|
||||
android:textSize="11dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/replyTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="9dp"
|
||||
android:text="@string/dialog_message_chat_notify_btn"
|
||||
android:textColor="#777777"
|
||||
android:textSize="11dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/report"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="5dp"
|
||||
android:padding="9dp"
|
||||
android:text="@string/chat_report"
|
||||
android:textColor="#333333"
|
||||
android:textSize="12dp" />
|
||||
android:textSize="11dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/author"
|
||||
android:layout_width="45dp"
|
||||
android:layout_height="17dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:background="@drawable/bg_main_com_author"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:text="@string/active_author"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/del"
|
||||
android:id="@+id/content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:text="@string/delete"
|
||||
android:textColor="#777777"
|
||||
android:textSize="11dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/replyTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="9dp"
|
||||
android:text="@string/dialog_message_chat_notify_btn"
|
||||
android:textColor="#777777"
|
||||
android:textSize="11dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/report"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="5dp"
|
||||
android:padding="9dp"
|
||||
android:text="@string/chat_report"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginStart="40dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="栗子栗子🌰栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子栗子zzz"
|
||||
android:textColor="#333333"
|
||||
android:textSize="11dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
android:textSize="12dp" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/replyLayout"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
29
common/src/main/res/layout/rc_conversation_type_item.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/rc_conversation_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_weight="1"
|
||||
android:textColor="@color/colorMainTab"
|
||||
tools:text="全部聊天" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:src="@mipmap/ic_chat_type_select" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -14,7 +14,6 @@
|
||||
android:id="@+id/rc_conversation_portrait_rl"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
|
||||
android:layout_marginTop="@dimen/rc_margin_size_12"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -180,6 +179,7 @@
|
||||
android:layout_marginBottom="@dimen/rc_margin_size_12"
|
||||
android:src="@drawable/rc_read_receipt"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
|
||||
app:layout_goneMarginRight="@dimen/rc_margin_size_12" />
|
||||
|
||||
159
common/src/main/res/layout/rc_conversationlist_item2.xml
Normal file
@@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/rc_conversation_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/rc_conversation_item_height">
|
||||
|
||||
<com.yunbao.common.views.weight.ClipPathCircleImage
|
||||
android:id="@+id/rc_conversation_portrait"
|
||||
android:layout_width="54dp"
|
||||
android:layout_height="54dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@mipmap/beauty_jingbai"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rc_conversation_live_online"
|
||||
android:layout_width="12dp"
|
||||
android:layout_height="12dp"
|
||||
android:layout_marginTop="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:src="@drawable/green_dot"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_portrait"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_title"
|
||||
style="@style/TextStyle.Alignment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginTop="4dp"
|
||||
android:ellipsize="end"
|
||||
android:maxWidth="120dp"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/rc_text_main_color"
|
||||
android:textSize="13dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_portrait"
|
||||
tools:text="张三11111111111111111111111" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_live_status"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_main_message_chat_list_live_timer"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingEnd="3dp"
|
||||
android:paddingBottom="3dp"
|
||||
android:singleLine="true"
|
||||
android:textColor="#EC70FD"
|
||||
android:layout_marginStart="12dp"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
|
||||
app:layout_constraintStart_toEndOf="@+id/rc_conversation_title"
|
||||
android:visibility="gone"
|
||||
tools:text="看直播10min"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_date"
|
||||
style="@style/TextStyle.Alignment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="3 月 22 日"
|
||||
android:layout_marginEnd="12dp"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_title"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:textColor="@color/rc_auxiliary_color"
|
||||
android:textSize="@dimen/rc_font_nav_or_date_size"
|
||||
|
||||
/>
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_unread_tv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginBottom="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="@+id/rc_conversation_title"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
tools:text="[已读]"
|
||||
app:layout_constraintEnd_toStartOf="@id/rc_conversation_content"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:textColor="@color/rc_secondary_color"
|
||||
android:textSize="13dp" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_content"
|
||||
style="@style/TextStyle.Alignment"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="6dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/rc_secondary_color"
|
||||
android:textSize="13dp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_read_receipt"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toEndOf="@+id/rc_conversation_unread_tv"
|
||||
android:layout_marginBottom="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait"
|
||||
tools:text="你好,朋友!111111111111111111111" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rc_conversation_unread_count"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_content"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_content"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rc_conversation_date"
|
||||
style="@style/TextStyle.Alignment"
|
||||
app:layout_constraintDimensionRatio="1"
|
||||
android:layout_width="18dp"
|
||||
android:gravity="center"
|
||||
android:layout_height="18dp"
|
||||
android:background="@drawable/red_dot"
|
||||
android:text="15"
|
||||
android:textColor="@color/rc_white_color"
|
||||
android:textSize="10sp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rc_conversation_no_disturb"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginEnd="@dimen/rc_margin_size_2"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_unread_count"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_unread_count"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_unread_count"
|
||||
android:src="@drawable/rc_no_disturb"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/rc_conversation_read_receipt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/rc_margin_size_2"
|
||||
android:src="@drawable/rc_read_receipt"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_no_disturb"
|
||||
app:layout_constraintEnd_toStartOf="@+id/rc_conversation_no_disturb"
|
||||
app:layout_constraintTop_toTopOf="@+id/rc_conversation_no_disturb"
|
||||
app:layout_constraintVertical_bias="1.0"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
139
common/src/main/res/layout/view_msg_select_chat_type.xml
Normal file
@@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_white">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="22dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/all_chats"
|
||||
android:textColor="#777777"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:textColor="@color/colorMainTab" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_chat_type_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/chatTypeTv1"
|
||||
tools:src="@mipmap/ic_chat_type_select" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="22dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/online_only"
|
||||
android:textColor="#777777"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_chat_type_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv2"
|
||||
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||
app:layout_constraintTop_toTopOf="@+id/chatTypeTv2" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv3"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="22dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/offline_only"
|
||||
android:textColor="#777777"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv2" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_chat_type_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv3"
|
||||
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||
app:layout_constraintTop_toTopOf="@+id/chatTypeTv3" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv4"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="22dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/read_only"
|
||||
android:textColor="#777777"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv3" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg4"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_chat_type_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv4"
|
||||
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||
app:layout_constraintTop_toTopOf="@+id/chatTypeTv4" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chatTypeTv5"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="22dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/unread_only"
|
||||
android:textColor="#777777"
|
||||
android:textSize="15sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/chatTypeTv4" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/chatTypeImg5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:padding="5dp"
|
||||
android:src="@mipmap/ic_chat_type_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/chatTypeTv5"
|
||||
app:layout_constraintEnd_toEndOf="@+id/chatTypeImg1"
|
||||
app:layout_constraintTop_toTopOf="@+id/chatTypeTv5" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 320 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 42 KiB |
BIN
common/src/main/res/mipmap-mdpi/ic_chat_type_select.png
Normal file
|
After Width: | Height: | Size: 642 B |
BIN
common/src/main/res/mipmap-mdpi/ic_chat_type_unselect.png
Normal file
|
After Width: | Height: | Size: 542 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 321 KiB After Width: | Height: | Size: 320 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 17 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_chat_type_select.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
common/src/main/res/mipmap-xxhdpi/ic_chat_type_unselect.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
BIN
common/src/main/res/mipmap-xxxhdpi/ic_chat_type_select.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
common/src/main/res/mipmap-xxxhdpi/ic_chat_type_unselect.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 32 KiB |
BIN
common/src/main/res/mipmap-zh/background_quick_gift_reminder.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 32 KiB |
BIN
common/src/main/res/mipmap-zh/icon_cinema_ticket_title.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
common/src/main/res/mipmap-zh/icon_enjoy_image.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
common/src/main/res/mipmap-zh/icon_img_up_label.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
common/src/main/res/mipmap-zh/icon_liveing.gif
Normal file
|
After Width: | Height: | Size: 321 KiB |
BIN
common/src/main/res/mipmap-zh/icon_order_rule.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
common/src/main/res/mipmap-zh/icon_user_game_living.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
BIN
common/src/main/res/mipmap-zh/recommed_msg_bg.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
@@ -651,7 +651,7 @@
|
||||
<string name="welcome_pdlive">歡迎來到PDLIVE</string>
|
||||
<string name="newcomer">恭喜你獲得了新人獎勵</string>
|
||||
|
||||
<string name="FILE_PROVIDER">com.pandora.sy.fileprovider</string>
|
||||
<string name="FILE_PROVIDER">com.newpandora.yo.fileprovider</string>
|
||||
<string name="ren">人</string>
|
||||
<string name="ge">個</string>
|
||||
<string name="count">數量</string>
|
||||
@@ -1604,5 +1604,11 @@
|
||||
<string name="live_end_view_ban_reason">違規原因:</string>
|
||||
<string name="live_end_view_ban_content">處罰內容:</string>
|
||||
<string name="live_end_view_ban_timer">處罰時間:</string>
|
||||
|
||||
<string name="message_chat_msg_read_tip">[已讀]</string>
|
||||
<string name="message_chat_msg_unread_tip">[未讀]</string>
|
||||
<string name="all_chats">全部聊天</string>
|
||||
<string name="online_only">僅展示在線</string>
|
||||
<string name="offline_only">僅展示離線</string>
|
||||
<string name="read_only">展示對方已讀</string>
|
||||
<string name="unread_only">展示對方未讀</string>
|
||||
</resources>
|
||||
|
||||
@@ -812,6 +812,7 @@ Limited ride And limited avatar frame</string>
|
||||
|
||||
<string name="random_pk_dialog_apply">accept</string>
|
||||
<string name="random_pk_dialog_refuse">refuse</string>
|
||||
<string name="random_pk_dialog_refuse_again">Persist in refusing</string>
|
||||
<string name="random_pk_dialog_title">Random PK hint</string>
|
||||
|
||||
<string name="speech_robot_setup">Automatic speech robot setup</string>
|
||||
@@ -1279,41 +1280,41 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="dialog_message_chat_notify_btn">Reply</string>
|
||||
<string name="activity_msg_chat_top_status_online">Online</string>
|
||||
<string name="activity_msg_chat_top_status_offline">Offline</string>
|
||||
<string name="commen_user_active">个人动态</string>
|
||||
<string name="commen_user_active">Personal updates</string>
|
||||
<string name="real_person">Real person</string>
|
||||
<string name="trade_union">工会</string>
|
||||
<string name="trade_union">tradeUnion</string>
|
||||
<string name="praise">Liked</string>
|
||||
<string name="cancel_back">取消黑名单</string>
|
||||
<string name="user_home_img_del_dialog">確定刪除圖片?</string>
|
||||
<string name="upload_success">上传成功</string>
|
||||
<string name="upload_failed">上傳成功</string>
|
||||
<string name="_9">最多添加9張圖片</string>
|
||||
<string name="not_interested">不感興趣</string>
|
||||
<string name="person_like">人覺得很讚</string>
|
||||
<string name="fan_group_name">主播守護團</string>
|
||||
<string name="user_home_anchor">主播粉絲團</string>
|
||||
<string name="main_active_type_01">美圖</string>
|
||||
<string name="main_active_type_02">新秀</string>
|
||||
<string name="main_active_type_03">身材</string>
|
||||
<string name="main_active_type_04">直播</string>
|
||||
<string name="main_active_type_05">生活</string>
|
||||
<string name="send_active_time">選擇時間</string>
|
||||
<string name="now_send">立即發表</string>
|
||||
<string name="choose_topic">選擇話題</string>
|
||||
<string name="pricture">圖文</string>
|
||||
<string name="_200">请输入200字以内的文字</string>
|
||||
<string name="focus_on">關注</string>
|
||||
<string name="see_more">查看更多</string>
|
||||
<string name="close">收起</string>
|
||||
<string name="time_cannot_be_greater_than_the_current_time">时间不能大于当前时间</string>
|
||||
<string name="msg_del_sure">是否確認刪除?</string>
|
||||
<string name="not_blackmail">不能拉黑自己</string>
|
||||
<string name="active_author">作者</string>
|
||||
<string name="active_count">共%1$s條回復></string>
|
||||
<string name="uploading">上傳中...</string>
|
||||
<string name="upload_fail">上傳失敗</string>
|
||||
<string name="please_input_content">請填寫發佈內容</string>
|
||||
<string name="comm_details">詳情</string>
|
||||
<string name="cancel_back">Cancel blacklist</string>
|
||||
<string name="user_home_img_del_dialog">Are you sure you want to delete the picture??</string>
|
||||
<string name="upload_success">Upload successful</string>
|
||||
<string name="upload_failed">upload failed</string>
|
||||
<string name="_9">Add up to 9 pictures</string>
|
||||
<string name="not_interested">not interested</string>
|
||||
<string name="person_like">people liked it</string>
|
||||
<string name="fan_group_name">Fan group name</string>
|
||||
<string name="user_home_anchor">Anchor fan group</string>
|
||||
<string name="main_active_type_01">Beauty</string>
|
||||
<string name="main_active_type_02">Rookie</string>
|
||||
<string name="main_active_type_03">Figure</string>
|
||||
<string name="main_active_type_04">Live</string>
|
||||
<string name="main_active_type_05">Life</string>
|
||||
<string name="send_active_time">Selection period</string>
|
||||
<string name="now_send">Now</string>
|
||||
<string name="choose_topic">Select topic</string>
|
||||
<string name="pricture">picture</string>
|
||||
<string name="_200">Please enter text within 200 words</string>
|
||||
<string name="focus_on">Focus on</string>
|
||||
<string name="see_more">See more</string>
|
||||
<string name="close">close</string>
|
||||
<string name="time_cannot_be_greater_than_the_current_time">Time cannot be greater than the current time</string>
|
||||
<string name="msg_del_sure">Do you confirm deletion?</string>
|
||||
<string name="not_blackmail">Cannot blackmail oneself</string>
|
||||
<string name="active_author">author</string>
|
||||
<string name="active_count">altogether %1$s strip reply></string>
|
||||
<string name="uploading">Uploading...</string>
|
||||
<string name="upload_fail">Upload failed</string>
|
||||
<string name="please_input_content">Please fill in the publication content</string>
|
||||
<string name="comm_details">Details</string>
|
||||
|
||||
<string name="guard_buy_type_1">【Star Guardian】</string>
|
||||
|
||||
@@ -1411,5 +1412,11 @@ Limited ride And limited avatar frame</string>
|
||||
<string name="dialog_gift_wall_text_personal_hal">Personal hal</string>
|
||||
<string name="dialog_gift_wall_text_site_hal">Whole site hal</string>
|
||||
<string name="dialog_gift_wall_text_honors">Honors</string>
|
||||
|
||||
<string name="message_chat_msg_read_tip">[Read]</string>
|
||||
<string name="message_chat_msg_unread_tip">[Unread]</string>
|
||||
<string name="all_chats">All Chats</string>
|
||||
<string name="online_only">Show Online </string>
|
||||
<string name="offline_only">Show Offline </string>
|
||||
<string name="read_only">Show Read </string>
|
||||
<string name="unread_only">Show Unread </string>
|
||||
</resources>
|
||||
|
||||
@@ -4,7 +4,7 @@ ext {
|
||||
buildToolsVersion: "29.0.2",
|
||||
minSdkVersion : 23,
|
||||
targetSdkVersion : 34,
|
||||
versionCode : 546,
|
||||
versionCode : 600,
|
||||
versionName : "6.8.0",
|
||||
namespace : "com.pandoralive.shayu"
|
||||
]
|
||||
|
||||
@@ -24,6 +24,6 @@ android.nonTransitiveRClass=false
|
||||
|
||||
systemProp.http.proxyHost=127.0.0.1
|
||||
systemProp.https.proxyHost=127.0.0.1
|
||||
systemProp.https.proxyPort=7890
|
||||
systemProp.http.proxyPort=7890
|
||||
#android.enableR8.fullMode=true
|
||||
systemProp.https.proxyPort=10809
|
||||
systemProp.http.proxyPort=10809
|
||||
android.enableR8.fullMode=true
|
||||
@@ -223,7 +223,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
initFaceManager();
|
||||
leave_img = findViewById(R.id.leave_img);
|
||||
mLiveSDK = intent.getIntExtra(Constants.LIVE_SDK, Constants.LIVE_SDK_KSY);
|
||||
if (mLiveSDK == Constants.LIVE_SDK_SW) {
|
||||
if(mLiveSDK ==Constants.LIVE_SDK_SW){
|
||||
isSw = true;
|
||||
}
|
||||
mLiveKsyConfigBean = intent.getParcelableExtra(Constants.LIVE_KSY_CONFIG);
|
||||
@@ -289,23 +289,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
});
|
||||
|
||||
/*DebugDialog.getInstance(new DebugDialog.DebugDialogRunnable() {
|
||||
@Override
|
||||
public void run(DebugDialog dialog) {
|
||||
dialog.setShowPattern(ShowPattern.ALL_TIME);
|
||||
dialog.show();
|
||||
dialog.setView("测试", new Button(mContext), new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
android.os.Message msg = android.os.Message.obtain();
|
||||
msg.what = Constants.SOCKET_WHAT_BROADCAST;
|
||||
String json = "{\"msg\":[{\"_method_\":\"StartEndLive\",\"action\":\"18\",\"ct\":\"直播关闭\",\"touid\":\"\",\"equipment\":\"app\",\"msgtype\":\"1\",\"uname\":\"1\",\"timestamp\":\"\",\"touname\":\"\",\"uid\":\"98274\",\"tougood\":\"\",\"ugood\":\"\",\"roomnum\":\"98274\",\"riskDescription\":\"色情:性行为:中度色情\",\"enRiskDescription\":\"Pornography: Sexual behavior: Moderate pornography\",\"riskhType\":\"封禁1分钟\",\"enRiskhType\":\"Banned for 1 minute\",\"date\":\"2024-07-30 15:03:11\"}],\"retcode\":\"000000\",\"retmsg\":\"OK\"}";
|
||||
msg.obj = json;
|
||||
SocketSwClient.mSocketHandler.sendMessage(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
});*/
|
||||
|
||||
}
|
||||
|
||||
private void initFaceManager() {
|
||||
@@ -894,9 +878,8 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
getAiRobotStatus();
|
||||
MicedUserManager.get().removeAllMicUserList();
|
||||
MicUserManager.get().removeAllMicUserList();
|
||||
|
||||
//加载整蛊
|
||||
if(mLiveRoomViewHolder!=null){
|
||||
//加载整蛊
|
||||
mLiveRoomViewHolder.initPrankProgress(2);
|
||||
mLiveRoomViewHolder.sendMsgPrank();
|
||||
|
||||
@@ -1260,13 +1243,13 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
.param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName())
|
||||
.param("pkuid", pkUid)
|
||||
.param("uid", CommonAppConfig.getInstance().getUid())
|
||||
.param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("uhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
|
||||
.param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("uhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
|
||||
//判断是否是随机PK
|
||||
if(extra){
|
||||
if (extra) {
|
||||
msg1.param("random_pk", "1");
|
||||
msg1.param("msgtype","11");
|
||||
msg1.param("msgtype", "11");
|
||||
if (RandomPkManager.getInstance().isRankModel()) {
|
||||
msg1.param("is_ladders", "https://downs.yaoulive.com/rank_top_box.png");
|
||||
}
|
||||
@@ -1321,7 +1304,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
}
|
||||
}
|
||||
|
||||
public void linkDrMicRemoveListUid(String uid) {
|
||||
public void linkDrMicRemoveListUid(String uid){
|
||||
if (mLiveAnchorViewHolder != null) {
|
||||
mLiveAnchorViewHolder.removeYaoqing(uid);
|
||||
}
|
||||
@@ -1352,8 +1335,8 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
.param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName())
|
||||
.param("pkuid", pkUid)
|
||||
.param("uid", CommonAppConfig.getInstance().getUid())
|
||||
.param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
|
||||
.param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar())
|
||||
.param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
|
||||
msg1.create();
|
||||
|
||||
String targetId = "g" + pkUid;
|
||||
@@ -1498,7 +1481,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
|
||||
@Override
|
||||
public void onUpdatePrankProgress(String prankString) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
if (mLiveRoomViewHolder != null){
|
||||
mLiveRoomViewHolder.refreshPrank(prankString);
|
||||
}
|
||||
}
|
||||
@@ -1689,7 +1672,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
case LEAVE_DR_ROOM:
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
mLiveRoomViewHolder.seisShowGif(true);
|
||||
if (DRPKing == 1) {
|
||||
if(DRPKing==1){
|
||||
mLiveRoomViewHolder.endDRGif();
|
||||
}
|
||||
}
|
||||
@@ -1916,6 +1899,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
.setIcon("https://downs.yaoulive.com/xzs_tab.png")
|
||||
.setNameColor("#f19ec2")
|
||||
.setSystemBubble("https://downs.yaoulive.com/xzs_qipao.9.png")
|
||||
.setIconEn("https://downs.yaoulive.com/Robot_en.png")
|
||||
.setUserName("")
|
||||
.setContent(content);
|
||||
SocketSendBean msg =
|
||||
@@ -1990,6 +1974,7 @@ public class LiveSwAnchorActivity extends LiveActivity implements LiveFunctionCl
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onAllServerNotifyFFGGGDJANEvent(AllServerNotifyFFGGGDJANEvent event) {
|
||||
if (mLiveRoomViewHolder != null) {
|
||||
|
||||
@@ -176,6 +176,7 @@ public class LiveAnchorEditCallMeAdapter extends RecyclerView.Adapter<LiveAnchor
|
||||
public void onDismiss() {
|
||||
}
|
||||
})
|
||||
.setHotGiftListUrl(true)
|
||||
.setShowNumber(false)
|
||||
.setTitle(mContext.getString(R.string.live_anchor_edit_call_me_select_gift))
|
||||
.setHideGiftType(true)
|
||||
|
||||
@@ -62,7 +62,12 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
private TextView mTitle;
|
||||
private boolean isOldGiftList = false;
|
||||
private boolean hideGiftType = false;
|
||||
private boolean isHotGiftListUrl = false;
|
||||
|
||||
public GiftPopDialog setHotGiftListUrl(boolean hotGiftListUrl) {
|
||||
isHotGiftListUrl = hotGiftListUrl;
|
||||
return this;
|
||||
}
|
||||
|
||||
public GiftPopDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
@@ -183,6 +188,25 @@ public class GiftPopDialog extends AbsDialogPopupWindow implements ActionListene
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
if (mLoading != null) {
|
||||
mLoading.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (isHotGiftListUrl) {
|
||||
LiveHttpUtil.getHotGiftList(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
JSONArray list = obj.getJSONArray("listarray");
|
||||
setDate(list);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
if (mLoading != null) {
|
||||
|
||||
@@ -62,6 +62,7 @@ import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
import com.yunbao.common.utils.Bus;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.GiftCacheUtil;
|
||||
@@ -1092,7 +1093,7 @@ public class LiveGiftDialogFragment extends AbsDialogFragment implements View.On
|
||||
Bus.get().post(event);
|
||||
}).build().show();
|
||||
|
||||
AppManager.runDebugCode(() -> {
|
||||
DebugUtils.runDebugCode(() -> {
|
||||
Log.i("gifBean", mLiveGiftBean.toString());
|
||||
});
|
||||
} else if (code == 1001) {
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.opensource.svgaplayer.SVGADrawable;
|
||||
import com.opensource.svgaplayer.SVGAImageView;
|
||||
import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
@@ -836,7 +837,11 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
@Override
|
||||
public void onSuccess(GiftNamingInfoModel data) {
|
||||
if (TextUtils.equals(data.getNamingStatus(), "1")) {
|
||||
boolean isPageGift = liveGiftModel.isPageGift();
|
||||
liveGiftModel = JSONObject.parseObject(GsonUtils.toJson(data), LiveGiftBean.class);
|
||||
liveGiftModel.setPageGift(isPageGift);
|
||||
liveGiftModel.setGift_id(giftId);
|
||||
liveGiftModel.setId(giftId);
|
||||
if (!TextUtils.isEmpty(liveGiftModel.getNamingLiveuid()) &&
|
||||
!TextUtils.isEmpty(liveGiftModel.getNamingUid()) &&
|
||||
!TextUtils.equals(liveGiftModel.getNamingLiveuid(), "0") &&
|
||||
@@ -1428,7 +1433,7 @@ public class LiveGiftPopup extends AbsDialogFragment {
|
||||
Bus.get().post(event);
|
||||
}).build().show();
|
||||
|
||||
AppManager.runDebugCode(() -> {
|
||||
DebugUtils.runDebugCode(() -> {
|
||||
Log.i("gifBean", mGiftBean.toString());
|
||||
});
|
||||
} else if (code == 1001) {
|
||||
|
||||
@@ -147,7 +147,7 @@ public class LiveTaskDialog extends AbsDialogPopupWindow {
|
||||
if (task.isNew()) {
|
||||
newStarImg.setVisibility(VISIBLE);
|
||||
newStarTime.setVisibility(VISIBLE);
|
||||
newStarTime.setText(task.getEndTime());
|
||||
newStarTime.setText(WordUtil.isNewZh()?"新秀主播時效截止至 ":"The statute of limitations for new anchors expires " +task.getEndTime());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -83,6 +83,7 @@ public class LiveUserAnchorMsgPopDialog extends AbsDialogFragment {
|
||||
mIndicator = (MagicIndicator) findViewById(R.id.indicator);
|
||||
viewPager = (ViewPager2) findViewById(R.id.viewPager);
|
||||
titleCount= (TextView) findViewById(R.id.titleCount);
|
||||
titleCount.setText(getResources().getString(R.string.message_chat_msg_all_an_a)+"(0)");
|
||||
fragmentList = new ArrayList<>();
|
||||
fragmentList.add(new MainMessageChatListFragment(AppManager.getInstance().getLiveActivity()));
|
||||
viewPager.setAdapter(new FragmentStateAdapter((FragmentActivity) AppManager.getInstance().getLiveActivity()) {
|
||||
|
||||
@@ -70,6 +70,7 @@ import com.opensource.svgaplayer.SVGAParser;
|
||||
import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.yunbao.common.bean.PrankProgressBean;
|
||||
import com.yunbao.common.fragment.GiftWallMainTab1Fragment;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
@@ -2360,7 +2361,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
|
||||
if (!IMLoginManager.get(mContext).hintChat()) {
|
||||
msgLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
AppManager.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
|
||||
DebugUtils.runDebugCode(() -> msgLayout.setVisibility(View.GONE));
|
||||
if (d_pk_view != null) {
|
||||
d_pk_view.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.lzf.easyfloat.permission.PermissionUtils;
|
||||
import com.lzf.easyfloat.utils.LifecycleUtils;
|
||||
import com.yunbao.common.event.LiveMsgWindowsCloseEvent;
|
||||
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
|
||||
import com.yunbao.common.utils.DebugUtils;
|
||||
import com.yunbao.common.utils.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
@@ -287,7 +288,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
liveImDeletUtil = new LiveImDeletUtil();
|
||||
portraitLiveManager = this;
|
||||
ininView();
|
||||
AppManager.runDebugCode(() -> waitShowTopBannerTime = 1000);
|
||||
DebugUtils.runDebugCode(() -> waitShowTopBannerTime = 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -875,7 +876,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
|
||||
}
|
||||
}
|
||||
//liveHandler.postDelayed(loadTimeoutRunnableGone, 15_000);
|
||||
AppManager.runDebugCode(() -> {
|
||||
DebugUtils.runDebugCode(() -> {
|
||||
liveHandler.postDelayed(loadTimeoutRunnableGone, 1_000);
|
||||
});
|
||||
liveHandler.postDelayed(loadTimeoutRunnableGone, 4_000);
|
||||
|
||||
@@ -36,9 +36,9 @@
|
||||
android:textSize="16sp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.1"
|
||||
android:layout_weight="1"
|
||||
android:gravity="end|center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -46,12 +46,15 @@
|
||||
android:id="@+id/live_data_img"
|
||||
android:layout_width="13dp"
|
||||
android:layout_height="13dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
tools:srcCompat="@mipmap/icon_free_pk_waring" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:textSize="14dp"
|
||||
android:text="@string/live_data_msg2"
|
||||
android:textColor="#595959" />
|
||||
</LinearLayout>
|
||||
|
||||