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 org.yameida.worktool.*
import android.content.*
import android.os.FileObserver
import android.text.InputType
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.qmuiteam.qmui.widget.dialog.QMUIDialog
import org.yameida.worktool.observer.MultiFileObserver
import org.yameida.worktool.utils.*
import org.yameida.worktool.utils.envcheck.CheckHook
import org.yameida.worktool.utils.envcheck.CheckRoot
@@ -22,8 +20,6 @@ import org.yameida.worktool.utils.envcheck.CheckRoot
class ListenActivity : AppCompatActivity() {
private var mFileObserver: FileObserver? = null
companion object {
/**
* @param type 0=游客登录
@@ -46,7 +42,6 @@ class ListenActivity : AppCompatActivity() {
initView()
initAccessibility()
initOverlays()
initObserver()
initData()
PermissionUtils.permission("android.permission.READ_EXTERNAL_STORAGE").request()
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() {
HttpUtil.checkUpdate()
HttpUtil.getMyConfig(toast = false)

View File

@@ -5,6 +5,7 @@ import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.os.FileObserver
import android.util.Log
import android.view.accessibility.AccessibilityEvent
import com.blankj.utilcode.util.*
@@ -13,6 +14,7 @@ import okhttp3.WebSocket
import okhttp3.WebSocketListener
import org.yameida.worktool.Constant
import org.yameida.worktool.Demo
import org.yameida.worktool.observer.MultiFileObserver
import org.yameida.worktool.utils.*
import java.lang.Exception
import kotlin.concurrent.thread
@@ -28,6 +30,10 @@ class WeworkService : AccessibilityService() {
var currentPackage = ""
var currentClass = ""
companion object {
private var mFileObserver: FileObserver? = null
}
override fun onServiceConnected() {
LogUtils.i("初始化成功")
//隐藏软键盘模式
@@ -37,6 +43,8 @@ class WeworkService : AccessibilityService() {
initWebSocket()
//初始化消息处理器
MyLooper.init()
//初始化图片接收
initObserver()
//开发者可以在这里添加测试代码 启动时调用一次
thread { Demo.test(AppUtils.isAppDebug()) }
@@ -59,6 +67,22 @@ class WeworkService : AccessibilityService() {
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_VIEW_SCROLLED 列表滚动