Merge "The Cast volume UI doesn't show up" into sc-dev

This commit is contained in:
tim peng
2021-06-03 10:17:07 +00:00
committed by Android (Google) Code Review
6 changed files with 10 additions and 30 deletions

View File

@@ -24,7 +24,6 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.media.MediaMetadata; import android.media.MediaMetadata;
import android.media.MediaRoute2Info; import android.media.MediaRoute2Info;
import android.media.MediaRouter2Manager;
import android.media.RoutingSessionInfo; import android.media.RoutingSessionInfo;
import android.media.session.MediaController; import android.media.session.MediaController;
import android.media.session.MediaSessionManager; import android.media.session.MediaSessionManager;
@@ -77,7 +76,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
private final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>(); private final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>();
private final boolean mAboveStatusbar; private final boolean mAboveStatusbar;
private final NotificationEntryManager mNotificationEntryManager; private final NotificationEntryManager mNotificationEntryManager;
private final MediaRouter2Manager mRouterManager;
@VisibleForTesting @VisibleForTesting
final List<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>(); final List<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
@@ -94,8 +92,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
public MediaOutputController(@NonNull Context context, String packageName, public MediaOutputController(@NonNull Context context, String packageName,
boolean aboveStatusbar, MediaSessionManager mediaSessionManager, LocalBluetoothManager boolean aboveStatusbar, MediaSessionManager mediaSessionManager, LocalBluetoothManager
lbm, ShadeController shadeController, ActivityStarter starter, lbm, ShadeController shadeController, ActivityStarter starter,
NotificationEntryManager notificationEntryManager, UiEventLogger uiEventLogger, NotificationEntryManager notificationEntryManager, UiEventLogger uiEventLogger) {
MediaRouter2Manager routerManager) {
mContext = context; mContext = context;
mPackageName = packageName; mPackageName = packageName;
mMediaSessionManager = mediaSessionManager; mMediaSessionManager = mediaSessionManager;
@@ -107,7 +104,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, packageName); mLocalMediaManager = new LocalMediaManager(mContext, lbm, imm, packageName);
mMetricLogger = new MediaOutputMetricLogger(mContext, mPackageName); mMetricLogger = new MediaOutputMetricLogger(mContext, mPackageName);
mUiEventLogger = uiEventLogger; mUiEventLogger = uiEventLogger;
mRouterManager = routerManager;
} }
void start(@NonNull Callback cb) { void start(@NonNull Callback cb) {
@@ -138,9 +134,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
mLocalMediaManager.stopScan(); mLocalMediaManager.stopScan();
mLocalMediaManager.registerCallback(this); mLocalMediaManager.registerCallback(this);
mLocalMediaManager.startScan(); mLocalMediaManager.startScan();
if (mRouterManager != null) {
mRouterManager.startScan();
}
} }
void stop() { void stop() {
@@ -151,9 +144,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback {
mLocalMediaManager.unregisterCallback(this); mLocalMediaManager.unregisterCallback(this);
mLocalMediaManager.stopScan(); mLocalMediaManager.stopScan();
} }
if (mRouterManager != null) {
mRouterManager.stopScan();
}
mMediaDevices.clear(); mMediaDevices.clear();
} }

View File

