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;