Add floating console support
This commit is contained in:
@@ -2,24 +2,21 @@ package com.stardust.scriptdroid.autojs;
|
||||
|
||||
import android.accessibilityservice.AccessibilityService;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.flurry.android.FlurryAgent;
|
||||
import com.stardust.autojs.ScriptEngineService;
|
||||
import com.stardust.autojs.ScriptEngineServiceBuilder;
|
||||
import com.stardust.autojs.ScriptExecutionListener;
|
||||
import com.stardust.autojs.engine.JavaScriptEngine;
|
||||
import com.stardust.autojs.engine.NodeJsJavaScriptEngineManager;
|
||||
import com.stardust.autojs.runtime.*;
|
||||
import com.stardust.autojs.script.ScriptSource;
|
||||
import com.stardust.automator.AccessibilityEventCommandHost;
|
||||
import com.stardust.automator.simple_action.SimpleActionPerformHost;
|
||||
import com.stardust.scriptdroid.App;
|
||||
import com.stardust.scriptdroid.Pref;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.scripts.StorageScriptProvider;
|
||||
import com.stardust.scriptdroid.ui.console.StardustConsole;
|
||||
import com.stardust.util.Supplier;
|
||||
import com.stardust.util.UiHandler;
|
||||
import com.stardust.view.accessibility.AccessibilityInfoProvider;
|
||||
import com.stardust.scriptdroid.layout_inspector.LayoutInspector;
|
||||
import com.stardust.scriptdroid.record.accessibility.AccessibilityActionRecorder;
|
||||
@@ -51,54 +48,32 @@ public class AutoJs implements AccessibilityBridge {
|
||||
private final LayoutInspector mLayoutInspector = new LayoutInspector();
|
||||
private final ScriptEngineService mScriptEngineService;
|
||||
private final AccessibilityInfoProvider mAccessibilityInfoProvider;
|
||||
private final Handler mUiHandler;
|
||||
private final UiHandler mUiHandler;
|
||||
|
||||
|
||||
private AutoJs(final Context context) {
|
||||
mUiHandler = new Handler(context.getMainLooper());
|
||||
mUiHandler = new UiHandler(context);
|
||||
mAccessibilityInfoProvider = new AccessibilityInfoProvider(context.getPackageManager());
|
||||
NodeJsJavaScriptEngineManager manager = new NodeJsJavaScriptEngineManager(context);
|
||||
manager.setRequirePath(StorageScriptProvider.DEFAULT_DIRECTORY_PATH);
|
||||
mScriptEngineService = new ScriptEngineServiceBuilder()
|
||||
.context(context)
|
||||
.uiHandler(mUiHandler)
|
||||
.globalConsole(new TimberConsole())
|
||||
.engineManger(manager)
|
||||
.runtime(new Supplier<ScriptRuntime>() {
|
||||
|
||||
@Override
|
||||
public ScriptRuntime get() {
|
||||
return new ScriptRuntime(context, mUiHandler, new TimberConsole(), AutoJs.this);
|
||||
return new ScriptRuntime(mUiHandler, new StardustConsole(mUiHandler), AutoJs.this);
|
||||
}
|
||||
})
|
||||
.build();
|
||||
addAccessibilityServiceDelegates();
|
||||
setDefaultScriptExecutionListener(mScriptEngineService);
|
||||
}
|
||||
|
||||
|
||||
private static void setDefaultScriptExecutionListener(ScriptEngineService scriptEngineService) {
|
||||
final ScriptExecutionListener listener = scriptEngineService.getDefaultScriptExecutionListener();
|
||||
scriptEngineService.setDefaultScriptExecutionListener(new ScriptExecutionListener() {
|
||||
@Override
|
||||
public void onStart(JavaScriptEngine engine, ScriptSource source) {
|
||||
listener.onStart(engine, source);
|
||||
FlurryAgent.logEvent("EXEC:" + source.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(JavaScriptEngine engine, ScriptSource source, Object result) {
|
||||
listener.onSuccess(engine, source, result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(JavaScriptEngine engine, ScriptSource source, Exception e) {
|
||||
listener.onException(engine, source, e);
|
||||
}
|
||||
});
|
||||
mScriptEngineService.registerGlobalScriptExecutionListener(new ScriptExecutionGlobalListener());
|
||||
}
|
||||
|
||||
private void addAccessibilityServiceDelegates() {
|
||||
AccessibilityWatchDogService.addDelegate(100, mAccessibilityInfoProvider);
|
||||
// AccessibilityWatchDogService.addDelegate(200, mLayoutInspector);
|
||||
AccessibilityWatchDogService.addDelegate(300, mAccessibilityActionRecorder);
|
||||
// AccessibilityWatchDogService.addDelegate(400, mSimpleActionPerformHost);
|
||||
//AccessibilityWatchDogService.addDelegate(500, mAccessibilityEventCommandHost);
|
||||
|
||||
Reference in New Issue
Block a user