@@ -18,7 +18,6 @@ package com.android.systemui.media.dialog
import android.content.Context import android.content.Context
import android.media.session.MediaSessionManager import android.media.session.MediaSessionManager
import android.media.MediaRouter2Manager
import com.android.internal.logging.UiEventLogger import com.android.internal.logging.UiEventLogger
import com.android.settingslib.bluetooth.LocalBluetoothManager import com.android.settingslib.bluetooth.LocalBluetoothManager
import com.android.systemui.plugins.ActivityStarter import com.android.systemui.plugins.ActivityStarter
@@ -36,8 +35,7 @@ class MediaOutputDialogFactory @Inject constructor(
private val shadeController: ShadeController, private val shadeController: ShadeController,
private val starter: ActivityStarter, private val starter: ActivityStarter,
private val notificationEntryManager: NotificationEntryManager, private val notificationEntryManager: NotificationEntryManager,
private val uiEventLogger: UiEventLogger, private val uiEventLogger: UiEventLogger
private val routerManager: MediaRouter2Manager
) { ) {
companion object { companion object {
var mediaOutputDialog: MediaOutputDialog? = null var mediaOutputDialog: MediaOutputDialog? = null
@@ -48,7 +46,7 @@ class MediaOutputDialogFactory @Inject constructor(
mediaOutputDialog?.dismiss() mediaOutputDialog?.dismiss()
mediaOutputDialog = MediaOutputController(context, packageName, aboveStatusBar, mediaOutputDialog = MediaOutputController(context, packageName, aboveStatusBar,
mediaSessionManager, lbm, shadeController, starter, notificationEntryManager, mediaSessionManager, lbm, shadeController, starter, notificationEntryManager,
uiEventLogger, routerManager).run { uiEventLogger).run {
MediaOutputDialog(context, aboveStatusBar, this, uiEventLogger) MediaOutputDialog(context, aboveStatusBar, this, uiEventLogger)
} }
} }

View File

@@ -24,7 +24,6 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.media.MediaRouter2Manager;
import android.media.session.MediaSessionManager; import android.media.session.MediaSessionManager;
import android.os.Bundle; import android.os.Bundle;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
@@ -64,7 +63,6 @@ public class MediaOutputBaseDialogTest extends SysuiTestCase {
private NotificationEntryManager mNotificationEntryManager = private NotificationEntryManager mNotificationEntryManager =
mock(NotificationEntryManager.class); mock(NotificationEntryManager.class);
private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class); private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class);
private final MediaRouter2Manager mRouterManager = mock(MediaRouter2Manager.class);
private MediaOutputBaseDialogImpl mMediaOutputBaseDialogImpl; private MediaOutputBaseDialogImpl mMediaOutputBaseDialogImpl;
private MediaOutputController mMediaOutputController; private MediaOutputController mMediaOutputController;
@@ -77,7 +75,7 @@ public class MediaOutputBaseDialogTest extends SysuiTestCase {
public void setUp() { public void setUp() {
mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false, mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouterManager); mNotificationEntryManager, mUiEventLogger);
mMediaOutputBaseDialogImpl = new MediaOutputBaseDialogImpl(mContext, mMediaOutputBaseDialogImpl = new MediaOutputBaseDialogImpl(mContext,
mMediaOutputController); mMediaOutputController);
mMediaOutputBaseDialogImpl.onCreate(new Bundle()); mMediaOutputBaseDialogImpl.onCreate(new Bundle());

View File

@@ -32,7 +32,6 @@ import android.content.Context;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.media.MediaDescription; import android.media.MediaDescription;
import android.media.MediaMetadata; import android.media.MediaMetadata;
import android.media.MediaRouter2Manager;
import android.media.RoutingSessionInfo; import android.media.RoutingSessionInfo;
import android.media.session.MediaController; import android.media.session.MediaController;
import android.media.session.MediaSessionManager; import android.media.session.MediaSessionManager;
@@ -92,7 +91,6 @@ public class MediaOutputControllerTest extends SysuiTestCase {
private NotificationEntryManager mNotificationEntryManager = private NotificationEntryManager mNotificationEntryManager =
mock(NotificationEntryManager.class); mock(NotificationEntryManager.class);
private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class); private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class);
private final MediaRouter2Manager mRouter2Manager = mock(MediaRouter2Manager.class);
private Context mSpyContext; private Context mSpyContext;
private MediaOutputController mMediaOutputController; private MediaOutputController mMediaOutputController;
@@ -115,7 +113,7 @@ public class MediaOutputControllerTest extends SysuiTestCase {
mMediaOutputController = new MediaOutputController(mSpyContext, TEST_PACKAGE_NAME, false, mMediaOutputController = new MediaOutputController(mSpyContext, TEST_PACKAGE_NAME, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouter2Manager); mNotificationEntryManager, mUiEventLogger);
mLocalMediaManager = spy(mMediaOutputController.mLocalMediaManager); mLocalMediaManager = spy(mMediaOutputController.mLocalMediaManager);
mMediaOutputController.mLocalMediaManager = mLocalMediaManager; mMediaOutputController.mLocalMediaManager = mLocalMediaManager;
MediaDescription.Builder builder = new MediaDescription.Builder(); MediaDescription.Builder builder = new MediaDescription.Builder();
@@ -159,7 +157,7 @@ public class MediaOutputControllerTest extends SysuiTestCase {
public void start_withoutPackageName_verifyMediaControllerInit() { public void start_withoutPackageName_verifyMediaControllerInit() {
mMediaOutputController = new MediaOutputController(mSpyContext, null, false, mMediaOutputController = new MediaOutputController(mSpyContext, null, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouter2Manager); mNotificationEntryManager, mUiEventLogger);
mMediaOutputController.start(mCb); mMediaOutputController.start(mCb);
@@ -180,7 +178,7 @@ public class MediaOutputControllerTest extends SysuiTestCase {
public void stop_withoutPackageName_verifyMediaControllerDeinit() { public void stop_withoutPackageName_verifyMediaControllerDeinit() {
mMediaOutputController = new MediaOutputController(mSpyContext, null, false, mMediaOutputController = new MediaOutputController(mSpyContext, null, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouter2Manager); mNotificationEntryManager, mUiEventLogger);
mMediaOutputController.start(mCb); mMediaOutputController.start(mCb);
@@ -451,7 +449,7 @@ public class MediaOutputControllerTest extends SysuiTestCase {
public void getNotificationLargeIcon_withoutPackageName_returnsNull() { public void getNotificationLargeIcon_withoutPackageName_returnsNull() {
mMediaOutputController = new MediaOutputController(mSpyContext, null, false, mMediaOutputController = new MediaOutputController(mSpyContext, null, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouter2Manager); mNotificationEntryManager, mUiEventLogger);
assertThat(mMediaOutputController.getNotificationIcon()).isNull(); assertThat(mMediaOutputController.getNotificationIcon()).isNull();
} }

View File

@@ -24,7 +24,6 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.media.MediaRoute2Info; import android.media.MediaRoute2Info;
import android.media.MediaRouter2Manager;
import android.media.session.MediaSessionManager; import android.media.session.MediaSessionManager;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper; import android.testing.TestableLooper;
@@ -66,7 +65,6 @@ public class MediaOutputDialogTest extends SysuiTestCase {
private final NotificationEntryManager mNotificationEntryManager = private final NotificationEntryManager mNotificationEntryManager =
mock(NotificationEntryManager.class); mock(NotificationEntryManager.class);
private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class); private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class);
private final MediaRouter2Manager mRouterManager = mock(MediaRouter2Manager.class);
private MediaOutputDialog mMediaOutputDialog; private MediaOutputDialog mMediaOutputDialog;
private MediaOutputController mMediaOutputController; private MediaOutputController mMediaOutputController;
@@ -76,7 +74,7 @@ public class MediaOutputDialogTest extends SysuiTestCase {
public void setUp() { public void setUp() {
mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false, mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouterManager); mNotificationEntryManager, mUiEventLogger);
mMediaOutputController.mLocalMediaManager = mLocalMediaManager; mMediaOutputController.mLocalMediaManager = mLocalMediaManager;
mMediaOutputDialog = new MediaOutputDialog(mContext, false, mMediaOutputDialog = new MediaOutputDialog(mContext, false,
mMediaOutputController, mUiEventLogger); mMediaOutputController, mUiEventLogger);

View File

@@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.media.MediaRouter2Manager;
import android.media.session.MediaSessionManager; import android.media.session.MediaSessionManager;
import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper; import android.testing.TestableLooper;
@@ -65,7 +64,6 @@ public class MediaOutputGroupDialogTest extends SysuiTestCase {
private NotificationEntryManager mNotificationEntryManager = private NotificationEntryManager mNotificationEntryManager =
mock(NotificationEntryManager.class); mock(NotificationEntryManager.class);
private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class); private final UiEventLogger mUiEventLogger = mock(UiEventLogger.class);
private final MediaRouter2Manager mRouterManager = mock(MediaRouter2Manager.class);
private MediaOutputGroupDialog mMediaOutputGroupDialog; private MediaOutputGroupDialog mMediaOutputGroupDialog;
private MediaOutputController mMediaOutputController; private MediaOutputController mMediaOutputController;
@@ -75,7 +73,7 @@ public class MediaOutputGroupDialogTest extends SysuiTestCase {
public void setUp() { public void setUp() {
mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false, mMediaOutputController = new MediaOutputController(mContext, TEST_PACKAGE, false,
mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter, mMediaSessionManager, mLocalBluetoothManager, mShadeController, mStarter,
mNotificationEntryManager, mUiEventLogger, mRouterManager); mNotificationEntryManager, mUiEventLogger);
mMediaOutputController.mLocalMediaManager = mLocalMediaManager; mMediaOutputController.mLocalMediaManager = mLocalMediaManager;
mMediaOutputGroupDialog = new MediaOutputGroupDialog(mContext, false, mMediaOutputGroupDialog = new MediaOutputGroupDialog(mContext, false,
mMediaOutputController); mMediaOutputController);