From 17d222cf86c7dd99ce03b2f4ef4ba7b6c15d08c7 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 29 Dec 2022 14:42:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[2.13.0]=E4=BC=98=E5=8C=96=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=9C=8D=E5=8A=A1=E7=9B=B8=E5=85=B3=E7=9A=84=E4=B8=BB?= =?UTF-8?q?=E7=BA=BF=E7=A8=8BIO=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 ++ .../java/com/mogo/launcher/lancet/ANRFix.kt | 71 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 app/src/main/java/com/mogo/launcher/lancet/ANRFix.kt diff --git a/app/build.gradle b/app/build.gradle index 8c6c04e3dd..726a2d8cef 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,6 +55,10 @@ if (!isAndroidTestBuild()) { leak_canary_crash_fix { enable !isReleaseBuild } + + anr_fix { + enable true + } } } } diff --git a/app/src/main/java/com/mogo/launcher/lancet/ANRFix.kt b/app/src/main/java/com/mogo/launcher/lancet/ANRFix.kt new file mode 100644 index 0000000000..878eafd753 --- /dev/null +++ b/app/src/main/java/com/mogo/launcher/lancet/ANRFix.kt @@ -0,0 +1,71 @@ +package com.mogo.launcher.lancet + +import androidx.annotation.* +import com.knightboost.lancet.api.* +import com.knightboost.lancet.api.annotations.* +import com.knightboost.lancet.api.annotations.Weaver +import com.mogo.eagle.core.utilcode.util.* +import kotlinx.coroutines.Runnable + +@Keep +@Weaver +@Group("anr_fix") +class ANRFix { + + @Insert + @TargetClass("com.zhidao.cosupload.service.UploadService") + @TargetMethod(methodName = "addUploadPaths") + private fun fixAddUploadPathsANR() { + ThreadUtils.getIoPool().execute(ANRFixTask(This.get(), "addUploadPaths")) + } + + @Insert + @TargetClass("com.zhidao.cosupload.service.UploadService") + @TargetMethod(methodName = "upload") + private fun fixUploadANR(@ClassOf("com.zhidao.cosupload.model.CacheUploadIdData") data: Any?) { + ThreadUtils.getIoPool().execute(ANRFixTask2(This.get(), "upload", data)) + } + + @Insert + @TargetClass("com.zhidao.cosupload.manager.CosUploadManagerImpl") + @TargetMethod(methodName = "upload") + private fun fixCosUploadManagerImplANR(productLine: String?, paths: List?, eventId: String?, @ClassOf("com.zhidao.cosupload.DbPriorityConfig") config: Any?) { + ThreadUtils.getIoPool().execute(ANRFixTask3(This.get(), "upload", productLine, paths, eventId, config)) + } +} + +class ANRFixTask(private val delegate: Any, private val methodName: String): Runnable { + + override fun run() { + delegate.javaClass.declaredMethods.find { + it.name != methodName && it.name.contains(methodName) + }?.also { + it.isAccessible = true + it.invoke(delegate) + } + } +} + +class ANRFixTask2(private val delegate: Any, private val methodName: String, private val p: Any?): Runnable { + + override fun run() { + delegate.javaClass.declaredMethods.find { + it.name != methodName && it.name.contains(methodName) + }?.also { + it.isAccessible = true + it.invoke(delegate, p) + } + } +} + +class ANRFixTask3(private val delegate: Any, private val methodName: String,private val productLine: String?, private val paths: List?, private val eventId: String?, private val config: Any?): Runnable { + + override fun run() { + delegate.javaClass.declaredMethods.find { + it.name != methodName && it.name.contains(methodName) + }?.also { + it.isAccessible = true + it.invoke(delegate, productLine, paths, eventId, config) + } + } +} \ No newline at end of file From 49a0daa8190c2eb8a3ef50073315a0563b5610d0 Mon Sep 17 00:00:00 2001 From: wangmingjun Date: Thu, 29 Dec 2022 17:02:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[2.13.0]=20taxi=E5=8F=B8=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E8=AE=A2=E5=8D=95view=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/taxi/ui/TaxiOrderCancelDialog.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java index 6ce0c58654..95aef7ecdb 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiOrderCancelDialog.java @@ -9,10 +9,13 @@ import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; +import android.view.Display; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; +import android.view.WindowManager; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.GridView; @@ -109,11 +112,22 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi setCancelable(false); setCanceledOnTouchOutside(false); + initWindowView(); + } + + private void initWindowView() { Window window = getWindow(); //dialog padding 去掉 window.getDecorView().setPadding(0,0,0,0); window.setDimAmount(0.5f); window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全 + + WindowManager.LayoutParams params = window.getAttributes(); + window.setGravity(Gravity.CENTER); + WindowManager m = window.getWindowManager(); + Display d = m.getDefaultDisplay(); + params.height = d.getHeight() - 500; + window.setAttributes(params); } @RequiresApi(api = Build.VERSION_CODES.M) From 09b45fb40e47b914d44210fe7df795cf443c440a Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 29 Dec 2022 18:11:34 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[2.13.0]fix=E6=B6=88=E6=81=AF=E7=9B=92?= =?UTF-8?q?=E5=AD=90=E5=88=A0=E9=99=A4=E5=BD=95=E5=8C=85=E6=97=B6=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=96=B0=E7=9A=84=E5=BD=95=E5=8C=85=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=B6=E5=AF=BC=E8=87=B4=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=94=99=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt index c533b958d7..3c2d7b3c8d 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt @@ -177,6 +177,7 @@ class DriverMsgBoxListView @JvmOverloads constructor( } MsgCategory.RECORD_BAG -> { badCaseList?.add(0,msgBoxList) + driverMsgBoxListAdapter?.setData(badCaseList!!) } } } From ad6b943ebe5d7afb74ad0250029aa1b7087c3c19 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Thu, 29 Dec 2022 18:28:58 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[2.13.0]=E5=BD=95=E5=8C=85=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=88=97=E8=A1=A8=E5=88=B7=E6=96=B0=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E4=BF=9D=E6=8A=A4=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt index 3c2d7b3c8d..2dbaf16312 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxListView.kt @@ -177,7 +177,7 @@ class DriverMsgBoxListView @JvmOverloads constructor( } MsgCategory.RECORD_BAG -> { badCaseList?.add(0,msgBoxList) - driverMsgBoxListAdapter?.setData(badCaseList!!) + badCaseList?.let { driverMsgBoxListAdapter?.setData(it) } } } }