diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/floating/FloatyWindowManger.java b/app/src/main/java/com/stardust/scriptdroid/ui/floating/FloatyWindowManger.java index 5fd30cc4..9d71fc1a 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/floating/FloatyWindowManger.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/floating/FloatyWindowManger.java @@ -59,14 +59,16 @@ public class FloatyWindowManger { return sCircularMenu != null && sCircularMenu.get() != null; } - public static void showCircularMenu() { + public static boolean showCircularMenu() { if (!SettingsCompat.canDrawOverlays(App.getApp())) { Toast.makeText(App.getApp(), R.string.text_no_floating_window_permission, Toast.LENGTH_SHORT).show(); manageDrawOverlays(App.getApp()); + return false; } else { App.getApp().startService(new Intent(App.getApp(), FloatyService.class)); CircularMenu menu = new CircularMenu(App.getApp()); sCircularMenu = new WeakReference<>(menu); + return true; } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java index d9235106..b7fcf528 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java @@ -203,7 +203,7 @@ public class DrawerFragment extends android.support.v4.app.Fragment { Pref.setFloatingMenuShown(checked); } if (checked && !isFloatingWindowShowing) { - FloatyWindowManger.showCircularMenu(); + setChecked(mFloatingWindowItem, FloatyWindowManger.showCircularMenu()); enableAccessibilityServiceByRootIfNeeded(); } else if (!checked && isFloatingWindowShowing) { FloatyWindowManger.hideCircularMenu(); diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java index 78aa2e62..70cbd587 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerMenuItemViewHolder.java @@ -77,10 +77,10 @@ public class DrawerMenuItemViewHolder extends BindableViewHolder } else { mSwitchCompat.setPrefKey(itemView.getResources().getString(prefKey)); } - mSwitchCompat.setOnCheckedChangeListener((buttonView, isChecked) -> mDrawerMenuItem.setChecked(isChecked)); } private void onClick() { + mDrawerMenuItem.setChecked(mSwitchCompat.isChecked()); if (mAntiShake && (System.currentTimeMillis() - mLastClickMillis < CLICK_TIMEOUT)) { Toast.makeText(itemView.getContext(), R.string.text_click_too_frequently, Toast.LENGTH_SHORT).show(); mSwitchCompat.setChecked(!mSwitchCompat.isChecked(), false); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b6e75405..8f393cb1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -338,5 +338,5 @@ 两次输入的密码不一致 退出登录 操作失败,请稍后重试 - 稳定模式通过省略布局细节使脚本抓取布局时更稳定,但同时获取到的屏幕上的控件可能会减少。 + 稳定模式通过省略布局细节使脚本抓取布局时更稳定,但同时获取到的屏幕上的控件可能会减少。\n\n重新启动无障碍服务才能生效。