commit | 028bf6b5b4ac3d2729bc3676afda2486d762b2fd | [log] [tgz] |
---|---|---|
author | Steve Elliott <steell@google.com> | Mon Feb 12 23:12:10 2024 +0000 |
committer | Android (Google) Code Review <android-gerrit@google.com> | Mon Feb 12 23:12:10 2024 +0000 |
tree | 1732d9d853562ebabdc9c896e7fd96d7bbece652 | |
parent | 49e4227abe9eb7bd4c826dbb43d1f6be8a2f8445 [diff] | |
parent | 697c39867bd90d03289711b14c13bc39c4a7c6a7 [diff] |
Merge "Fix potential IOOB error in icon reordering" into main
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt index de3a626..c8d6abe 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/NotificationIconContainerViewBinder.kt
@@ -311,12 +311,13 @@ boundViewsByNotifKey[it.notifKey]?.first } val childCount = view.childCount + val toRemove = mutableListOf<View>() for (i in 0 until childCount) { val actual = view.getChildAt(i) val expected = expectedChildren.getOrNull(i) if (expected == null) { Log.wtf(TAG, "[$logTag] Unexpected child $actual") - view.removeView(actual) + toRemove.add(actual) continue } if (actual === expected) { @@ -325,6 +326,9 @@ view.removeView(expected) view.addView(expected, i) } + for (child in toRemove) { + view.removeView(child) + } } } }