update 图片检测优化

This commit is contained in:
gallonyin
2023-05-21 22:17:40 +08:00
parent 25d1d26d46
commit c6fea92dd7
3 changed files with 26 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
package org.yameida.worktool.activity package org.yameida.worktool.activity
import android.Manifest
import android.os.Bundle import android.os.Bundle
import android.provider.Settings import android.provider.Settings
import android.view.WindowManager import android.view.WindowManager
@@ -50,7 +51,7 @@ class ListenActivity : AppCompatActivity() {
initOverlays() initOverlays()
initData() initData()
initNotification() 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)) registerReceiver(openWsReceiver, IntentFilter(Constant.WEWORK_NOTIFY))
} }

View File

@@ -1,5 +1,6 @@
package org.yameida.worktool.service package org.yameida.worktool.service
import android.graphics.Bitmap
import android.os.Message import android.os.Message
import android.view.accessibility.AccessibilityNodeInfo import android.view.accessibility.AccessibilityNodeInfo
import androidx.core.text.isDigitsOnly import androidx.core.text.isDigitsOnly
@@ -263,6 +264,8 @@ object WeworkLoopImpl {
MultiFileObserver.saveSet.reversed().forEachIndexed { index, targetPath -> MultiFileObserver.saveSet.reversed().forEachIndexed { index, targetPath ->
if (imageMessageList.size > index) { if (imageMessageList.size > index) {
val message = imageMessageList[index] val message = imageMessageList[index]
val save2Album = ImageUtils.save2Album(ImageUtils.getBitmap(targetPath), Bitmap.CompressFormat.PNG, true)
LogUtils.v("save2Album $save2Album")
} }
} }
MultiFileObserver.saveSet.clear() MultiFileObserver.saveSet.clear()
@@ -738,8 +741,6 @@ object WeworkLoopImpl {
sleep(Constant.POP_WINDOW_INTERVAL) sleep(Constant.POP_WINDOW_INTERVAL)
} }
} else { } else {
MultiFileObserver.createSet.clear()
MultiFileObserver.finishSet.clear()
MultiFileObserver.saveSet.clear() MultiFileObserver.saveSet.clear()
LogUtils.v("点击图片类型") LogUtils.v("点击图片类型")
AccessibilityUtil.performClickWithSon(relativeLayoutContent) AccessibilityUtil.performClickWithSon(relativeLayoutContent)
@@ -757,13 +758,19 @@ object WeworkLoopImpl {
downloading = false downloading = false
try { try {
for (path in MultiFileObserver.finishSet) { 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 df = SimpleDateFormat("MMdd_HHmmss")
val targetPath = "${ val targetPath = "${
Utils.getApp().getExternalFilesDir("copy") Utils.getApp().getExternalFilesDir("copy")
}/${df.format(Date())}/${File(path).name}.png" }/${df.format(Date())}/${File(path).name}.png"
if (FileUtils.copy(path, targetPath)) { if (FileUtils.copy(path, targetPath)) {
LogUtils.d("复制图片完成: $targetPath " + ImageDepthSizeUtil.checkRawImage(targetPath)) LogUtils.d("复制图片完成: $rawFileLength $targetPath ")
log("复制图片完成: $targetPath") log("复制图片完成: $$rawFileLength $targetPath")
MultiFileObserver.saveSet.add(targetPath) MultiFileObserver.saveSet.add(targetPath)
} else { } else {
LogUtils.e("复制图片失败 请检查权限: $targetPath") LogUtils.e("复制图片失败 请检查权限: $targetPath")

View File

@@ -6,6 +6,7 @@ import org.yameida.worktool.utils.AccessibilityUtil.findFrontNode
import org.yameida.worktool.model.WeworkMessageBean import org.yameida.worktool.model.WeworkMessageBean
import com.blankj.utilcode.util.LogUtils import com.blankj.utilcode.util.LogUtils
import org.yameida.worktool.Constant import org.yameida.worktool.Constant
import org.yameida.worktool.observer.MultiFileObserver
import org.yameida.worktool.service.* import org.yameida.worktool.service.*
import org.yameida.worktool.utils.AccessibilityUtil.findAllOnceByClazz import org.yameida.worktool.utils.AccessibilityUtil.findAllOnceByClazz
@@ -85,6 +86,7 @@ object WeworkRoomUtil {
.replace("\\(.*?\\)".toRegex(), "") .replace("\\(.*?\\)".toRegex(), "")
} > 0 } > 0
) { ) {
intoRoomPreInit()
LogUtils.d("当前正在房间") LogUtils.d("当前正在房间")
return true return true
} }
@@ -95,6 +97,7 @@ object WeworkRoomUtil {
val item = list.getChild(i) val item = list.getChild(i)
val tvList = findAllOnceByClazz(item, Views.TextView).mapNotNull { it.text } val tvList = findAllOnceByClazz(item, Views.TextView).mapNotNull { it.text }
if (tvList.isNotEmpty() && title == tvList[0].toString()) { if (tvList.isNotEmpty() && title == tvList[0].toString()) {
intoRoomPreInit()
AccessibilityUtil.performClick(item) AccessibilityUtil.performClick(item)
LogUtils.d("快捷进入房间: $title") LogUtils.d("快捷进入房间: $title")
sleep(Constant.CHANGE_PAGE_INTERVAL) sleep(Constant.CHANGE_PAGE_INTERVAL)
@@ -135,6 +138,7 @@ object WeworkRoomUtil {
it.parent != null && it.parent.childCount < 3 it.parent != null && it.parent.childCount < 3
} }
if (searchItem != null) { if (searchItem != null) {
intoRoomPreInit()
AccessibilityUtil.performClick(searchItem) AccessibilityUtil.performClick(searchItem)
LogUtils.d("进入房间: $title") LogUtils.d("进入房间: $title")
sleep(Constant.CHANGE_PAGE_INTERVAL) sleep(Constant.CHANGE_PAGE_INTERVAL)
@@ -294,4 +298,13 @@ object WeworkRoomUtil {
return roomTitle.size > 1 && roomTitle.count { it.matches("^[@].*?".toRegex()) } > 0 return roomTitle.size > 1 && roomTitle.count { it.matches("^[@].*?".toRegex()) } > 0
} }
/**
* 初始化进入房间前的事件
*/
private fun intoRoomPreInit(): Boolean {
MultiFileObserver.createSet.clear()
MultiFileObserver.finishSet.clear()
return true
}
} }