From 99106d4ebe383b9fb1fb847e49c8116fdce32672 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 19 Mar 2020 11:57:40 +0100 Subject: [PATCH] Limit number of shortcuts --- app/src/main/java/eu/faircode/email/Shortcuts.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/Shortcuts.java b/app/src/main/java/eu/faircode/email/Shortcuts.java index d7c6f7dd64..7e0ce337f8 100644 --- a/app/src/main/java/eu/faircode/email/Shortcuts.java +++ b/app/src/main/java/eu/faircode/email/Shortcuts.java @@ -46,7 +46,9 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -public class Shortcuts { +class Shortcuts { + private static final int MAX_SHORTCUTS = 4; + static void update(final Context context, final LifecycleOwner owner) { if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.N_MR1) return; @@ -56,9 +58,9 @@ public class Shortcuts { @TargetApi(Build.VERSION_CODES.N_MR1) protected List onExecute(Context context, Bundle args) { ShortcutManager sm = (ShortcutManager) context.getSystemService(Context.SHORTCUT_SERVICE); - int app = ShortcutManagerCompat.getMaxShortcutCountPerActivity(context); + int app = sm.getMaxShortcutCountPerActivity(); int manifest = sm.getManifestShortcuts().size(); - int count = app - manifest; + int count = Math.min(app - manifest, MAX_SHORTCUTS); EntityLog.log(context, "Shortcuts count=" + count + " app=" + app + " manifest=" + manifest); DB db = DB.getInstance(context);