update 日志文件分享

This commit is contained in:
gallonyin
2023-06-26 18:25:54 +08:00
parent 90b0a6d8bf
commit bb947c774a
3 changed files with 42 additions and 20 deletions

View File

@@ -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)
}

View File

@@ -49,17 +49,19 @@ object ShareUtil {
/**
* 文件分享 需要先授权显示悬浮窗
*/
fun share(type: String, file: File): Boolean {
fun share(type: String, file: File, auto: Boolean = true): Boolean {
val app = Utils.getApp()
if (auto) {
val root = WeworkController.weworkService.rootInActiveWindow
if (root.packageName != Constant.PACKAGE_NAMES) {
LogUtils.e("文件分享失败 当前应用不在前台")
return false
}
val app = Utils.getApp()
if (!Settings.canDrawOverlays(app)) {
LogUtils.e("文件分享失败 没有悬浮窗权限~")
return false
}
}
val intent = Intent().apply {
action = Intent.ACTION_SEND
flags = Intent.FLAG_ACTIVITY_NEW_TASK

View File

@@ -420,24 +420,23 @@
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/rl_language"
android:id="@+id/rl_log"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:paddingStart="@dimen/setting_start_padding"
android:paddingTop="@dimen/setting_vertical_padding"
android:paddingEnd="@dimen/setting_end_padding"
android:paddingBottom="@dimen/setting_vertical_padding">
<ImageView
android:id="@+id/iv_rec_language_"
android:id="@+id/iv_rec_log_"
android:layout_width="@dimen/setting_start_image_width"
android:layout_height="@dimen/setting_start_image_width"
android:layout_centerVertical="true"
android:src="@drawable/settings_language" />
android:src="@drawable/settings_fps" />
<TextView
android:id="@+id/tv_select_language"
android:id="@+id/tv_select_log"
android:layout_width="@dimen/setting_end_font_width"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
@@ -452,24 +451,23 @@
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/setting_start_padding"
android:layout_toStartOf="@id/tv_select_language"
android:layout_toEndOf="@id/iv_rec_language_"
android:layout_toStartOf="@id/tv_select_log"
android:layout_toEndOf="@id/iv_rec_log_"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="language"
android:text="客户端日志上传"
android:textColor="@color/color_333333"
android:textSize="@dimen/setting_start_font_size" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="reply_strategy_tips"
android:text="提供客户端日志给开发者"
android:textColor="@color/color_999999"
android:textSize="@dimen/setting_end_font_size"
android:visibility="gone" />
android:textSize="@dimen/setting_end_font_size" />
</LinearLayout>