update 日志文件分享
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user