diff --git a/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsDisplayBean.kt b/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsDisplayBean.kt index 491fe40..fe82394 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsDisplayBean.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsDisplayBean.kt @@ -26,6 +26,7 @@ import java.io.Serializable /** * 应用异常信息显示 bean + * @param userId APP 用户 ID * @param packageName APP 包名 * @param processName APP 进程名 * @param appName APP 名称 @@ -35,6 +36,7 @@ import java.io.Serializable * @param isShowReopenButton 是否显示重新打开按钮 */ data class AppErrorsDisplayBean( + @Keep var userId: Int, @Keep var packageName: String, @Keep var processName: String, @Keep var appName: String, diff --git a/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt b/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt index 132ef3e..b8c24f4 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/hook/entity/FrameworkHooker.kt @@ -98,7 +98,7 @@ object FrameworkHooker : YukiBaseHooker() { onCreate { appErrorsRecords = ConfigData.getResolverString(ConfigData.APP_ERRORS_DATA).toEntity() ?: arrayListOf() } } FrameworkTool.Host.with(instance = this) { - onOpenAppUsedFramework { appContext?.openApp(it) } + onOpenAppUsedFramework { appContext?.openApp(it.first, it.second) } onPushAppErrorsInfoData { appErrorsRecords } onRemoveAppErrorsInfoData { appErrorsRecords.remove(it) @@ -295,6 +295,7 @@ object FrameworkHooker : YukiBaseHooker() { /** 启动错误对话框显示窗口 */ AppErrorsDisplayActivity.start( context, AppErrorsDisplayBean( + userId = userId, packageName = packageName, processName = processName, appName = appName, diff --git a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDisplayActivity.kt b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDisplayActivity.kt index 3970a6b..0e70190 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDisplayActivity.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDisplayActivity.kt @@ -80,7 +80,7 @@ class AppErrorsDisplayActivity : BaseActivity() } binding.closeAppItem.setOnClickListener { cancel() } binding.reopenAppItem.setOnClickListener { - FrameworkTool.openAppUsedFramework(context, appErrorsDisplay.packageName) + FrameworkTool.openAppUsedFramework(context, appErrorsDisplay.packageName, appErrorsDisplay.userId) cancel() } binding.errorDetailItem.setOnClickListener { 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 0e07630..afd5ee3 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 @@ -56,7 +56,7 @@ object FrameworkTool { private const val CALL_UNMUTE_ERRORS_APP_DATA_RESULT = "call_unmute_errors_app_data_result" private const val CALL_UNMUTE_ALL_ERRORS_APPS_DATA_RESULT = "call_unmute_all_errors_apps_data_result" - private val CALL_OPEN_SPECIFY_APP = ChannelData("call_open_specify_app") + private val CALL_OPEN_SPECIFY_APP = ChannelData>("call_open_specify_app") private val CALL_APP_LIST_DATA_GET = ChannelData("call_app_info_list_data_get") private val CALL_APP_ERRORS_DATA_REMOVE = ChannelData("call_app_errors_data_remove") private val CALL_APP_LIST_DATA_GET_RESULT = ChannelData>("call_app_info_list_data_get_result") @@ -84,9 +84,9 @@ object FrameworkTool { /** * 监听使用系统框架打开 APP - * @param result 回调包名 + * @param result 回调包名和用户 ID */ - fun onOpenAppUsedFramework(result: (String) -> Unit) = instance?.dataChannel?.wait(CALL_OPEN_SPECIFY_APP) { result(it) } + fun onOpenAppUsedFramework(result: (Pair) -> Unit) = instance?.dataChannel?.wait(CALL_OPEN_SPECIFY_APP) { result(it) } /** * 监听发送 APP 异常信息数组 @@ -230,9 +230,10 @@ object FrameworkTool { * 使用系统框架打开 [packageName] * @param context 实例 * @param packageName APP 包名 + * @param userId APP 用户 ID */ - fun openAppUsedFramework(context: Context, packageName: String) = - context.dataChannel(SYSTEM_FRAMEWORK_NAME).put(CALL_OPEN_SPECIFY_APP, packageName) + fun openAppUsedFramework(context: Context, packageName: String, userId: Int) = + context.dataChannel(SYSTEM_FRAMEWORK_NAME).put(CALL_OPEN_SPECIFY_APP, Pair(packageName, userId)) /** * 获取 APP 异常信息数组