Loading packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt +14 −5 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory import com.android.systemui.statusbar.policy.ConfigurationController import java.io.PrintWriter import java.util.concurrent.Executor import javax.inject.Inject Loading @@ -44,6 +45,7 @@ class MediaDeviceManager @Inject constructor( private val localMediaManagerFactory: LocalMediaManagerFactory, private val mr2manager: MediaRouter2Manager, private val muteAwaitConnectionManagerFactory: MediaMuteAwaitConnectionManagerFactory, private val configurationController: ConfigurationController, @Main private val fgExecutor: Executor, @Background private val bgExecutor: Executor, dumpManager: DumpManager Loading Loading @@ -79,7 +81,7 @@ class MediaDeviceManager @Inject constructor( oldEntry?.stop() } var entry = entries[key] if (entry == null || entry?.token != data.token) { if (entry == null || entry.token != data.token) { entry?.stop() if (data.device != null) { // If we were already provided device info (e.g. from RCN), keep that and don't Loading Loading @@ -118,10 +120,9 @@ class MediaDeviceManager @Inject constructor( override fun dump(pw: PrintWriter, args: Array<String>) { with(pw) { println("MediaDeviceManager state:") entries.forEach { key, entry -> entries.forEach { (key, entry) -> println(" key=$key") entry.dump(pw, args) entry.dump(pw) } } } Loading Loading @@ -165,6 +166,12 @@ class MediaDeviceManager @Inject constructor( // expected to connect imminently, it should be displayed as the current device. private var aboutToConnectDeviceOverride: AboutToConnectDevice? = null private val configListener = object : ConfigurationController.ConfigurationListener { override fun onLocaleListChanged() { updateCurrent() } } @AnyThread fun start() = bgExecutor.execute { localMediaManager.registerCallback(this) Loading @@ -174,6 +181,7 @@ class MediaDeviceManager @Inject constructor( controller?.registerCallback(this) updateCurrent() started = true configurationController.addCallback(configListener) } @AnyThread Loading @@ -183,9 +191,10 @@ class MediaDeviceManager @Inject constructor( localMediaManager.stopScan() localMediaManager.unregisterCallback(this) muteAwaitConnectionManager?.stopListening() configurationController.removeCallback(configListener) } fun dump(pw: PrintWriter, args: Array<String>) { fun dump(pw: PrintWriter) { val routingSession = controller?.let { mr2manager.getRoutingSessionForMediaController(it) } Loading packages/SystemUI/tests/src/com/android/systemui/media/MediaDeviceManagerTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -25,19 +25,17 @@ import android.media.session.MediaSession import android.testing.AndroidTestingRunner import android.testing.TestableLooper import androidx.test.filters.SmallTest import com.android.settingslib.media.LocalMediaManager import com.android.settingslib.media.MediaDevice import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.mockito.eq import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before import org.junit.Rule Loading @@ -50,8 +48,8 @@ import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.reset import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.junit.MockitoJUnit import org.mockito.Mockito.`when` as whenever private const val KEY = "TEST_KEY" private const val KEY_OLD = "TEST_KEY_OLD" Loading Loading @@ -81,6 +79,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Mock private lateinit var route: RoutingSessionInfo @Mock private lateinit var controller: MediaController @Mock private lateinit var playbackInfo: PlaybackInfo @Mock private lateinit var configurationController: ConfigurationController private lateinit var session: MediaSession private lateinit var mediaData: MediaData @JvmField @Rule val mockito = MockitoJUnit.rule() Loading @@ -94,6 +93,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { lmmFactory, mr2, muteAwaitFactory, configurationController, fakeFgExecutor, fakeBgExecutor, dumpster Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt +14 −5 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory import com.android.systemui.statusbar.policy.ConfigurationController import java.io.PrintWriter import java.util.concurrent.Executor import javax.inject.Inject Loading @@ -44,6 +45,7 @@ class MediaDeviceManager @Inject constructor( private val localMediaManagerFactory: LocalMediaManagerFactory, private val mr2manager: MediaRouter2Manager, private val muteAwaitConnectionManagerFactory: MediaMuteAwaitConnectionManagerFactory, private val configurationController: ConfigurationController, @Main private val fgExecutor: Executor, @Background private val bgExecutor: Executor, dumpManager: DumpManager Loading Loading @@ -79,7 +81,7 @@ class MediaDeviceManager @Inject constructor( oldEntry?.stop() } var entry = entries[key] if (entry == null || entry?.token != data.token) { if (entry == null || entry.token != data.token) { entry?.stop() if (data.device != null) { // If we were already provided device info (e.g. from RCN), keep that and don't Loading Loading @@ -118,10 +120,9 @@ class MediaDeviceManager @Inject constructor( override fun dump(pw: PrintWriter, args: Array<String>) { with(pw) { println("MediaDeviceManager state:") entries.forEach { key, entry -> entries.forEach { (key, entry) -> println(" key=$key") entry.dump(pw, args) entry.dump(pw) } } } Loading Loading @@ -165,6 +166,12 @@ class MediaDeviceManager @Inject constructor( // expected to connect imminently, it should be displayed as the current device. private var aboutToConnectDeviceOverride: AboutToConnectDevice? = null private val configListener = object : ConfigurationController.ConfigurationListener { override fun onLocaleListChanged() { updateCurrent() } } @AnyThread fun start() = bgExecutor.execute { localMediaManager.registerCallback(this) Loading @@ -174,6 +181,7 @@ class MediaDeviceManager @Inject constructor( controller?.registerCallback(this) updateCurrent() started = true configurationController.addCallback(configListener) } @AnyThread Loading @@ -183,9 +191,10 @@ class MediaDeviceManager @Inject constructor( localMediaManager.stopScan() localMediaManager.unregisterCallback(this) muteAwaitConnectionManager?.stopListening() configurationController.removeCallback(configListener) } fun dump(pw: PrintWriter, args: Array<String>) { fun dump(pw: PrintWriter) { val routingSession = controller?.let { mr2manager.getRoutingSessionForMediaController(it) } Loading
packages/SystemUI/tests/src/com/android/systemui/media/MediaDeviceManagerTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -25,19 +25,17 @@ import android.media.session.MediaSession import android.testing.AndroidTestingRunner import android.testing.TestableLooper import androidx.test.filters.SmallTest import com.android.settingslib.media.LocalMediaManager import com.android.settingslib.media.MediaDevice import com.android.systemui.SysuiTestCase import com.android.systemui.dump.DumpManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.mockito.eq import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before import org.junit.Rule Loading @@ -50,8 +48,8 @@ import org.mockito.Mockito.mock import org.mockito.Mockito.never import org.mockito.Mockito.reset import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.junit.MockitoJUnit import org.mockito.Mockito.`when` as whenever private const val KEY = "TEST_KEY" private const val KEY_OLD = "TEST_KEY_OLD" Loading Loading @@ -81,6 +79,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Mock private lateinit var route: RoutingSessionInfo @Mock private lateinit var controller: MediaController @Mock private lateinit var playbackInfo: PlaybackInfo @Mock private lateinit var configurationController: ConfigurationController private lateinit var session: MediaSession private lateinit var mediaData: MediaData @JvmField @Rule val mockito = MockitoJUnit.rule() Loading @@ -94,6 +93,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { lmmFactory, mr2, muteAwaitFactory, configurationController, fakeFgExecutor, fakeBgExecutor, dumpster Loading