add: root_automator
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.stardust.scriptdroid.autojs;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Notification;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -36,6 +37,7 @@ import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
|
||||
import com.stardust.scriptdroid.ui.console.JraskaConsole;
|
||||
import com.stardust.view.accessibility.AccessibilityServiceUtils;
|
||||
import com.stardust.view.accessibility.LayoutInspector;
|
||||
import com.stardust.view.accessibility.NotificationListener;
|
||||
|
||||
|
||||
/**
|
||||
@@ -55,6 +57,7 @@ public class AutoJs {
|
||||
}
|
||||
|
||||
private final AccessibilityActionRecorder mAccessibilityActionRecorder = new AccessibilityActionRecorder();
|
||||
private final NotificationListener.Observer mNotificationObserver;
|
||||
private final LayoutInspector mLayoutInspector = new LayoutInspector();
|
||||
private final Context mContext;
|
||||
private final UiHandler mUiHandler;
|
||||
@@ -68,6 +71,7 @@ public class AutoJs {
|
||||
mContext = context;
|
||||
mUiHandler = new UiHandler(context);
|
||||
mAppUtils = new AppUtils(context);
|
||||
mNotificationObserver = new NotificationListener.Observer(context);
|
||||
mAccessibilityInfoProvider = new AccessibilityInfoProvider(context.getPackageManager());
|
||||
mScriptEngineService = buildScriptEngineService();
|
||||
addAccessibilityServiceDelegates();
|
||||
@@ -130,6 +134,7 @@ public class AutoJs {
|
||||
|
||||
private void addAccessibilityServiceDelegates() {
|
||||
AccessibilityService.addDelegate(100, mAccessibilityInfoProvider);
|
||||
AccessibilityService.addDelegate(200, mNotificationObserver);
|
||||
AccessibilityService.addDelegate(300, mAccessibilityActionRecorder);
|
||||
}
|
||||
|
||||
@@ -198,6 +203,11 @@ public class AutoJs {
|
||||
return mAccessibilityInfoProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NotificationListener.Observer getNotificationObserver() {
|
||||
return mNotificationObserver;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private class ScreenCaptureRequesterImpl extends ScreenCaptureRequester.AbstractScreenCaptureRequester {
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.stardust.scriptdroid.autojs.AutoJs;
|
||||
import com.stardust.view.accessibility.NodeInfo;
|
||||
import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutBoundsView;
|
||||
import com.stardust.scriptdroid.external.floatingwindow.menu.view.FloatingLayoutHierarchyView;
|
||||
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
|
||||
import com.stardust.theme.ThemeColorManagerCompat;
|
||||
import com.stardust.util.IntentUtil;
|
||||
import com.stardust.util.MessageEvent;
|
||||
@@ -189,7 +188,6 @@ public class HoverMenuService extends Service {
|
||||
tryInitViews();
|
||||
if (mWindowHoverMenu != null)
|
||||
mWindowHoverMenu.show();
|
||||
AccessibilityServiceTool.enableAccessibilityServiceByRootIfNeeded();
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
@@ -200,6 +198,8 @@ public class HoverMenuService extends Service {
|
||||
if (eventBus.isRegistered(this))
|
||||
eventBus.unregister(this);
|
||||
setIsRunning(false);
|
||||
if (mWindowViewController == null)
|
||||
return;
|
||||
mWindowViewController.removeView(mFloatingLayoutBoundsView);
|
||||
mWindowViewController.removeView(mFloatingLayoutHierarchyView);
|
||||
}
|
||||
|
||||
@@ -85,9 +85,6 @@ public class RecordNavigatorContent implements NavigatorContent, Recorder.OnStat
|
||||
ButterKnife.bind(this, mView);
|
||||
HoverMenuService.getEventBus().register(this);
|
||||
AccessibilityService.getStickOnKeyObserver().addListener(mVolumeKeyListener);
|
||||
if (Pref.isRecordVolumeControlEnable()) {
|
||||
AutoJs.getInstance().ensureAccessibilityServiceEnabled();
|
||||
}
|
||||
if (Pref.hasRecordTrigger()) {
|
||||
mKeyObserver = new KeyObserver(mContext);
|
||||
mKeyObserver.startListening();
|
||||
|
||||
@@ -14,10 +14,14 @@ public class ProgressDialog {
|
||||
private MaterialDialog mDialog;
|
||||
|
||||
public ProgressDialog(Context context) {
|
||||
this(context, R.string.text_on_progress);
|
||||
}
|
||||
|
||||
public ProgressDialog(Context context, int resId) {
|
||||
mDialog = new MaterialDialog.Builder(context)
|
||||
.progress(true, 0)
|
||||
.cancelable(false)
|
||||
.content(R.string.text_on_progress)
|
||||
.content(resId)
|
||||
.show();
|
||||
}
|
||||
|
||||
|
||||
@@ -133,7 +133,12 @@ public class SideMenuFragment extends android.support.v4.app.Fragment {
|
||||
AccessibilityServiceTool.goToAccessibilitySetting();
|
||||
return;
|
||||
}
|
||||
final ProgressDialog progress = new ProgressDialog(getContext());
|
||||
enableAccessibilityServiceByRoot();
|
||||
|
||||
}
|
||||
|
||||
private void enableAccessibilityServiceByRoot() {
|
||||
final ProgressDialog progress = new ProgressDialog(getContext(), R.string.text_enable_accessibility_service_by_root_ing);
|
||||
UnderuseExecutors.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -156,6 +161,9 @@ public class SideMenuFragment extends android.support.v4.app.Fragment {
|
||||
void setFloatingWindowEnable(CompoundButton button, boolean enable) {
|
||||
if (enable && !HoverMenuManger.isHoverMenuShowing()) {
|
||||
HoverMenuManger.showHoverMenu();
|
||||
if (Pref.enableAccessibilityServiceByRoot()) {
|
||||
enableAccessibilityServiceByRoot();
|
||||
}
|
||||
} else if (!enable && HoverMenuManger.isHoverMenuShowing()) {
|
||||
HoverMenuManger.hideHoverMenu();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user