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.R
import org.yameida.worktool.service.WeworkController import org.yameida.worktool.service.WeworkController
import org.yameida.worktool.utils.* import org.yameida.worktool.utils.*
import java.io.File
/** /**
@@ -67,6 +68,7 @@ class SettingsActivity : AppCompatActivity() {
SPUtils.getInstance().put("autoReply", Constant.autoReply) SPUtils.getInstance().put("autoReply", Constant.autoReply)
}) })
rl_reply_strategy.setOnClickListener { showReplyStrategyDialog() } rl_reply_strategy.setOnClickListener { showReplyStrategyDialog() }
rl_log.setOnClickListener { showLogDialog() }
rl_donate.setOnClickListener { showDonateDialog() } rl_donate.setOnClickListener { showDonateDialog() }
rl_share.setOnClickListener { showShareDialog() } rl_share.setOnClickListener { showShareDialog() }
rl_advance.setOnClickListener { SettingsAdvanceActivity.enterActivity(this) } rl_advance.setOnClickListener { SettingsAdvanceActivity.enterActivity(this) }
@@ -116,6 +118,26 @@ class SettingsActivity : AppCompatActivity() {
.show() .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() { private fun showDonateDialog() {
DonateUtil.zfbDonate(this) DonateUtil.zfbDonate(this)
} }

View File

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

View File

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