From 5e0336a43450f9de576d6ca4a7d9f8cd7b6e4f85 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Sun, 22 Jan 2023 15:50:40 +0800 Subject: [PATCH] Added disable automatic wrapping error stack trace contents function in ConfigData, AppErrorsDetailActivity, activity_app_errors_detail --- .../apperrorstracking/data/ConfigData.kt | 3 ++ .../errors/AppErrorsDetailActivity.kt | 10 ++++- .../res/layout/activity_app_errors_detail.xml | 45 ++++++++++++++++++- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/fankes/apperrorstracking/data/ConfigData.kt b/app/src/main/java/com/fankes/apperrorstracking/data/ConfigData.kt index e234d56..9f5e177 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/data/ConfigData.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/data/ConfigData.kt @@ -54,6 +54,9 @@ object ConfigData { /** 启用应用配置模板 */ val ENABLE_APP_CONFIG_TEMPLATE = PrefsData("_enable_app_config_template", false) + /** 禁止异常堆栈内容自动换行 */ + val DISABLE_AUTO_WRAP_ERROR_STACK_TRACE = PrefsData("_disable_auto_wrap_error_stack_trace", false) + /** 当前实例 - [Context] or [PackageParam] */ private var instance: Any? = null 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 398818e..7f97e73 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 @@ -31,6 +31,8 @@ import androidx.core.view.isGone import androidx.core.view.isVisible import com.fankes.apperrorstracking.R import com.fankes.apperrorstracking.bean.AppErrorsInfoBean +import com.fankes.apperrorstracking.data.ConfigData +import com.fankes.apperrorstracking.data.ConfigData.bind import com.fankes.apperrorstracking.databinding.ActivityAppErrorsDetailBinding import com.fankes.apperrorstracking.locale.LocaleString import com.fankes.apperrorstracking.ui.activity.base.BaseActivity @@ -118,7 +120,13 @@ class AppErrorsDetailActivity : BaseActivity() { binding.errorThrowMethodText.text = appErrorsInfo.throwMethodName binding.errorLineNumberText.text = appErrorsInfo.throwLineNumber.toString() binding.errorRecordTimeText.text = appErrorsInfo.dateTime - binding.errorStackText.text = appErrorsInfo.stackTrace + binding.errorStackTraceMovableText.text = appErrorsInfo.stackTrace + binding.errorStackTraceFixedText.text = appErrorsInfo.stackTrace + binding.disableAutoWrapErrorStackTraceSwitch.bind(ConfigData.DISABLE_AUTO_WRAP_ERROR_STACK_TRACE) { + binding.errorStackTraceScrollView.isVisible = it + binding.errorStackTraceFixedText.isGone = it + binding.errorStackTraceScrollView.post { binding.errorStackTraceScrollView.scrollTo(0, 0) } + } binding.appPanelScrollView.setOnScrollChangeListener { _, _, y, _, _ -> binding.detailTitleText.text = if (y >= 30.dp(context = this)) appNameOf(appErrorsInfo.packageName) else LocaleString.appName } diff --git a/app/src/main/res/layout/activity_app_errors_detail.xml b/app/src/main/res/layout/activity_app_errors_detail.xml index 4b4c098..2f3cbe9 100644 --- a/app/src/main/res/layout/activity_app_errors_detail.xml +++ b/app/src/main/res/layout/activity_app_errors_detail.xml @@ -437,8 +437,51 @@ + + + + + + +