update Observer静态初始化

This commit is contained in:
gallonyin
2023-02-08 14:06:37 +08:00
parent d08c53bbce
commit dddb64e48a
2 changed files with 24 additions and 13 deletions

View File

@@ -10,11 +10,9 @@ import com.umeng.analytics.MobclickAgent
import kotlinx.android.synthetic.main.activity_listen.* import kotlinx.android.synthetic.main.activity_listen.*
import org.yameida.worktool.* import org.yameida.worktool.*
import android.content.* import android.content.*
import android.os.FileObserver
import android.text.InputType import android.text.InputType
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.qmuiteam.qmui.widget.dialog.QMUIDialog import com.qmuiteam.qmui.widget.dialog.QMUIDialog
import org.yameida.worktool.observer.MultiFileObserver
import org.yameida.worktool.utils.* import org.yameida.worktool.utils.*
import org.yameida.worktool.utils.envcheck.CheckHook import org.yameida.worktool.utils.envcheck.CheckHook
import org.yameida.worktool.utils.envcheck.CheckRoot import org.yameida.worktool.utils.envcheck.CheckRoot
@@ -22,8 +20,6 @@ import org.yameida.worktool.utils.envcheck.CheckRoot
class ListenActivity : AppCompatActivity() { class ListenActivity : AppCompatActivity() {
private var mFileObserver: FileObserver? = null
companion object { companion object {
/** /**
* @param type 0=游客登录 * @param type 0=游客登录
@@ -46,7 +42,6 @@ class ListenActivity : AppCompatActivity() {
initView() initView()
initAccessibility() initAccessibility()
initOverlays() initOverlays()
initObserver()
initData() initData()
PermissionUtils.permission("android.permission.READ_EXTERNAL_STORAGE").request() PermissionUtils.permission("android.permission.READ_EXTERNAL_STORAGE").request()
registerReceiver(openWsReceiver, IntentFilter(Constant.WEWORK_NOTIFY)) registerReceiver(openWsReceiver, IntentFilter(Constant.WEWORK_NOTIFY))
@@ -160,14 +155,6 @@ class ListenActivity : AppCompatActivity() {
} }
} }
private fun initObserver() {
if (mFileObserver == null) {
mFileObserver =
MultiFileObserver("/storage/emulated/0/Android/data/com.tencent.wework/files/imagecache/imagemsg2");
mFileObserver?.startWatching()
}
}
private fun initData() { private fun initData() {
HttpUtil.checkUpdate() HttpUtil.checkUpdate()
HttpUtil.getMyConfig(toast = false) HttpUtil.getMyConfig(toast = false)

View File

@@ -5,6 +5,7 @@ import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.os.FileObserver
import android.util.Log import android.util.Log
import android.view.accessibility.AccessibilityEvent import android.view.accessibility.AccessibilityEvent
import com.blankj.utilcode.util.* import com.blankj.utilcode.util.*
@@ -13,6 +14,7 @@ import okhttp3.WebSocket
import okhttp3.WebSocketListener import okhttp3.WebSocketListener
import org.yameida.worktool.Constant import org.yameida.worktool.Constant
import org.yameida.worktool.Demo import org.yameida.worktool.Demo
import org.yameida.worktool.observer.MultiFileObserver
import org.yameida.worktool.utils.* import org.yameida.worktool.utils.*
import java.lang.Exception import java.lang.Exception
import kotlin.concurrent.thread import kotlin.concurrent.thread
@@ -28,6 +30,10 @@ class WeworkService : AccessibilityService() {
var currentPackage = "" var currentPackage = ""
var currentClass = "" var currentClass = ""
companion object {
private var mFileObserver: FileObserver? = null
}
override fun onServiceConnected() { override fun onServiceConnected() {
LogUtils.i("初始化成功") LogUtils.i("初始化成功")
//隐藏软键盘模式 //隐藏软键盘模式
@@ -37,6 +43,8 @@ class WeworkService : AccessibilityService() {
initWebSocket() initWebSocket()
//初始化消息处理器 //初始化消息处理器
MyLooper.init() MyLooper.init()
//初始化图片接收
initObserver()
//开发者可以在这里添加测试代码 启动时调用一次 //开发者可以在这里添加测试代码 启动时调用一次
thread { Demo.test(AppUtils.isAppDebug()) } thread { Demo.test(AppUtils.isAppDebug()) }
@@ -59,6 +67,22 @@ class WeworkService : AccessibilityService() {
webSocketManager = WebSocketManager(url, listener) webSocketManager = WebSocketManager(url, listener)
} }
private fun initObserver() {
try {
LogUtils.d("initObserver... mFileObserver is null ? ${mFileObserver == null}")
if (mFileObserver == null) {
mFileObserver =
MultiFileObserver("/storage/emulated/0/Android/data/com.tencent.wework/files/imagecache/imagemsg2");
mFileObserver?.startWatching()
} else {
mFileObserver?.stopWatching()
mFileObserver?.startWatching()
}
} catch (e: Exception) {
LogUtils.e(e)
}
}
/** /**
* TYPE_WINDOW_CONTENT_CHANGED 内容变化 * TYPE_WINDOW_CONTENT_CHANGED 内容变化
* TYPE_VIEW_SCROLLED 列表滚动 * TYPE_VIEW_SCROLLED 列表滚动