Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java +6 −1 Original line number Original line Diff line number Diff line Loading @@ -256,10 +256,15 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { // A copy is necessary here as we are changing the underlying map. This would cause // A copy is necessary here as we are changing the underlying map. This would cause // undefined behavior if we iterated over the key set directly. // undefined behavior if we iterated over the key set directly. ArraySet<String> keysToRemove = new ArraySet<>(mHeadsUpEntryMap.keySet()); ArraySet<String> keysToRemove = new ArraySet<>(mHeadsUpEntryMap.keySet()); // Must get waiting keys before calling removeEntry, which clears waiting entries in // AvalancheController List<String> waitingKeysToRemove = mAvalancheController.getWaitingKeys(); for (String key : keysToRemove) { for (String key : keysToRemove) { removeEntry(key); removeEntry(key); } } for (String key : mAvalancheController.getWaitingKeys()) { for (String key : waitingKeysToRemove) { removeEntry(key); removeEntry(key); } } } } Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/BaseHeadsUpManager.java +6 −1 Original line number Original line Diff line number Diff line Loading @@ -256,10 +256,15 @@ public abstract class BaseHeadsUpManager implements HeadsUpManager { // A copy is necessary here as we are changing the underlying map. This would cause // A copy is necessary here as we are changing the underlying map. This would cause // undefined behavior if we iterated over the key set directly. // undefined behavior if we iterated over the key set directly. ArraySet<String> keysToRemove = new ArraySet<>(mHeadsUpEntryMap.keySet()); ArraySet<String> keysToRemove = new ArraySet<>(mHeadsUpEntryMap.keySet()); // Must get waiting keys before calling removeEntry, which clears waiting entries in // AvalancheController List<String> waitingKeysToRemove = mAvalancheController.getWaitingKeys(); for (String key : keysToRemove) { for (String key : keysToRemove) { removeEntry(key); removeEntry(key); } } for (String key : mAvalancheController.getWaitingKeys()) { for (String key : waitingKeysToRemove) { removeEntry(key); removeEntry(key); } } } } Loading