Refactor: split into modules autojs, common, app and automator

This commit is contained in:
hyb1996
2017-04-03 00:43:15 +08:00
parent e7500e6e21
commit bfabef6a0e
182 changed files with 2521 additions and 5840 deletions

View File

@@ -4,14 +4,9 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
import android.view.View;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.layout_inspector.view.LayoutInspectView;
import com.stardust.scriptdroid.tool.IntentTool;
import com.stardust.view.Floaty;
import com.stardust.view.ResizableFloaty;
import com.stardust.util.IntentUtil;
/**
* Created by Stardust on 2017/3/10.
@@ -37,10 +32,10 @@ public class FloatingWindowManger {
Uri.parse("package:" + packageName))
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
} catch (Exception e) {
IntentTool.goToAppSetting(App.getApp());
IntentUtil.goToAppDetailSettings(App.getApp());
}
} else {
IntentTool.goToAppSetting(App.getApp());
IntentUtil.goToAppDetailSettings(App.getApp());
}
}

View File

@@ -15,9 +15,8 @@ import android.widget.Toast;
import com.stardust.hover.HoverMenuBuilder;
import com.stardust.hover.SimpleHoverMenuTransitionListener;
import com.stardust.hover.WindowHoverMenu;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.droid.runtime.DroidRuntime;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.external.floating_window.view.FloatingLayoutBoundsView;
import com.stardust.scriptdroid.external.floating_window.view.FloatingLayoutHierarchyView;
import com.stardust.scriptdroid.layout_inspector.LayoutInspector;
@@ -29,8 +28,6 @@ import com.stardust.util.MessageEvent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.lang.ref.WeakReference;
import io.mattcarroll.hover.HoverMenu;
import io.mattcarroll.hover.defaulthovermenu.window.WindowViewController;
@@ -150,14 +147,14 @@ public class HoverMenuService extends Service {
@Override
public void onCollapsing() {
LayoutInspector.getInstance().clearCapture();
AutoJs.getInstance().getLayoutInspector().clearCapture();
EventBus.getDefault().post(new MessageEvent(MESSAGE_MENU_COLLAPSING));
}
});
}
private void captureCurrentWindow() {
NodeInfo nodeInfo = LayoutInspector.getInstance().captureCurrentWindow();
NodeInfo nodeInfo = AutoJs.getInstance().getLayoutInspector().captureCurrentWindow();
if (nodeInfo == null)
return;
mFloatingLayoutHierarchyView.setRootNode(nodeInfo);

View File

@@ -4,36 +4,26 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.accessibility.AccessibilityInfoProvider;
import com.stardust.scriptdroid.droid.Droid;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.view.accessibility.AccessibilityInfoProvider;
import com.stardust.scriptdroid.external.floating_window.HoverMenuService;
import com.stardust.scriptdroid.layout_inspector.LayoutInspector;
import com.stardust.scriptdroid.tool.ClipboardTool;
import com.stardust.util.ClipboardUtil;
import com.stardust.scriptdroid.ui.main.MainActivity;
import com.stardust.util.MessageEvent;
import com.stardust.view.ViewBinder;
import com.stardust.view.ViewBinding;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import io.mattcarroll.hover.Navigator;
import io.mattcarroll.hover.NavigatorContent;
import io.mattcarroll.hover.defaulthovermenu.menus.Menu;
import io.mattcarroll.hover.defaulthovermenu.menus.MenuAction;
import io.mattcarroll.hover.defaulthovermenu.menus.MenuItem;
import io.mattcarroll.hover.defaulthovermenu.menus.MenuListNavigatorContent;
/**
* Created by Stardust on 2017/3/12.
@@ -59,7 +49,7 @@ public class MainMenuNavigatorContent implements NavigatorContent {
@ViewBinding.Click(R.id.layout_hierarchy)
private void showLayoutHierarchy() {
if (LayoutInspector.getInstance().getCapture() == null) {
if (AutoJs.getInstance().getLayoutInspector().getCapture() == null) {
Toast.makeText(mView.getContext(), R.string.text_no_accessibility_permission_to_capture, Toast.LENGTH_SHORT).show();
} else {
HoverMenuService.postEvent(new MessageEvent(HoverMenuService.MESSAGE_SHOW_LAYOUT_HIERARCHY));
@@ -68,7 +58,7 @@ public class MainMenuNavigatorContent implements NavigatorContent {
@ViewBinding.Click(R.id.layout_bounds)
private void showLayoutBounds() {
if (LayoutInspector.getInstance().getCapture() == null) {
if (AutoJs.getInstance().getLayoutInspector().getCapture() == null) {
Toast.makeText(mView.getContext(), R.string.text_no_accessibility_permission_to_capture, Toast.LENGTH_SHORT).show();
} else {
HoverMenuService.postEvent(new MessageEvent(HoverMenuService.MESSAGE_SHOW_LAYOUT_BOUNDS));
@@ -77,7 +67,7 @@ public class MainMenuNavigatorContent implements NavigatorContent {
@ViewBinding.Click(R.id.stop_all_running_scripts)
private void stopAllRunningScripts() {
Droid.getInstance().stopAllAndToast();
AutoJs.getInstance().getScriptEngineService().stopAllAndToast();
}
@ViewBinding.Click(R.id.open_launcher)
@@ -100,21 +90,21 @@ public class MainMenuNavigatorContent implements NavigatorContent {
@SuppressLint("SetTextI18n")
private void syncCurrentInfo() {
mCurrentPackage = AccessibilityInfoProvider.getInstance().getLatestPackage();
mCurrentActivity = AccessibilityInfoProvider.getInstance().getLatestActivity();
mCurrentPackage = AutoJs.getInstance().getInfoProvider().getLatestPackage();
mCurrentActivity = AutoJs.getInstance().getInfoProvider().getLatestActivity();
mCurrentActivityTextView.setText(mContext.getString(R.string.text_current_activity) + mCurrentActivity);
mCurrentPackageTextView.setText(mContext.getString(R.string.text_current_package) + mCurrentPackage);
}
@ViewBinding.Click(R.id.current_activity)
private void copyCurrentActivity() {
ClipboardTool.setClip(mCurrentActivity);
ClipboardUtil.setClip(mContext, mCurrentActivity);
Toast.makeText(mContext, R.string.text_copied, Toast.LENGTH_SHORT).show();
}
@ViewBinding.Click(R.id.current_package)
private void copyCurrentPackage() {
ClipboardTool.setClip(mCurrentPackage);
ClipboardUtil.setClip(mContext, mCurrentPackage);
Toast.makeText(mContext, R.string.text_copied, Toast.LENGTH_SHORT).show();
}

View File

@@ -13,6 +13,7 @@ import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.Pref;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.accessibility.AccessibilityEventHelper;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.external.floating_window.HoverMenuService;
import com.stardust.scriptdroid.record.Recorder;
import com.stardust.scriptdroid.record.accessibility.AccessibilityActionRecorder;
@@ -128,7 +129,7 @@ public class RecordNavigatorContent implements NavigatorContent, Recorder.OnStat
}
private void startRecord() {
mRecorder = mRecordedByRootSwitch.isChecked() ? new TouchRecorder() : AccessibilityActionRecorder.getInstance();
mRecorder = mRecordedByRootSwitch.isChecked() ? new TouchRecorder() : AutoJs.getInstance().getAccessibilityActionRecorder();
mRecorder.setOnStateChangedListener(this);
mRecorder.start();
setState(Recorder.STATE_RECORDING);

View File

@@ -5,9 +5,8 @@ import android.support.annotation.NonNull;
import android.view.ContextThemeWrapper;
import android.view.View;
import com.stardust.scriptdroid.scripts.ScriptFileList;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.droid.script.file.ScriptFileList;
import com.stardust.scriptdroid.droid.script.file.SharedPrefScriptFileList;
import com.stardust.scriptdroid.external.floating_window.view.FloatingScriptFileListView;
import io.mattcarroll.hover.Navigator;

View File

@@ -1,7 +1,6 @@
package com.stardust.scriptdroid.external.floating_window.view;
import android.content.Context;
import android.os.Environment;
import android.support.annotation.NonNull;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
@@ -14,12 +13,12 @@ import android.widget.TextView;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.scriptdroid.scripts.ScriptFile;
import com.stardust.scriptdroid.scripts.ScriptFileList;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.droid.script.file.ScriptFile;
import com.stardust.scriptdroid.droid.script.file.ScriptFileList;
import com.stardust.scriptdroid.external.floating_window.HoverMenuService;
import com.stardust.scriptdroid.tool.ViewTool;
import com.stardust.util.ViewUtil;
import com.stardust.scriptdroid.ui.main.operation.ScriptFileOperation;
import com.stardust.scriptdroid.ui.main.operation.ScriptFileOperationPopupMenu;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
@@ -198,8 +197,8 @@ public class FloatingScriptFileListView extends RecyclerView {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
path = (TextView) itemView.findViewById(R.id.path);
ViewTool.$(itemView, R.id.edit).setOnClickListener(mOnEditIconClickListener);
ViewTool.$(itemView, R.id.more).setOnClickListener(mOnMoreIconClickListener);
ViewUtil.$(itemView, R.id.edit).setOnClickListener(mOnEditIconClickListener);
ViewUtil.$(itemView, R.id.more).setOnClickListener(mOnMoreIconClickListener);
itemView.setOnClickListener(mOnItemClickListener);
}
}

View File

@@ -2,23 +2,14 @@ package com.stardust.scriptdroid.external.open;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.stardust.scriptdroid.droid.script.file.ScriptFile;
import com.stardust.scriptdroid.droid.script.file.ScriptFileList;
import com.stardust.scriptdroid.droid.script.file.SharedPrefScriptFileList;
import com.stardust.scriptdroid.tool.FileUtils;
import com.stardust.scriptdroid.ui.BaseActivity;
import com.stardust.scriptdroid.ui.main.MainActivity;
import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder;
import com.stardust.scriptdroid.R;
import java.io.File;
/**
* Created by Stardust on 2017/2/2.
*/

