From dddb64e48aeb295820ab34058130c8ae90eafdfe Mon Sep 17 00:00:00 2001 From: gallonyin Date: Wed, 8 Feb 2023 14:06:37 +0800 Subject: [PATCH] =?UTF-8?q?update=20Observer=E9=9D=99=E6=80=81=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worktool/activity/ListenActivity.kt | 13 ---------- .../yameida/worktool/service/WeworkService.kt | 24 +++++++++++++++++++ 2 files changed, 24 insertions(+), 13 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 81c187e..74bb6f2 100644 --- a/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt +++ b/app/src/main/java/org/yameida/worktool/activity/ListenActivity.kt @@ -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) diff --git a/app/src/main/java/org/yameida/worktool/service/WeworkService.kt b/app/src/main/java/org/yameida/worktool/service/WeworkService.kt index ade4651..ebf72f2 100644 --- a/app/src/main/java/org/yameida/worktool/service/WeworkService.kt +++ b/app/src/main/java/org/yameida/worktool/service/WeworkService.kt @@ -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 列表滚动