PerDisplayStore: remove CoreStartable implementation

The CoreStartable implementation was there to start listening for
display removals, and clean up the cache when a display was removed.

This can also be done dynamically when `forDisplay` is called. The
benefit is that this new approach removes a lot of unneeded code,
including the dagger bindings.

Test: atest SystemUITests
Bug: 362720336
Flag: com.android.systemui.status_bar_connected_displays
Change-Id: If538c615157ec44f7868038ff89fc80d5b867360
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/PerDisplayStoreImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/PerDisplayStoreImplTest.kt
index 6a0781b..085c1e4 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/PerDisplayStoreImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/display/data/repository/PerDisplayStoreImplTest.kt
@@ -43,11 +43,6 @@
     private val store = kosmos.fakePerDisplayStore
 
     @Before
-    fun start() {
-        store.start()
-    }
-
-    @Before
     fun addDisplays() = runBlocking {
         fakeDisplayRepository.addDisplay(createDisplay(DEFAULT_DISPLAY_ID))
         fakeDisplayRepository.addDisplay(createDisplay(NON_DEFAULT_DISPLAY_ID))
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/LightBarControllerStoreImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/LightBarControllerStoreImplTest.kt
index 18eef33..9f550cf 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/LightBarControllerStoreImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/LightBarControllerStoreImplTest.kt
@@ -41,11 +41,6 @@
 
     private val underTest = kosmos.lightBarControllerStoreImpl
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayDarkIconDispatcherStoreTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayDarkIconDispatcherStoreTest.kt
index a2c3c66..49abc7d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayDarkIconDispatcherStoreTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayDarkIconDispatcherStoreTest.kt
@@ -46,11 +46,6 @@
     // Lazy so that @EnableFlags has time to run before underTest is instantiated.
     private val underTest by lazy { kosmos.multiDisplayDarkIconDispatcherStore }
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarContentInsetsProviderStoreTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarContentInsetsProviderStoreTest.kt
index 4a26fdf..670cea3 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarContentInsetsProviderStoreTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarContentInsetsProviderStoreTest.kt
@@ -41,11 +41,6 @@
     private val fakeDisplayRepository = kosmos.displayRepository
     private val underTest = kosmos.multiDisplayStatusBarContentInsetsProviderStore
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarModeRepositoryStoreTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarModeRepositoryStoreTest.kt
index a9920ec5..27a0d55 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarModeRepositoryStoreTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/MultiDisplayStatusBarModeRepositoryStoreTest.kt
@@ -43,11 +43,6 @@
     private val fakeDisplayRepository = kosmos.displayRepository
     private val underTest by lazy { kosmos.multiDisplayStatusBarModeRepositoryStore }
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStoreImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStoreImplTest.kt
index e65c04c..6264e82 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStoreImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStoreImplTest.kt
@@ -46,11 +46,6 @@
     // Lazy so that @EnableFlags has time to run before underTest is instantiated.
     private val underTest by lazy { kosmos.systemEventChipAnimationControllerStoreImpl }
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/window/MultiDisplayStatusBarWindowControllerStoreTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/window/MultiDisplayStatusBarWindowControllerStoreTest.kt
index 7a9d017..46abd91 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/window/MultiDisplayStatusBarWindowControllerStoreTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/window/MultiDisplayStatusBarWindowControllerStoreTest.kt
@@ -23,6 +23,7 @@
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.display.data.repository.displayRepository
 import com.android.systemui.kosmos.testScope
+import com.android.systemui.kosmos.useUnconfinedTestDispatcher
 import com.android.systemui.statusbar.core.StatusBarConnectedDisplays
 import com.android.systemui.testKosmos
 import kotlinx.coroutines.runBlocking
@@ -37,17 +38,12 @@
 @RunWith(AndroidJUnit4::class)
 @EnableFlags(StatusBarConnectedDisplays.FLAG_NAME)
 class MultiDisplayStatusBarWindowControllerStoreTest : SysuiTestCase() {
-    private val kosmos = testKosmos()
+    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
     private val fakeDisplayRepository = kosmos.displayRepository
     private val testScope = kosmos.testScope
 
     private val underTest by lazy { kosmos.multiDisplayStatusBarWindowControllerStore }
 
-    @Before
-    fun start() {
-        underTest.start()
-    }
-
     @Before fun addDisplays() = runBlocking { fakeDisplayRepository.addDisplay(DEFAULT_DISPLAY) }
 
     @Test
diff --git a/packages/SystemUI/src/com/android/systemui/display/data/repository/PerDisplayStore.kt b/packages/SystemUI/src/com/android/systemui/display/data/repository/PerDisplayStore.kt
index 711534f..dbfbccf 100644
--- a/packages/SystemUI/src/com/android/systemui/display/data/repository/PerDisplayStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/display/data/repository/PerDisplayStore.kt
@@ -18,11 +18,11 @@
 
 import android.view.Display
 import com.android.app.tracing.coroutines.launchTraced as launch
-import com.android.systemui.CoreStartable
+import com.android.systemui.coroutines.newTracingContext
 import com.android.systemui.dagger.qualifiers.Background
-import java.io.PrintWriter
 import java.util.concurrent.ConcurrentHashMap
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.first
 
 /** Provides per display instances of [T]. */
 interface PerDisplayStore<T> {
@@ -47,10 +47,17 @@
 abstract class PerDisplayStoreImpl<T>(
     @Background private val backgroundApplicationScope: CoroutineScope,
     private val displayRepository: DisplayRepository,
-) : PerDisplayStore<T>, CoreStartable {
+) : PerDisplayStore<T> {
 
     private val perDisplayInstances = ConcurrentHashMap<Int, T>()
 
+    private val coroutineScope by lazy {
+        CoroutineScope(
+            backgroundApplicationScope.coroutineContext +
+                newTracingContext("PerDisplayStore<${instanceClass.simpleName}>")
+        )
+    }
+
     /**
      * The instance for the default/main display of the device. For example, on a phone or a tablet,
      * the default display is the internal/built-in display of the device.
@@ -71,19 +78,18 @@
             throw IllegalArgumentException("Display with id $displayId doesn't exist.")
         }
         return perDisplayInstances.computeIfAbsent(displayId) {
+            listenForDisplayRemoval(displayId)
             createInstanceForDisplay(displayId)
         }
     }
 
     protected abstract fun createInstanceForDisplay(displayId: Int): T
 
-    override fun start() {
-        val instanceType = instanceClass.simpleName
-        backgroundApplicationScope.launch("PerDisplayStore#<$instanceType>start") {
-            displayRepository.displayRemovalEvent.collect { removedDisplayId ->
-                val removedInstance = perDisplayInstances.remove(removedDisplayId)
-                removedInstance?.let { onDisplayRemovalAction(it) }
-            }
+    private fun listenForDisplayRemoval(displayId: Int) {
+        coroutineScope.launch("listenForDisplayRemoval($displayId)") {
+            displayRepository.displayRemovalEvent.first { it == displayId }
+            val removedInstance = perDisplayInstances.remove(displayId)
+            removedInstance?.let { onDisplayRemovalAction(it) }
         }
     }
 
@@ -94,10 +100,6 @@
      * any clean up if needed.
      */
     open suspend fun onDisplayRemovalAction(instance: T) {}
-
-    override fun dump(pw: PrintWriter, args: Array<out String>) {
-        pw.println(perDisplayInstances)
-    }
 }
 
 class SingleDisplayStore<T>(defaultInstance: T) : PerDisplayStore<T> {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt
index 4341200..d3d2c58 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt
@@ -102,20 +102,6 @@
 
         @Provides
         @SysUISingleton
-        @IntoMap
-        @ClassKey(MultiDisplayStatusBarWindowControllerStore::class)
-        fun multiDisplayControllerStoreAsCoreStartable(
-            storeLazy: Lazy<MultiDisplayStatusBarWindowControllerStore>
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                storeLazy.get()
-            } else {
-                CoreStartable.NOP
-            }
-        }
-
-        @Provides
-        @SysUISingleton
         @OngoingCallLog
         fun provideOngoingCallLogBuffer(factory: LogBufferFactory): LogBuffer {
             return factory.create("OngoingCall", 75)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/DarkIconDispatcherStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/DarkIconDispatcherStore.kt
index 8183a48..f0d5b64 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/DarkIconDispatcherStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/DarkIconDispatcherStore.kt
@@ -18,7 +18,6 @@
 
 import android.content.Context
 import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR
-import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.repository.DisplayRepository
@@ -34,8 +33,6 @@
 import dagger.Lazy
 import dagger.Module
 import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -124,19 +121,5 @@
                 singleDisplayLazy.get()
             }
         }
-
-        @Provides
-        @SysUISingleton
-        @IntoMap
-        @ClassKey(DarkIconDispatcherStore::class)
-        fun storeAsCoreStartable(
-            multiDisplayLazy: Lazy<MultiDisplayDarkIconDispatcherStore>
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                multiDisplayLazy.get()
-            } else {
-                CoreStartable.NOP
-            }
-        }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/LightBarControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/LightBarControllerStore.kt
index e498755..17f9838 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/LightBarControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/LightBarControllerStore.kt
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.data.repository
 
-import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.repository.DisplayRepository
@@ -27,8 +26,6 @@
 import com.android.systemui.statusbar.phone.LightBarControllerImpl
 import dagger.Binds
 import dagger.Module
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -71,9 +68,4 @@
 interface LightBarControllerStoreModule {
 
     @Binds fun store(impl: LightBarControllerStoreImpl): LightBarControllerStore
-
-    @Binds
-    @IntoMap
-    @ClassKey(LightBarControllerStore::class)
-    fun storeAsCoreStartable(impl: LightBarControllerStoreImpl): CoreStartable
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotViewControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotViewControllerStore.kt
index bd61c44..f1b3862 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotViewControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotViewControllerStore.kt
@@ -16,7 +16,6 @@
 
 package com.android.systemui.statusbar.data.repository
 
-import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.repository.DisplayRepository
@@ -30,8 +29,6 @@
 import dagger.Lazy
 import dagger.Module
 import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -91,18 +88,4 @@
             singleDisplayLazy.get()
         }
     }
