Loading packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt +30 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ import android.media.session.MediaController import com.android.settingslib.media.LocalMediaManager import com.android.settingslib.media.MediaDevice import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.Dumpable import com.android.systemui.dump.DumpManager import java.io.FileDescriptor import java.io.PrintWriter import java.util.concurrent.Executor import javax.inject.Inject import javax.inject.Singleton Loading @@ -35,13 +39,15 @@ class MediaDeviceManager @Inject constructor( private val localMediaManagerFactory: LocalMediaManagerFactory, private val mr2manager: MediaRouter2Manager, @Main private val fgExecutor: Executor, private val mediaDataManager: MediaDataManager ) : MediaDataManager.Listener { private val mediaDataManager: MediaDataManager, private val dumpManager: DumpManager ) : MediaDataManager.Listener, Dumpable { private val listeners: MutableSet<Listener> = mutableSetOf() private val entries: MutableMap<String, Token> = mutableMapOf() init { mediaDataManager.addListener(this) dumpManager.registerDumpable(javaClass.name, this) } /** Loading Loading @@ -81,6 +87,17 @@ class MediaDeviceManager @Inject constructor( } } override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<String>) { with(pw) { println("MediaDeviceManager state:") entries.forEach { key, entry -> println(" key=$key") entry.dump(fd, pw, args) } } } private fun processDevice(key: String, device: MediaDevice?) { val enabled = device != null val data = MediaDeviceData(enabled, device?.iconWithoutBackground, device?.name) Loading Loading @@ -122,6 +139,17 @@ class MediaDeviceManager @Inject constructor( localMediaManager.stopScan() localMediaManager.unregisterCallback(this) } fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<String>) { val route = controller?.let { mr2manager.getRoutingSessionForMediaController(it) } with(pw) { println(" current device is ${current?.name}") val type = controller?.playbackInfo?.playbackType println(" PlaybackType=$type (1 for local, 2 for remote)") println(" route=$route") } } override fun onDeviceListUpdate(devices: List<MediaDevice>?) = fgExecutor.execute { updateCurrent() } Loading packages/SystemUI/tests/src/com/android/systemui/media/MediaDeviceManagerTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ 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.util.concurrency.FakeExecutor import com.android.systemui.util.time.FakeSystemClock Loading Loading @@ -71,6 +72,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Mock private lateinit var lmm: LocalMediaManager @Mock private lateinit var mr2: MediaRouter2Manager private lateinit var fakeExecutor: FakeExecutor @Mock private lateinit var dumpster: DumpManager @Mock private lateinit var listener: MediaDeviceManager.Listener @Mock private lateinit var device: MediaDevice @Mock private lateinit var icon: Drawable Loading @@ -85,7 +87,8 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Before fun setUp() { fakeExecutor = FakeExecutor(FakeSystemClock()) manager = MediaDeviceManager(context, lmmFactory, mr2, fakeExecutor, mediaDataManager) manager = MediaDeviceManager(context, lmmFactory, mr2, fakeExecutor, mediaDataManager, dumpster) manager.addListener(listener) // Configure mocks. Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaDeviceManager.kt +30 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ import android.media.session.MediaController import com.android.settingslib.media.LocalMediaManager import com.android.settingslib.media.MediaDevice import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.Dumpable import com.android.systemui.dump.DumpManager import java.io.FileDescriptor import java.io.PrintWriter import java.util.concurrent.Executor import javax.inject.Inject import javax.inject.Singleton Loading @@ -35,13 +39,15 @@ class MediaDeviceManager @Inject constructor( private val localMediaManagerFactory: LocalMediaManagerFactory, private val mr2manager: MediaRouter2Manager, @Main private val fgExecutor: Executor, private val mediaDataManager: MediaDataManager ) : MediaDataManager.Listener { private val mediaDataManager: MediaDataManager, private val dumpManager: DumpManager ) : MediaDataManager.Listener, Dumpable { private val listeners: MutableSet<Listener> = mutableSetOf() private val entries: MutableMap<String, Token> = mutableMapOf() init { mediaDataManager.addListener(this) dumpManager.registerDumpable(javaClass.name, this) } /** Loading Loading @@ -81,6 +87,17 @@ class MediaDeviceManager @Inject constructor( } } override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<String>) { with(pw) { println("MediaDeviceManager state:") entries.forEach { key, entry -> println(" key=$key") entry.dump(fd, pw, args) } } } private fun processDevice(key: String, device: MediaDevice?) { val enabled = device != null val data = MediaDeviceData(enabled, device?.iconWithoutBackground, device?.name) Loading Loading @@ -122,6 +139,17 @@ class MediaDeviceManager @Inject constructor( localMediaManager.stopScan() localMediaManager.unregisterCallback(this) } fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<String>) { val route = controller?.let { mr2manager.getRoutingSessionForMediaController(it) } with(pw) { println(" current device is ${current?.name}") val type = controller?.playbackInfo?.playbackType println(" PlaybackType=$type (1 for local, 2 for remote)") println(" route=$route") } } override fun onDeviceListUpdate(devices: List<MediaDevice>?) = fgExecutor.execute { updateCurrent() } Loading
packages/SystemUI/tests/src/com/android/systemui/media/MediaDeviceManagerTest.kt +4 −1 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ 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.util.concurrency.FakeExecutor import com.android.systemui.util.time.FakeSystemClock Loading Loading @@ -71,6 +72,7 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Mock private lateinit var lmm: LocalMediaManager @Mock private lateinit var mr2: MediaRouter2Manager private lateinit var fakeExecutor: FakeExecutor @Mock private lateinit var dumpster: DumpManager @Mock private lateinit var listener: MediaDeviceManager.Listener @Mock private lateinit var device: MediaDevice @Mock private lateinit var icon: Drawable Loading @@ -85,7 +87,8 @@ public class MediaDeviceManagerTest : SysuiTestCase() { @Before fun setUp() { fakeExecutor = FakeExecutor(FakeSystemClock()) manager = MediaDeviceManager(context, lmmFactory, mr2, fakeExecutor, mediaDataManager) manager = MediaDeviceManager(context, lmmFactory, mr2, fakeExecutor, mediaDataManager, dumpster) manager.addListener(listener) // Configure mocks. Loading