mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-21 21:01:43 +08:00
fix: built ui script shows log instead of ui
This commit is contained in:
parent
e705d7f688
commit
6934a068e5
@ -14,6 +14,7 @@ import android.view.View;
|
||||
|
||||
import com.stardust.auojs.inrt.autojs.AutoJs;
|
||||
import com.stardust.auojs.inrt.launch.AssetsProjectLauncher;
|
||||
import com.stardust.auojs.inrt.launch.GlobalProjectLauncher;
|
||||
import com.stardust.autojs.core.console.ConsoleView;
|
||||
import com.stardust.autojs.core.console.StardustConsole;
|
||||
|
||||
@ -21,16 +22,23 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.microedition.khronos.opengles.GL;
|
||||
|
||||
import static android.content.pm.PackageManager.PERMISSION_DENIED;
|
||||
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
||||
|
||||
public class LogActivity extends AppCompatActivity {
|
||||
|
||||
|
||||
public static final String EXTRA_LAUNCH_SCRIPT = "launch_script";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setupView();
|
||||
if (getIntent().getBooleanExtra(EXTRA_LAUNCH_SCRIPT, false)) {
|
||||
GlobalProjectLauncher.getInstance().launch(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupView() {
|
||||
|
||||
@ -13,6 +13,7 @@ import android.support.v7.app.AppCompatActivity;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stardust.auojs.inrt.launch.AssetsProjectLauncher;
|
||||
import com.stardust.auojs.inrt.launch.GlobalProjectLauncher;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -48,7 +49,7 @@ public class SplashActivity extends AppCompatActivity {
|
||||
|
||||
|
||||
private void runScript() {
|
||||
new Thread(() -> new AssetsProjectLauncher("project", this).launch()).start();
|
||||
new Thread(() -> GlobalProjectLauncher.getInstance().launch(this)).start();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.stardust.auojs.inrt.launch;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
|
||||
import com.stardust.auojs.inrt.BuildConfig;
|
||||
import com.stardust.auojs.inrt.LogActivity;
|
||||
@ -24,29 +27,38 @@ public class AssetsProjectLauncher {
|
||||
private String mProjectDir;
|
||||
private File mMainScriptFile;
|
||||
private ProjectConfig mProjectConfig;
|
||||
private Activity mActivity;
|
||||
private Context mActivity;
|
||||
private Handler mHandler;
|
||||
|
||||
public AssetsProjectLauncher(String projectDir, Activity activity) {
|
||||
public AssetsProjectLauncher(String projectDir, Context context) {
|
||||
mAssetsProjectDir = projectDir;
|
||||
mActivity = activity;
|
||||
mProjectDir = new File(activity.getFilesDir(), "project/").getPath();
|
||||
mProjectConfig = ProjectConfig.fromAssets(activity, ProjectConfig.configFileOfDir(mAssetsProjectDir));
|
||||
mActivity = context;
|
||||
mProjectDir = new File(context.getFilesDir(), "project/").getPath();
|
||||
mProjectConfig = ProjectConfig.fromAssets(context, ProjectConfig.configFileOfDir(mAssetsProjectDir));
|
||||
mMainScriptFile = new File(mProjectDir, mProjectConfig.getMainScriptFile());
|
||||
mHandler = new Handler(Looper.getMainLooper());
|
||||
prepare();
|
||||
}
|
||||
|
||||
public void launch() {
|
||||
prepare();
|
||||
if (!(mProjectConfig.getLaunchConfig().shouldHideLogs() || Pref.shouldHideLogs())) {
|
||||
mActivity.runOnUiThread(() -> {
|
||||
mActivity.startActivity(new Intent(mActivity, LogActivity.class));
|
||||
mActivity.finish();
|
||||
mActivity = null;
|
||||
});
|
||||
public void launch(Activity activity) {
|
||||
//如果需要隐藏日志界面,则直接运行脚本
|
||||
if (mProjectConfig.getLaunchConfig().shouldHideLogs() || Pref.shouldHideLogs()) {
|
||||
activity.finish();
|
||||
runScript();
|
||||
} else {
|
||||
mActivity.finish();
|
||||
mActivity = null;
|
||||
//如果不隐藏日志界面
|
||||
//如果当前已经是日志界面则直接运行脚本
|
||||
if (activity instanceof LogActivity) {
|
||||
runScript();
|
||||
} else {
|
||||
//否则显示日志界面并在日志界面中运行脚本
|
||||
mHandler.post(() -> {
|
||||
activity.startActivity(new Intent(mActivity, LogActivity.class)
|
||||
.putExtra(LogActivity.EXTRA_LAUNCH_SCRIPT, true));
|
||||
activity.finish();
|
||||
});
|
||||
}
|
||||
}
|
||||
runScript();
|
||||
}
|
||||
|
||||
private void runScript() {
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package com.stardust.auojs.inrt.launch;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
|
||||
import com.stardust.auojs.inrt.App;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2018/3/21.
|
||||
*/
|
||||
|
||||
public class GlobalProjectLauncher extends AssetsProjectLauncher {
|
||||
|
||||
private static GlobalProjectLauncher sInstance;
|
||||
|
||||
public static GlobalProjectLauncher getInstance() {
|
||||
if (sInstance == null)
|
||||
sInstance = new GlobalProjectLauncher(App.getApp());
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
GlobalProjectLauncher(Context context) {
|
||||
super("project", context);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user