Merge "Avoid another concurrent modification exception in ShortcutHelper." into rvc-dev am: 831ac87a9b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12047870

Change-Id: I31711631faa2c788f3e308f20df6a395d2454d9c
This commit is contained in:
Josh Tsuji
2020-07-01 15:26:23 +00:00
committed by Automerger Merge Worker

View File

@@ -102,9 +102,13 @@ public class ShortcutHelper {
HashMap<String, String> shortcutBubbles = mActiveShortcutBubbles.get(packageName);
ArrayList<String> bubbleKeysToRemove = new ArrayList<>();
if (shortcutBubbles != null) {
// Copy to avoid a concurrent modification exception when we remove bubbles from
// shortcutBubbles.
final Set<String> shortcutIds = new HashSet<>(shortcutBubbles.keySet());
// If we can't find one of our bubbles in the shortcut list, that bubble needs
// to be removed.
for (String shortcutId : shortcutBubbles.keySet()) {
for (String shortcutId : shortcutIds) {
boolean foundShortcut = false;
for (int i = 0; i < shortcuts.size(); i++) {
if (shortcuts.get(i).getId().equals(shortcutId)) {