mirror of
https://github.com/KitsunePie/AppErrorsTracking.git
synced 2025-09-04 10:15:18 +08:00
Added don't screenshots in AppErrorsDetailActivity
This commit is contained in:
@@ -232,4 +232,22 @@ object LocaleString {
|
|||||||
|
|
||||||
/** @string Automatic generated */
|
/** @string Automatic generated */
|
||||||
fun areYouSureRemoveRecord(vararg objArrs: Any) = R.string.are_you_sure_remove_record.bind(*objArrs)
|
fun areYouSureRemoveRecord(vararg objArrs: Any) = R.string.are_you_sure_remove_record.bind(*objArrs)
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
val gotIt get() = gotIt()
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
fun gotIt(vararg objArrs: Any) = R.string.got_it.bind(*objArrs)
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
val dontScreenshot get() = dontScreenshot()
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
fun dontScreenshot(vararg objArrs: Any) = R.string.dont_screenshot.bind(*objArrs)
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
val dontScreenshotTip get() = dontScreenshotTip()
|
||||||
|
|
||||||
|
/** @string Automatic generated */
|
||||||
|
fun dontScreenshotTip(vararg objArrs: Any) = R.string.dont_screenshot_tip.bind(*objArrs)
|
||||||
}
|
}
|
@@ -26,6 +26,11 @@ package com.fankes.apperrorstracking.ui.activity
|
|||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.database.ContentObserver
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Handler
|
||||||
|
import android.provider.MediaStore
|
||||||
|
import android.view.WindowManager
|
||||||
import androidx.core.view.isGone
|
import androidx.core.view.isGone
|
||||||
import com.fankes.apperrorstracking.R
|
import com.fankes.apperrorstracking.R
|
||||||
import com.fankes.apperrorstracking.bean.AppErrorsInfoBean
|
import com.fankes.apperrorstracking.bean.AppErrorsInfoBean
|
||||||
@@ -56,6 +61,30 @@ class AppErrorsDetailActivity : BaseActivity<ActivityAppErrorsDetailBinding>() {
|
|||||||
/** 预导出的异常堆栈 */
|
/** 预导出的异常堆栈 */
|
||||||
private var stackTrace = ""
|
private var stackTrace = ""
|
||||||
|
|
||||||
|
/** 已经显示的截图对话框 */
|
||||||
|
private var observerDialog: DialogBuilder? = null
|
||||||
|
|
||||||
|
/** 已截图的路径数组 */
|
||||||
|
private val observerPaths = hashSetOf<String>()
|
||||||
|
|
||||||
|
/** 截图监听注册 */
|
||||||
|
private val observer = object : ContentObserver(Handler()) {
|
||||||
|
override fun onChange(selfChange: Boolean, uri: Uri?) {
|
||||||
|
if (observerPaths.contains(uri?.path ?: "")) return
|
||||||
|
observerDialog?.cancel()
|
||||||
|
showDialog {
|
||||||
|
observerDialog = this
|
||||||
|
title = LocaleString.dontScreenshot
|
||||||
|
msg = LocaleString.dontScreenshotTip
|
||||||
|
confirmButton(LocaleString.gotIt)
|
||||||
|
noCancelable()
|
||||||
|
}
|
||||||
|
uri?.path?.let { observerPaths.add(it) }
|
||||||
|
/** 截图一次后就禁止再次截图 */
|
||||||
|
window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
val appErrorsInfo = runCatching { intent?.getSerializableExtra(Const.EXTRA_APP_ERRORS_INFO) as? AppErrorsInfoBean }.getOrNull()
|
val appErrorsInfo = runCatching { intent?.getSerializableExtra(Const.EXTRA_APP_ERRORS_INFO) as? AppErrorsInfoBean }.getOrNull()
|
||||||
?: return toastAndFinish()
|
?: return toastAndFinish()
|
||||||
@@ -94,6 +123,8 @@ class AppErrorsDetailActivity : BaseActivity<ActivityAppErrorsDetailBinding>() {
|
|||||||
binding.detailTitleText.text = if (y >= 30.dp(context = this)) appName(appErrorsInfo.packageName) else LocaleString.appName
|
binding.detailTitleText.text = if (y >= 30.dp(context = this)) appName(appErrorsInfo.packageName) else LocaleString.appName
|
||||||
}
|
}
|
||||||
binding.detailTitleText.setOnClickListener { binding.appPanelScrollView.smoothScrollTo(0, 0) }
|
binding.detailTitleText.setOnClickListener { binding.appPanelScrollView.smoothScrollTo(0, 0) }
|
||||||
|
/** 注册截图监听 */
|
||||||
|
contentResolver?.registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, true, observer)
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 弹出提示并退出 */
|
/** 弹出提示并退出 */
|
||||||
@@ -116,4 +147,10 @@ class AppErrorsDetailActivity : BaseActivity<ActivityAppErrorsDetailBinding>() {
|
|||||||
intent?.removeExtra(Const.EXTRA_APP_ERRORS_INFO)
|
intent?.removeExtra(Const.EXTRA_APP_ERRORS_INFO)
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
/** 解除注册截图监听 */
|
||||||
|
contentResolver?.unregisterContentObserver(observer)
|
||||||
|
}
|
||||||
}
|
}
|
@@ -45,4 +45,7 @@
|
|||||||
<string name="no_cpu_abi">アビなし</string>
|
<string name="no_cpu_abi">アビなし</string>
|
||||||
<string name="remove_record">レコードを削除</string>
|
<string name="remove_record">レコードを削除</string>
|
||||||
<string name="are_you_sure_remove_record">このレコードを削除してもよろしいですか</string>
|
<string name="are_you_sure_remove_record">このレコードを削除してもよろしいですか</string>
|
||||||
|
<string name="got_it">分かります</string>
|
||||||
|
<string name="dont_screenshot">スクリーンショットを撮らないでください</string>
|
||||||
|
<string name="dont_screenshot_tip">エラーログのスクリーンショットを撮ることはお勧めできません。このインターフェイスの右上隅にあるボタンをクリックして、ログの内容を抽出またはコピーする必要があります。</string>
|
||||||
</resources>
|
</resources>
|
@@ -45,4 +45,7 @@
|
|||||||
<string name="no_cpu_abi">无原生库</string>
|
<string name="no_cpu_abi">无原生库</string>
|
||||||
<string name="remove_record">移除记录</string>
|
<string name="remove_record">移除记录</string>
|
||||||
<string name="are_you_sure_remove_record">你确定要移除这条记录吗?</string>
|
<string name="are_you_sure_remove_record">你确定要移除这条记录吗?</string>
|
||||||
|
<string name="got_it">我知道了</string>
|
||||||
|
<string name="dont_screenshot">请不要截屏</string>
|
||||||
|
<string name="dont_screenshot_tip">在错误日志中截屏是不明智的做法,你应当点击此界面右上角的按钮提取或复制日志内容。</string>
|
||||||
</resources>
|
</resources>
|
@@ -45,4 +45,7 @@
|
|||||||
<string name="no_cpu_abi">無原生庫</string>
|
<string name="no_cpu_abi">無原生庫</string>
|
||||||
<string name="remove_record">移除紀錄</string>
|
<string name="remove_record">移除紀錄</string>
|
||||||
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
||||||
|
<string name="got_it">我懂了</string>
|
||||||
|
<string name="dont_screenshot">請不要捕獲熒屏</string>
|
||||||
|
<string name="dont_screenshot_tip">在錯誤日誌中捕獲熒屏是不明理的做法,你應當點擊此界面右上角的按鈕提取或複制日誌內容。</string>
|
||||||
</resources>
|
</resources>
|
@@ -45,4 +45,7 @@
|
|||||||
<string name="no_cpu_abi">無原生庫</string>
|
<string name="no_cpu_abi">無原生庫</string>
|
||||||
<string name="remove_record">移除紀錄</string>
|
<string name="remove_record">移除紀錄</string>
|
||||||
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
||||||
|
<string name="got_it">我懂了</string>
|
||||||
|
<string name="dont_screenshot">請不要捕獲熒屏</string>
|
||||||
|
<string name="dont_screenshot_tip">在錯誤日誌中捕獲熒屏是不明理的做法,你應當點擊此界面右上角的按鈕提取或複制日誌內容。</string>
|
||||||
</resources>
|
</resources>
|
@@ -45,4 +45,7 @@
|
|||||||
<string name="no_cpu_abi">無原生庫</string>
|
<string name="no_cpu_abi">無原生庫</string>
|
||||||
<string name="remove_record">移除紀錄</string>
|
<string name="remove_record">移除紀錄</string>
|
||||||
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
<string name="are_you_sure_remove_record">你確認要移除這條紀錄嗎?</string>
|
||||||
|
<string name="got_it">我懂了</string>
|
||||||
|
<string name="dont_screenshot">請不要捕獲熒屏</string>
|
||||||
|
<string name="dont_screenshot_tip">在錯誤日誌中捕獲熒屏是不明理的做法,你應當點擊此界面右上角的按鈕提取或複制日誌內容。</string>
|
||||||
</resources>
|
</resources>
|
@@ -44,4 +44,7 @@
|
|||||||
<string name="no_cpu_abi">No ABI</string>
|
<string name="no_cpu_abi">No ABI</string>
|
||||||
<string name="remove_record">Remove record</string>
|
<string name="remove_record">Remove record</string>
|
||||||
<string name="are_you_sure_remove_record">Are you sure you want to remove this record?</string>
|
<string name="are_you_sure_remove_record">Are you sure you want to remove this record?</string>
|
||||||
|
<string name="got_it">Got it</string>
|
||||||
|
<string name="dont_screenshot">Do not take screenshots</string>
|
||||||
|
<string name="dont_screenshot_tip">It is not advisable to take a screenshot of the error log, you should extract or copy the log content by clicking the button in the upper right corner of this interface.</string>
|
||||||
</resources>
|
</resources>
|
Reference in New Issue
Block a user