From d5880671a1ac0d2d612679e5c2828fb9c96f1d6a Mon Sep 17 00:00:00 2001 From: Fankesyooni Date: Fri, 13 May 2022 00:29:00 +0800 Subject: [PATCH] Added errors detail context menu --- .../apperrorstracking/locale/LocaleString.kt | 6 ++++ .../ui/activity/AppErrorsRecordActivity.kt | 33 ++++++++++++------- .../main/res/menu/menu_list_detail_action.xml | 9 +++++ app/src/main/res/values-ja/strings.xml | 2 ++ app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values-zh-rHK/strings.xml | 2 ++ app/src/main/res/values-zh-rMO/strings.xml | 2 ++ app/src/main/res/values-zh-rTW/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 9 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/menu/menu_list_detail_action.xml diff --git a/app/src/main/java/com/fankes/apperrorstracking/locale/LocaleString.kt b/app/src/main/java/com/fankes/apperrorstracking/locale/LocaleString.kt index af87304..d0f6d70 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/locale/LocaleString.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/locale/LocaleString.kt @@ -196,4 +196,10 @@ object LocaleString { /** @string Automatic generated */ fun allErrorsClearSuccess(vararg objArrs: Any) = R.string.all_errors_clear_success.bind(*objArrs) + + /** @string Automatic generated */ + val areYouSureExportAllErrors get() = areYouSureExportAllErrors() + + /** @string Automatic generated */ + fun areYouSureExportAllErrors(vararg objArrs: Any) = R.string.are_you_sure_export_all_errors.bind(*objArrs) } \ No newline at end of file diff --git a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/AppErrorsRecordActivity.kt b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/AppErrorsRecordActivity.kt index e5a5964..da35182 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/ui/activity/AppErrorsRecordActivity.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/ui/activity/AppErrorsRecordActivity.kt @@ -21,9 +21,8 @@ */ package com.fankes.apperrorstracking.ui.activity -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup +import android.view.* +import android.widget.AdapterView.AdapterContextMenuInfo import android.widget.BaseAdapter import androidx.core.view.isVisible import com.fankes.apperrorstracking.R @@ -32,10 +31,7 @@ import com.fankes.apperrorstracking.databinding.ActivityAppErrorsRecordBinding import com.fankes.apperrorstracking.databinding.AdapterAppErrorsRecordBinding import com.fankes.apperrorstracking.locale.LocaleString import com.fankes.apperrorstracking.ui.activity.base.BaseActivity -import com.fankes.apperrorstracking.utils.factory.appIcon -import com.fankes.apperrorstracking.utils.factory.appName -import com.fankes.apperrorstracking.utils.factory.showDialog -import com.fankes.apperrorstracking.utils.factory.toast +import com.fankes.apperrorstracking.utils.factory.* import com.fankes.apperrorstracking.utils.tool.FrameworkTool import java.text.SimpleDateFormat import java.util.* @@ -97,10 +93,9 @@ class AppErrorsRecordActivity : BaseActivity() { } return cView!! } - }.apply { - setOnItemClickListener { _, _, p, _ -> AppErrorsDetailActivity.start(context, listData[p]) } - onChanged = { notifyDataSetChanged() } - } + }.apply { onChanged = { notifyDataSetChanged() } } + registerForContextMenu(this) + setOnItemClickListener { _, _, p, _ -> AppErrorsDetailActivity.start(context, listData[p]) } } } @@ -117,6 +112,22 @@ class AppErrorsRecordActivity : BaseActivity() { } } + override fun onCreateContextMenu(menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo?) { + menuInflater.inflate(R.menu.menu_list_detail_action, menu) + super.onCreateContextMenu(menu, v, menuInfo) + } + + override fun onContextItemSelected(item: MenuItem): Boolean { + if (item.menuInfo is AdapterContextMenuInfo) + (item.menuInfo as? AdapterContextMenuInfo?)?.also { + when (item.itemId) { + R.id.aerrors_view_detail -> AppErrorsDetailActivity.start(context = this, listData[it.position]) + R.id.aerrors_app_info -> openSelfSetting(listData[it.position].packageName) + } + } + return super.onContextItemSelected(item) + } + override fun onResume() { super.onResume() /** 执行更新 */ diff --git a/app/src/main/res/menu/menu_list_detail_action.xml b/app/src/main/res/menu/menu_list_detail_action.xml new file mode 100644 index 0000000..7039936 --- /dev/null +++ b/app/src/main/res/menu/menu_list_detail_action.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 8a83492..22044c3 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -38,4 +38,6 @@ ヒント すべてのエラーレコードをクリアしてもよろしいですか? すべてのアラーレコードがクリアされました + すべてのログファイルをエクスポートしてもよろしいですか? 梱包プロセスには時間がかかる場合があります。 + 詳細を見る \ No newline at end of file diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 9491bd2..9118d3d 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -38,4 +38,6 @@ 提示 你确定要清空全部异常记录吗? 全部异常记录已清空 + 你确定要导出全部日志文件吗?打包过程可能会花费一点时间。 + 查看详情 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index c6cc04e..d6325f9 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -38,4 +38,6 @@ 提醒 你確認要清空全部異常紀錄嗎? 全部異常紀錄已清空 + 你確認要導出全部日誌文件嗎?打包過程可能會花費一點時間。 + 查看詳情 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rMO/strings.xml b/app/src/main/res/values-zh-rMO/strings.xml index 43acc78..027b7ea 100644 --- a/app/src/main/res/values-zh-rMO/strings.xml +++ b/app/src/main/res/values-zh-rMO/strings.xml @@ -38,4 +38,6 @@ 提醒 你確認要清空全部異常紀錄嗎? 全部異常紀錄已清空 + 你確認要導出全部日誌文件嗎?打包過程可能會花費一點時間。 + 查看詳情 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 557ccfc..dad2831 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -38,4 +38,6 @@ 提醒 你確認要清空全部異常紀錄嗎? 全部異常紀錄已清空 + 你確認要導出全部日誌文件嗎?打包過程可能會花費一點時間。 + 查看詳情 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5834b2e..10fcb13 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -37,4 +37,6 @@ Notice Are you sure you want to clear all errors records? All errors records have been cleared + Are you sure you want to export all log files? The packaging process may take a while. + View detail \ No newline at end of file