From 0b39c125721da79e61e009a42d360c972459042a Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sat, 8 Jul 2017 23:31:07 +0800 Subject: [PATCH] release 2.0.13 Beta3 --- .../menu/content/MainMenuNavigatorContent.java | 7 +++++++ .../scriptdroid/ui/main/SideMenuFragment.java | 4 ++-- .../main/res/layout/floating_window_main_menu.xml | 15 +++++++++++++++ app/src/main/res/layout/fragment_side_menu.xml | 2 +- app/src/main/res/values/strings.xml | 1 + .../view/accessibility/AccessibilityService.java | 11 +++++++---- 6 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java index a74c8373..f688682d 100644 --- a/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java +++ b/app/src/main/java/com/stardust/scriptdroid/external/floatingwindow/menu/content/MainMenuNavigatorContent.java @@ -13,6 +13,7 @@ import com.stardust.scriptdroid.R; import com.stardust.scriptdroid.autojs.AutoJs; import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService; import com.stardust.scriptdroid.external.floatingwindow.menu.layout_inspector.LayoutInspector; +import com.stardust.scriptdroid.tool.AccessibilityServiceTool; import com.stardust.scriptdroid.ui.main.MainActivity_; import com.stardust.util.ClipboardUtil; import com.stardust.util.MessageEvent; @@ -87,6 +88,12 @@ public class MainMenuNavigatorContent implements NavigatorContent { HoverMenuService.postIntent(new Intent(HoverMenuService.ACTION_COLLAPSE_MENU)); } + @OnClick(R.id.open_accessibility_settings) + void openAccessibilitySettings() { + AccessibilityServiceTool.enableAccessibilityService(); + HoverMenuService.postIntent(new Intent(HoverMenuService.ACTION_COLLAPSE_MENU)); + } + @NonNull @Override public View getView() { diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java index 883f1716..967091e4 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/SideMenuFragment.java @@ -50,7 +50,7 @@ public class SideMenuFragment extends android.support.v4.app.Fragment { activity.getSupportFragmentManager().beginTransaction().replace(viewId, fragment).commit(); } - @ViewById(R.id.sw_auto_operate_service) + @ViewById(R.id.sw_accessibility_service) SwitchCompat mAccessibilityServiceSwitch; @ViewById(R.id.sw_floating_window) SwitchCompat mFloatingWindowSwitch; @@ -108,7 +108,7 @@ public class SideMenuFragment extends android.support.v4.app.Fragment { mAccessibilityServiceSwitch.toggle(); } - @CheckedChange(R.id.sw_auto_operate_service) + @CheckedChange(R.id.sw_accessibility_service) void setAutoOperateServiceEnable(CompoundButton button, boolean enable) { boolean isAccessibilityServiceEnabled = AccessibilityService.isEnabled(App.getApp()); if (enable && !isAccessibilityServiceEnabled) { diff --git a/app/src/main/res/layout/floating_window_main_menu.xml b/app/src/main/res/layout/floating_window_main_menu.xml index 4925c8a6..652a849b 100644 --- a/app/src/main/res/layout/floating_window_main_menu.xml +++ b/app/src/main/res/layout/floating_window_main_menu.xml @@ -70,6 +70,21 @@ android:layout_height="1dp" android:background="#c4c4c4"/> + + + + 0为无限循环 延迟多少秒后开始循环 格式错误 + 打开无障碍服务 diff --git a/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java b/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java index dd344b9f..8b303bb0 100644 --- a/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java +++ b/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java @@ -59,10 +59,13 @@ public class AccessibilityService extends android.accessibilityservice.Accessibi @Override public void onAccessibilityEvent(final AccessibilityEvent event) { Log.v(TAG, "onAccessibilityEvent: " + event); - if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED - || event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER - || event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) { - mRootInActiveWindow = super.getRootInActiveWindow(); + try { + AccessibilityNodeInfo root = super.getRootInActiveWindow(); + Log.v(TAG, "getRootInActiveWindow: " + root); + if (root != null) + mRootInActiveWindow = root; + } catch (Exception ignored) { + } if (!containsAllEventTypes && !eventTypes.contains(event.getEventType())) return;