From 0043c82b23fcc803807b7c8ade38c3757247a208 Mon Sep 17 00:00:00 2001 From: Mohamed Date: Thu, 25 May 2017 16:44:52 +0100 Subject: Fix an issue with the number of shortcuts --- app/src/main/java/com/zeapo/pwdstore/PasswordStore.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java index 4f2649b5..af5567c4 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java @@ -44,9 +44,10 @@ import org.eclipse.jgit.lib.Repository; import java.io.File; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; +import java.util.List; import java.util.Set; public class PasswordStore extends AppCompatActivity { @@ -409,7 +410,16 @@ public class PasswordStore extends AppCompatActivity { .setIcon(Icon.createWithResource(this, R.drawable.ic_launcher)) .setIntent(intent.setAction("DECRYPT_PASS")) // Needs action .build(); - shortcutManager.addDynamicShortcuts(Arrays.asList(shortcut)); + List shortcuts = shortcutManager.getDynamicShortcuts(); + + if (shortcuts.size() >= shortcutManager.getMaxShortcutCountPerActivity() && + shortcuts.size() > 0) { + shortcuts.remove(shortcuts.size() - 1); + shortcuts.add(0, shortcut); + shortcutManager.setDynamicShortcuts(shortcuts); + } else { + shortcutManager.addDynamicShortcuts(Collections.singletonList(shortcut)); + } } startActivityForResult(intent, PgpHandler.REQUEST_CODE_DECRYPT_AND_VERIFY); } -- cgit v1.2.3