Added: Root automator, custom theme color, some helps
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
package com.stardust.scriptdroid.droid;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import com.jraska.console.timber.ConsoleTree;
|
||||
import com.stardust.scriptdroid.App;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.droid.runtime.DroidRuntime;
|
||||
import com.stardust.scriptdroid.droid.script.DuktapeJavaScriptEngine;
|
||||
import com.stardust.scriptdroid.droid.runtime.ScriptStopException;
|
||||
import com.stardust.scriptdroid.droid.script.JavaScriptEngine;
|
||||
import com.stardust.scriptdroid.droid.script.RhinoJavaScriptEngine;
|
||||
import com.stardust.scriptdroid.droid.script.ScriptExecuteActivity;
|
||||
import com.stardust.scriptdroid.file.FileUtils;
|
||||
|
||||
@@ -23,6 +24,8 @@ import timber.log.Timber;
|
||||
|
||||
public class Droid {
|
||||
|
||||
public static final java.lang.String STAY = "\"stay\";";
|
||||
|
||||
static {
|
||||
Timber.plant(new ConsoleTree.Builder()
|
||||
.infoColor(0xcc000000)
|
||||
@@ -32,15 +35,30 @@ public class Droid {
|
||||
public static final String UI = "\"ui\";";
|
||||
|
||||
public interface OnRunFinishedListener extends Serializable {
|
||||
void onRunFinished(Object result, Exception e);
|
||||
void onRunFinished(Object result);
|
||||
|
||||
void onException(@NonNull Exception e);
|
||||
}
|
||||
|
||||
public static class SimpleOnRunFinishedListener implements OnRunFinishedListener {
|
||||
|
||||
@Override
|
||||
public void onRunFinished(Object result) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(@NonNull Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static final DroidRuntime RUNTIME = DroidRuntime.getRuntime();
|
||||
public static final JavaScriptEngine JAVA_SCRIPT_ENGINE = new DuktapeJavaScriptEngine(RUNTIME);
|
||||
private static final OnRunFinishedListener DEFAULT_LISTENER = new OnRunFinishedListener() {
|
||||
public static final JavaScriptEngine JAVA_SCRIPT_ENGINE = new RhinoJavaScriptEngine(RUNTIME);
|
||||
private static final OnRunFinishedListener DEFAULT_LISTENER = new SimpleOnRunFinishedListener() {
|
||||
@Override
|
||||
public void onRunFinished(Object result, Exception e) {
|
||||
if (e != null) {
|
||||
public void onException(@NonNull Exception e) {
|
||||
if (!(e instanceof ScriptStopException)) {
|
||||
RUNTIME.toast(App.getApp().getString(R.string.text_error) + ": " + e.getMessage());
|
||||
Timber.e(e, App.getApp().getString(R.string.text_error));
|
||||
}
|
||||
@@ -65,7 +83,7 @@ public class Droid {
|
||||
try {
|
||||
checkFile(file);
|
||||
} catch (Exception e) {
|
||||
listener.onRunFinished(null, e);
|
||||
listener.onException(e);
|
||||
return;
|
||||
}
|
||||
runScript(FileUtils.readString(file), listener, RunningConfig.getDefault());
|
||||
@@ -125,15 +143,11 @@ public class Droid {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
mOnRunFinishedListener.onRunFinished(JAVA_SCRIPT_ENGINE.execute(mScript), null);
|
||||
mOnRunFinishedListener.onRunFinished(JAVA_SCRIPT_ENGINE.execute(mScript));
|
||||
} catch (Exception e) {
|
||||
mOnRunFinishedListener.onRunFinished(null, e);
|
||||
mOnRunFinishedListener.onException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public RunScriptRunnable setActivity(Activity a) {
|
||||
JAVA_SCRIPT_ENGINE.set("activity", Activity.class, a);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user