diff options
2 files changed, 5 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt index 589db1690d3f..b762751ecbb4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt @@ -58,6 +58,7 @@ import com.android.systemui.util.kotlin.pairwise import com.android.systemui.utils.coroutines.flow.conflatedCallbackFlow import java.io.PrintWriter import java.lang.ref.WeakReference +import java.util.concurrent.ConcurrentHashMap import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope @@ -108,9 +109,8 @@ constructor( ) : MobileConnectionsRepository, Dumpable { // TODO(b/333912012): for now, we are never invalidating the cache. We can do better though - private var subIdRepositoryCache: - MutableMap<Int, WeakReference<FullMobileConnectionRepository>> = - mutableMapOf() + private var subIdRepositoryCache = + ConcurrentHashMap<Int, WeakReference<FullMobileConnectionRepository>>() private val defaultNetworkName = NetworkNameModel.Default( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt index 2cd01170b5ef..67fdb3ae7681 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconsViewModel.kt @@ -29,6 +29,7 @@ import com.android.systemui.statusbar.pipeline.mobile.ui.MobileViewLogger import com.android.systemui.statusbar.pipeline.mobile.ui.VerboseMobileViewLogger import com.android.systemui.statusbar.pipeline.mobile.ui.view.ModernStatusBarMobileView import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants +import java.util.concurrent.ConcurrentHashMap import javax.inject.Inject import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.CoroutineScope @@ -62,7 +63,7 @@ constructor( @Background private val scope: CoroutineScope, ) { @VisibleForTesting - val reuseCache = mutableMapOf<Int, Pair<MobileIconViewModel, CoroutineScope>>() + val reuseCache = ConcurrentHashMap<Int, Pair<MobileIconViewModel, CoroutineScope>>() val subscriptionIdsFlow: StateFlow<List<Int>> = interactor.filteredSubscriptions |