auto模块增加无障碍回调接口

This commit is contained in:
抠脚本人
2023-07-10 13:27:34 +08:00
parent f43cdfb850
commit 9419aeb3a4
3 changed files with 11 additions and 7 deletions

View File

@@ -61,6 +61,9 @@ module.exports = function (scriptRuntime, scope) {
return util.java.toJsArray(a11yBridge.windowRoots(), false) return util.java.toJsArray(a11yBridge.windowRoots(), false)
.map(root => UiObject.createRoot(root)); .map(root => UiObject.createRoot(root));
}, },
stateListener(listener){
return a11yBridge.setAccessibilityListener(listener);
},
waitFor(timeout) { waitFor(timeout) {
automator.waitForService(timeout); automator.waitForService(timeout);
}, },

View File

@@ -150,4 +150,7 @@ public abstract class AccessibilityBridge {
return mConfig; return mConfig;
} }
public void setAccessibilityListener(AccessibilityServiceCallback listener) {
AccessibilityService.Companion.setCallback(listener);
}
} }

View File

@@ -20,7 +20,6 @@ interface AccessibilityServiceCallback {
fun onServiceConnected() fun onServiceConnected()
fun onServiceDisconnected() fun onServiceDisconnected()
} }
/** /**
* Created by Stardust on 2017/5/2. * Created by Stardust on 2017/5/2.
*/ */
@@ -30,8 +29,6 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
var fastRootInActiveWindow: AccessibilityNodeInfo? = null var fastRootInActiveWindow: AccessibilityNodeInfo? = null
var bridge: AccessibilityBridge? = null var bridge: AccessibilityBridge? = null
private var callback: AccessibilityServiceCallback? = null
private val gestureEventDispatcher = EventDispatcher<GestureListener>() private val gestureEventDispatcher = EventDispatcher<GestureListener>()
private val eventExecutor by lazy { Executors.newSingleThreadExecutor() } private val eventExecutor by lazy { Executors.newSingleThreadExecutor() }
@@ -120,10 +117,6 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
// FIXME: 2017/2/12 有时在无障碍中开启服务后这里不会调用服务也不会运行安卓的BUG??? // FIXME: 2017/2/12 有时在无障碍中开启服务后这里不会调用服务也不会运行安卓的BUG???
} }
fun setCallback(callback: AccessibilityServiceCallback) {
this.callback = callback
}
companion object { companion object {
private const val TAG = "AccessibilityService" private const val TAG = "AccessibilityService"
@@ -134,6 +127,7 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
private val LOCK = ReentrantLock() private val LOCK = ReentrantLock()
private val ENABLED = LOCK.newCondition() private val ENABLED = LOCK.newCondition()
private var callback: AccessibilityServiceCallback? = null
var instance: AccessibilityService? = null var instance: AccessibilityService? = null
private set private set
@@ -191,6 +185,10 @@ open class AccessibilityService : android.accessibilityservice.AccessibilityServ
} }
} }
fun setCallback(listener: AccessibilityServiceCallback) {
callback = listener
}
interface GestureListener { interface GestureListener {
fun onGesture(gestureId: Int) fun onGesture(gestureId: Int)
} }