Merge "Use concurrent list to prevent ConcurrentModificationException" into main

This commit is contained in:
Treehugger Robot
2025-04-14 02:12:35 -07:00
committed by Android (Google) Code Review
@@ -18,6 +18,7 @@ package com.android.quickstep
import android.content.res.Resources
import com.android.quickstep.recents.data.HighResLoadingStateNotifier
import java.util.concurrent.CopyOnWriteArrayList
/** Determines when high res or low res thumbnails should be loaded. */
class HighResLoadingState : HighResLoadingStateNotifier {
@@ -38,7 +39,7 @@ class HighResLoadingState : HighResLoadingStateNotifier {
var isEnabled: Boolean = false
private set
private val callbacks = ArrayList<HighResLoadingStateChangedCallback>()
private val callbacks = CopyOnWriteArrayList<HighResLoadingStateChangedCallback>()
interface HighResLoadingStateChangedCallback {
fun onHighResLoadingStateChanged(enabled: Boolean)
@@ -56,7 +57,7 @@ class HighResLoadingState : HighResLoadingStateNotifier {
val prevState = isEnabled
isEnabled = forceHighResThumbnails || (visible && !flingingFast)
if (prevState != isEnabled) {
for (callback in callbacks.asReversed()) {
for (callback in callbacks) {
callback.onHighResLoadingStateChanged(isEnabled)
}
}