37 lines
984 B
Java
37 lines
984 B
Java
package com.stardust.autojs.engine;
|
|
|
|
import android.support.annotation.CallSuper;
|
|
|
|
import com.stardust.autojs.execution.ScriptExecution;
|
|
import com.stardust.autojs.runtime.ScriptRuntime;
|
|
import com.stardust.autojs.script.JavaScriptSource;
|
|
|
|
/**
|
|
* Created by Stardust on 2017/8/3.
|
|
*/
|
|
|
|
public abstract class JavaScriptEngine extends ScriptEngine.AbstractScriptEngine<JavaScriptSource> {
|
|
private ScriptRuntime mRuntime;
|
|
|
|
@Override
|
|
public Object execute(JavaScriptSource scriptSource) {
|
|
if ((scriptSource.getExecutionMode() & JavaScriptSource.EXECUTION_MODE_AUTO) != 0) {
|
|
getRuntime().ensureAccessibilityServiceEnabled();
|
|
}
|
|
return doExecution(scriptSource);
|
|
}
|
|
|
|
protected abstract Object doExecution(JavaScriptSource scriptSource);
|
|
|
|
public ScriptRuntime getRuntime() {
|
|
return mRuntime;
|
|
}
|
|
|
|
public void setRuntime(ScriptRuntime runtime) {
|
|
mRuntime = runtime;
|
|
put("__runtime__", runtime);
|
|
}
|
|
|
|
|
|
}
|