diff options
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java | 12 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt | 6 |
2 files changed, 15 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java index eb86128a82a5..4f8519289a07 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java @@ -24,6 +24,7 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.media.MediaMetadata; import android.media.MediaRoute2Info; +import android.media.MediaRouter2Manager; import android.media.RoutingSessionInfo; import android.media.session.MediaController; import android.media.session.MediaSessionManager; @@ -76,6 +77,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { private final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>(); private final boolean mAboveStatusbar; private final NotificationEntryManager mNotificationEntryManager; + private final MediaRouter2Manager mRouterManager; @VisibleForTesting final List<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>(); @@ -92,7 +94,8 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { public MediaOutputController(@NonNull Context context, String packageName, boolean aboveStatusbar, MediaSessionManager mediaSessionManager, LocalBluetoothManager lbm, ShadeController shadeController, ActivityStarter starter, - NotificationEntryManager notificationEntryManager, UiEventLogger uiEventLogger) { + NotificationEntryManager notificationEntryManager, UiEventLogger uiEventLogger, + MediaRouter2Manager routerManager) { mContext = context; mPackageName = packageName; mMediaSessionManager = mediaSessionManager; @@ -104,6 +107,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, packageName); mMetricLogger = new MediaOutputMetricLogger(mContext, mPackageName); mUiEventLogger = uiEventLogger; + mRouterManager = routerManager; } void start(@NonNull Callback cb) { @@ -134,6 +138,9 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { mLocalMediaManager.stopScan(); mLocalMediaManager.registerCallback(this); mLocalMediaManager.startScan(); + if (mRouterManager != null) { + mRouterManager.startScan(); + } } void stop() { @@ -144,6 +151,9 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { mLocalMediaManager.unregisterCallback(this); mLocalMediaManager.stopScan(); } + if (mRouterManager != null) { + mRouterManager.stopScan(); + } mMediaDevices.clear(); } diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt index 0f340a5cedaa..e1a504c3e084 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialogFactory.kt @@ -18,6 +18,7 @@ package com.android.systemui.media.dialog import android.content.Context import android.media.session.MediaSessionManager +import android.media.MediaRouter2Manager import com.android.internal.logging.UiEventLogger import com.android.settingslib.bluetooth.LocalBluetoothManager import com.android.systemui.plugins.ActivityStarter @@ -35,7 +36,8 @@ class MediaOutputDialogFactory @Inject constructor( private val shadeController: ShadeController, private val starter: ActivityStarter, private val notificationEntryManager: NotificationEntryManager, - private val uiEventLogger: UiEventLogger + private val uiEventLogger: UiEventLogger, + private val routerManager: MediaRouter2Manager ) { companion object { var mediaOutputDialog: MediaOutputDialog? = null @@ -46,7 +48,7 @@ class MediaOutputDialogFactory @Inject constructor( mediaOutputDialog?.dismiss() mediaOutputDialog = MediaOutputController(context, packageName, aboveStatusBar, mediaSessionManager, lbm, shadeController, starter, notificationEntryManager, - uiEventLogger).run { + uiEventLogger, routerManager).run { MediaOutputDialog(context, aboveStatusBar, this, uiEventLogger) } } |