From c6fea92dd75b7c456aa24944e049709c891ee453 Mon Sep 17 00:00:00 2001 From: gallonyin Date: Sun, 21 May 2023 22:17:40 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=9B=BE=E7=89=87=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yameida/worktool/activity/ListenActivity.kt | 3 ++- .../yameida/worktool/service/WeworkLoopImpl.kt | 15 +++++++++++---- .../org/yameida/worktool/utils/WeworkRoomUtil.kt | 13 +++++++++++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt b/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt index 112b90c..bfca95c 100644 --- a/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt +++ b/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt @@ -1,5 +1,6 @@ package org.yameida.worktool.activity +import android.Manifest import android.os.Bundle import android.provider.Settings import android.view.WindowManager @@ -50,7 +51,7 @@ class ListenActivity : AppCompatActivity() { initOverlays() initData() initNotification() - PermissionUtils.permission("android.permission.READ_EXTERNAL_STORAGE").request() + PermissionUtils.permission(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE).request() registerReceiver(openWsReceiver, IntentFilter(Constant.WEWORK_NOTIFY)) } diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt index 42457bc..ec29481 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkLoopImpl.kt @@ -1,5 +1,6 @@ package org.yameida.worktool.service +import android.graphics.Bitmap import android.os.Message import android.view.accessibility.AccessibilityNodeInfo import androidx.core.text.isDigitsOnly @@ -263,6 +264,8 @@ object WeworkLoopImpl { MultiFileObserver.saveSet.reversed().forEachIndexed { index, targetPath -> if (imageMessageList.size > index) { val message = imageMessageList[index] + val save2Album = ImageUtils.save2Album(ImageUtils.getBitmap(targetPath), Bitmap.CompressFormat.PNG, true) + LogUtils.v("save2Album $save2Album") } } MultiFileObserver.saveSet.clear() @@ -738,8 +741,6 @@ object WeworkLoopImpl { sleep(Constant.POP_WINDOW_INTERVAL) } } else { - MultiFileObserver.createSet.clear() - MultiFileObserver.finishSet.clear() MultiFileObserver.saveSet.clear() LogUtils.v("点击图片类型") AccessibilityUtil.performClickWithSon(relativeLayoutContent) @@ -757,13 +758,19 @@ object WeworkLoopImpl { downloading = false try { for (path in MultiFileObserver.finishSet) { + val rawFileLength = File(path).length() + if (rawFileLength < 50 * 1000) { + LogUtils.d("原始文件大小<50k: $rawFileLength $path") + log("原始文件大小<50k: $rawFileLength $path") + continue + } val df = SimpleDateFormat("MMdd_HHmmss") val targetPath = "${ Utils.getApp().getExternalFilesDir("copy") }/${df.format(Date())}/${File(path).name}.png" if (FileUtils.copy(path, targetPath)) { - LogUtils.d("复制图片完成: $targetPath " + ImageDepthSizeUtil.checkRawImage(targetPath)) - log("复制图片完成: $targetPath") + LogUtils.d("复制图片完成: $rawFileLength $targetPath ") + log("复制图片完成: $$rawFileLength $targetPath") MultiFileObserver.saveSet.add(targetPath) } else { LogUtils.e("复制图片失败 请检查权限: $targetPath") diff --git a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt index d486c77..91aa4f5 100644 --- a/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt +++ b/app/src/main/java/org/yameida/worktool/utils/WeworkRoomUtil.kt @@ -6,6 +6,7 @@ import org.yameida.worktool.utils.AccessibilityUtil.findFrontNode import org.yameida.worktool.model.WeworkMessageBean import com.blankj.utilcode.util.LogUtils import org.yameida.worktool.Constant +import org.yameida.worktool.observer.MultiFileObserver import org.yameida.worktool.service.* import org.yameida.worktool.utils.AccessibilityUtil.findAllOnceByClazz @@ -85,6 +86,7 @@ object WeworkRoomUtil { .replace("\\(.*?\\)".toRegex(), "") } > 0 ) { + intoRoomPreInit() LogUtils.d("当前正在房间") return true } @@ -95,6 +97,7 @@ object WeworkRoomUtil { val item = list.getChild(i) val tvList = findAllOnceByClazz(item, Views.TextView).mapNotNull { it.text } if (tvList.isNotEmpty() && title == tvList[0].toString()) { + intoRoomPreInit() AccessibilityUtil.performClick(item) LogUtils.d("快捷进入房间: $title") sleep(Constant.CHANGE_PAGE_INTERVAL) @@ -135,6 +138,7 @@ object WeworkRoomUtil { it.parent != null && it.parent.childCount < 3 } if (searchItem != null) { + intoRoomPreInit() AccessibilityUtil.performClick(searchItem) LogUtils.d("进入房间: $title") sleep(Constant.CHANGE_PAGE_INTERVAL) @@ -294,4 +298,13 @@ object WeworkRoomUtil { return roomTitle.size > 1 && roomTitle.count { it.matches("^[@@].*?".toRegex()) } > 0 } + /** + * 初始化进入房间前的事件 + */ + private fun intoRoomPreInit(): Boolean { + MultiFileObserver.createSet.clear() + MultiFileObserver.finishSet.clear() + return true + } + } \ No newline at end of file