diff --git a/app/src/main/java/org/lsposed/manager/ui/dialog/WelcomeDialog.java b/app/src/main/java/org/lsposed/manager/ui/dialog/WelcomeDialog.java index 5e9c9327..09ed378e 100644 --- a/app/src/main/java/org/lsposed/manager/ui/dialog/WelcomeDialog.java +++ b/app/src/main/java/org/lsposed/manager/ui/dialog/WelcomeDialog.java @@ -86,8 +86,12 @@ public class WelcomeDialog extends DialogFragment { public static void showIfNeed(FragmentManager fm) { if (shown) return; - if (!ConfigManager.isBinderAlive()) return; - if (App.getPreferences().getBoolean("never_show_welcome", false)) return; + if (!ConfigManager.isBinderAlive() || + App.getPreferences().getBoolean("never_show_welcome", false) || + (App.isParasitic && ShortcutUtil.isLaunchShortcutPinned())) { + shown = true; + return; + } new WelcomeDialog().show(fm, "welcome"); shown = true; } diff --git a/app/src/main/java/org/lsposed/manager/util/ShortcutUtil.java b/app/src/main/java/org/lsposed/manager/util/ShortcutUtil.java index 2ce8d1ed..b79c1389 100644 --- a/app/src/main/java/org/lsposed/manager/util/ShortcutUtil.java +++ b/app/src/main/java/org/lsposed/manager/util/ShortcutUtil.java @@ -168,14 +168,12 @@ public class ShortcutUtil { public static boolean isLaunchShortcutPinned() { var context = App.getInstance(); var sm = context.getSystemService(ShortcutManager.class); - boolean pinned = false; for (var info : sm.getPinnedShortcuts()) { if (SHORTCUT_ID.equals(info.getId())) { - pinned = true; - break; + return true; } } - return pinned; + return false; } public static boolean shouldAllowPinShortcut(Context context) {