add: LICENSE, ui mode
This commit is contained in:
@@ -1,10 +1,15 @@
|
||||
package com.stardust.scriptdroid.droid;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
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.script.JavaScriptEngine;
|
||||
import com.stardust.scriptdroid.droid.script.ScriptExecuteActivity;
|
||||
import com.stardust.scriptdroid.file.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -16,12 +21,14 @@ import java.io.FileNotFoundException;
|
||||
|
||||
public class Droid {
|
||||
|
||||
public static final String UI = "\"ui\";";
|
||||
|
||||
public interface OnRunFinishedListener {
|
||||
void onRunFinished(Object result, Exception e);
|
||||
}
|
||||
|
||||
private static final DroidRuntime RUNTIME = DroidRuntime.getRuntime();
|
||||
private static final JavaScriptEngine JAVA_SCRIPT_ENGINE = new DuktapeJavaScriptEngine(RUNTIME);
|
||||
public static final JavaScriptEngine JAVA_SCRIPT_ENGINE = new DuktapeJavaScriptEngine(RUNTIME);
|
||||
private static final OnRunFinishedListener DEFAULT_LISTENER = new OnRunFinishedListener() {
|
||||
@Override
|
||||
public void onRunFinished(Object result, Exception e) {
|
||||
@@ -33,7 +40,6 @@ public class Droid {
|
||||
private static Droid instance = new Droid();
|
||||
|
||||
protected Droid() {
|
||||
|
||||
}
|
||||
|
||||
public static Droid getInstance() {
|
||||
@@ -59,8 +65,13 @@ public class Droid {
|
||||
}
|
||||
|
||||
public void runScript(final String script, OnRunFinishedListener listener, RunningConfig config) {
|
||||
listener = listener == null ? DEFAULT_LISTENER : listener;
|
||||
if (config.runInNewThread) {
|
||||
new Thread(new RunScriptRunnable(script, listener, config)).start();
|
||||
if (script.startsWith(UI)) {
|
||||
ScriptExecuteActivity.runScript(script, listener, config);
|
||||
} else {
|
||||
new Thread(new RunScriptRunnable(script, listener, config)).start();
|
||||
}
|
||||
} else {
|
||||
new RunScriptRunnable(script, listener, config).run();
|
||||
}
|
||||
@@ -72,11 +83,6 @@ public class Droid {
|
||||
return JAVA_SCRIPT_ENGINE.stopAll();
|
||||
}
|
||||
|
||||
|
||||
public void ensureNotStopped() {
|
||||
JAVA_SCRIPT_ENGINE.ensureNotStopped();
|
||||
}
|
||||
|
||||
private void checkFile(File file) {
|
||||
if (file == null) {
|
||||
throw new NullPointerException("file = null");
|
||||
@@ -95,8 +101,8 @@ public class Droid {
|
||||
private final String mScript;
|
||||
private OnRunFinishedListener mOnRunFinishedListener;
|
||||
|
||||
public RunScriptRunnable(String script, OnRunFinishedListener listener, RunningConfig config) {
|
||||
mOnRunFinishedListener = listener == null ? DEFAULT_LISTENER : listener;
|
||||
RunScriptRunnable(String script, OnRunFinishedListener listener, RunningConfig config) {
|
||||
mOnRunFinishedListener = listener;
|
||||
mScript = script;
|
||||
}
|
||||
|
||||
@@ -108,5 +114,10 @@ public class Droid {
|
||||
mOnRunFinishedListener.onRunFinished(null, e);
|
||||
}
|
||||
}
|
||||
|
||||
public RunScriptRunnable setActivity(Activity a) {
|
||||
JAVA_SCRIPT_ENGINE.set("activity", Activity.class, a);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user