From 7611445b56a4019c7c58d967e6e224672c922746 Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 13 May 2022 02:27:39 +0800 Subject: [PATCH] Fix receiver crash bug in FrameworkTool --- .../utils/tool/FrameworkTool.kt | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/fankes/apperrorstracking/utils/tool/FrameworkTool.kt b/app/src/main/java/com/fankes/apperrorstracking/utils/tool/FrameworkTool.kt index ba6f116..1086adc 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/utils/tool/FrameworkTool.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/utils/tool/FrameworkTool.kt @@ -29,6 +29,7 @@ import android.content.Intent import android.content.IntentFilter import com.fankes.apperrorstracking.bean.AppErrorsInfoBean import com.fankes.apperrorstracking.const.Const +import com.highcapable.yukihookapi.hook.log.loggerE /** * 系统框架控制工具 @@ -46,17 +47,19 @@ object FrameworkTool { object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { if (intent == null) return - intent.getStringExtra(Const.KEY_MODULE_HOST_FETCH)?.also { - if (it.isNotBlank()) when (it) { - Const.TYPE_APP_ERRORS_DATA_GET -> runCatching { - onAppErrorsInfoDataCallback?.invoke( - intent.getSerializableExtra(Const.TAG_APP_ERRORS_DATA_CONTENT) as ArrayList - ) - }.onFailure { onAppErrorsInfoDataCallback?.invoke(arrayListOf()) } - Const.TYPE_APP_ERRORS_DATA_CLEAR -> onClearAppErrorsInfoDataCallback?.invoke() - else -> {} + runCatching { + intent.getStringExtra(Const.KEY_MODULE_HOST_FETCH)?.also { + if (it.isNotBlank()) when (it) { + Const.TYPE_APP_ERRORS_DATA_GET -> runCatching { + onAppErrorsInfoDataCallback?.invoke( + intent.getSerializableExtra(Const.TAG_APP_ERRORS_DATA_CONTENT) as ArrayList + ) + }.onFailure { onAppErrorsInfoDataCallback?.invoke(arrayListOf()) } + Const.TYPE_APP_ERRORS_DATA_CLEAR -> onClearAppErrorsInfoDataCallback?.invoke() + else -> {} + } } - } + }.onFailure { loggerE(msg = "Cannot receiver message, please restart system", e = it) } } } }