View File

@@ -6,14 +6,16 @@ import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.Toast;
import com.stardust.scriptdroid.droid.Droid;
import com.stardust.scriptdroid.droid.PathChecker;
import com.stardust.scriptdroid.droid.RunningConfig;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.scripts.PathChecker;
import com.stardust.autojs.script.FileScriptSource;
import com.stardust.autojs.script.MultiScriptSource;
import com.stardust.autojs.script.ScriptSource;
import com.stardust.autojs.script.StringScriptSource;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.external.CommonUtils;
import com.stardust.scriptdroid.R;
import java.io.File;
/**
* Created by Stardust on 2017/2/22.
*/
@@ -24,7 +26,7 @@ public class RunIntentActivity extends Activity {
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
handleIntent();
handleIntent(getIntent());
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, R.string.edit_and_run_handle_intent_error, Toast.LENGTH_LONG).show();
@@ -32,16 +34,17 @@ public class RunIntentActivity extends Activity {
finish();
}
private void handleIntent() {
Intent intent = getIntent();
private void handleIntent(Intent intent) {
String path = getPath(intent);
String script = intent.getStringExtra(CommonUtils.EXTRA_KEY_PREPARE_SCRIPT);
ScriptSource source = null;
if (path == null && script != null) {
Droid.getInstance().runScript(script);
} else {
if (new PathChecker(this).checkAndToastError(path)) {
Droid.getInstance().runScriptFile(new File(path), null, new RunningConfig().prepareScript(script));
}
source = new StringScriptSource(script);
} else if (path != null && new PathChecker(this).checkAndToastError(path)) {
source = new MultiScriptSource(new StringScriptSource(script), new FileScriptSource(path));
}
if (source != null) {
AutoJs.getInstance().getScriptEngineService().execute(source);
}
}

View File

@@ -4,8 +4,10 @@ import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.stardust.scriptdroid.droid.Droid;
import com.stardust.scriptdroid.droid.PathChecker;
import com.stardust.scriptdroid.autojs.AutoJs;
import com.stardust.scriptdroid.scripts.PathChecker;
import com.stardust.autojs.script.FileScriptSource;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.external.CommonUtils;
/**
@@ -17,7 +19,7 @@ public class ShortcutActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final String path = getIntent().getStringExtra(CommonUtils.EXTRA_KEY_PATH);
if(new PathChecker(this).checkAndToastError(path)){
if (new PathChecker(this).checkAndToastError(path)) {
runScriptFile(path);
}
}
@@ -29,7 +31,7 @@ public class ShortcutActivity extends Activity {
private void runScriptFile(String path) {
try {
Droid.getInstance().runScriptFile(path);
AutoJs.getInstance().getScriptEngineService().execute(new FileScriptSource(path));
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();

View File

@@ -6,9 +6,8 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import com.stardust.scriptdroid.App;
import com.stardust.scriptdroid.scripts.ScriptFile;
import com.stardust.scriptdroid.R;
import com.stardust.scriptdroid.droid.script.file.ScriptFile;
import com.stardust.scriptdroid.external.CommonUtils;
import com.stardust.scriptdroid.ui.main.my_script_list.ScriptAndFolderListRecyclerView;
import com.twofortyfouram.locale.sdk.client.ui.activity.AbstractPluginActivity;