From af6398354cabb3ab37bfcdf392ef243a839866c0 Mon Sep 17 00:00:00 2001 From: gongduoxiang Date: Tue, 6 Aug 2024 10:28:19 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E8=B0=B7=E6=AD=8C=E6=94=AF=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunbao/common/http/CommonHttpConsts.java | 2 +- .../yunbao/common/http/CommonHttpUtil.java | 7 +- .../yunbao/common/pay/google/GooglePlay.java | 297 ++++++++++++++++++ config.gradle | 6 +- .../yunbao/main/activity/GoogleFragment.java | 64 ++-- .../main/activity/MyWalletActivity.java | 63 +--- 6 files changed, 332 insertions(+), 107 deletions(-) create mode 100644 common/src/main/java/com/yunbao/common/pay/google/GooglePlay.java diff --git a/common/src/main/java/com/yunbao/common/http/CommonHttpConsts.java b/common/src/main/java/com/yunbao/common/http/CommonHttpConsts.java index 396a8f719..5e650eaf7 100644 --- a/common/src/main/java/com/yunbao/common/http/CommonHttpConsts.java +++ b/common/src/main/java/com/yunbao/common/http/CommonHttpConsts.java @@ -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"; diff --git a/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java b/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java index 348558d19..0f5a98c86 100644 --- a/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java +++ b/common/src/main/java/com/yunbao/common/http/CommonHttpUtil.java @@ -419,13 +419,10 @@ public class CommonHttpUtil { .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("productId", productId) .params("package_name", "com.pandora.sy") .execute(callback); } diff --git a/common/src/main/java/com/yunbao/common/pay/google/GooglePlay.java b/common/src/main/java/com/yunbao/common/pay/google/GooglePlay.java new file mode 100644 index 000000000..db5fec7e9 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/pay/google/GooglePlay.java @@ -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 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 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 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 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 purchases); + + void onPayFailed(String msg); + } + + public static class GooglePlayHelper { + static GooglePlay googlePlay = new GooglePlay(); + } + + public static GooglePlay getInstance() { + return GooglePlayHelper.googlePlay; + } +} diff --git a/config.gradle b/config.gradle index 00d103a4d..dcffef54a 100644 --- a/config.gradle +++ b/config.gradle @@ -10,9 +10,9 @@ ext { ] manifestPlaceholders = [ //正式、 - serverHost : "https://napi.yaoulive.com", +// serverHost : "https://napi.yaoulive.com", // 测试 -// serverHost : " https://ceshi.yaoulive.com", + serverHost : " https://ceshi.yaoulive.com", buildTime : new Date().format("MM-dd HH:mm", TimeZone.getTimeZone("GMT+8")), //百度语音识别 @@ -23,7 +23,7 @@ ext { // true表示谷歌支付 false // isGooglePlay : false, // true表示谷歌支付 false 0 链接包 1 谷歌包 2华为包 - isGooglePlay : 0, + isGooglePlay : 1, //是否上报异常日志 isUploadLog : true, diff --git a/main/src/main/java/com/yunbao/main/activity/GoogleFragment.java b/main/src/main/java/com/yunbao/main/activity/GoogleFragment.java index 3c2ddda23..c0519899e 100644 --- a/main/src/main/java/com/yunbao/main/activity/GoogleFragment.java +++ b/main/src/main/java/com/yunbao/main/activity/GoogleFragment.java @@ -1,8 +1,6 @@ package com.yunbao.main.activity; -import static com.yunbao.main.activity.MyWalletActivity.dis; - import android.annotation.SuppressLint; import android.os.Bundle; import android.os.Handler; @@ -16,15 +14,17 @@ import android.webkit.WebView; import androidx.fragment.app.Fragment; -import com.facebook.appevents.AppEventsConstants; +import com.android.billingclient.api.Purchase; import com.yunbao.common.http.CommonHttpUtil; import com.yunbao.common.http.HttpCallback; -import com.yunbao.common.utils.GoogleUtils; +import com.yunbao.common.pay.google.GooglePlay; import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; import com.yunbao.main.R; import com.yunbao.main.views.TestWebViewClient; +import java.util.List; + @SuppressLint("ValidFragment") public class GoogleFragment extends Fragment { @@ -38,7 +38,7 @@ public class GoogleFragment extends Fragment { private String url; String adid = null; - GoogleUtils googleUtils; + private GooglePlay googlePlay; boolean isGoogleService = true; @@ -62,17 +62,16 @@ public class GoogleFragment extends Fragment { Log.e("ttt", url); rlWebview.loadUrl(url); - googleUtils = new GoogleUtils(getActivity()); + googlePlay = GooglePlay.getInstance(); // 验证是否已在此设备上安装并启用Google Play服务,以及此设备上安装的旧版本是否为此客户端所需的版本 - if (googleUtils.getGoogleService()) { + if (googlePlay.getGoogleService()) { isGoogleService = true; // 支持Google服务 - initGooglePay(); new Thread() { @Override public void run() { - adid = googleUtils.getAdid(); + adid = googlePlay.getAdId(); } }.start(); } @@ -100,11 +99,6 @@ public class GoogleFragment extends Fragment { String TAG = "GooglePay"; - private void initGooglePay() { - googleUtils = new GoogleUtils(getActivity()); - googleUtils.initGooglePay(); - } - private Handler payHandler = new Handler(); //js调用原生 @@ -117,51 +111,31 @@ public class GoogleFragment extends Fragment { mProductId = ProductId; mOrderid = OrderNumber; MoneyUsds = MoneyUsd; - - googleUtils.setBillingListener(new GoogleUtils.GoogleBillingListener() { + googlePlay.setBillingListener(new GooglePlay.GoogleBillingListener() { @Override - public void onPaySuccess(String token, String orderId) { - payHandler.post(new Runnable() { - @Override - public void run() { - CommonHttpUtil.notifyGoogle(token, orderId, mProductId, mOrderid, adid, new HttpCallback() { + public void onPaySuccess(List purchases) { + Log.i("mLog", "调用谷歌支付成功了 " + purchases.toString()); + CommonHttpUtil.notifyGoogle(purchases.get(0).getPurchaseToken(), + purchases.get(0).getProducts().get(0), new HttpCallback() { @Override public void onSuccess(int code, String msg, String[] info) { if (code == 0) { - Bundle params = new Bundle(); - params.putString("currency", "HKD"); - params.putString("money", MoneyUsds); - Bundle fb_params = new Bundle(); - fb_params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "HKD"); - fb_params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, mProductId); - //Google官方充值通知 - Bundle google_params = new Bundle(); - google_params.putString("currency", "HKD"); - google_params.putString("product_id", mProductId); - google_params.putString("transaction_id", mOrderid); - google_params.putString("value", MoneyUsds); - google_params.putString("price", MoneyUsds); - google_params.putString("quantity", "1"); - dis(); + googlePlay.consume(purchases); + getActivity().finish(); ToastUtil.show(getString(R.string.pay_suc)); + } else { + ToastUtil.show(msg); } } }); - } - }); } @Override public void onPayFailed(String msg) { - payHandler.post(new Runnable() { - @Override - public void run() { - ToastUtil.show(msg); - } - }); + ToastUtil.show(msg); } }); - googleUtils.purchase(mProductId); + googlePlay.purchase(getActivity(), mOrderid, mProductId); } lastClickTime = currentTime; diff --git a/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java b/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java index fef7cdf9b..28851e4f5 100644 --- a/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java @@ -18,17 +18,18 @@ import androidx.fragment.app.FragmentPagerAdapter; import androidx.viewpager.widget.ViewPager; import com.alibaba.android.arouter.facade.annotation.Route; -import com.yunbao.common.utils.MobclickAgent; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.activity.AbsActivity; import com.yunbao.common.fragment.LoadingDialog; import com.yunbao.common.http.CommonHttpUtil; import com.yunbao.common.http.HttpCallback; import com.yunbao.common.manager.IMLoginManager; +import com.yunbao.common.pay.google.GooglePlay; import com.yunbao.common.pay.hw.HwBuilder; import com.yunbao.common.pay.samsung.SamsungUtil; import com.yunbao.common.utils.GoogleUtils; import com.yunbao.common.utils.L; +import com.yunbao.common.utils.MobclickAgent; import com.yunbao.common.utils.RouteUtil; import com.yunbao.common.utils.ToastUtil; import com.yunbao.main.R; @@ -62,7 +63,7 @@ public class MyWalletActivity extends AbsActivity { public static String orderId; HwBuilder hwBuilder; - GoogleUtils googleUtils; + private GooglePlay googlePlay; LoadingDialog loadingDialog; SamsungUtil samsungUtil; @@ -78,17 +79,15 @@ public class MyWalletActivity extends AbsActivity { mw = MyWalletActivity.this; setTitle(mContext.getString(R.string.wallet)); - if (CommonAppConfig.IS_GOOGLE_PLAY == 1) { - googleUtils = new GoogleUtils(mContext); - googleUtils.initGooglePay(); - } else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) { + if (CommonAppConfig.IS_GOOGLE_PLAY == 2) { hwBuilder = new HwBuilder(MyWalletActivity.this); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) { samsungUtil = SamsungUtil.newInstance(mContext); samsungUtil.init(); - }else{ - googleUtils = new GoogleUtils(mContext); - googleUtils.initGooglePay(); + } else { + googlePlay = GooglePlay.getInstance(); + //消耗所有商品 + googlePlay.consumeAll(); } @@ -104,50 +103,8 @@ public class MyWalletActivity extends AbsActivity { loadingDialog.setShowText(getString(R.string.order_query)); if (CommonAppConfig.IS_GOOGLE_PLAY == 1) { - googleUtils.setQueryPurchaseListener(mContext, new GoogleUtils.QueryPurchasesListener() { - @Override - public void onResult(JSONObject obj) { - try { - int code = obj.getInt("querySize"); - if (code == 0) { - payHandler.post(runnable1); - payHandler.postDelayed(runnable2, 1000); - } else { - JSONArray tokenList = obj.getJSONArray("tokenList"); - JSONArray orderList = obj.getJSONArray("orderList"); - String tradeNo = obj.getString("tradeNo"); - - for (int i = 0; i < tokenList.length(); i++) { - int finalI = i; - payHandler.post(new Runnable() { - @Override - public void run() { - //谷歌掉单处理 - try { - CommonHttpUtil.Google_sec_pay(tokenList.getString(finalI), orderList.getString(finalI), tradeNo, new HttpCallback() { - @Override - public void onSuccess(int code, String msg, String[] info) { - if (finalI == tokenList.length() - 1) { - loadingDialog.setShowText(getString(R.string.order_query_success)); - loadingDialog.dismiss(); - } - ToastUtil.show("充值已到账"); - finish(); - } - }); - } catch (JSONException e) { - throw new RuntimeException(e); - } - } - }); - } - } - } catch (JSONException e) { - throw new RuntimeException(e); - } - } - }); - googleUtils.queryPurchasesAsync(); + //消耗所有商品 + googlePlay.consumeAll(); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) { hwBuilder.consume(); payHandler.post(runnable1); From 7fb4a104259068433d753418fbe579d88f7c4719 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Tue, 27 Aug 2024 14:01:00 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 151 +++++++++++++++-- .../fragment/MainMessageChatListFragment.java | 8 + .../views/MsgChatTypeSelectPoPupView.java | 107 ++++++++++++ common/src/main/res/drawable/green_dot.xml | 11 ++ common/src/main/res/drawable/red_dot.xml | 10 ++ common/src/main/res/drawable/shape_white.xml | 6 + .../res/layout/rc_conversation_type_item.xml | 29 ++++ .../res/layout/rc_conversationlist_item.xml | 2 +- .../res/layout/rc_conversationlist_item2.xml | 156 ++++++++++++++++++ .../res/layout/view_msg_select_chat_type.xml | 128 ++++++++++++++ .../res/mipmap-mdpi/ic_chat_type_select.png | Bin 0 -> 642 bytes .../res/mipmap-mdpi/ic_chat_type_unselect.png | Bin 0 -> 542 bytes .../res/mipmap-xxhdpi/ic_chat_type_select.png | Bin 0 -> 2654 bytes .../mipmap-xxhdpi/ic_chat_type_unselect.png | Bin 0 -> 2179 bytes .../mipmap-xxxhdpi/ic_chat_type_select.png | Bin 0 -> 2055 bytes .../mipmap-xxxhdpi/ic_chat_type_unselect.png | Bin 0 -> 1713 bytes common/src/main/res/values-en-rUS/strings.xml | 7 + common/src/main/res/values-zh/strings.xml | 8 +- common/src/main/res/values/strings.xml | 8 +- .../main/views/MainMessageViewHolder.java | 59 ++++++- .../src/main/res/layout/view_main_message.xml | 73 ++++++-- .../main/res/mipmap-mdpi/ic_expend_down.png | Bin 0 -> 377 bytes .../src/main/res/mipmap-mdpi/ic_expend_up.png | Bin 0 -> 366 bytes .../main/res/mipmap-xxhdpi/ic_expend_down.png | Bin 0 -> 1009 bytes .../main/res/mipmap-xxhdpi/ic_expend_up.png | Bin 0 -> 950 bytes .../res/mipmap-xxxhdpi/ic_expend_down.png | Bin 0 -> 455 bytes .../main/res/mipmap-xxxhdpi/ic_expend_up.png | Bin 0 -> 433 bytes 27 files changed, 721 insertions(+), 42 deletions(-) create mode 100644 common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java create mode 100644 common/src/main/res/drawable/green_dot.xml create mode 100644 common/src/main/res/drawable/red_dot.xml create mode 100644 common/src/main/res/drawable/shape_white.xml create mode 100644 common/src/main/res/layout/rc_conversation_type_item.xml create mode 100644 common/src/main/res/layout/rc_conversationlist_item2.xml create mode 100644 common/src/main/res/layout/view_msg_select_chat_type.xml create mode 100644 common/src/main/res/mipmap-mdpi/ic_chat_type_select.png create mode 100644 common/src/main/res/mipmap-mdpi/ic_chat_type_unselect.png create mode 100644 common/src/main/res/mipmap-xxhdpi/ic_chat_type_select.png create mode 100644 common/src/main/res/mipmap-xxhdpi/ic_chat_type_unselect.png create mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_chat_type_select.png create mode 100644 common/src/main/res/mipmap-xxxhdpi/ic_chat_type_unselect.png create mode 100644 main/src/main/res/mipmap-mdpi/ic_expend_down.png create mode 100644 main/src/main/res/mipmap-mdpi/ic_expend_up.png create mode 100644 main/src/main/res/mipmap-xxhdpi/ic_expend_down.png create mode 100644 main/src/main/res/mipmap-xxhdpi/ic_expend_up.png create mode 100644 main/src/main/res/mipmap-xxxhdpi/ic_expend_down.png create mode 100644 main/src/main/res/mipmap-xxxhdpi/ic_expend_up.png diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 50a222466..a639fd5ea 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -12,6 +12,7 @@ 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.yunbao.common.R; @@ -27,6 +28,8 @@ 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; @@ -52,18 +55,80 @@ public class MainConversationListAdapter extends ConversationListAdapter { public static final int TYPE_SEARCH_USER = 510; public static final int TYPE_SEARCH_CHAT = 520; private List srcList; + private List allDataList; private Context mContext; private boolean isChat = true; private OnRecyclerListRefreshListener> onRefreshListener; private Map 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) { + this.mFilter = mFilter; + super.setDataCollection(FilterData(mFilter, allDataList)); + } + + private List FilterData(int filterType, List data){ + List showData= new ArrayList<>();; + 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.getUnreadMessageCount() <= 0) { + showData.add(conversation); + } + } + break; + case FILTER_UNREAD: + for (BaseUiConversation conversation : data) { + if (conversation.mCore.getUnreadMessageCount() > 0) { + showData.add(conversation); + } + } + break; + } + Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size()); + return showData; + } + + + public MainConversationListAdapter(Context mContext) { this.mContext = mContext; } public void setSrcList(List srcList) { - this.srcList = srcList; - notifyDataSetChanged(); + this.srcList = srcList; + super.setDataCollection(FilterData(mFilter, allDataList)); + // notifyDataSetChanged(); } public void setOnRefreshListener(OnRecyclerListRefreshListener> onRefreshListener) { @@ -87,7 +152,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); @@ -126,13 +191,62 @@ 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)); + 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_count, false); + 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)); + } + + 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()); @@ -171,6 +285,7 @@ public class MainConversationListAdapter extends ConversationListAdapter { } } + private void bindEmpty(ViewHolder holder, int position) { if (isChat) { ViewUtils.findViewById(holder.itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_message_not_chat_list); @@ -183,12 +298,13 @@ 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); } } private int listHashCode = 0; + @Override public synchronized void setDataCollection(List data) { if (data.hashCode() == listHashCode) return; @@ -236,8 +352,9 @@ public class MainConversationListAdapter extends ConversationListAdapter { } tmp.add(item); } - // ToastUtil.showDebug("消息数:"+data.size()); - super.setDataCollection(tmp); + allDataList= tmp; + List showData= FilterData(mFilter,tmp); + super.setDataCollection(showData); } private List tmpUids = new ArrayList<>(); @@ -349,15 +466,15 @@ 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 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{ + 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); @@ -375,4 +492,6 @@ public class MainConversationListAdapter extends ConversationListAdapter { }); } + + } diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java index e479828d2..966eca9b0 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java @@ -165,6 +165,14 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment } + public int getFilter() { + return mAdapter.getFilter(); + } + + public void setFilter(int mFilter) { + mAdapter.setFilter(mFilter); + } + @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { diff --git a/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java new file mode 100644 index 000000000..183bc5b84 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java @@ -0,0 +1,107 @@ +package com.yunbao.common.views; + +import static io.rong.imlib.publicservice.model.PublicServiceMenu.PublicServiceMenuItemType.View; + +import android.content.Context; +import android.view.View; +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.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() { + 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); + }else if (v.getId()==R.id.chatTypeImg2){ + mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE); + }else if (v.getId()==R.id.chatTypeImg3){ + mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE); + }else if (v.getId()==R.id.chatTypeImg4){ + mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ); + }else if (v.getId()==R.id.chatTypeImg5){ + mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD); + } + dismiss(); + } + + + public interface ResultCallBack { + void callBack(int i); + } +} diff --git a/common/src/main/res/drawable/green_dot.xml b/common/src/main/res/drawable/green_dot.xml new file mode 100644 index 000000000..46fab62ef --- /dev/null +++ b/common/src/main/res/drawable/green_dot.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/common/src/main/res/drawable/red_dot.xml b/common/src/main/res/drawable/red_dot.xml new file mode 100644 index 000000000..39d9237fe --- /dev/null +++ b/common/src/main/res/drawable/red_dot.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/common/src/main/res/drawable/shape_white.xml b/common/src/main/res/drawable/shape_white.xml new file mode 100644 index 000000000..a9043c57d --- /dev/null +++ b/common/src/main/res/drawable/shape_white.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/rc_conversation_type_item.xml b/common/src/main/res/layout/rc_conversation_type_item.xml new file mode 100644 index 000000000..5b7fe7538 --- /dev/null +++ b/common/src/main/res/layout/rc_conversation_type_item.xml @@ -0,0 +1,29 @@ + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/rc_conversationlist_item.xml b/common/src/main/res/layout/rc_conversationlist_item.xml index 30703b211..da3a74afc 100644 --- a/common/src/main/res/layout/rc_conversationlist_item.xml +++ b/common/src/main/res/layout/rc_conversationlist_item.xml @@ -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" /> diff --git a/common/src/main/res/layout/rc_conversationlist_item2.xml b/common/src/main/res/layout/rc_conversationlist_item2.xml new file mode 100644 index 000000000..188c1721b --- /dev/null +++ b/common/src/main/res/layout/rc_conversationlist_item2.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/view_msg_select_chat_type.xml b/common/src/main/res/layout/view_msg_select_chat_type.xml new file mode 100644 index 000000000..2ae32ab29 --- /dev/null +++ b/common/src/main/res/layout/view_msg_select_chat_type.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/src/main/res/mipmap-mdpi/ic_chat_type_select.png b/common/src/main/res/mipmap-mdpi/ic_chat_type_select.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5330bc3f344f1907cfcdfb74ff714b275adaa4 GIT binary patch literal 642 zcmV-|0)737P)Px%JV``BR5(wKlU+ztVHkj)_e|SQTOmbYkP#JuSA`Hne^Tit3b~-Wf(RP@3hvCV zz0Mt_q+)gx)LqaFEImrJey#$cix9*jGAf87NZp*ay>)i1L~QlleSgpQe((Fd!jhp4 z9oz8~&!8LtHkP)9H$aAhaa~5bUM#*Mzb0DW>BIZ&3K-3xmoXUN)6@jHuR?Xr7Aj}~ zIR`q7F?U`Dd-EA8L|J=d23|n>RoM z*xknkirQ$lBD90-L{x!M3eqhj$+Ut&*t`ugEp{>{dMLgFkI|1(E5pedjU>8&#Bvb; zNf}CZxRC_LDN3_w#7v>Q7Tda{4T&fo?*8SnyIj<$3|svgHZLMojHw|SrC7D0JCBz{aP2RWNm211$>@bDWiS! z8cyU8d}RS>PKK<2)*fBKhMH*yFoD5g8MMYUY(7S0-#-A)WXRfE`a&gX(MB_cEF{q> zpCRe8fI{JjjP#`cB+*gV(EH@G+Z=)ZyNtfTOA6AuAX2;!B#3PtD~Z(59>rtCfjU$K z^f^jTseC1o;k`(%h*EeLI>J|MrU&FO>R&9wNnlG+t=`e*yrqijM%QQji@ cXt{R&0q&go7V2N4V*mgE07*qoM6N<$fR literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-mdpi/ic_chat_type_unselect.png b/common/src/main/res/mipmap-mdpi/ic_chat_type_unselect.png new file mode 100644 index 0000000000000000000000000000000000000000..8f04b106f2cb4c44537e7ee50def9c9d6586f2f8 GIT binary patch literal 542 zcmV+(0^$9MP)Px$*hxe|R5(walfR1-K^(>3H=v$z14)rW8jZ99Rez7jf`w#}Q^djxq}dd^`Ee$BGT~N_a3`0WZst4h!@S`=!Q4_x ztpKnbH z2LL{%QmKdee14?0GeEQ1JQarF7RenEDOr{k&c96WE0v0o&1PKy=b|XOQ7jgRGl1uL zFGVETZny6`jx#+-9G^LklgQdn6*u;(4AX-L@>Ny$C=lWs-cS0lU8M8;;}bE&^~}_e46K zj%I*fuXm|ikX7iA5p z)oM%0Wbzq+>pJ$jOaQ(GLBLEVb4f(jNN$j9_WS(}-Gjen+V4?EdpsVmi^x>~7es^r geom*;)Px<7)eAyRA@upT6=I*)fxYN=iYq)31X49;`rzk+sa_I!jwmfMia6d9!?oxI&Cej z(5bDqG|BGbgRv}Cv2HdA+G-t3TU)g=EmS%ZlHKr_paQ{4EtLVabc(jnKhT09$Yyu% z`N}!>?wW9Sm&7Fe(KC~OviF?x{m%KGzwZ!+IJhP}27YfD(y1wc2mqK2U=o0d0Lq=^ zPXRav!dsBk1<)QCdxZ-emH-%F?!Ppt ztq2eTAOpzu_5#=ga1zr09CbYOua6?jpaF2j%5s#;#{tX-=wc<4Ei3^_NKyi-KP66X z`5Yhyq;x>4pD8!@xCTPvUTTm1doVx-41lM8$Ae4CSHLjh>VWN&*3w%5PJ;0^hZ=sInL8$-->L-DWxd19bv{0|9ZpSczY-TSk4%4=# zm(K^{yZ|^5z8!?01LV`Xtv9mvgXnwkl_n4`S_<`Sx0d$;LmHnqLwC2gAz&{K8Rir7mXx5u-#bIuxOc&E-HS1fmB4^6SG=Lx^S67W;Lv zIYj|*ZDbk9_$6f4Ha02u0ivFgjW3Oa@VPa)I`k!&XatEF+BR&5P!vQ#033)c0`W$@ zsO>4e2u zTUwXv#=$El17Z#gnh)mB!}NOfoJ?;wNW1~aT@dtp^m-1{_J>Oz23J;^@J~C?2ShKj zTz#%#_XEI{Q9pb=ogkWS3oE<8avmjH{##sc>n;V%Z-ZzFOwYC22(_=*zSf?W3t~zg zbda;&0q9u(zoPcWe-vH2>aOuHMn$Qm*=zf4EI2#N?!*mQe1|jaDw%9Yp52$`N$VdVhrDKJ1ugO@G3jkN&eFe`h&LBnn4?jFuG4Xto_b`{gAlsFr>0l={T7rTiO_}(Dk!=J2UkWxSgmhY zfq0+C(yo}wukx`T91L#&iN&_Z$-Y8~CP$6>ug6Q47&vw1CJ1AJ4r;?ObQHEWV@BDR zDH>HF-VGuU`YVKSovlgoSxUsekq2O(zI+wn2^xT)$+RVQsPJh-nju8}unC{rM1znm zlxS=yyl;3W40AUu?MqHTST|8y%j?<(xHfz@7(a2m&htpU`*rGk+LeoNZDc77&u@mT zHpOmDsZ%=rL+Xe>cJ3#H_SOYkK-t27ZTzAra3*mhrx&hjIov9`cgzkgsdB_Pq1&xU3hNlBY z*RUIINn1!&P)GA_7l2@>8D!MkS#h?JI2e8bLM+h#uw*qQV%rN&5}taU*j`i2%8Brr zM0hhG%Cm98a)3#c3k->1;Ea@OdqKA zp~3(@oG@Y{yB02Wpz~L;<8<(U0pR>96b$zQUSHe!B-5{<5eQqwaq4r-66jW`f$g<;GClpD1c7h(aprXdQC zceRs9jXVP75oM-@5>2kejsx}8FnwEf+=A7rY#;_7okfZGo`OC&5N?5C)D3%PstlKT9ks{m3+}7jr{seU zm4Ezf4LwzG*B4w!GZH<28s4H_Gt-+<{`SJ6%tURt3uM@F zL0bKbdVLG3ad8p4wSTqw$Tiefn8el0ME8|(c)WE(Rwt!4R(c)U%R+>rj6?`R^(9o= zCR3pF)ztn|-3aMVY$my6q(Dl4NJk|VSpwM&O7BhH^(9IV4)&Dcl!?2 zxeb8dR`2v3lxTV?_j`W;stYq=YyzNL^asrQko5#g@tCZOeQP;Dw?UYf>oaln$(;6+ z?vDu|lRj{^8TbdlyPlG3UB!D|cun$(Er6I||4()yRep2d?v0z=)$}$g#12EpZz5GT zg*v09$z4@9`!bUt`72;i0m#q6;~T5@&8E`;{SDG;)oemq9xPPv_O&_P(wZ>#^*-co z8d+;`W|bm&hcha0W#|(4>E%ActL$_Mbu`(Of1lyLfm}yG zb!UXRKHuPAbRjDv1L<201q=rwvjN!xA*R~?Ua221qc(SMz-7eeZtS#})J^0%l8UWc zRgCl%i+P? z04tVFHOmDpg5jykH^A+F@eX9MdLZh0-ZpFAuyrod{mrx8`A0#9PXn+GTs4kQ0(=7C z&0uPSnLSEd*7akzSF(P%XSbU4Tz$tUz}$)+X6P)Px-JxN4CRA@upT5D_+*A+fz?(EDy*cz8str8_orKA-WRnj7r5QkC%QQ8Don6NY6 zEd?3>a9=`70_r0_FlsBc2?aIkBeWoDns}KR=t!fLcJAZ*=H7emx!*SkbG!~7Jea7dsaa4c6qb0NcbB3l zbpUW909*qA$)Ncm0QeUGyd$OT1AtSA_!a;R8-_7F7YI1p%3WPuONzzfy@*&304w70 zc$9MvLJ0qsQu;Sti0I#nqWHI}s*um;T_Pf-Jf>;dejPe=XfYyQ3jlW`Vgr$vQZ7V9 zM(xq4aL!%E*w(?p!Gq1s&7rQp!#t#8c^X zx}qsy+xCr8%DVyJi;S^G8Z~+;nx=v4y037~w`DS!7iS_dBLT;8nx&M#LPVY36anX) zzwUY7HkSPJBQte!x#tHC9EjG`)O?b2{#(Y_=SxPmAf?Qhrg`{s^)E}nw(S-G z_|3(2=uekCB0iK#rP}5Kdb+xnWj%n1KSac6NdVZAN~I1=S7%xRot>RqR8`$iQ-;6` zAx?XqcV9Z4eqlbqhi!Irblk40>cfhn+!_W4Ddn^zrX*ll7KO*oFp>x%-p=Rq^_w?u zJ~yA>!?tbP{xAT%tSHK-gK#W`5G_qjO_z+sB?K(Xsz<~V0HD#rBJlnF{Y%=~+ITg< zhkdlQwW)P=b#D?03cmnA`^Fl>FeWVQ2?S_CB@&5e5ph`%ziHRJ$1se4R}*~LS9^Q= zqF5|;3=x+Gcuouq41B4zwY3_GrmSz1(Rn?mb59j&J4N*8t$7 zLBdtHe*JpN7O$Agw(aGbroCJ!6bRD*0IW0&;|+fV9LM>Nl=8>HX4RF;<-S^OE>bOq zJv}|~d_MmqBCe)B$0AdkX_`CHw(SJ~(2IyGDKV2$-fx=bBh>;{Nk5&PonIG1{G1X% zA;ioyXBk0auHQc4{W `qtg*52uaz`ht+Lr{_BzJc9|2$yMM+)PZ$QhkRwWXN z6C)#jPWG;07&lc5&}{m#EbFwQD4&bPVlXr`w1x{b-zz95}{n5NK^s;V|n^eGmLYf`Dy@oIsYO+S>U>AFs55Zcs^5`jNczCj0xk&%(Q zrlzJVDtt~RnayUeNhA_yD4bHBMg#^CF&T|Up`oE+#ski5-r5IUr>Cb!j*gDf`DBO) z_|ic<9*4DS*IpF_dV70i5Om=Gg1}Wjg~k_gE|PW*VWavm@(E*N8NA{ z_o}LT4~0?JbvMkU0?ZY_Ta;hU5>XY5K>vEA_H%`!6IOQ`F4ma(7^NclXC!*L@EFq5yEt^SsYisGZcv(|ojApepIdvaGF$xI55Op9O%6JFjI~ zJH{5VueM1kkH=!Mugq04tOQs&Wdp^e0}&eot?0X^Y5v3~VB7X*NLdDe+8`&oEtAQd zDyQLUm7(w{gy;`6qW3+|TS`-XJaw=v>vyWEZX`e?-kPR)OSQn2(~sjgeT*?*Xz)Dm zu~aJc-$On9+1=fp^gM5nTo%f;g%CUEOT;Y)aA_G5eN|Q66*xbmg+k$`&6<#MY^6_ZQSXWO=K2LNL1D|G)WaW{CGZl$C{0Cx{*&a+XqvXK#Ng=T zoNu3RvDa~&6;jGQilQtH4GzxvmZ`h}B2$jVw9hYi(PAR!@WJ^KeQn#`2>{y>F&0=% z(;6F7F5;;oLN=S-z!-ZR5w+0d6GFVg7;C<8;lkhMDnXKDI6ORj3uEk;jIoUrKbGnve^{@9Eo5E2S}t6jRTFC#S|*e7U2x`YtVA>vWPFy5UhB$hrua^%Q$g+hVM z@_QqZ$m-Al5By?sh;~eNW2S1q>_hy?lP9BR&z{|^D9X#N^0)Qt->n|5{X}MVw2pb9H`2|wS#Q?B8 z*fl>j#pgC>NIVuoyhUHANGabO`ADjP)Px+!AV3xRCr$PTg`GCMG*daWdl`kaGn5*7eMBmD&!PIy5T%Q9B#P~Cz7kU#pXms zGEsPeC@(qZhwYBV$Y+u50&+11MBL-yh-Yp1vSoBo^b9>R(r zuI_CD>t)cW1O#7V#G4@60C+R{Y3hNwk3jxC$0+C`2)Y#h+FK=yvL^oqh}C+%w2`?&$Y<-HAjw)SYei+gH^SMdli3I{;&cV3#YGyvBlxCW*$ z6`~ff_G(!mmI8n)wMS#t4ia}`DCya^0mS{aniEa-sw1>Oz1)M@pzFetU_lR_B*b^y9>ry+n? z-_D{9sR2mbb+y|<=vG#tZ9*yy3CaLH1xSk^02l(~Lpp7?(tw=`0It-ZgRmF-zzPL7 z3B%R;0l@c-KmZ36HV=J4@CJaZ`!50BjSEk2Kv$1-oAzZO>w8KgL_{!|2DK?{Jn*6I z1prs-Z$T(U2#Q??rB*o~rqaB_l_z`BEaIWJLt%5IV!QyJ!>Ti*kQ+t;n~E+DNSFj{old~9291weXxnQSaRBHUyXUZ%$) zwg)1{qXZsp%+ywyQ*U+-0EGIcPJ0tTcx;OfMgU}-=c~6-yGk$oa#`Z^46uHfCcYa% z5FwJ*woG&^0Msrb_9VmHaLZTirQn~gJvD|*mo6KB=QiLE1b@F@LNGeh9HY@G#sJ{z z{w}~G%bPz8s|xA-dZowNKuDGL%IHABbC(}?oCV?%B98N8= zZo87geklq6c@A9C;+ic&(H2Bw*K0Ec*zL~Mi=h~+pct5`U5U#z6^&HHfND- z27uY|MPIhDZ%mYOk~M*hSE8fRW{7aE9!(1t0MKopdlViOU25vN- znnRpv!2$r9=LheO0Z2S&8y%(#vAloxaL^_#pws3p!HNVxCMm#Kl(#`KDeRdYX5P|y z&@(u;SY$G5!L~@YCIHmh(NmS%^K(^Sf#?ODH1?(dXo(MY z=(KrkH9b`kx>%JwndrV7+)9cHaV@7Fg^eOj%3D!koWyR>?$6PRgf~Ak7!--`)^-q( zh~d-68D6-mJIqXbmhU1)f9lxmnp+osZlTah4=Cm#C$^D5#NaUVm1PNP(y>{2uhd!~ z5|wQA2w7v!fnD~mB^FC?oBL8nNHm1)V=`oME)=8QG~`~&&6fp-Pd(uScyYnFq?}wPtJE%6*ZW%%3_nL0 zl{Ym28emJZocnU;2I?FB5rB^-kkSdpoM!G?oSmTX>Zi@EbWTwB>Oq@PNX$~c=L-stz7jGl^aYYTDE7QS3!`~# zsxJ*k^=e8cUc#G$HV44bK}qxndU){_V43$EY42QkZOTQ?3Jhkgeyuxf&;rX~!6NUI zd4RLnAk{JgCa>+_-Qb?PIcn;5TbiTNrcGKvOe|&WV?^7&V{yqtj2Tc6`fSx zGsXDyAS`%e(NLL;!HerM)2lPWSj7-l(1)1(z^DVF^GsuMCgG(su+KQTD!}^jQBcb~ znw~-Vy_XnwUad|{=sZSc>!LWK&FbGQ5cs<%TUet%;%4SPBRBz2DX(c*I@^4{_m+CR z$Rd-i)E|v)$S^F;XA~aYagp%?K*dy(Cdgk>4KcbH^8H<^Jkf8FF}T@c_s&mW^#))9 zLUiJ4{=wc@{n}|RD)c`= zKaIm<+0v8baT4DFhClkwGCLC?U-e}Fw6`O#%?%431fxDM=ozog4cEn$xstqQD@N;? zOO7jfnRY!l0F+;lS)(YU-@mr5u~2uS-}AVgmf8o{w8MF=%~!4L@3G1l^AS8#6!4Wn zHBaOXv-D?x`9~&weCmzwDjb6Y(e_Gxi^RoqZW@rN8KXi80V%tlodJy3=P$w3Lt*$Y lxNr_!b+R}%m(Yv9{|`93Y2JEQmT>?8002ovPDHLkV1hwL$q4`e literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-xxxhdpi/ic_chat_type_unselect.png b/common/src/main/res/mipmap-xxxhdpi/ic_chat_type_unselect.png new file mode 100644 index 0000000000000000000000000000000000000000..e68a3dd8f238cb75d6d2a6c6d98efe81580352ff GIT binary patch literal 1713 zcmV;i22S~jP)Px*Ye_^wRCr$PTW?M)HxOTYBR(L6!U+n!z=K|(@Gel05^wUUqzCAO6Flev`gpwn z;RA$tQS-RKd+7z*a01d3kS~dlg6(Ef?`qevvwyN17K9~)l-(WA{5&%rk7tmT^XPOs zo8$3#mvg?2G5*f7tWC?Z%JP43_P%9V1Ix1dLWn!dvU;5JUcFw2-*X!%56Z6V?lQ*q zF~&b>1Wh_60MJDUT~w>pZqkpV-p>qx^Yioa+S=L&A;ghf;i$ROJnv(SPsZc%Us-9! z!T>Bua22cpLg?)2>FHuoAQl3EQu<-S*-6BTgI$9?-w7dlwr%$qV*{1(R;vZRVH0Cq z7DDV|jNeUEe>Xx+rW#SHR4&q}6MT~j0ARLMDxCwPhKUE0XI;+u=f}s#UZc?f5E2j2 zuGQ65m}4Iy^z$47ea6^c8f{1nK*Xwp;GajM(OFudO+rcy*|lx^qrtHbIOnIeTJ0CRIAm~xFEy^fKqxs*`p6NgugJxj?<`L zTqbqzfkuG+>r4Y<+^ke8jX3mU0YEAJ$Fi(#gKC`(%Y*ZwUEMl!kIweoFAKZ2Q2`S5ZHatt_m%D1PBAh*pALoYXP8?-YfQG zB#@_Cr=?9P1&0kj!Cyd=Q=9>SQVLrgY7&X)-xP94YbcQzk@I4>t%fg-#w!)6GS zyb;m@9{`Q*_X#0eMG#^U9y*;)c|0D2Q}-QWPz!IzEJ`PFm5BBem;c&Q-bw=kogbvPWFoP}BZnq)d z1_6UNx`dF(bM$iylxBX{b-yWj%mx4eSrvbu^lT%|1V#UbQVOSA$Yf6k$cj|w@EYyk z6IhLPIOn$jKq%eiZ4X6X%{2VUQzFRgjUE6H3V>eI{;z_hark`zKm=bTghb{E)1Y6J zZ&Z2T0C>}YHxqbsg6gf$PEjsAvUZ%BQ}1*eRP$yHLP#^~$%{Zw4g0-7XeK;_V`32) z&YA}`6o$+YXh0|p9`{l)Yvz_gPdyAl*snVd&!mo*!Cc;R$m8%sa2|+ywF!~ecplIk z`~Odf03sUO_~JOuLEfvfO!}s@-xL5%y69DzfiCM6N{UJ?0Q=D9&X>7TdCaA`^SCF3 zd=GQ^C%>p0lsp()7ESfYAH4JM0f@RmSr)Td&!eew30?Jv&i*x3D0O70Z&QuEt4s->FT1Y4Yb#>$~?- zPKlIKxYhn!sd4f>e-P+bS0p8c|EknDJut?8h+QNF2B;J%o0}WxQ<^E3hJp{rao$InUMv8Bh(QzJQIj!ty6kEasq()oWpGn@~ zOl$z)15Kpp(di?Enn@ZJqE^QA{POa0V`XIpRvm76LnZQ-WeIt^Z7hyX>;u#fO!fJm zgUq_E4d{ZZUtL|5=Lin3J#fx{%e7_31H)96t$+p2^L8{Eb<{r=A zrmnceXWF3kOBypwWCE%-v|6phIZaId>yT(=jNQS1jPamUD)kQz4ni%lvc(nz+=ez= z+qT~cA)x44C$vX9)v8BEf=TRCY6GOvVXK_SY!b3j?>-12{>Y*`Z6OT^av7toElQ}U z=WvY=ZF!jpo@y6};xOPNp!4$(A@t({&C}Dmg~ Include: 看直播%dmin Chat Records + [Read] + [Unread] + All Chats + Show Online Only + Show Offline Only + Show Read Only + Show Unread Only diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index c98de881c..ebbb31de6 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -1604,5 +1604,11 @@ 違規原因: 處罰內容: 處罰時間: - + [已讀] + [未讀] + 全部聊天 + 僅展示在線 + 僅展示離線 + 僅展示已讀 + 僅展示未讀 diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index e59cb38c7..3c55e3931 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1412,5 +1412,11 @@ Limited ride And limited avatar frame Personal hal Whole site hal Honors - + [Read] + [Unread] + All Chats + Show Online Only + Show Offline Only + Show Read Only + Show Unread Only diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index 220d8341a..1327fe7c7 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -73,6 +73,7 @@ import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.ViewPageIndicatorUtils; import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.AbsMainViewHolder; +import com.yunbao.common.views.MsgChatTypeSelectPoPupView; import com.yunbao.common.views.MsgRecommendPopupView; import com.yunbao.common.views.MsgSysDelPopupView; import com.yunbao.common.views.weight.ViewClicksAntiShake; @@ -134,12 +135,14 @@ public class MainMessageViewHolder extends AbsMainViewHolder { private ConstraintLayout tabLayout1, tabLayout2, tabLayout3; private TextView tab1, tab2, tab3; + private ImageView imageView1, imageView2, imageView3; private View tab_line1, tab_line2, tab_line3; private ImageView tab_icon; private List relativeLayouts = new ArrayList<>(); private List tabTexts = new ArrayList<>(); private List tabLine = new ArrayList<>(); + private List tabExpend = new ArrayList<>(); private LinearLayout tabLayouts; private int userType = 0; // (0)普通用户 (1)主播A (2)主播B @@ -201,6 +204,20 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tab2 = findViewById(R.id.tab2); tab3 = findViewById(R.id.tab3); + imageView1 = findViewById(R.id.expendImg1); + imageView2 = findViewById(R.id.expendImg2); + imageView3 = findViewById(R.id.expendImg3); + + imageView1.setOnClickListener(view -> { + selectChatType(view, 0); + }); + imageView2.setOnClickListener(view -> { + selectChatType(view, 1); + }); + imageView3.setOnClickListener(view -> { + selectChatType(view, 2); + }); + tab_line1 = findViewById(R.id.tab_line1); tab_line2 = findViewById(R.id.tab_line2); tab_line3 = findViewById(R.id.tab_line3); @@ -224,6 +241,25 @@ public class MainMessageViewHolder extends AbsMainViewHolder { }); } + private void selectChatType(View view, int position) { + AbsMainMessageChatListFragment fragment = fragmentList.get(position); + if (!(fragment instanceof MainMessageChatListFragment) || !(view instanceof ImageView)) { + return; + } + MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment; + ImageView expendImg = (ImageView) view; + expendImg.setImageResource(R.mipmap.ic_expend_down); + XPopup.Builder builder = new XPopup.Builder(mContext).atView(relativeLayouts.get(position)); + builder.asCustom(new MsgChatTypeSelectPoPupView(mContext, chatFragment.getFilter(), new MsgChatTypeSelectPoPupView.ResultCallBack() { + @Override + public void callBack(int i) { + chatFragment.setFilter(i); + expendImg.setImageResource(R.mipmap.ic_expend_up); + } + })).show(); + } + + private void initFragment() { final String[] titles; fragmentList = new ArrayList<>(); @@ -264,9 +300,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder { return fragmentList.get(i); } }); - if(userType==1){ + if (userType == 1) { viewPager.setCurrentItem(1); - }else{ + } else { viewPager.setCurrentItem(0); } viewPager.setUserInputEnabled(false); @@ -340,7 +376,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { @Override public void onPageSelected(int position) { super.onPageSelected(position); - if(!StringUtil.isEmpty(search.getText().toString())) { + if (!StringUtil.isEmpty(search.getText().toString())) { search.setText(""); } selectTab(position); @@ -369,6 +405,12 @@ public class MainMessageViewHolder extends AbsMainViewHolder { }); } + + private void showChatTypeSelect() { + + } + + private void initTabView() { relativeLayouts = new ArrayList<>(); tabTexts = new ArrayList<>(); @@ -382,6 +424,10 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.add(tab2); tabTexts.add(tab3); + tabExpend.add(imageView1); + tabExpend.add(imageView2); + tabExpend.add(imageView3); + tabLine.add(tab_line1); tabLine.add(tab_line2); tabLine.add(tab_line3); @@ -390,6 +436,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a)); ViewGroup.LayoutParams params = tabLayouts.getLayoutParams(); params.width = LinearLayout.LayoutParams.WRAP_CONTENT; + tabExpend.get(0).setVisibility(View.VISIBLE); tabLayouts.setLayoutParams(params); } else if (userType == 1) {//主播A tab_icon.setVisibility(View.VISIBLE); @@ -410,7 +457,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend)); relativeLayouts.get(1).setVisibility(View.VISIBLE); tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a)); + tabExpend.get(1).setVisibility(View.VISIBLE); } else { //主播B + tabExpend.get(0).setVisibility(View.VISIBLE); relativeLayouts.get(0).setVisibility(View.VISIBLE); tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all)); relativeLayouts.get(1).setVisibility(View.VISIBLE); @@ -428,9 +477,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder { } }); } - if(userType==1){ + if (userType == 1) { selectTab(1); - }else{ + } else { selectTab(0); } } diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index 47097b605..ac0ba6b34 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -312,12 +312,12 @@ android:paddingEnd="20dp"> + android:layout_weight="1" + android:visibility="gone" + tools:visibility="visible"> + + + + android:layout_weight="1" + android:visibility="gone" + tools:visibility="visible"> + + android:layout_weight="1" + android:visibility="gone" + tools:visibility="visible"> + + diff --git a/main/src/main/res/mipmap-mdpi/ic_expend_down.png b/main/src/main/res/mipmap-mdpi/ic_expend_down.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb75c255aede3aecf47dc39930c1b1f04049f70 GIT binary patch literal 377 zcmV-<0fzpGP)Px$Gf6~2R47x0(7j6oK@bJ-nb}=?!Nx`uKMITF_LeIw>=Z>oZ1hjC6-zrUB3Q)F zQbDY&Z3HbWtxUoh6G&+x*onvyFgvqyLPSOJmBah-V9;7Sj)=?5e3Yi?Bm5Io;Z$20N_w-J?p){ z27t9{wR-2ATLgezrPQGJeh(2hDwWF1C(N;PZa9RnqqSaO=Bp6GEdVSTV@5lj&SsWn zj!?lL0o6VaTAyb)0kGncX~+wP)YVSX$Yi(^Wu10tGX=Cb#`RIk^czdr08 XLdt}e{UV|;00000NkvXXu0mjf^p~J3 literal 0 HcmV?d00001 diff --git a/main/src/main/res/mipmap-mdpi/ic_expend_up.png b/main/src/main/res/mipmap-mdpi/ic_expend_up.png new file mode 100644 index 0000000000000000000000000000000000000000..983c252517081cdb84b709488ee1f19f0aae9ac4 GIT binary patch literal 366 zcmV-!0g?WRP)Px$C`m*?R47wzkUvYqP!z@QdBkWP(jj*1kf9%-ea#2xSacOf7Y7GXP(jp1TvP-t zCt4li z{P71@V5`-d^*rwYz!4GU%)IjpUJ{WH;J7G?)8TOVW%UZwTAu^hC8Bo`Su@5w*nrl0 z1;8B<&5Ou|F=npOKYwB0PMqWBDz7h+qEOqn0Yx((-$I=X`rpu>2&%^sYhGq2fKD^wpkych5!Hn M07*qoM6N<$f@e0O`Tzg` literal 0 HcmV?d00001 diff --git a/main/src/main/res/mipmap-xxhdpi/ic_expend_down.png b/main/src/main/res/mipmap-xxhdpi/ic_expend_down.png new file mode 100644 index 0000000000000000000000000000000000000000..2b70c60e5fb6f07bde97c842d2804fb85d9a4544 GIT binary patch literal 1009 zcmVX1^@s6sPETi00001b5ch_0Itp) z=>Px&t4TybR9HvVmQiRNRTPH*b9Z(v!H5Vx`B*6uUovx7m#|V+BZe(u5g)856^kP1 zgT;cPs1Owd1;M9+5UjSerTDNS^u;0#ibf$fyP4Hc5R|rxZKEJ;%qDYZ=9meyVRo}K zvzvq#=XLHq=ey_s?>|HMA3YRh&FAw^GxJ>lE-9r>-|Takrdbg}>;tf@wLZBCo6qOJ zWacsv8O*Gi`TI(x^3c@Olz%gzrIc?0cn!c%*#D;uSj(~w6440&xh}A(*7}fb+yCB3 zVAC|8H4J0g_dDmb0UMlxh~8o54kjT4eBVE{Zi~Z8DSab=Ez5evFpLj8&)d?j4f`B3 zf4mMXx>pbpnE8TIY8*i4X?B@jO8F*$w*hS72wH7=R!aE;fI>q5YA%<1YIb(Ewabhf z3hrN4=yEVSm$F zk9R~@p-{NZb=}X1=+Ry$3@!1MQfgwirfXT&8$|SOROM)GX8xOq9#BeM?0^jxl}e>O z%gf8(GIKu362rs8PtMHDtnLKbvaDx>5Xa-BXXX|W?Nv(s+2Pq})6f#m<+GMUV=IO&=Bvex>+Mx*g-n{CTv+b;r3c%F9>KqbKv=af>DgHBgU`TBaM zzZbWUng8-Uue7kR@N;xcENqy+!Pn!PAc_-!zG$^t2NxF?oqnMEklt}!cdu>Rzi)}r zv<6bjED>D*P>i!gkkKnED=(!12VbUaHandl{U2KE{ZZ-ro@~?-uIrv6qR9jgSCvwa z#U0+VtXGNX{RHWk06aWDKX1paNwh)NrMtD+Y|f-v0>IjsLA|ddvI*wC}lYU?uL^p&faR$JF1P`B` zo11&WG|i(zhz}DcdfoT^iF&O- z1Ltg7!O_vt+YQ4wpJIuPGR*AzzJE`>UjHSnZm;(Pr9oVSa=CoV($bOwaBsp-$v;|a zIjHnIN`pAyz!Ga~YgGW_J%F$IzCT&3)#kP{(H&o~UQNfw#_rHsSDAT#Jh027CVl-a_3T)B7A|00000NkvXXu0mjfSjgw- literal 0 HcmV?d00001 diff --git a/main/src/main/res/mipmap-xxhdpi/ic_expend_up.png b/main/src/main/res/mipmap-xxhdpi/ic_expend_up.png new file mode 100644 index 0000000000000000000000000000000000000000..d75a1b232125e5b2294d2ffa6fb896ecbd772c09 GIT binary patch literal 950 zcmV;n14;aeP)X1^@s6M=iWq00001b5ch_0Itp) z=>Px&a7jc#R9HvVmrsZkM-;~2d(}MyCP9J+2?_>Wg~+heU0r)n4=#$V=*5G2QoI;J z0uez-@GfX_i5>*egZSqV6~u!I8cjU7vopQhT?>*xR79enpac_9VY~aq3bQi1cJ|9;U|tf@`Y;S{ z&IWc?pq}S>LWti0VD1bM&xvR-3`5;5Y}cSt%CCs%_vv!mKuj7qjmh-fGb!{HA1LC2s?3o>%g>-4bZ`e%qZI669dyOaGLfl4X+5b;jY z0nEI{aU4j~^m@TME|p44Yqi?lc46BF^?hFnA#O19XO`d-S(fdH)Hggl{GjM&3qeiA zAtGbcHlIw=G~K1OK3;T)l=5ptJOTiYW!-Zj#HykSW(BQQt4m$iz0S-FZE~k+x-E*L z)9vJ#QfeC_o-9a%hs~VLZDevmtJUfP$8qifK-uyTOipgpT3>7ja&k=&1RD|YLO~k5 zc3roxR;xXl9`_y4=EJ#Vx*!XLk$bn++DO^)P)dEn%s&;R!QZayuAE-Mrhrx|mBr<9 z`4<5A(kA!B#KcamwXvP9hf-=MA|5SBgZs?9c5H0SsQUkS3tFjE=9kN5W5Ayl$h}2t zeXeW5mW@)%EkcN&3t;~hLM*A*>rdW-HY?6ZL0L?hd2bX&MzWp_rPLl~{t*Cd*7uZ| zmq$@_7lR=90sxE!EwRa+B+2eLjt}>Yuq99s1m634U z$yTlPnfC!X8FOG@U@HKe%7bnG)?7uU6kF`V$h|L$q95KTWQ%ou_ogq{Z%Kn!=0^Vl zfGMWltli(oaeVMYK(@jX(Se+seTY)ZbwqTf^;WYi+dkO^eMnGqmg%|>@x&xgQ~II* Y0NQ+07yERHH~;_u07*qoM6N<$fb%7 literal 0 HcmV?d00001 diff --git a/main/src/main/res/mipmap-xxxhdpi/ic_expend_down.png b/main/src/main/res/mipmap-xxxhdpi/ic_expend_down.png new file mode 100644 index 0000000000000000000000000000000000000000..3432b8e1b1848634e21a172b7da5d9ce80add403 GIT binary patch literal 455 zcmV;&0XY7NP)Px$fk{L`R9Hvl*xhY|Fc1LX3tk{2bOcL?_ofqcl}ywT+6_7Y5A_JyAbCgFsUsQ% zu<_p=Tou3YfF*Ho}lfXzz8Fxl=4Lg@c{r50QSGnufFe(N~zO-_!++V@5rIU z&wzV0U8<@&v~8<6L#32b2=VQT|BkHd`V#=&JrLH=1>lYIh%|wbVhIfar^vHosHbjL z&=}wpY3K86#JXbvjRlU73mcEiy(u&WXpFgxQb^M@Qfuwnq1ZrEfm-XstQg=7%>gQ< zl(XXD2+akK*5q_Pa)Oos7m@ZQ2WTlUh};^A0gOU!1;qkJBiDvv0+WzyL9v0!NNOkr zFbhcqr2=Lnv7wZ}A|w`+8d!`hg{}caLFPict^?1V%Px$Ye_^wR9Hvd*vnDFFc1ddl{LOo0wsvp1ppOL3k^|1sDKpU11fwH75*h~HZmEQg40@0T}$8h4~Y0tBFQ9R z4sMRA6fzn}fh&oO0#f2iA%lS&xDv=9ASaF+=>?X+aUxfNC2?HHtH3RA9LPoBmN;tU zA7BkQO5_EwCL9&=2UsJH0yzO|#^oZ#=~DJHq_cPPoEv%OslYeTQ9qAu(2X%W(RJM( z0A73_vo$U;$%6ypf59anM+Y3&wr4HL{SF~;yP^ZS>x0Lo6l=vrB>8^zkf|N#Ln7j6 bt=$~~rg`j6OjPy300000NkvXXu0mjf7=5o5 literal 0 HcmV?d00001 From 6abe02390e6d391d7147c05a0d2cbfc1c5126b68 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Tue, 27 Aug 2024 14:22:48 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=AD=9B=E9=80=89=20=E7=BB=86=E8=8A=82?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=AE=8C=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 2 ++ .../views/MsgChatTypeSelectPoPupView.java | 14 +++++---- .../res/layout/view_msg_select_chat_type.xml | 31 +++++++++++-------- .../main/views/MainMessageViewHolder.java | 6 +++- 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index a639fd5ea..008587ef0 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -75,6 +75,8 @@ public class MainConversationListAdapter extends ConversationListAdapter { } public void setFilter(int mFilter) { + if (this.mFilter == mFilter) + return; this.mFilter = mFilter; super.setDataCollection(FilterData(mFilter, allDataList)); } diff --git a/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java index 183bc5b84..4165676c4 100644 --- a/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java +++ b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java @@ -87,21 +87,23 @@ public class MsgChatTypeSelectPoPupView extends AttachPopupView implements andro @Override public void onClick(android.view.View v) { if (v.getId()==R.id.chatTypeImg1){ - mResultCallBack.callBack(MainConversationListAdapter.FILTER_ALL); + mResultCallBack.callBack(MainConversationListAdapter.FILTER_ALL,chatTypeTv1.getText().toString()); }else if (v.getId()==R.id.chatTypeImg2){ - mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE); + mResultCallBack.callBack(MainConversationListAdapter.FILTER_ONLINE,chatTypeTv2.getText().toString()); }else if (v.getId()==R.id.chatTypeImg3){ - mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE); + mResultCallBack.callBack(MainConversationListAdapter.FILTER_OFFLINE,chatTypeTv3.getText().toString()); }else if (v.getId()==R.id.chatTypeImg4){ - mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ); + mResultCallBack.callBack(MainConversationListAdapter.FILTER_READ,chatTypeTv4.getText().toString()); }else if (v.getId()==R.id.chatTypeImg5){ - mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD); + mResultCallBack.callBack(MainConversationListAdapter.FILTER_UNREAD,chatTypeTv5.getText().toString()); } dismiss(); } + + public interface ResultCallBack { - void callBack(int i); + void callBack(int i,String string); } } diff --git a/common/src/main/res/layout/view_msg_select_chat_type.xml b/common/src/main/res/layout/view_msg_select_chat_type.xml index 2ae32ab29..644c8b8cf 100644 --- a/common/src/main/res/layout/view_msg_select_chat_type.xml +++ b/common/src/main/res/layout/view_msg_select_chat_type.xml @@ -2,7 +2,7 @@ @@ -13,11 +13,12 @@ android:layout_marginStart="20dp" android:layout_marginTop="20dp" android:layout_weight="1" + android:text="@string/all_chats" android:textColor="#777777" - tools:textColor="@color/colorMainTab" + android:textSize="14sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - android:text="@string/all_chats" /> + tools:textColor="@color/colorMainTab" /> + app:layout_constraintTop_toTopOf="@+id/chatTypeTv1" + tools:src="@mipmap/ic_chat_type_select" /> + app:layout_constraintTop_toBottomOf="@+id/chatTypeTv1" /> + app:layout_constraintTop_toBottomOf="@+id/chatTypeTv2" /> + app:layout_constraintTop_toBottomOf="@+id/chatTypeTv3" /> + app:layout_constraintTop_toBottomOf="@+id/chatTypeTv4" /> Date: Tue, 27 Aug 2024 18:01:03 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=B2=E8=AF=BB?= =?UTF-8?q?=E6=9C=AA=E8=AF=BB=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91=20?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=A1=86=E5=A4=96=E9=83=A8=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E7=82=B9=E5=87=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/tmp/full-r8-config.txt | 324 +++++++++--------- .../adapter/MainConversationListAdapter.java | 36 +- .../views/MsgChatTypeSelectPoPupView.java | 73 ++-- .../res/layout/view_msg_select_chat_type.xml | 28 +- common/src/main/res/values-en-rUS/strings.xml | 8 +- common/src/main/res/values/strings.xml | 8 +- .../main/views/MainMessageViewHolder.java | 50 ++- .../src/main/res/layout/view_main_message.xml | 5 +- 8 files changed, 314 insertions(+), 218 deletions(-) diff --git a/app/tmp/full-r8-config.txt b/app/tmp/full-r8-config.txt index 502664459..9986f7a7c 100644 --- a/app/tmp/full-r8-config.txt +++ b/app/tmp/full-r8-config.txt @@ -1,4 +1,4 @@ -# The proguard configuration file for the following section is 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 ();} -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 { (); } -keep class androidx.core.content.FileProvider { (); } -keep class androidx.core.content.FileProvider4Utils { (); } @@ -1091,11 +1091,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 { (...); @@ -1104,8 +1104,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (...); } -# 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 +1153,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 +1202,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 +1244,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 +1286,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 +1328,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 +1370,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 +1399,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1432,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 +1479,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 +1506,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 +1551,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 +1597,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 +1627,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 +1646,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 { (...); @@ -1663,8 +1663,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 +1699,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1708,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 +1722,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1741,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1750,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1759,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1768,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1777,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 +1856,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 +1878,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; public (); } -# 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 +1941,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; public ; } -# 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 { (); } @@ -1951,8 +1951,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (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 { (androidx.lifecycle.SavedStateHandle); } @@ -1961,8 +1961,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (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 +1990,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 +2016,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 +2041,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keepclasseswithmembers class * { @retrofit2.http.* ; } -# 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 +2055,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 +2093,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 ; void crashCallback(...); @@ -2102,22 +2102,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{(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 { (...); } -keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { (...); } @@ -2128,8 +2128,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { (...); } -keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { (...); } -keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { (...); } -# End of content from 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 +2167,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 +2190,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 +2849,8 @@ native ; } -# 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 +2865,8 @@ native ; *** *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 +2893,8 @@ native ; -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 +2951,8 @@ native ; (); } -# 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 +2971,8 @@ native ; (); } -# 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 +2992,8 @@ native ; 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 +3014,8 @@ native ; *** 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 +3051,8 @@ native ; 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 +3076,8 @@ native ; -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* { ; @@ -3095,8 +3095,8 @@ native ; ; } -# 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 +3120,8 @@ native ; # 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 +3135,8 @@ native ; (); } -# 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 +3154,8 @@ native ; -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 +3179,30 @@ native ; # 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 +3212,22 @@ native ; -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 +3249,8 @@ native ; -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 +3270,7 @@ native ; @androidx.annotation.DoNotInline ; } -# 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 # End of content from \ No newline at end of file diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 008587ef0..7e825d1c0 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -36,6 +36,7 @@ import java.util.List; import java.util.Map; 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; @@ -104,14 +105,28 @@ public class MainConversationListAdapter extends ConversationListAdapter { break; case FILTER_READ: for (BaseUiConversation conversation : data) { - if (conversation.mCore.getUnreadMessageCount() <= 0) { + boolean isRead; + if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) + { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + }else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } + if (isRead) { showData.add(conversation); } } break; case FILTER_UNREAD: for (BaseUiConversation conversation : data) { - if (conversation.mCore.getUnreadMessageCount() > 0) { + boolean isRead; + if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) + { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + }else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } + if (!isRead) { showData.add(conversation); } } @@ -220,14 +235,27 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (unReadCount > 0) { holder.setVisible(R.id.rc_conversation_unread_count, true); holder.setText(R.id.rc_conversation_unread_count, String.valueOf(unReadCount)); - 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_count, false); + } + + boolean isRead; + if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) + { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + }else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } + if (isRead) { 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)); } + + if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) { return; } diff --git a/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java index 4165676c4..d3e217aac 100644 --- a/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java +++ b/common/src/main/java/com/yunbao/common/views/MsgChatTypeSelectPoPupView.java @@ -3,7 +3,9 @@ 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; @@ -13,6 +15,7 @@ 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; @@ -24,12 +27,14 @@ public class MsgChatTypeSelectPoPupView extends AttachPopupView implements andro private ResultCallBack mResultCallBack; private int lastType; - public MsgChatTypeSelectPoPupView(@NonNull Context context,int type, ResultCallBack itemDelListener) { + + 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; @@ -37,16 +42,27 @@ public class MsgChatTypeSelectPoPupView extends AttachPopupView implements andro @Override protected void onCreate() { - 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); + + // 获取屏幕宽度 + 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); @@ -58,52 +74,49 @@ public class MsgChatTypeSelectPoPupView extends AttachPopupView implements andro } - 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)); + 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)); + 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)); + 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)); + 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)); + 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()); + 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); + void callBack(int i, String string); } } diff --git a/common/src/main/res/layout/view_msg_select_chat_type.xml b/common/src/main/res/layout/view_msg_select_chat_type.xml index 644c8b8cf..1a0cdc151 100644 --- a/common/src/main/res/layout/view_msg_select_chat_type.xml +++ b/common/src/main/res/layout/view_msg_select_chat_type.xml @@ -2,7 +2,8 @@ @@ -10,8 +11,8 @@ android:id="@+id/chatTypeTv1" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" + android:layout_marginStart="24dp" + android:layout_marginTop="22dp" android:layout_weight="1" android:text="@string/all_chats" android:textColor="#777777" @@ -26,6 +27,7 @@ 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" @@ -37,8 +39,8 @@ android:id="@+id/chatTypeTv2" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" + android:layout_marginStart="24dp" + android:layout_marginTop="22dp" android:layout_weight="1" android:text="@string/online_only" android:textColor="#777777" @@ -51,6 +53,7 @@ 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" @@ -61,8 +64,8 @@ android:id="@+id/chatTypeTv3" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" + android:layout_marginStart="24dp" + android:layout_marginTop="22dp" android:layout_weight="1" android:text="@string/offline_only" android:textColor="#777777" @@ -75,6 +78,7 @@ 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" @@ -85,8 +89,8 @@ android:id="@+id/chatTypeTv4" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" + android:layout_marginStart="24dp" + android:layout_marginTop="22dp" android:layout_weight="1" android:text="@string/read_only" android:textColor="#777777" @@ -99,6 +103,7 @@ 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" @@ -109,8 +114,8 @@ android:id="@+id/chatTypeTv5" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginTop="20dp" + android:layout_marginStart="24dp" + android:layout_marginTop="22dp" android:layout_marginBottom="20dp" android:layout_weight="1" android:text="@string/unread_only" @@ -125,6 +130,7 @@ 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" diff --git a/common/src/main/res/values-en-rUS/strings.xml b/common/src/main/res/values-en-rUS/strings.xml index 2c7e16aff..970edade2 100644 --- a/common/src/main/res/values-en-rUS/strings.xml +++ b/common/src/main/res/values-en-rUS/strings.xml @@ -1477,8 +1477,8 @@ Limited ride And limited avatar frame [Read] [Unread] All Chats - Show Online Only - Show Offline Only - Show Read Only - Show Unread Only + Show Online + Show Offline + Show Read + Show Unread diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 3c55e3931..f1f515bd9 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -1415,8 +1415,8 @@ Limited ride And limited avatar frame [Read] [Unread] All Chats - Show Online Only - Show Offline Only - Show Read Only - Show Unread Only + Show Online + Show Offline + Show Read + Show Unread diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index c5d8b7353..b6ddf386b 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -43,7 +43,9 @@ import com.binioter.guideview.Guide; import com.binioter.guideview.GuideBuilder; import com.facebook.appevents.AppEventsLogger; import com.lxj.xpopup.XPopup; +import com.lxj.xpopup.core.BasePopupView; import com.lxj.xpopup.enums.PopupPosition; +import com.lxj.xpopup.interfaces.XPopupCallback; import com.opensource.svgaplayer.SVGADrawable; import com.opensource.svgaplayer.SVGAImageView; import com.opensource.svgaplayer.SVGAParser; @@ -251,13 +253,57 @@ public class MainMessageViewHolder extends AbsMainViewHolder { expendImg.setImageResource(R.mipmap.ic_expend_down); XPopup.Builder builder = new XPopup.Builder(mContext).atView(relativeLayouts.get(position)); builder.offsetY(16); - builder.dismissOnTouchOutside(false); + builder.dismissOnTouchOutside(true); + builder.setPopupCallback(new XPopupCallback() { + @Override + public void onCreated(BasePopupView popupView) { + } + + @Override + public void beforeShow(BasePopupView popupView) { + + } + + @Override + public void onShow(BasePopupView popupView) { + + } + + @Override + public void onDismiss(BasePopupView popupView) { + expendImg.setImageResource(R.mipmap.ic_expend_up); + } + + @Override + public void beforeDismiss(BasePopupView popupView) { + + } + + @Override + public boolean onBackPressed(BasePopupView popupView) { + return false; + } + + @Override + public void onKeyBoardStateChanged(BasePopupView popupView, int height) { + + } + + @Override + public void onDrag(BasePopupView popupView, int value, float percent, boolean upOrLeft) { + + } + + @Override + public void onClickOutside(BasePopupView popupView) { + + } + }); builder.asCustom(new MsgChatTypeSelectPoPupView(mContext, chatFragment.getFilter(), new MsgChatTypeSelectPoPupView.ResultCallBack() { @Override public void callBack(int i,String str) { tabTexts.get(position).setText(str); chatFragment.setFilter(i); - expendImg.setImageResource(R.mipmap.ic_expend_up); } })).show(); diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index ac0ba6b34..9e95af268 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -64,7 +64,7 @@ android:layout_width="0dp" android:layout_height="24dp" android:layout_gravity="end|bottom" - android:layout_marginStart="8dp" + android:layout_marginStart="5dp" android:layout_marginTop="18dp" android:layout_marginEnd="15dp" android:layout_marginBottom="16dp" @@ -377,6 +377,7 @@ Date: Wed, 28 Aug 2024 11:22:13 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E9=9D=9E=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 93 ++++--------- .../fragment/MainMessageChatFragment.java | 13 +- .../common/utils/UiConversationCodeUtil.java | 130 ++++++++++++++++++ .../res/layout/view_msg_select_chat_type.xml | 10 +- gradle.properties | 4 +- .../main/views/MainMessageViewHolder.java | 4 +- .../src/main/res/layout/view_main_message.xml | 6 +- 7 files changed, 174 insertions(+), 86 deletions(-) create mode 100644 common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 7e825d1c0..beabaff90 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -15,6 +15,7 @@ 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; @@ -24,6 +25,7 @@ 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; @@ -34,6 +36,7 @@ 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; @@ -68,7 +71,6 @@ public class MainConversationListAdapter extends ConversationListAdapter { 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() { @@ -79,62 +81,9 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (this.mFilter == mFilter) return; this.mFilter = mFilter; - super.setDataCollection(FilterData(mFilter, allDataList)); + super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); } - private List FilterData(int filterType, List data){ - List showData= new ArrayList<>();; - 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) { - boolean isRead; - if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) - { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - }else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - if (isRead) { - showData.add(conversation); - } - } - break; - case FILTER_UNREAD: - for (BaseUiConversation conversation : data) { - boolean isRead; - if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) - { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - }else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - if (!isRead) { - showData.add(conversation); - } - } - break; - } - Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size()); - return showData; - } @@ -143,8 +92,8 @@ public class MainConversationListAdapter extends ConversationListAdapter { } public void setSrcList(List srcList) { - this.srcList = srcList; - super.setDataCollection(FilterData(mFilter, allDataList)); + this.srcList = srcList; + super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); // notifyDataSetChanged(); } @@ -239,13 +188,17 @@ public class MainConversationListAdapter extends ConversationListAdapter { holder.setVisible(R.id.rc_conversation_unread_count, false); } - boolean isRead; - if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) - { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - }else { - isRead = conversation.mCore.getReceivedStatus().isRead(); + boolean isRead = false; + Message message = conversation.mCore.getMessage(); + if (message != null) { + Message.MessageDirection direction = message.getMessageDirection(); + if (direction != null && direction == Message.MessageDirection.SEND) { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + } else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } } + if (isRead) { 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)); @@ -255,7 +208,6 @@ public class MainConversationListAdapter extends ConversationListAdapter { } - if (holder.getView(R.id.rc_conversation_live_status) == null || IMLoginManager.get(holder.getContext()).getAnchorB() != 1) { return; } @@ -272,8 +224,6 @@ public class MainConversationListAdapter extends ConversationListAdapter { } else { holder.getView(R.id.rc_conversation_live_status).setVisibility(View.GONE); } - - } @@ -382,11 +332,16 @@ public class MainConversationListAdapter extends ConversationListAdapter { } tmp.add(item); } - allDataList= tmp; - List showData= FilterData(mFilter,tmp); - super.setDataCollection(showData); + allDataList = tmp; + if(mFilter!=FILTER_OFFLINE){ + List showData = UiConversationCodeUtil.FilterData(mFilter, tmp); + if(!UiConversationCodeUtil.checkIsSame(showData,mDataList)){ + super.setDataCollection(showData); + } + } } + private List tmpUids = new ArrayList<>(); public void clear() { diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java index 73d5f9132..eeaaad722 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java @@ -14,6 +14,7 @@ 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; @@ -46,10 +47,13 @@ public class MainMessageChatFragment extends ConversationListFragment { mConversationListViewModel.getConversationListLiveData().observe(this.getViewLifecycleOwner(), new Observer>() { @Override public void onChanged(List 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() { @@ -58,7 +62,6 @@ public class MainMessageChatFragment extends ConversationListFragment { listHashCode = 0; } }); - } public void setEmptyView(int viewLayoutMsgId) { @@ -156,10 +159,10 @@ 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(); } diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java new file mode 100644 index 000000000..cc2aac47d --- /dev/null +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -0,0 +1,130 @@ +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 list1, List 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 list2) { + int hashCode2 = getListHasCode(list2); + return hashCode1 == hashCode2; + } + + public static int getListHasCode(List list) { + int hashCodeValue = 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; + } + + + public static List FilterData(int filterType, List data) { + List showData = new ArrayList<>(); + ; + 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) { + boolean isRead; + if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { + if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + } else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } + if (isRead) { + showData.add(conversation); + } + } + + } + break; + case FILTER_UNREAD: + for (BaseUiConversation conversation : data) { + boolean isRead; + if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { + if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { + isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); + } else { + isRead = conversation.mCore.getReceivedStatus().isRead(); + } + if (!isRead) { + showData.add(conversation); + } + } + } + break; + } + return showData; + } + + +} diff --git a/common/src/main/res/layout/view_msg_select_chat_type.xml b/common/src/main/res/layout/view_msg_select_chat_type.xml index 1a0cdc151..694295563 100644 --- a/common/src/main/res/layout/view_msg_select_chat_type.xml +++ b/common/src/main/res/layout/view_msg_select_chat_type.xml @@ -16,7 +16,7 @@ android:layout_weight="1" android:text="@string/all_chats" android:textColor="#777777" - android:textSize="14sp" + android:textSize="15sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:textColor="@color/colorMainTab" /> @@ -44,7 +44,7 @@ android:layout_weight="1" android:text="@string/online_only" android:textColor="#777777" - android:textSize="14sp" + android:textSize="15sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/chatTypeTv1" /> @@ -69,7 +69,7 @@ android:layout_weight="1" android:text="@string/offline_only" android:textColor="#777777" - android:textSize="14sp" + android:textSize="15sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/chatTypeTv2" /> @@ -94,7 +94,7 @@ android:layout_weight="1" android:text="@string/read_only" android:textColor="#777777" - android:textSize="14sp" + android:textSize="15sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/chatTypeTv3" /> @@ -120,7 +120,7 @@ android:layout_weight="1" android:text="@string/unread_only" android:textColor="#777777" - android:textSize="14sp" + android:textSize="15sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/chatTypeTv4" /> diff --git a/gradle.properties b/gradle.properties index c41a7a913..d015f4ba1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 +systemProp.https.proxyPort=9098 +systemProp.http.proxyPort=9098 #android.enableR8.fullMode=true \ No newline at end of file diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index b6ddf386b..7575fd000 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -250,7 +250,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { } MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment; ImageView expendImg = (ImageView) view; - expendImg.setImageResource(R.mipmap.ic_expend_down); + expendImg.setImageResource(R.mipmap.ic_expend_up); XPopup.Builder builder = new XPopup.Builder(mContext).atView(relativeLayouts.get(position)); builder.offsetY(16); builder.dismissOnTouchOutside(true); @@ -271,7 +271,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { @Override public void onDismiss(BasePopupView popupView) { - expendImg.setImageResource(R.mipmap.ic_expend_up); + expendImg.setImageResource(R.mipmap.ic_expend_down); } @Override diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index 9e95af268..4ea0338f7 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -383,7 +383,7 @@ android:padding="5dp" android:visibility="gone" tools:visibility="visible" - android:src="@mipmap/ic_expend_up" + android:src="@mipmap/ic_expend_down" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@+id/tab_top1" app:layout_constraintBottom_toBottomOf="parent"/> @@ -448,7 +448,7 @@ android:padding="5dp" android:visibility="gone" tools:visibility="visible" - android:src="@mipmap/ic_expend_up" + android:src="@mipmap/ic_expend_down" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@+id/tab_top2" app:layout_constraintBottom_toBottomOf="parent"/> @@ -514,7 +514,7 @@ android:visibility="gone" tools:visibility="visible" android:layout_centerHorizontal="true" - android:src="@mipmap/ic_expend_up" + android:src="@mipmap/ic_expend_down" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@+id/tab_top3" app:layout_constraintBottom_toBottomOf="parent"/> From f463557bc4f9757ad02f417c059afea760d9a3eb Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Wed, 28 Aug 2024 15:16:07 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=A2=9E=E5=8A=A0=E9=95=BF=E6=9C=9F=E6=8C=81?= =?UTF-8?q?=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 4 +- .../yunbao/common/fragment/ChatViewModel.java | 57 +++++++++++++++++++ .../fragment/MainMessageChatFragment.java | 7 ++- .../fragment/MainMessageChatListFragment.java | 6 +- .../common/utils/UiConversationCodeUtil.java | 5 +- .../main/views/MainMessageViewHolder.java | 10 +++- .../src/main/res/layout/view_main_message.xml | 36 ++++++------ 7 files changed, 102 insertions(+), 23 deletions(-) create mode 100644 common/src/main/java/com/yunbao/common/fragment/ChatViewModel.java diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index beabaff90..4835ceb5a 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -81,7 +81,9 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (this.mFilter == mFilter) return; this.mFilter = mFilter; - super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); + if (allDataList !=null && !allDataList.isEmpty()){ + super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); + } } diff --git a/common/src/main/java/com/yunbao/common/fragment/ChatViewModel.java b/common/src/main/java/com/yunbao/common/fragment/ChatViewModel.java new file mode 100644 index 000000000..66f0d4189 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/fragment/ChatViewModel.java @@ -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; +// All Chats +// Show Online +// Show Offline +// Show Read +// Show Unread + + 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; + } +} diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java index eeaaad722..fbd7bb028 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java @@ -9,6 +9,7 @@ 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; @@ -33,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); } @@ -169,7 +172,9 @@ public class MainMessageChatFragment extends ConversationListFragment { @Override protected ConversationListAdapter onResolveAdapter() { - this.mAdapter = new MainConversationListAdapter(getContext()); + MainConversationListAdapter adapter= new MainConversationListAdapter(getContext()); +// adapter.setFilter(chatViewModel.getChatFilter()); + this.mAdapter =adapter; return this.mAdapter; } } diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java index 966eca9b0..35f9a6f70 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java @@ -13,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; @@ -49,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) { @@ -62,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); @@ -171,6 +174,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment public void setFilter(int mFilter) { mAdapter.setFilter(mFilter); + chatViewModel.setChatFilter(mFilter); } diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index cc2aac47d..bdd2ac8de 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -33,6 +33,8 @@ public class UiConversationCodeUtil { public static int getListHasCode(List list) { int hashCodeValue = 1; + if (list == null || list.isEmpty()) + return 1; for (BaseUiConversation conversation : list) { if (conversation != null) { hashCodeValue = 31 * hashCodeValue + getBaseUiConversationHashCode(conversation); @@ -71,7 +73,8 @@ public class UiConversationCodeUtil { public static List FilterData(int filterType, List data) { List showData = new ArrayList<>(); - ; + if (data == null || data.isEmpty()) + return showData; Log.i("MainConversationListAdapter", "FilterData: 源" + data.size()); switch (filterType) { case FILTER_ALL: diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index 7575fd000..a227aa485 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -35,6 +35,7 @@ import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; +import androidx.lifecycle.ViewModelProvider; import androidx.viewpager2.adapter.FragmentStateAdapter; import androidx.viewpager2.widget.ViewPager2; @@ -51,6 +52,7 @@ import com.opensource.svgaplayer.SVGAImageView; import com.opensource.svgaplayer.SVGAParser; import com.opensource.svgaplayer.SVGAVideoEntity; import com.yunbao.common.CommonAppConfig; +import com.yunbao.common.fragment.ChatViewModel; import com.yunbao.common.fragment.MainMessageRecommendFragment; import com.yunbao.common.utils.DebugUtils; import com.yunbao.common.utils.DialogUitl; @@ -148,6 +150,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { private LinearLayout tabLayouts; private int userType = 0; // (0)普通用户 (1)主播A (2)主播B + ChatViewModel chatViewModel; public MainMessageViewHolder setHomeZdyPop(String homeZdyPop) { this.homeZdyPop = homeZdyPop; @@ -161,6 +164,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { public MainMessageViewHolder(MainActivity context, ViewGroup parentView) { super(context, parentView); mContext = context; + chatViewModel= (new ViewModelProvider(mContext)).get(ChatViewModel.class); } @Override @@ -483,7 +487,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabLine.add(tab_line3); if (userType == 0) { //普通用户 relativeLayouts.get(0).setVisibility(View.VISIBLE); - tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a)); + tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); ViewGroup.LayoutParams params = tabLayouts.getLayoutParams(); params.width = LinearLayout.LayoutParams.WRAP_CONTENT; tabExpend.get(0).setVisibility(View.VISIBLE); @@ -506,12 +510,12 @@ public class MainMessageViewHolder extends AbsMainViewHolder { relativeLayouts.get(0).setVisibility(View.VISIBLE); tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend)); relativeLayouts.get(1).setVisibility(View.VISIBLE); - tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_all_an_a)); + tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); tabExpend.get(1).setVisibility(View.VISIBLE); } else { //主播B tabExpend.get(0).setVisibility(View.VISIBLE); relativeLayouts.get(0).setVisibility(View.VISIBLE); - tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_all)); + tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); relativeLayouts.get(1).setVisibility(View.VISIBLE); tabTexts.get(1).setText(WordUtil.getNewString(R.string.message_chat_msg_system)); relativeLayouts.get(2).setVisibility(View.VISIBLE); diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index 4ea0338f7..8c1a02219 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -377,16 +377,17 @@ + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> @@ -440,18 +441,20 @@ app:layout_constraintTop_toBottomOf="@+id/tab2" /> + + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> From c7f4c1276f9369292f4c48b463fdaa4c68262155 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Thu, 29 Aug 2024 11:08:15 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=B1=BB=E5=9E=8BTab=E9=A1=B5=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=B1=BB=E5=9E=8B=E5=92=8C=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=EF=BC=88=E5=87=8F=E5=B0=91=E4=BA=8C=E6=AC=A1?= =?UTF-8?q?=E5=B1=82=E5=B8=83=E5=B1=80=E5=B1=82=E7=BA=A7=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/views/MainMessageViewHolder.java | 17 +- .../src/main/res/layout/view_main_message.xml | 581 ++++++++++++------ 2 files changed, 391 insertions(+), 207 deletions(-) diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index a227aa485..ff8e5df8c 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -32,6 +32,7 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.Group; import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; @@ -137,17 +138,17 @@ public class MainMessageViewHolder extends AbsMainViewHolder { private MagicIndicator mIndicator; private List fragmentList; - private ConstraintLayout tabLayout1, tabLayout2, tabLayout3; + private Group tabLayout1, tabLayout2, tabLayout3; private TextView tab1, tab2, tab3; private ImageView imageView1, imageView2, imageView3; private View tab_line1, tab_line2, tab_line3; private ImageView tab_icon; - private List relativeLayouts = new ArrayList<>(); + private List relativeLayouts = new ArrayList<>(); private List tabTexts = new ArrayList<>(); private List tabLine = new ArrayList<>(); private List tabExpend = new ArrayList<>(); - private LinearLayout tabLayouts; + private ConstraintLayout tabLayouts; private int userType = 0; // (0)普通用户 (1)主播A (2)主播B ChatViewModel chatViewModel; @@ -202,9 +203,9 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabLayouts = findViewById(R.id.tabLayouts); tab_icon = findViewById(R.id.tab_icon); - tabLayout1 = findViewById(R.id.tabLayout1); - tabLayout2 = findViewById(R.id.tabLayout2); - tabLayout3 = findViewById(R.id.tabLayout3); + tabLayout1 = findViewById(R.id.group_tab1); + tabLayout2 = findViewById(R.id.group_tab2); + tabLayout3 = findViewById(R.id.group_tab3); tab1 = findViewById(R.id.tab1); tab2 = findViewById(R.id.tab2); @@ -255,7 +256,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { MainMessageChatListFragment chatFragment = (MainMessageChatListFragment) fragment; ImageView expendImg = (ImageView) view; expendImg.setImageResource(R.mipmap.ic_expend_up); - XPopup.Builder builder = new XPopup.Builder(mContext).atView(relativeLayouts.get(position)); + XPopup.Builder builder = new XPopup.Builder(mContext).atView(tabTexts.get(position)); builder.offsetY(16); builder.dismissOnTouchOutside(true); builder.setPopupCallback(new XPopupCallback() { @@ -523,7 +524,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { } for (int i = 0; i < relativeLayouts.size(); i++) { int finalI = i; - relativeLayouts.get(i).setOnClickListener(new View.OnClickListener() { + tabTexts.get(i).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { selectTab(finalI); diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index 8c1a02219..5bc51d7be 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -303,229 +303,412 @@ android:layout_height="37dp" android:visibility="gone" /> - + android:paddingStart="12dp" + android:paddingEnd="12dp"> - + + + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/tab1" + app:layout_constraintTop_toTopOf="parent" + tools:visibility="visible" /> - - - - - - - - - - - - - - - + + + app:layout_constraintBottom_toBottomOf="@+id/tab1" + app:layout_constraintStart_toEndOf="@+id/tab1" + app:layout_constraintTop_toTopOf="@+id/tab1" + tools:visibility="gone" /> - + - + - + - - - - - - + + + app:layout_constraintBottom_toBottomOf="@+id/tab2" + app:layout_constraintStart_toEndOf="@+id/tab2" + app:layout_constraintTop_toTopOf="@+id/tab2" + tools:visibility="gone" /> - + - + - + - + - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Thu, 29 Aug 2024 14:23:44 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E4=B8=BB=E6=92=ADB?= =?UTF-8?q?=E6=89=8D=E8=83=BD=E8=BF=9B=E8=A1=8C=E6=B6=88=E6=81=AF=E7=AD=9B?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 21 +++++++++++-------- .../fragment/MainMessageChatFragment.java | 11 +++++++--- .../fragment/MainMessageChatListFragment.java | 1 + .../main/views/MainMessageViewHolder.java | 4 ++-- .../src/main/res/layout/view_main_message.xml | 2 +- 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 4835ceb5a..79f0c0892 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -81,14 +81,12 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (this.mFilter == mFilter) return; this.mFilter = mFilter; - if (allDataList !=null && !allDataList.isEmpty()){ - super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); - } +// if (allDataList !=null && !allDataList.isEmpty()){ +// super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); +// } } - - public MainConversationListAdapter(Context mContext) { this.mContext = mContext; } @@ -287,8 +285,7 @@ public class MainConversationListAdapter extends ConversationListAdapter { private int listHashCode = 0; - @Override - public synchronized void setDataCollection(List data) { + public synchronized void setDataCollectionV2(List data, boolean isSearch) { if (data.hashCode() == listHashCode) return; listHashCode = data.hashCode(); List tmp = new ArrayList<>(); @@ -335,15 +332,21 @@ public class MainConversationListAdapter extends ConversationListAdapter { tmp.add(item); } allDataList = tmp; - if(mFilter!=FILTER_OFFLINE){ + if (mFilter != FILTER_OFFLINE || isSearch == true) { List showData = UiConversationCodeUtil.FilterData(mFilter, tmp); - if(!UiConversationCodeUtil.checkIsSame(showData,mDataList)){ + if (!UiConversationCodeUtil.checkIsSame(showData, mDataList)) { super.setDataCollection(showData); } } } + @Override + public void setDataCollection(List data) { + setDataCollectionV2(data, false); + } + + private List tmpUids = new ArrayList<>(); public void clear() { diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java index fbd7bb028..e6dcc4810 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java @@ -76,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); @@ -150,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 @@ -172,9 +177,9 @@ public class MainMessageChatFragment extends ConversationListFragment { @Override protected ConversationListAdapter onResolveAdapter() { - MainConversationListAdapter adapter= new MainConversationListAdapter(getContext()); + MainConversationListAdapter adapter = new MainConversationListAdapter(getContext()); // adapter.setFilter(chatViewModel.getChatFilter()); - this.mAdapter =adapter; + this.mAdapter = adapter; return this.mAdapter; } } diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java index 35f9a6f70..b85ed04ac 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatListFragment.java @@ -175,6 +175,7 @@ public class MainMessageChatListFragment extends AbsMainMessageChatListFragment public void setFilter(int mFilter) { mAdapter.setFilter(mFilter); chatViewModel.setChatFilter(mFilter); + conversationListFragment.refreshData(); } diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index ff8e5df8c..10a092bb6 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -491,7 +491,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); ViewGroup.LayoutParams params = tabLayouts.getLayoutParams(); params.width = LinearLayout.LayoutParams.WRAP_CONTENT; - tabExpend.get(0).setVisibility(View.VISIBLE); + //tabExpend.get(0).setVisibility(View.VISIBLE); tabLayouts.setLayoutParams(params); } else if (userType == 1) {//主播A tab_icon.setVisibility(View.VISIBLE); @@ -512,7 +512,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend)); relativeLayouts.get(1).setVisibility(View.VISIBLE); tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); - tabExpend.get(1).setVisibility(View.VISIBLE); + // tabExpend.get(1).setVisibility(View.VISIBLE); } else { //主播B tabExpend.get(0).setVisibility(View.VISIBLE); relativeLayouts.get(0).setVisibility(View.VISIBLE); diff --git a/main/src/main/res/layout/view_main_message.xml b/main/src/main/res/layout/view_main_message.xml index 5bc51d7be..d1c11947c 100644 --- a/main/src/main/res/layout/view_main_message.xml +++ b/main/src/main/res/layout/view_main_message.xml @@ -367,7 +367,7 @@ android:layout_height="wrap_content" android:visibility="gone" tools:visibility="visible" - app:constraint_referenced_ids="tab1,tab_icon,tab_line1"/> + app:constraint_referenced_ids="tab1,tab_line1"/> Date: Thu, 29 Aug 2024 15:28:40 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E5=83=85=E5=B1=95=E7=A4=BA=E5=B0=8D?= =?UTF-8?q?=E6=96=B9=E5=B7=B2=E8=AE=80=20=20=E5=83=85=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=B0=8D=E6=96=B9=E6=9C=AA=E8=AE=80=20=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 28 ++++++++----------- .../common/utils/UiConversationCodeUtil.java | 23 +++++---------- .../res/layout/rc_conversationlist_item2.xml | 10 +++---- common/src/main/res/values-zh/strings.xml | 4 +-- 4 files changed, 26 insertions(+), 39 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 79f0c0892..086719b46 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -188,23 +188,19 @@ public class MainConversationListAdapter extends ConversationListAdapter { holder.setVisible(R.id.rc_conversation_unread_count, false); } - boolean isRead = false; - Message message = conversation.mCore.getMessage(); - if (message != null) { - Message.MessageDirection direction = message.getMessageDirection(); - if (direction != null && direction == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - } - if (isRead) { - 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)); + 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); } diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index bdd2ac8de..31b9244ee 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -95,19 +95,13 @@ public class UiConversationCodeUtil { } break; case FILTER_READ: - for (BaseUiConversation conversation : data) { - boolean isRead; + for (BaseUiConversation conversation : data) if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); + if (conversation.mCore.getSentStatus() == Message.SentStatus.READ) { + showData.add(conversation); + } } - if (isRead) { - showData.add(conversation); - } - } - } break; case FILTER_UNREAD: @@ -115,12 +109,9 @@ public class UiConversationCodeUtil { boolean isRead; if (conversation.mCore.getMessage() != null && conversation.mCore.getMessage().getMessageDirection() != null) { if (conversation.mCore.getMessage().getMessageDirection() == Message.MessageDirection.SEND) { - isRead = (conversation.mCore.getSentStatus() == Message.SentStatus.READ); - } else { - isRead = conversation.mCore.getReceivedStatus().isRead(); - } - if (!isRead) { - showData.add(conversation); + if (conversation.mCore.getSentStatus() != Message.SentStatus.READ) { + showData.add(conversation); + } } } } diff --git a/common/src/main/res/layout/rc_conversationlist_item2.xml b/common/src/main/res/layout/rc_conversationlist_item2.xml index 188c1721b..36d2b5cf9 100644 --- a/common/src/main/res/layout/rc_conversationlist_item2.xml +++ b/common/src/main/res/layout/rc_conversationlist_item2.xml @@ -84,8 +84,8 @@ android:id="@+id/rc_conversation_unread_tv" android:layout_width="wrap_content" android:layout_marginBottom="4dp" - android:layout_height="wrap_content" 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" @@ -105,17 +105,17 @@ android:maxLines="1" android:textColor="@color/rc_secondary_color" android:textSize="13dp" - app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_unread_tv" app:layout_constraintEnd_toStartOf="@+id/rc_conversation_read_receipt" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toEndOf="@+id/rc_conversation_unread_tv" - app:layout_constraintTop_toTopOf="@+id/rc_conversation_unread_tv" + android:layout_marginBottom="4dp" + app:layout_constraintBottom_toBottomOf="@+id/rc_conversation_portrait" tools:text="你好,朋友!111111111111111111111" /> 全部聊天 僅展示在線 僅展示離線 - 僅展示已讀 - 僅展示未讀 + 僅展示對方已讀 + 僅展示對方未讀 From b4574f730dadf33823ab98c77f811f0624548424 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 30 Aug 2024 17:37:05 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=90=9C=E7=B4=A2=E8=BF=9B=E8=A1=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/tmp/full-r8-config.txt | 2 + .../adapter/MainConversationListAdapter.java | 56 ++++++++------ .../com/yunbao/common/http/PDLiveApi.java | 2 +- .../common/utils/UiConversationCodeUtil.java | 73 ++++++++++++++++++- .../res/layout/rc_conversationlist_item2.xml | 5 +- common/src/main/res/values-zh/strings.xml | 4 +- .../main/views/MainMessageViewHolder.java | 2 +- 7 files changed, 117 insertions(+), 27 deletions(-) diff --git a/app/tmp/full-r8-config.txt b/app/tmp/full-r8-config.txt index 9986f7a7c..f80ae5cc7 100644 --- a/app/tmp/full-r8-config.txt +++ b/app/tmp/full-r8-config.txt @@ -674,6 +674,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keep class androidx.constraintlayout.widget.ConstraintLayout { (android.content.Context, android.util.AttributeSet); } +-keep class androidx.constraintlayout.widget.Group { (android.content.Context, android.util.AttributeSet); } + -keep class androidx.constraintlayout.widget.Guideline { (android.content.Context, android.util.AttributeSet); } -keep class androidx.coordinatorlayout.widget.CoordinatorLayout { (android.content.Context, android.util.AttributeSet); } diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 086719b46..57dd4836e 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -81,9 +81,7 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (this.mFilter == mFilter) return; this.mFilter = mFilter; -// if (allDataList !=null && !allDataList.isEmpty()){ -// super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); -// } + } @@ -93,8 +91,11 @@ public class MainConversationListAdapter extends ConversationListAdapter { public void setSrcList(List srcList) { this.srcList = srcList; - super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); - // notifyDataSetChanged(); + if (mFilter== FILTER_OFFLINE || mFilter == FILTER_ONLINE) { + super.setDataCollection(UiConversationCodeUtil.FilterData(mFilter, allDataList)); + }else { + notifyDataSetChanged(); + } } public void setOnRefreshListener(OnRecyclerListRefreshListener> onRefreshListener) { @@ -190,16 +191,16 @@ public class MainConversationListAdapter extends ConversationListAdapter { 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 { + 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); } @@ -285,7 +286,8 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (data.hashCode() == listHashCode) return; listHashCode = data.hashCode(); List tmp = new ArrayList<>(); - Log.i("聊天数据源", "setDataCollection: " + data.hashCode()); + Log.i("聊天数据源", "size()" + data.size() + " setDataCollection: " + data.hashCode()); + List urls = new ArrayList<>(); if (srcList == null) { srcList = new ArrayList<>(); @@ -327,13 +329,24 @@ public class MainConversationListAdapter extends ConversationListAdapter { } tmp.add(item); } - allDataList = tmp; - if (mFilter != FILTER_OFFLINE || isSearch == true) { - List showData = UiConversationCodeUtil.FilterData(mFilter, tmp); - if (!UiConversationCodeUtil.checkIsSame(showData, mDataList)) { - super.setDataCollection(showData); + List showData = null; + if (isSearch) { + Log.i("聊天数据源", "FilterData isSearch"); + showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList); + } else { + allDataList = tmp; + if (mFilter != FILTER_OFFLINE) + { + 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("聊天数据源", "数据源无变化"); + } } @@ -346,6 +359,7 @@ public class MainConversationListAdapter extends ConversationListAdapter { private List tmpUids = new ArrayList<>(); public void clear() { + Log.i("聊天数据源", "clear: " + mDataList.size()); mDataList.clear(); if (srcList != null) { srcList.clear(); diff --git a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java index aa7831883..93119834f 100644 --- a/common/src/main/java/com/yunbao/common/http/PDLiveApi.java +++ b/common/src/main/java/com/yunbao/common/http/PDLiveApi.java @@ -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> getMessageSayHiTimer( ); diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index 31b9244ee..a22e6e12a 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -71,6 +71,77 @@ public class UiConversationCodeUtil { } +private static boolean isContains(List 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 FilterData(int filterType, List keyList,List srcList) { + List 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 FilterData(int filterType, List data) { List showData = new ArrayList<>(); if (data == null || data.isEmpty()) @@ -106,7 +177,6 @@ public class UiConversationCodeUtil { break; case FILTER_UNREAD: for (BaseUiConversation conversation : data) { - 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) { @@ -117,6 +187,7 @@ public class UiConversationCodeUtil { } break; } + Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size()); return showData; } diff --git a/common/src/main/res/layout/rc_conversationlist_item2.xml b/common/src/main/res/layout/rc_conversationlist_item2.xml index 36d2b5cf9..1d65f5c7f 100644 --- a/common/src/main/res/layout/rc_conversationlist_item2.xml +++ b/common/src/main/res/layout/rc_conversationlist_item2.xml @@ -90,6 +90,10 @@ 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" /> @@ -99,7 +103,6 @@ style="@style/TextStyle.Alignment" android:layout_width="0dp" android:layout_height="wrap_content" - android:paddingStart="6dp" android:paddingEnd="6dp" android:ellipsize="end" android:maxLines="1" diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index c1ebbf176..803281b67 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -1609,6 +1609,6 @@ 全部聊天 僅展示在線 僅展示離線 - 僅展示對方已讀 - 僅展示對方未讀 + 展示對方已讀 + 展示對方未讀 diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index 10a092bb6..75e703b7f 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -512,7 +512,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend)); relativeLayouts.get(1).setVisibility(View.VISIBLE); tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); - // tabExpend.get(1).setVisibility(View.VISIBLE); + tabExpend.get(1).setVisibility(View.VISIBLE); } else { //主播B tabExpend.get(0).setVisibility(View.VISIBLE); relativeLayouts.get(0).setVisibility(View.VISIBLE); From 0e69ea1732792fc9f6b3f99871b6b87c9fa0fe48 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Tue, 3 Sep 2024 09:51:57 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E5=87=86=E5=A4=87=E6=8D=A2=E4=B8=AA?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yunbao/common/adapter/MainConversationListAdapter.java | 3 ++- .../com/yunbao/common/utils/UiConversationCodeUtil.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index 57dd4836e..bc31d942c 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -264,6 +264,7 @@ 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); @@ -335,7 +336,7 @@ public class MainConversationListAdapter extends ConversationListAdapter { showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList); } else { allDataList = tmp; - if (mFilter != FILTER_OFFLINE) + if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE ) { Log.i("聊天数据源", "FilterData notSearch"); showData = UiConversationCodeUtil.FilterData(mFilter, allDataList); diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index a22e6e12a..6662ceefb 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -51,7 +51,7 @@ public class UiConversationCodeUtil { 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 + ((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(); @@ -146,7 +146,7 @@ private static boolean isContains(List list, BaseUiConversat List showData = new ArrayList<>(); if (data == null || data.isEmpty()) return showData; - Log.i("MainConversationListAdapter", "FilterData: 源" + data.size()); + Log.i("MainConversationListAdapter", "设置数据源 FilterData: 源" + data.size()); switch (filterType) { case FILTER_ALL: showData = data; @@ -187,7 +187,7 @@ private static boolean isContains(List list, BaseUiConversat } break; } - Log.i("MainConversationListAdapter", "FilterData: 结果" + showData.size()); + Log.i("MainConversationListAdapter", " 设置数据源 FilterData: 结果" + showData.size()); return showData; } From 9c117e2752352226c942a3ea359695b1783dc009 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Wed, 4 Sep 2024 18:24:22 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E4=B8=BB=E6=92=ADA=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/yunbao/main/views/MainMessageViewHolder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java index 75e703b7f..10a092bb6 100644 --- a/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainMessageViewHolder.java @@ -512,7 +512,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder { tabTexts.get(0).setText(WordUtil.getNewString(R.string.message_chat_msg_recommend)); relativeLayouts.get(1).setVisibility(View.VISIBLE); tabTexts.get(1).setText(WordUtil.getNewString(chatViewModel.getTitleTextId())); - tabExpend.get(1).setVisibility(View.VISIBLE); + // tabExpend.get(1).setVisibility(View.VISIBLE); } else { //主播B tabExpend.get(0).setVisibility(View.VISIBLE); relativeLayouts.get(0).setVisibility(View.VISIBLE); From b56a0bcce475706bb9dc689614790cea9c6eb0a6 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Thu, 5 Sep 2024 15:00:56 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=88=A4=E7=A9=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yunbao/common/utils/UiConversationCodeUtil.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java index 6662ceefb..a6f7220ed 100644 --- a/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/UiConversationCodeUtil.java @@ -20,6 +20,9 @@ public class UiConversationCodeUtil { public static boolean checkIsSame(List list1, List list2) { + if (list1.isEmpty()){ + return false; + } if (list1.size() != list2.size()) return false; int hashCode1 = getListHasCode(list1); int hashCode2 = getListHasCode(list2); From e0c1e9c64fa069e6ae9c599648d655197154c588 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Thu, 5 Sep 2024 16:55:13 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=87=8D=E6=96=B0=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/MainConversationListAdapter.java | 20 ++++++++++++------- .../fragment/MainMessageChatFragment.java | 18 +++++++++++++++-- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java index bc31d942c..462469640 100644 --- a/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java +++ b/common/src/main/java/com/yunbao/common/adapter/MainConversationListAdapter.java @@ -132,11 +132,13 @@ public class MainConversationListAdapter extends ConversationListAdapter { int type = super.getItemViewType(position); if (mDataList.size() > position) { String objectName = mDataList.get(position).mCore.getObjectName(); + Log.i("聊天数据源发现","objectName::"+objectName); if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_USER")) { type = TYPE_SEARCH_USER; } else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_CHAT")) { type = TYPE_SEARCH_CHAT; } else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_TITLE")) { + Log.i("聊天数据源发现 ","getItemViewTypeSEARCH_TITLE"); type = TYPE_SEARCH_TITLE; } } else if (mDataList.isEmpty() || isEmpty() || srcList.isEmpty()) { @@ -156,7 +158,9 @@ public class MainConversationListAdapter extends ConversationListAdapter { } else if (getItemViewType(position) == TYPE_SEARCH_CHAT) { bindChat(holder, position); } else if (getItemViewType(position) == TYPE_SEARCH_TITLE) { + Log.i("聊天数据源设置标题头","SEARCH_TITLE::"+position); bindTitle(holder, position); + return; } else if (getItemViewType(position) != -200) { bindChatNew(holder, position); super.onBindViewHolder(holder, position); @@ -297,7 +301,8 @@ public class MainConversationListAdapter extends ConversationListAdapter { if (mContext == null) mContext = AppManager.getInstance().getLastActivity(); for (BaseUiConversation item : data) { - if (urls.contains(item.mCore.getTargetId())) continue; + if (urls.contains(item.mCore.getTargetId()) && item.mCore.getTargetId()!=null) continue; + // if ( item.mCore.getConversationTitle()==null || item.mCore.getTargetId()==null) continue; if (item.mConversationContent != null && item.mConversationContent.toString().contains("_method_")) { IMCenter.getInstance().deleteMessages(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), @@ -316,7 +321,8 @@ public class MainConversationListAdapter extends ConversationListAdapter { IMCenter.getInstance().clearMessagesUnreadStatus(Conversation.ConversationType.PRIVATE, item.mCore.getTargetId(), null); } urls.add(item.mCore.getTargetId()); - Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId()); + Log.i("聊天数据源", item.mCore.getConversationTitle() + "|" + item.mCore.getPortraitUrl() + "|" + item.mCore.getTargetId() +"|"+item.mCore.getObjectName()); + if (!tmpUids.contains(item.mCore.getTargetId())) { BaseUiConversation cn = new SingleConversation(mContext, item.mCore); srcList.add(cn); @@ -332,21 +338,21 @@ public class MainConversationListAdapter extends ConversationListAdapter { } List showData = null; if (isSearch) { - Log.i("聊天数据源", "FilterData isSearch"); - showData = UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList); + // Log.i("聊天数据源", "FilterData isSearch"); + showData = tmp ;//UiConversationCodeUtil.FilterData(mFilter, tmp, allDataList); } else { allDataList = tmp; if (mFilter != FILTER_OFFLINE && mFilter != FILTER_ONLINE ) { - Log.i("聊天数据源", "FilterData notSearch"); + // Log.i("聊天数据源", "FilterData notSearch"); showData = UiConversationCodeUtil.FilterData(mFilter, allDataList); } } if (showData != null && !UiConversationCodeUtil.checkIsSame(showData, mDataList)) { - Log.i("聊天数据源", "数据源有变化" + showData.size()); + // Log.i("聊天数据源", "数据源有变化" + showData.size()); super.setDataCollection(showData); } else { - Log.i("聊天数据源", "数据源无变化"); + // Log.i("聊天数据源", "数据源无变化"); } } diff --git a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java index e6dcc4810..abc219736 100644 --- a/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java +++ b/common/src/main/java/com/yunbao/common/fragment/MainMessageChatFragment.java @@ -1,6 +1,8 @@ package com.yunbao.common.fragment; import android.os.Bundle; +import android.os.Parcel; +import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -28,6 +30,8 @@ import io.rong.imkit.conversationlist.model.SingleConversation; import io.rong.imkit.event.Event; import io.rong.imlib.RongIMClient; import io.rong.imlib.model.Conversation; +import io.rong.imlib.model.Message; +import io.rong.imlib.model.MessageContent; import io.rong.imlib.model.SearchConversationResult; public class MainMessageChatFragment extends ConversationListFragment { @@ -82,6 +86,10 @@ public class MainMessageChatFragment extends ConversationListFragment { } public void search(String search) { + if (TextUtils.isEmpty(search)){ + mRefreshLayout.autoRefresh(); + return; + } ((MainConversationListAdapter) mAdapter).setSearch(); getContactsList(search); } @@ -95,10 +103,11 @@ public class MainMessageChatFragment extends ConversationListFragment { List uidList = new ArrayList<>(); BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation()); + conversation.mCore.setMessage(new Message()); conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_contacts)); + Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName()); conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE); list.add(conversation); - List data = new ArrayList<>(); System.err.println(" ----------------------->" + mAdapter.getData().size()); for (BaseUiConversation cn : ((MainConversationListAdapter) mAdapter).getSrcList()) { @@ -137,7 +146,9 @@ public class MainMessageChatFragment extends ConversationListFragment { @Override public void onSuccess(List searchConversationResults) { BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation()); + conversation.mCore.setMessage(new Message()); conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_chat_records)); + Log.i("聊天数据源设置数据", "聊天数据源: " + conversation.mCore.getObjectName()); conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE); list.add(conversation); List data = new ArrayList<>(); @@ -155,6 +166,9 @@ public class MainMessageChatFragment extends ConversationListFragment { list.remove(list.size() - 1); } list.addAll(data); + for (BaseUiConversation cn : list){ + Log.i("聊天数据源搜索前的", cn.mCore.getConversationTitle() + "|" + cn.mCore.getPortraitUrl() + "|" + cn.mCore.getTargetId()); + } ((MainConversationListAdapter) mAdapter).setDataCollectionV2(list,true); } @@ -172,7 +186,7 @@ public class MainMessageChatFragment extends ConversationListFragment { ((MainConversationListAdapter) mAdapter).clear(); System.out.println(">!>!>!>!!>" + mConversationListViewModel); subscribeUi(); - + mRefreshLayout.autoRefresh(); } @Override From 410aa45b1cf402486e56786482ff7208c3132880 Mon Sep 17 00:00:00 2001 From: 18142669586 <1669783059@qq.com> Date: Thu, 5 Sep 2024 17:13:54 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E5=8D=87=E7=BA=A734=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=8C=E4=BB=A5=E5=8F=8A=E8=B0=B7=E6=AD=8C=E5=86=85=E8=B4=AD?= =?UTF-8?q?7.0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Share/src/main/AndroidManifest.xml | 2 +- app/build.gradle | 3 +- app/google-services.json | 68 ++-- app/tmp/full-r8-config.txt | 324 +++++++++--------- common/src/main/AndroidManifest.xml | 2 +- .../dialog/SudGameSearchDialogPopup.java | 4 +- .../yunbao/common/http/CommonHttpUtil.java | 6 +- .../yunbao/common/utils/ProcessImageUtil.java | 6 +- .../com/yunbao/common/utils/VersionUtil.java | 4 +- .../common/views/APKUpdateCustomPopup.java | 2 +- common/src/main/res/values-zh/strings.xml | 2 +- config.gradle | 2 +- gradle.properties | 6 +- main/google-services.json | 63 ---- .../yunbao/main/activity/EntryActivity.java | 2 +- .../main/activity/MyWalletActivity.java | 22 +- main/src/main/res/layout/activity_entry.xml | 3 +- settings.gradle | 2 +- 18 files changed, 237 insertions(+), 286 deletions(-) delete mode 100644 main/google-services.json diff --git a/Share/src/main/AndroidManifest.xml b/Share/src/main/AndroidManifest.xml index 7bc0a90cb..5cbbcc96d 100644 --- a/Share/src/main/AndroidManifest.xml +++ b/Share/src/main/AndroidManifest.xml @@ -4,7 +4,7 @@ > - + ();} -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 E:\android\pandorapan\app\proguard-rules.pro +# The proguard configuration file for the following section is E:\android\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt -keep class androidx.core.app.CoreComponentFactory { (); } -keep class androidx.core.content.FileProvider { (); } -keep class androidx.core.content.FileProvider4Utils { (); } @@ -1091,11 +1091,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 E:\android\pandorapan\app\build\intermediates\aapt_proguard_file\link_onlineRelease\processLink_onlineReleaseResources\aapt_rules.txt +# The proguard configuration file for the following section is E:\android\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\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 E:\android\pandorapan\lib_faceunity\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt # Generated keep rule for Lifecycle observer adapter. -if class com.lxj.xpopup.core.BasePopupView { (...); @@ -1104,8 +1104,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (...); } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\8d3e3177c15403546de73d87508067d6\transformed\jetified-XPopup-2.10.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1153,16 +1153,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 F:\AS\gradle-6.1.1\caches\transforms-3\a1df9a6aa192455030f7c9970b70e0e9\transformed\material-1.4.0\proguard.txt +# The proguard configuration file for the following section is E:\android\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\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 E:\android\pandorapan\lib_google\build\intermediates\consumer_proguard_dir\link_onlineRelease\exportLink_onlineReleaseConsumerProguardFiles\lib0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\2929985d9627ba3bb45a0ebd18eaf9d3\transformed\jetified-linesdk-5.0.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt # To enable ProGuard in your project, edit project.properties # to define the proguard.config property as described in that file. # @@ -1202,8 +1202,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 F:\AS\gradle-6.1.1\caches\transforms-3\6baa4e4ee96e21acbcf3a49ef89d9f1f\transformed\jetified-facebook-android-sdk-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1244,8 +1244,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 F:\AS\gradle-6.1.1\caches\transforms-3\44135493e77410a01759fde38f8d0bd2\transformed\jetified-facebook-gamingservices-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1286,8 +1286,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 F:\AS\gradle-6.1.1\caches\transforms-3\c831739b6efc746f59d2a47471573f41\transformed\jetified-facebook-share-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1328,8 +1328,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 F:\AS\gradle-6.1.1\caches\transforms-3\3815d0ddf4b17772bdba730e93b11daf\transformed\jetified-facebook-login-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1370,12 +1370,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 F:\AS\gradle-6.1.1\caches\transforms-3\43855db83adace9940918a3f6edcdc05\transformed\jetified-facebook-common-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt -keep class com.davemorrissey.labs.subscaleview.** { *; } -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\7bbb003dbf2685697cd42cfb46e77b3f\transformed\jetified-subsampling-scale-image-view-androidx-3.10.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1399,13 +1399,13 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\0fdcb88552259c6c22dbd3bb46b31518\transformed\appcompat-1.3.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt #Picasso Proguard Config https://github.com/square/picasso -dontwarn com.squareup.okhttp.** -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\b8e86bdadf487d72a43cd430b3f9db16\transformed\jetified-tweet-ui-3.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1432,13 +1432,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 F:\AS\gradle-6.1.1\caches\transforms-3\2dd2f4200d3a68f4165485a3d207312d\transformed\coordinatorlayout-1.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt -keepclasseswithmembers class androidx.recyclerview.widget.RecyclerView$ViewHolder { public final android.view.View *; } -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\940a969ab3fccb91703d8a9245e2974b\transformed\jetified-x-1.3.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt # Proguard rules specific to the UI module. # Constructor method accessed via reflection in StyledPlayerView @@ -1479,8 +1479,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 F:\AS\gradle-6.1.1\caches\transforms-3\e452872bf1c6c06c71776c88e0bd7b6a\transformed\jetified-exoplayer-ui-2.18.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt # Copyright (C) 2015 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1506,11 +1506,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 F:\AS\gradle-6.1.1\caches\transforms-3\e9de7db2640f13ae2ab2a585dfd19337\transformed\recyclerview-1.2.1\proguard.txt +# The proguard configuration file for the following section is E:\android\pandorapan\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 E:\android\pandorapan\TabLayout\build\intermediates\consumer_proguard_dir\release\exportReleaseConsumerProguardFiles\lib0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1551,8 +1551,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 F:\AS\gradle-6.1.1\caches\transforms-3\bb5ec4ef561b90312eb1ca52da1f144d\transformed\jetified-facebook-applinks-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1597,8 +1597,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 F:\AS\gradle-6.1.1\caches\transforms-3\88221c7028fd958b12579787bcf1d5e0\transformed\jetified-facebook-messenger-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1627,16 +1627,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 F:\AS\gradle-6.1.1\caches\transforms-3\d709769056a5279a71bbb18b41ee69d2\transformed\jetified-ui-1.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt -assumenosideeffects public class androidx.compose.runtime.ComposerKt { void sourceInformation(androidx.compose.runtime.Composer,java.lang.String); void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String); void sourceInformationMarkerEnd(androidx.compose.runtime.Composer); } -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\3591196def6c89c6af74e7d30dfb6618\transformed\jetified-runtime-1.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt -dontwarn jp.co.cyberagent.android.gpuimage.** -keep public class * implements com.bumptech.glide.module.GlideModule @@ -1646,8 +1646,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 F:\AS\gradle-6.1.1\caches\transforms-3\7931210372c8927a076053831aae79b7\transformed\jetified-glide-transformations-3.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt -keep public class * implements com.bumptech.glide.module.GlideModule -keep class * extends com.bumptech.glide.module.AppGlideModule { (...); @@ -1663,8 +1663,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 F:\AS\gradle-6.1.1\caches\transforms-3\a9e5e066cbda5595303140a83b7c357f\transformed\jetified-glide-4.12.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt # Keep the AIDL interface -keep class com.android.vending.billing.** { *; } @@ -1699,8 +1699,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\245cd6e28cb45ea53af06bd1902d8887\transformed\jetified-billing-7.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1708,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 F:\AS\gradle-6.1.1\caches\transforms-3\389aac78ceffe6f037f7624d2175f98b\transformed\jetified-play-services-base-18.3.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1722,18 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\fdcd25b13ca01df0d64e21ab18452962\transformed\jetified-play-services-measurement-api-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt -dontwarn com.google.firebase.platforminfo.KotlinDetector -dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue$Builder -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\1b549d0d5a78f93d1b3cd259941d27d6\transformed\jetified-firebase-common-20.1.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt -# End of content from C:\Users\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 F:\AS\gradle-6.1.1\caches\transforms-3\1d73edc853ec5797eb8fbdbaf92a3a43\transformed\jetified-play-services-tasks-18.1.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1741,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\53d8ae00710cb6dfde668ad5c2529a5c\transformed\jetified-play-services-measurement-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1750,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\d9a1fa15000998f069a9eb095ddd5d6c\transformed\jetified-play-services-measurement-sdk-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1759,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\e3d5db4c204c05b688c67157d08d719e\transformed\jetified-play-services-measurement-impl-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1768,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\a14887389ea05f2c3a61b51470f02e11\transformed\jetified-play-services-measurement-sdk-api-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1777,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\a00f92aeac02d4041e8903bda4c31467\transformed\jetified-play-services-measurement-base-21.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +1856,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 F:\AS\gradle-6.1.1\caches\transforms-3\6eda7df53f5a535e22df39c8e1d72650\transformed\jetified-play-services-basement-18.3.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt # Copyright (C) 2020 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -1878,12 +1878,12 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; public (); } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\8daf89c63ab14ea80f11dcfb9154f87e\transformed\fragment-1.5.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\b826addf48d922103bc9588ad90ee0e6\transformed\jetified-Common-4.1.11\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -1941,8 +1941,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; public ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\cee8df21fdda9dd7e6106d8566e7a8de\transformed\jetified-facebook-core-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (); } @@ -1951,8 +1951,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (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 F:\AS\gradle-6.1.1\caches\transforms-3\570c85082e748d036cbe1ff0c9d5e429\transformed\lifecycle-viewmodel-2.5.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt -keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel { (androidx.lifecycle.SavedStateHandle); } @@ -1961,8 +1961,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; (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 F:\AS\gradle-6.1.1\caches\transforms-3\badee3548ba9b653d6517fdeb8829767\transformed\jetified-lifecycle-viewmodel-savedstate-2.5.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro # When editing this file, update the following files as well: # - META-INF/proguard/coroutines.pro # - META-INF/com.android.tools/proguard/coroutines.pro @@ -1990,8 +1990,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 F:\AS\gradle-6.1.1\caches\transforms-3\0e43e19966d3ba7fcce157667e087c7e\transformed\rules\lib\META-INF\com.android.tools\r8\coroutines.pro +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro # Allow R8 to optimize away the FastServiceLoader. # Together with ServiceLoader optimization in R8 # this results in direct instantiation when loading Dispatchers.Main @@ -2016,8 +2016,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 F:\AS\gradle-6.1.1\caches\transforms-3\039aa78b17fc1889d62d4e8e7d7c1859\transformed\rules\lib\META-INF\com.android.tools\r8-from-1.6.0\coroutines.pro +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt #GSON # Retain Annotations for model objects -keepattributes *Annotation* @@ -2041,8 +2041,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keepclasseswithmembers class * { @retrofit2.http.* ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\33f970d366250728877e2f4671336331\transformed\jetified-twitter-core-3.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro # JSR 305 annotations are for embedding nullability information. -dontwarn javax.annotation.** @@ -2055,16 +2055,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 F:\AS\gradle-6.1.1\caches\transforms-3\c77ecf57bcccb48a1c436095271858a9\transformed\rules\lib\META-INF\proguard\okhttp3.pro +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro # Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. -dontwarn org.codehaus.mojo.animal_sniffer.* -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\ba2f6b8d754037d8f03e9dcac5bb54b5\transformed\rules\lib\META-INF\proguard\okio.pro +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\acd3bab55cb4f819050ef57ea2e25987\transformed\jetified-beautysdk-202202241203\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt @@ -2093,8 +2093,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 F:\AS\gradle-6.1.1\caches\transforms-3\6905c56d188193f144e40adf093778f1\transformed\jetified-utilcode-1.30.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt -keep class cn.rongcloud.xcrash.NativeHandler { native ; void crashCallback(...); @@ -2102,22 +2102,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 F:\AS\gradle-6.1.1\caches\transforms-3\b75b75d929caf1295aec25af1cc611a0\transformed\jetified-crash-1.0.8\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt # Proguard configuration. -dontwarn com.squareup.okhttp.** # References to Picasso are okay if the consuming app doesn't use it -dontwarn com.squareup.picasso.Transformation -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\a7d2b366ebb4fa695d83564a8f8d9b9e\transformed\jetified-roundedimageview-2.3.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt -keep public class pl.droidsonroids.gif.GifIOException{(int, java.lang.String);} #Prevents warnings for consumers not using AndroidX -dontwarn androidx.annotation.** -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\54e4d6b7585273307d9c6823366d92b9\transformed\jetified-android-gif-drawable-1.2.23\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt #https://github.com/leolin310148/ShortcutBadger/issues/46 -keep class me.leolin.shortcutbadger.impl.AdwHomeBadger { (...); } -keep class me.leolin.shortcutbadger.impl.ApexHomeBadger { (...); } @@ -2128,8 +2128,8 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode; -keep class me.leolin.shortcutbadger.impl.SolidHomeBadger { (...); } -keep class me.leolin.shortcutbadger.impl.SonyHomeBadger { (...); } -keep class me.leolin.shortcutbadger.impl.XiaomiHomeBadger { (...); } -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\11ff2b99188b7e7bf4e2771916717f0f\transformed\jetified-ShortcutBadger-1.1.22\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt # Add project specific ProGuard rules here. # You can control the filterSet of applied configuration files using the # proguardFiles setting in build.gradle. @@ -2167,8 +2167,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 F:\AS\gradle-6.1.1\caches\transforms-3\bf0366dad8fd25b42dec7a0b29d3ed94\transformed\jetified-EasyFloat-2.0.4\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt # Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. @@ -2190,12 +2190,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 F:\AS\gradle-6.1.1\caches\transforms-3\6dd79c19a3de7f7b4d3014c08d02f4ca\transformed\jetified-PagerGridLayoutManager-1.1.7\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\adfc563cfaac18f99ab49176e8311139\transformed\jetified-WheelView-4.1.11\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +2849,8 @@ native ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\483c0844792efef20618064763675691\transformed\jetified-SudMGP-1.4.3.1201\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +2865,8 @@ native ; *** *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 F:\AS\gradle-6.1.1\caches\transforms-3\9fef6e1dea59ce01cbe6739f12545786\transformed\jetified-SudASR-1.4.3.1201\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +2893,8 @@ native ; -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 F:\AS\gradle-6.1.1\caches\transforms-3\d5594233d50b1d727f4630790ca89a13\transformed\jetified-core-8.7.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt # Proguard rules specific to the core module. # Constructors accessed via reflection in DefaultRenderersFactory @@ -2951,8 +2951,8 @@ native ; (); } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\526e7910eaa433763f36b642f34c1fee\transformed\jetified-exoplayer-core-2.18.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt # Copyright (C) 2019 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -2971,8 +2971,8 @@ native ; (); } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\2d16d937f787a1471d1fcefef8917ded\transformed\jetified-savedstate-1.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt # Copyright (C) 2017 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -2992,8 +2992,8 @@ native ; 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 F:\AS\gradle-6.1.1\caches\transforms-3\f55e0290d55f2ec9dfa66384635c714c\transformed\transition-1.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -3014,8 +3014,8 @@ native ; *** 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 F:\AS\gradle-6.1.1\caches\transforms-3\093cf4894c646f12adcf0608a8578513\transformed\vectordrawable-animated-1.1.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt # Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # @@ -3051,8 +3051,8 @@ native ; 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 F:\AS\gradle-6.1.1\caches\transforms-3\3db9f5e64eaa2a61a80545d78dbfe4ed\transformed\jetified-facebook-bolts-15.2.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt # Copyright (C) 2017 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -3076,8 +3076,8 @@ native ; -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 F:\AS\gradle-6.1.1\caches\transforms-3\13795feba8dd8fc2e0266a202e40730e\transformed\media-1.6.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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* { ; @@ -3095,8 +3095,8 @@ native ; ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\c6ec9c31a3362678dbcc66f2e9ea7260\transformed\core-1.10.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt -keepattributes AnnotationDefault, RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations, @@ -3120,8 +3120,8 @@ native ; # 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 F:\AS\gradle-6.1.1\caches\transforms-3\2c964f4aa7e08caf6a082be78fa332c4\transformed\lifecycle-runtime-2.5.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt # Proguard rules specific to the DataSource module. # Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening. @@ -3135,8 +3135,8 @@ native ; (); } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\4a3cce138aa30f2fd0df44bf999a62d2\transformed\jetified-exoplayer-datasource-2.18.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt # Proguard rules specific to the extractor module. # Methods accessed via reflection in DefaultExtractorsFactory @@ -3154,8 +3154,8 @@ native ; -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 F:\AS\gradle-6.1.1\caches\transforms-3\cccc4dd1e5210aae5c702cc866696db2\transformed\jetified-exoplayer-extractor-2.18.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt # Proguard rules specific to the common module. # Don't warn about checkerframework and Kotlin annotations @@ -3179,30 +3179,30 @@ native ; # 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 F:\AS\gradle-6.1.1\caches\transforms-3\5bd9c5cbdf66400a7932d1da1691bac0\transformed\jetified-exoplayer-common-2.18.2\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt -keep class * implements androidx.versionedparcelable.VersionedParcelable -keep public class android.support.**Parcelizer { *; } -keep public class androidx.**Parcelizer { *; } -keep public class androidx.versionedparcelable.ParcelImpl -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\25898cd92bff76be652caaeef3397500\transformed\versionedparcelable-1.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt -keep class * extends androidx.room.RoomDatabase -dontwarn androidx.room.paging.** -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\8c49f53105b230fe43669879f576cab6\transformed\room-runtime-2.4.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\c4bf50f4bef00295f739a61609b757c2\transformed\jetified-transport-backend-cct-3.1.8\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt -dontwarn com.google.auto.value.AutoValue -dontwarn com.google.auto.value.AutoValue$Builder -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\ad1f4a6564b34286db155b9a62614b62\transformed\jetified-transport-api-3.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt # This Proguard rule ensures that ComponentInitializers are are neither shrunk nor obfuscated. # This is because they are discovered and instantiated during application initialization. -keep class * extends androidx.startup.Initializer { @@ -3212,22 +3212,22 @@ native ; -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 F:\AS\gradle-6.1.1\caches\transforms-3\48f6f745536202396d49c6664e656f00\transformed\jetified-startup-runtime-1.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt -dontwarn com.google.firebase.components.Component$Instantiation -dontwarn com.google.firebase.components.Component$ComponentType -keep class * implements com.google.firebase.components.ComponentRegistrar -keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar -# End of content from 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 F:\AS\gradle-6.1.1\caches\transforms-3\e1bbd140b52a8e61bea52bf380947059\transformed\jetified-firebase-components-17.0.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt -# End of content from C:\Users\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 F:\AS\gradle-6.1.1\caches\transforms-3\ff39e13547528b628eacff5bee8aa481\transformed\jetified-firebase-encoders-json-18.0.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 F:\AS\gradle-6.1.1\caches\transforms-3\eb4fdf1a1abe4d45e8a1ea6c65e9f330\transformed\jetified-model-8.7.0\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in /Developer/android-sdk-osx/tools/proguard/proguard-android.txt @@ -3249,8 +3249,8 @@ native ; -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 F:\AS\gradle-6.1.1\caches\transforms-3\e4ea56c12de34fd26c2a84541f3aeb08\transformed\jetified-calligraphy3-3.1.1\proguard.txt +# The proguard configuration file for the following section is F:\AS\gradle-6.1.1\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 +3270,7 @@ native ; @androidx.annotation.DoNotInline ; } -# 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 F:\AS\gradle-6.1.1\caches\transforms-3\6ee4aefc5377638487f62f6779665411\transformed\rules\lib\META-INF\proguard\androidx-annotations.pro # The proguard configuration file for the following section is # End of content from \ No newline at end of file diff --git a/common/src/main/AndroidManifest.xml b/common/src/main/AndroidManifest.xml index 8c371f8a1..956866406 100644 --- a/common/src/main/AndroidManifest.xml +++ b/common/src/main/AndroidManifest.xml @@ -25,7 +25,7 @@ = 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; } diff --git a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java index 2cfa48347..90cd72c12 100644 --- a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java @@ -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(); } diff --git a/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java b/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java index 9119f523b..4552663be 100644 --- a/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java @@ -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) { diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml index c98de881c..da6004bf0 100644 --- a/common/src/main/res/values-zh/strings.xml +++ b/common/src/main/res/values-zh/strings.xml @@ -651,7 +651,7 @@ 歡迎來到PDLIVE 恭喜你獲得了新人獎勵 - com.pandora.sy.fileprovider + com.newpandora.yo.fileprovider 數量 diff --git a/config.gradle b/config.gradle index 6b8b5a680..99c195cef 100644 --- a/config.gradle +++ b/config.gradle @@ -4,7 +4,7 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 23, targetSdkVersion : 34, - versionCode : 550, + versionCode : 600, versionName : "6.8.0", namespace : "com.pandoralive.shayu" ] diff --git a/gradle.properties b/gradle.properties index c41a7a913..6f233b2b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -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 \ No newline at end of file +systemProp.https.proxyPort=10809 +systemProp.http.proxyPort=10809 +android.enableR8.fullMode=true \ No newline at end of file diff --git a/main/google-services.json b/main/google-services.json deleted file mode 100644 index 293dd2490..000000000 --- a/main/google-services.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "project_info": { - "project_number": "867032862719", - "project_id": "pdlnew", - "storage_bucket": "pdlnew.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:867032862719:android:841a73fdfb6c37453ae1ca", - "android_client_info": { - "package_name": "com.pandora.sy" - } - }, - "oauth_client": [ - { - "client_id": "867032862719-af2dnojobjd8s6ekdr1is1vev8nk36sv.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", - "certificate_hash": "15fc5e70cf238323bf7111c8c627803985478e87" - } - }, - { - "client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAnlY2aBEGyg7QpghHo7EaMRkM89dVNgq8" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "867032862719-ep4r92lpjmn7gs9tg0r7q0l75a4gm9mt.apps.googleusercontent.com", - "client_type": 3 - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/main/src/main/java/com/yunbao/main/activity/EntryActivity.java b/main/src/main/java/com/yunbao/main/activity/EntryActivity.java index df1af477c..e223a0e15 100644 --- a/main/src/main/java/com/yunbao/main/activity/EntryActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/EntryActivity.java @@ -441,7 +441,7 @@ public class EntryActivity extends AppCompatActivity { } else if (loginType == 4) { try { // App-to-app login - Intent loginIntent = LineLoginApi.getLoginIntent(findViewById(R.id.btn_line).getContext(), "1656399535", new LineAuthenticationParams.Builder().scopes(Arrays.asList(Scope.PROFILE)) + Intent loginIntent = LineLoginApi.getLoginIntent(findViewById(R.id.btn_line).getContext(), "2006124380", new LineAuthenticationParams.Builder().scopes(Arrays.asList(Scope.PROFILE)) // .nonce("") // nonce can be used to improve security .build()); startActivityForResult(loginIntent, 1001); diff --git a/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java b/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java index 28851e4f5..d13018967 100644 --- a/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java +++ b/main/src/main/java/com/yunbao/main/activity/MyWalletActivity.java @@ -143,12 +143,12 @@ public class MyWalletActivity extends AbsActivity { googleFragment1 = new GoogleFragment(); Bundle bundle1 = new Bundle(); - bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaycoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); googleFragment1.setArguments(bundle1); googleFragment2 = new GoogleFragment(); Bundle bundle2 = new Bundle(); - bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=googlepaygole&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); googleFragment2.setArguments(bundle2); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) { //华为 @@ -160,12 +160,12 @@ public class MyWalletActivity extends AbsActivity { huaWeiFragment1 = new HuaWeiFragment(); Bundle bundle1 = new Bundle(); - bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"); + bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo"); huaWeiFragment1.setArguments(bundle1); huaWeiFragment2 = new HuaWeiFragment(); Bundle bundle2 = new Bundle(); - bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"); + bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo"); huaWeiFragment2.setArguments(bundle2); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) { @@ -228,12 +228,12 @@ public class MyWalletActivity extends AbsActivity { huaWeiFragment1 = new HuaWeiFragment(); Bundle bundle1 = new Bundle(); - bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"); + bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo"); huaWeiFragment1.setArguments(bundle1); huaWeiFragment2 = new HuaWeiFragment(); Bundle bundle2 = new Bundle(); - bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd"); + bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/huaweipaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo"); huaWeiFragment2.setArguments(bundle2); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 3) { rView.setVisibility(View.VISIBLE); @@ -244,12 +244,12 @@ public class MyWalletActivity extends AbsActivity { samsungFragment1 = new SamsungFragment(); Bundle bundle1 = new Bundle(); - bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle1.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaycoin.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); samsungFragment1.setArguments(bundle1); samsungFragment2 = new SamsungFragment(); Bundle bundle2 = new Bundle(); - bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle2.putString("url", CommonAppConfig.HOST + "/themes/simplebootx/appapi/mall/samsungpaygole.html?uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); samsungFragment2.setArguments(bundle2); } else { Log.i("tss", "不是首充"); @@ -257,17 +257,17 @@ public class MyWalletActivity extends AbsActivity { walletFragment = new WalletFragment(); Bundle bundle = new Bundle(); - bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletbean&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); walletFragment.setArguments(bundle); googleFragment1 = new GoogleFragment(); Bundle bundle1 = new Bundle(); - bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle1.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletcoin&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); googleFragment1.setArguments(bundle1); googleFragment2 = new GoogleFragment(); Bundle bundle2 = new Bundle(); - bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=pd" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); + bundle2.putString("url", CommonAppConfig.HOST + "/index.php?g=Appapi&m=Mall&a=walletgold&uid=" + CommonAppConfig.getInstance().getUid() + "&token=" + CommonAppConfig.getInstance().getToken() + "&package_name=panduo" + "&isZh=" + ((IMLoginManager.get(mContext).getLocaleLanguage() == Locale.SIMPLIFIED_CHINESE) ? "1" : "0")); googleFragment2.setArguments(bundle2); } } diff --git a/main/src/main/res/layout/activity_entry.xml b/main/src/main/res/layout/activity_entry.xml index 98746db2c..88a886002 100644 --- a/main/src/main/res/layout/activity_entry.xml +++ b/main/src/main/res/layout/activity_entry.xml @@ -191,8 +191,7 @@ android:layout_height="57dp" android:layout_gravity="center" android:layout_weight="1" - android:src="@mipmap/login_line" - android:visibility="visible" /> + android:src="@mipmap/login_line" /> Date: Thu, 5 Sep 2024 18:10:08 +0800 Subject: [PATCH 16/17] =?UTF-8?q?=E5=8C=85=E5=90=8D=E4=B8=BA=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=20=E9=9D=9E=E5=86=99=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Share/src/main/AndroidManifest.xml | 2 +- common/src/main/AndroidManifest.xml | 2 +- .../main/java/com/yunbao/common/http/CommonHttpUtil.java | 6 +++--- .../main/java/com/yunbao/common/utils/ProcessImageUtil.java | 6 +++--- .../src/main/java/com/yunbao/common/utils/VersionUtil.java | 4 ++-- .../java/com/yunbao/common/views/APKUpdateCustomPopup.java | 2 +- gradle.properties | 4 ++-- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Share/src/main/AndroidManifest.xml b/Share/src/main/AndroidManifest.xml index 5cbbcc96d..3bb420a51 100644 --- a/Share/src/main/AndroidManifest.xml +++ b/Share/src/main/AndroidManifest.xml @@ -4,7 +4,7 @@ > - + = 24) { - uri = FileProvider.getUriForFile(mContext, "com.newpandora.yo.fileprovider", mCameraResult); + uri = FileProvider.getUriForFile(mContext, mContext.getPackageName() +".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.newpandora.yo.fileprovider", mCameraResult); + uri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCameraResult); intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); } 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.newpandora.yo.fileprovider", mCorpResult); + Uri resultUri = FileProvider.getUriForFile(mContext, mContext.getPackageName()+".fileprovider", mCorpResult); if (resultUri == null || mFragment == null || mContext == null) { return; } diff --git a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java index 90cd72c12..64682556c 100644 --- a/common/src/main/java/com/yunbao/common/utils/VersionUtil.java +++ b/common/src/main/java/com/yunbao/common/utils/VersionUtil.java @@ -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.newpandora.yo")); + i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName())); 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.newpandora.yo")); + i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+context.getPackageName())); context.startActivity(i); context.finish(); } diff --git a/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java b/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java index 4552663be..5e70defa0 100644 --- a/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java +++ b/common/src/main/java/com/yunbao/common/views/APKUpdateCustomPopup.java @@ -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.newpandora.yo")); + i.setData(Uri.parse("https://play.google.com/store/apps/details?id="+mContext.getPackageName())); mContext.startActivity(i); mContext.finish(); } else if (CommonAppConfig.IS_GOOGLE_PLAY == 2) { diff --git a/gradle.properties b/gradle.properties index 6f233b2b9..03703df08 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,6 +24,6 @@ android.nonTransitiveRClass=false systemProp.http.proxyHost=127.0.0.1 systemProp.https.proxyHost=127.0.0.1 -systemProp.https.proxyPort=10809 -systemProp.http.proxyPort=10809 +systemProp.https.proxyPort=9098 +systemProp.http.proxyPort=9098 android.enableR8.fullMode=true \ No newline at end of file From 4d6e38734d0ed89ff34b06e2c27b7d96b3a4fe77 Mon Sep 17 00:00:00 2001 From: ningwenqiang Date: Fri, 6 Sep 2024 11:19:24 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=20601=206.8.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config.gradle b/config.gradle index 99c195cef..5e66f817f 100644 --- a/config.gradle +++ b/config.gradle @@ -4,8 +4,8 @@ ext { buildToolsVersion: "29.0.2", minSdkVersion : 23, targetSdkVersion : 34, - versionCode : 600, - versionName : "6.8.0", + versionCode : 601, + versionName : "6.8.1", namespace : "com.pandoralive.shayu" ] manifestPlaceholders = [