Merge "Fixed a concurrent modification crash" into nyc-dev

am: f9f48ecd4c

* commit 'f9f48ecd4c59429550909c050a1317eca31b324f':
  Fixed a concurrent modification crash

Change-Id: I373d27ab4361526444e5f1632954b77de0763fea
This commit is contained in:
Selim Cinek
2016-05-09 20:54:46 +00:00
committed by android-build-merger

View File

@@ -26,6 +26,7 @@ import com.android.systemui.statusbar.policy.HeadsUpManager;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -239,7 +240,12 @@ public class NotificationGroupManager implements HeadsUpManager.OnHeadsUpChanged
}
public void collapseAllGroups() {
for (NotificationGroup group : mGroupMap.values()) {
// Because notifications can become isolated when the group becomes suppressed it can
// lead to concurrent modifications while looping. We need to make a copy.
ArrayList<NotificationGroup> groupCopy = new ArrayList<>(mGroupMap.values());
int size = groupCopy.size();
for (int i = 0; i < size; i++) {
NotificationGroup group = groupCopy.get(i);
if (group.expanded) {
setGroupExpanded(group, false);
}