From d72d9c0413aecf19608995000cd8013a97a6d627 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Wed, 5 Jul 2017 18:55:27 +0800 Subject: [PATCH] fix hyb1996-guest//AutoJsIssueReport#4781, hyb1996-guest//AutoJsIssueReport#4793 --- .../tool/AccessibilityServiceTool.java | 7 +- .../ScriptAndFolderListRecyclerView.java | 9 +- ...nd_folder_list_recycler_view_directory.xml | 139 ++++-------------- ...ipt_and_folder_list_recycler_view_file.xml | 135 ++++++----------- .../layout/script_and_folder_list_view.xml | 5 +- .../runtime/api/ui/BlockedMaterialDialog.java | 2 + .../autojs/runtime/api/ui/Dialogs.java | 6 +- .../runtime/console/StardustConsole.java | 3 +- .../res/xml/accessibility_service_config.xml | 4 +- .../accessibility/AccessibilityService.java | 5 +- 10 files changed, 106 insertions(+), 209 deletions(-) diff --git a/app/src/main/java/com/stardust/scriptdroid/tool/AccessibilityServiceTool.java b/app/src/main/java/com/stardust/scriptdroid/tool/AccessibilityServiceTool.java index 6a3a6451..2b017c34 100644 --- a/app/src/main/java/com/stardust/scriptdroid/tool/AccessibilityServiceTool.java +++ b/app/src/main/java/com/stardust/scriptdroid/tool/AccessibilityServiceTool.java @@ -5,7 +5,10 @@ import android.content.Context; import android.text.TextUtils; import android.widget.Toast; +import com.stardust.autojs.runtime.ScriptRuntime; import com.stardust.scriptdroid.Pref; +import com.stardust.scriptdroid.autojs.AutoJs; +import com.stardust.util.UiHandler; import com.stardust.view.accessibility.AccessibilityService; import com.stardust.scriptdroid.App; import com.stardust.scriptdroid.R; @@ -33,12 +36,12 @@ public class AccessibilityServiceTool { public static void goToAccessibilitySetting() { Context context = App.getApp(); if (Pref.isFirstGoToAccessibilitySetting()) { - Toast.makeText(context, context.getString(R.string.text_please_choose) + context.getString(R.string._app_name), Toast.LENGTH_LONG).show(); + App.getApp().getUiHandler().toast(context.getString(R.string.text_please_choose) + context.getString(R.string._app_name)); } try { AccessibilityServiceUtils.goToAccessibilitySetting(context); } catch (ActivityNotFoundException e) { - Toast.makeText(context, context.getString(R.string.go_to_accessibility_settings) + context.getString(R.string._app_name), Toast.LENGTH_LONG).show(); + App.getApp().getUiHandler().toast(context.getString(R.string.go_to_accessibility_settings) + context.getString(R.string._app_name)); } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/ScriptAndFolderListRecyclerView.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/ScriptAndFolderListRecyclerView.java index 91fb7d46..d7260f9d 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/ScriptAndFolderListRecyclerView.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/ScriptAndFolderListRecyclerView.java @@ -242,10 +242,15 @@ public class ScriptAndFolderListRecyclerView extends RecyclerView { } private void init() { - GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 2); - setLayoutManager(layoutManager);//new WrapContentLinearLayoutManager(getContext())); + setLayoutManager(new WrapContentLinearLayoutManager(getContext())); mAdapter = new Adapter(mDefaultViewHolderSupplier); setAdapter(mAdapter); + addItemDecoration(new HorizontalDividerItemDecoration.Builder(getContext()) + .color(0xffd9d9d9) + .size(2) + .marginResId(R.dimen.script_and_folder_list_divider_left_margin, R.dimen.script_and_folder_list_divider_right_margin) + .showLastDivider() + .build()); } diff --git a/app/src/main/res/layout/script_and_folder_list_recycler_view_directory.xml b/app/src/main/res/layout/script_and_folder_list_recycler_view_directory.xml index 8126d8f6..e085de6c 100644 --- a/app/src/main/res/layout/script_and_folder_list_recycler_view_directory.xml +++ b/app/src/main/res/layout/script_and_folder_list_recycler_view_directory.xml @@ -1,115 +1,38 @@ - - - - - - - - - - - - + android:layout_height="wrap_content" + android:foreground="?android:selectableItemBackground"> - - - - - + - - + - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/script_and_folder_list_recycler_view_file.xml b/app/src/main/res/layout/script_and_folder_list_recycler_view_file.xml index 4c5242cd..0c956d85 100644 --- a/app/src/main/res/layout/script_and_folder_list_recycler_view_file.xml +++ b/app/src/main/res/layout/script_and_folder_list_recycler_view_file.xml @@ -1,94 +1,57 @@ - + + + + + + + - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/app/src/main/res/layout/script_and_folder_list_view.xml b/app/src/main/res/layout/script_and_folder_list_view.xml index 7bd875c3..97bd4802 100644 --- a/app/src/main/res/layout/script_and_folder_list_view.xml +++ b/app/src/main/res/layout/script_and_folder_list_view.xml @@ -11,10 +11,7 @@ + android:layout_height="match_parent"/> diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/BlockedMaterialDialog.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/BlockedMaterialDialog.java index 873b4c07..f86978bf 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/BlockedMaterialDialog.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/BlockedMaterialDialog.java @@ -11,6 +11,7 @@ import android.view.WindowManager; import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; +import com.afollestad.materialdialogs.Theme; import com.stardust.concurrent.VolatileBox; import com.stardust.util.UiHandler; @@ -50,6 +51,7 @@ public class BlockedMaterialDialog extends MaterialDialog { public Builder(Context context, UiHandler uiHandler) { super(context); + super.theme(Theme.LIGHT); mUiHandler = uiHandler; } diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/Dialogs.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/Dialogs.java index f91263ea..35d9a5ab 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/Dialogs.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/ui/Dialogs.java @@ -23,6 +23,7 @@ public class Dialogs { private AppUtils mAppUtils; private UiHandler mUiHandler; + private ContextThemeWrapper mThemeWrapper; public Dialogs(AppUtils appUtils, UiHandler uiHandler) { mAppUtils = appUtils; @@ -70,7 +71,10 @@ public class Dialogs { } private Context getContext() { - return mUiHandler.getContext(); + if (mThemeWrapper != null) + return mThemeWrapper; + mThemeWrapper = new ContextThemeWrapper(mUiHandler.getContext(), R.style.Theme_AppCompat_Light); + return mThemeWrapper; } @ScriptInterface diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java b/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java index 73bae91d..cb52e951 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/console/StardustConsole.java @@ -127,7 +127,8 @@ public class StardustConsole extends AbstractConsole { public void run() { try { FloatyService.addWindow(mFloatyWindow); - } catch (WindowManager.BadTokenException e) { + // SecurityException: https://github.com/hyb1996-guest/AutoJsIssueReport/issues/4781 + } catch (WindowManager.BadTokenException | SecurityException e) { e.printStackTrace(); mUiHandler.toast(R.string.text_no_floating_window_permission); } diff --git a/autojs/src/main/res/xml/accessibility_service_config.xml b/autojs/src/main/res/xml/accessibility_service_config.xml index 1dc081aa..840a02d7 100644 --- a/autojs/src/main/res/xml/accessibility_service_config.xml +++ b/autojs/src/main/res/xml/accessibility_service_config.xml @@ -2,9 +2,9 @@ \ No newline at end of file + android:notificationTimeout="0"/> \ No newline at end of file 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 e7831fd1..da26512e 100644 --- a/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java +++ b/automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.java @@ -54,12 +54,11 @@ public class AccessibilityService extends android.accessibilityservice.Accessibi @Override public void onAccessibilityEvent(final AccessibilityEvent event) { Log.v(TAG, "onAccessibilityEvent: " + event); + Log.v(TAG, "getRootInActiveWindow: " + super.getRootInActiveWindow()); if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED || event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER || event.getEventType() == AccessibilityEvent.TYPE_VIEW_HOVER_EXIT) { - if (!event.getPackageName().equals(getPackageName())) { - mRootInActiveWindow = super.getRootInActiveWindow(); - } + mRootInActiveWindow = super.getRootInActiveWindow(); } if (!containsAllEventTypes && !eventTypes.contains(event.getEventType())) return;