diff --git a/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt b/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt index ca80ddf..fa9e053 100644 --- a/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt +++ b/app/src/main/java/org/yameida/worktool/activity/SettingsActivity.kt @@ -20,6 +20,7 @@ import org.yameida.worktool.Constant import org.yameida.worktool.R import org.yameida.worktool.service.WeworkController import org.yameida.worktool.utils.* +import java.io.File /** @@ -67,6 +68,7 @@ class SettingsActivity : AppCompatActivity() { SPUtils.getInstance().put("autoReply", Constant.autoReply) }) rl_reply_strategy.setOnClickListener { showReplyStrategyDialog() } + rl_log.setOnClickListener { showLogDialog() } rl_donate.setOnClickListener { showDonateDialog() } rl_share.setOnClickListener { showShareDialog() } rl_advance.setOnClickListener { SettingsAdvanceActivity.enterActivity(this) } @@ -116,6 +118,26 @@ class SettingsActivity : AppCompatActivity() { .show() } + private fun showLogDialog() { + val logDir = Utils.getApp().getExternalFilesDir("log") + if (logDir != null && logDir.exists()) { + val listFiles = logDir.listFiles() + QMUIDialog.CheckableDialogBuilder(this) + .setTitle("日志文件分享") + .addItems(listFiles.map { it.name.replace("_" + AppUtils.getAppPackageName(), "") }.toTypedArray()) { dialog, which -> + dialog.dismiss() + ToastUtils.showLong(listFiles[which].name) + val currentLogFilePath = listFiles[which].absolutePath + FileUtils.copy(currentLogFilePath, "$currentLogFilePath.snapshot") + ShareUtil.share("*", File("$currentLogFilePath.snapshot"), auto = false) + } + .create(R.style.QMUI_Dialog) + .show() + } else { + ToastUtils.showLong("日志文件夹为空~") + } + } + private fun showDonateDialog() { DonateUtil.zfbDonate(this) } diff --git a/app/src/main/java/org/yameida/worktool/utils/ShareUtil.kt b/app/src/main/java/org/yameida/worktool/utils/ShareUtil.kt index 0f31b34..040653c 100644 --- a/app/src/main/java/org/yameida/worktool/utils/ShareUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/ShareUtil.kt @@ -49,16 +49,18 @@ object ShareUtil { /** * 文件分享 需要先授权显示悬浮窗 */ - fun share(type: String, file: File): Boolean { - val root = WeworkController.weworkService.rootInActiveWindow - if (root.packageName != Constant.PACKAGE_NAMES) { - LogUtils.e("文件分享失败 当前应用不在前台") - return false - } + fun share(type: String, file: File, auto: Boolean = true): Boolean { val app = Utils.getApp() - if (!Settings.canDrawOverlays(app)) { - LogUtils.e("文件分享失败 没有悬浮窗权限~") - return false + if (auto) { + val root = WeworkController.weworkService.rootInActiveWindow + if (root.packageName != Constant.PACKAGE_NAMES) { + LogUtils.e("文件分享失败 当前应用不在前台") + return false + } + if (!Settings.canDrawOverlays(app)) { + LogUtils.e("文件分享失败 没有悬浮窗权限~") + return false + } } val intent = Intent().apply { action = Intent.ACTION_SEND diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index bbb4562..3c837f3 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -420,24 +420,23 @@ android:textStyle="bold" /> + android:src="@drawable/settings_fps" /> + android:textSize="@dimen/setting_end_font_size" />