api(automator): auto.waitFor()

This commit is contained in:
hyb1996
2018-02-27 17:28:50 +08:00
parent 528171b77d
commit ce515e58e0
8 changed files with 134 additions and 62 deletions

View File

@@ -8,6 +8,7 @@ import com.stardust.autojs.runtime.ScriptRuntime;
import com.stardust.autojs.runtime.accessibility.AccessibilityConfig;
import com.stardust.autojs.runtime.exception.ScriptException;
import com.stardust.autojs.runtime.api.Console;
import com.stardust.autojs.runtime.exception.ScriptInterruptedException;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.BuildConfig;
import com.stardust.scriptdroid.Pref;
@@ -76,6 +77,31 @@ public class AutoJs extends com.stardust.autojs.AutoJs {
}
}
@Override
public void waitForAccessibilityServiceEnabled() {
if (AccessibilityService.getInstance() != null) {
return;
}
String errorMessage = null;
if (AccessibilityServiceTool.isAccessibilityServiceEnabled(App.getApp())) {
errorMessage = App.getApp().getString(R.string.text_auto_operate_service_enabled_but_not_running);
} else {
if (Pref.shouldEnableAccessibilityServiceByRoot()) {
if (!AccessibilityServiceTool.enableAccessibilityServiceByRootAndWaitFor(2000)) {
errorMessage = App.getApp().getString(R.string.text_enable_accessibility_service_by_root_timeout);
}
} else {
errorMessage = App.getApp().getString(R.string.text_no_accessibility_permission);
}
}
if (errorMessage != null) {
AccessibilityServiceTool.goToAccessibilitySetting();
if (!com.stardust.scriptdroid.accessibility.AccessibilityService.waitForEnabled(-1)) {
throw new ScriptInterruptedException();
}
}
}
@Override
protected AccessibilityConfig createAccessibilityConfig() {
AccessibilityConfig config = super.createAccessibilityConfig();