From 9834b6c8dd78a594e71567ea85bcc546a44af26c Mon Sep 17 00:00:00 2001 From: ZQDesigned <2990918167@QQ.COM> Date: Wed, 21 Jun 2023 01:14:17 +0800 Subject: [PATCH] Refactor code style --- .../errors/AppErrorsDetailActivity.kt | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDetailActivity.kt b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDetailActivity.kt index 3e6a22f..6bb1505 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDetailActivity.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/errors/AppErrorsDetailActivity.kt @@ -62,10 +62,9 @@ class AppErrorsDetailActivity : BaseActivity() { private var stackTrace = "" override fun onCreate() { - if (!parseIntent(intent)) return + if (intent.parseAppErrorsInfo().not()) return binding.titleBackIcon.setOnClickListener { onBackPressed() } - binding.disableAutoWrapErrorStackTraceSwitch.bind(ConfigData.DISABLE_AUTO_WRAP_ERROR_STACK_TRACE) { onInitialize { binding.errorStackTraceScrollView.isVisible = it @@ -76,14 +75,19 @@ class AppErrorsDetailActivity : BaseActivity() { resetScrollView() } } - binding.detailTitleText.setOnClickListener { binding.appPanelScrollView.smoothScrollTo(0, 0) } - resetScrollView() } - private fun parseIntent(intent: Intent?): Boolean { - val appErrorsInfo = runCatching { intent?.getSerializableExtraCompat(EXTRA_APP_ERRORS_INFO) }.getOrNull() + /** + * 从 [Intent] 中解析 [AppErrorsInfoBean] 并加载至界面 + * + * @receiver [Intent] 待解析的 [Intent] 实例 + * + * @return [Boolean] 是否解析成功:true为成功;false为失败,可能是 [Intent] 为空或者 [AppErrorsInfoBean] 为空 + */ + private fun Intent?.parseAppErrorsInfo(): Boolean { + val appErrorsInfo = runCatching { this?.getSerializableExtraCompat(EXTRA_APP_ERRORS_INFO) }.getOrNull() if (appErrorsInfo == null) { toastAndFinish(name = "AppErrorsInfo") return false @@ -146,7 +150,7 @@ class AppErrorsDetailActivity : BaseActivity() { binding.errorStackTraceMovableText.text = appErrorsInfo.stackTrace binding.errorStackTraceFixedText.text = appErrorsInfo.stackTrace binding.appPanelScrollView.setOnScrollChangeListener { _, _, y, _, _ -> - binding.detailTitleText.text = if (y >= 30.dp(context = this)) + binding.detailTitleText.text = if (y >= 30.dp(context = this@AppErrorsDetailActivity)) appNameOf(appErrorsInfo.packageName).ifBlank { appErrorsInfo.packageName } else LocaleString.appName } @@ -177,9 +181,7 @@ class AppErrorsDetailActivity : BaseActivity() { } override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) - if (parseIntent(intent)) { - binding.appPanelScrollView.scrollTo(0, 0) - } + if (intent.parseAppErrorsInfo()) binding.appPanelScrollView.scrollTo(0, 0) } } \ No newline at end of file