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)
.map(root => UiObject.createRoot(root));
},
stateListener(listener){
return a11yBridge.setAccessibilityListener(listener);
},
waitFor(timeout) {
automator.waitForService(timeout);
},

View File

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

View File

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