-
-    @Provides
-    @SysUISingleton
-    @IntoMap
-    @ClassKey(PrivacyDotViewControllerStore::class)
-    fun storeAsCoreStartable(
-        multiDisplayLazy: Lazy<MultiDisplayPrivacyDotViewControllerStore>
-    ): CoreStartable {
-        return if (StatusBarConnectedDisplays.isEnabled) {
-            multiDisplayLazy.get()
-        } else {
-            CoreStartable.NOP
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
index a1f5655..da7edee 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/PrivacyDotWindowControllerStore.kt
@@ -19,7 +19,6 @@
 import android.view.Display
 import android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL
 import com.android.app.viewcapture.ViewCaptureAwareWindowManager
-import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.repository.DisplayRepository
@@ -29,11 +28,7 @@
 import com.android.systemui.statusbar.core.StatusBarConnectedDisplays
 import com.android.systemui.statusbar.events.PrivacyDotWindowController
 import dagger.Binds
-import dagger.Lazy
 import dagger.Module
-import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -80,20 +75,4 @@
 interface PrivacyDotWindowControllerStoreModule {
 
     @Binds fun store(impl: PrivacyDotWindowControllerStoreImpl): PrivacyDotWindowControllerStore
-
-    companion object {
-        @Provides
-        @SysUISingleton
-        @IntoMap
-        @ClassKey(PrivacyDotWindowControllerStore::class)
-        fun storeAsCoreStartable(
-            storeLazy: Lazy<PrivacyDotWindowControllerStoreImpl>
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                storeLazy.get()
-            } else {
-                CoreStartable.NOP
-            }
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
index 280d66b..bf9491b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarConfigurationControllerStore.kt
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.data.repository
 
 import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR
-import com.android.systemui.CoreStartable
 import com.android.systemui.common.ui.GlobalConfig
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
@@ -32,8 +31,6 @@
 import dagger.Lazy
 import dagger.Module
 import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -100,18 +97,4 @@
             singleDisplayLazy.get()
         }
     }
-
-    @Provides
-    @SysUISingleton
-    @IntoMap
-    @ClassKey(StatusBarConfigurationControllerStore::class)
-    fun storeAsCoreStartable(
-        multiDisplayLazy: Lazy<MultiDisplayStatusBarConfigurationControllerStore>
-    ): CoreStartable {
-        return if (StatusBarConnectedDisplays.isEnabled) {
-            multiDisplayLazy.get()
-        } else {
-            CoreStartable.NOP
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt
index e471b12..b0518ca 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt
@@ -18,7 +18,6 @@
 
 import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR
 import com.android.systemui.CameraProtectionLoaderImpl
-import com.android.systemui.CoreStartable
 import com.android.systemui.SysUICutoutProviderImpl
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
@@ -33,8 +32,6 @@
 import dagger.Lazy
 import dagger.Module
 import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -92,20 +89,6 @@
 
     @Provides
     @SysUISingleton
-    @IntoMap
-    @ClassKey(StatusBarContentInsetsProviderStore::class)
-    fun storeAsCoreStartable(
-        multiDisplayLazy: Lazy<MultiDisplayStatusBarContentInsetsProviderStore>
-    ): CoreStartable {
-        return if (StatusBarConnectedDisplays.isEnabled) {
-            return multiDisplayLazy.get()
-        } else {
-            CoreStartable.NOP
-        }
-    }
-
-    @Provides
-    @SysUISingleton
     fun store(
         singleDisplayLazy: Lazy<SingleDisplayStatusBarContentInsetsProviderStore>,
         multiDisplayLazy: Lazy<MultiDisplayStatusBarContentInsetsProviderStore>,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarModeRepositoryStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarModeRepositoryStore.kt
index 143e998..ebd38b3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarModeRepositoryStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarModeRepositoryStore.kt
@@ -30,8 +30,6 @@
 import dagger.Lazy
 import dagger.Module
 import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import dagger.multibindings.IntoSet
 import java.io.PrintWriter
 import javax.inject.Inject
@@ -104,20 +102,6 @@
     ): StatusBarInitializer.OnStatusBarViewInitializedListener
 
     companion object {
-        @Provides
-        @SysUISingleton
-        @IntoMap
-        @ClassKey(StatusBarModeRepositoryStore::class)
-        fun storeAsCoreStartable(
-            singleDisplayLazy: Lazy<StatusBarModeRepositoryImpl>,
-            multiDisplayLazy: Lazy<MultiDisplayStatusBarModeRepositoryStore>,
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                multiDisplayLazy.get()
-            } else {
-                singleDisplayLazy.get()
-            }
-        }
 
         @Provides
         @SysUISingleton
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStore.kt
index 7760f58..21c52e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/data/repository/SystemEventChipAnimationControllerStore.kt
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.data.repository
 
 import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR
-import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.display.data.repository.DisplayRepository
@@ -29,11 +28,7 @@
 import com.android.systemui.statusbar.events.SystemEventChipAnimationControllerImpl
 import com.android.systemui.statusbar.window.StatusBarWindowControllerStore
 import dagger.Binds
-import dagger.Lazy
 import dagger.Module
-import dagger.Provides
-import dagger.multibindings.ClassKey
-import dagger.multibindings.IntoMap
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
 
@@ -85,20 +80,4 @@
     fun store(
         impl: SystemEventChipAnimationControllerStoreImpl
     ): SystemEventChipAnimationControllerStore
-
-    companion object {
-        @Provides
-        @SysUISingleton
-        @IntoMap
-        @ClassKey(SystemEventChipAnimationControllerStore::class)
-        fun storeAsCoreStartable(
-            implLazy: Lazy<SystemEventChipAnimationControllerStoreImpl>
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                implLazy.get()
-            } else {
-                CoreStartable.NOP
-            }
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
index 58386b0..e1cdc58 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/dagger/StatusBarPhoneModule.kt
@@ -162,20 +162,6 @@
 
         @Provides
         @SysUISingleton
-        @IntoMap
-        @ClassKey(StatusBarInitializerStore::class)
-        fun initializerStoreAsCoreStartable(
-            multiDisplayStoreLazy: Lazy<MultiDisplayStatusBarInitializerStore>
-        ): CoreStartable {
-            return if (StatusBarConnectedDisplays.isEnabled) {
-                multiDisplayStoreLazy.get()
-            } else {
-                CoreStartable.NOP
-            }
-        }
-
-        @Provides
-        @SysUISingleton
         fun initializerStore(
             singleDisplayStoreLazy: Lazy<SingleDisplayStatusBarInitializerStore>,
             multiDisplayStoreLazy: Lazy<MultiDisplayStatusBarInitializerStore>,