Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7282857 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun Committed by Android (Google) Code Review
Browse files

Merge "Inject MediaRouter2Manager in MediaOutputController"

parents 347bb37f 602b168f
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -94,7 +94,8 @@ 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;
@@ -106,7 +107,7 @@ 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 = MediaRouter2Manager.getInstance(mContext);
        mRouterManager = routerManager;
    }
    }


    void start(@NonNull Callback cb) {
    void start(@NonNull Callback cb) {
@@ -137,8 +138,10 @@ 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();
            mRouterManager.startScan();
        }
        }
    }


    void stop() {
    void stop() {
        if (mMediaController != null) {
        if (mMediaController != null) {
+4 −2
Original line number Original line Diff line number Diff line
@@ -18,6 +18,7 @@ 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
@@ -35,7 +36,8 @@ 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
@@ -46,7 +48,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).run {
                uiEventLogger, routerManager).run {
            MediaOutputDialog(context, aboveStatusBar, this, uiEventLogger)
            MediaOutputDialog(context, aboveStatusBar, this, uiEventLogger)
        }
        }
    }
    }
+3 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ 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;
@@ -63,6 +64,7 @@ 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;
@@ -75,7 +77,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);
                mNotificationEntryManager, mUiEventLogger, mRouterManager);
        mMediaOutputBaseDialogImpl = new MediaOutputBaseDialogImpl(mContext,
        mMediaOutputBaseDialogImpl = new MediaOutputBaseDialogImpl(mContext,
                mMediaOutputController);
                mMediaOutputController);
        mMediaOutputBaseDialogImpl.onCreate(new Bundle());
        mMediaOutputBaseDialogImpl.onCreate(new Bundle());
+6 −4
Original line number Original line Diff line number Diff line
@@ -32,6 +32,7 @@ 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;
@@ -91,6 +92,7 @@ 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;
@@ -113,7 +115,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);
                mNotificationEntryManager, mUiEventLogger, mRouter2Manager);
        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();
@@ -157,7 +159,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);
                mNotificationEntryManager, mUiEventLogger, mRouter2Manager);


        mMediaOutputController.start(mCb);
        mMediaOutputController.start(mCb);


@@ -178,7 +180,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);
                mNotificationEntryManager, mUiEventLogger, mRouter2Manager);


        mMediaOutputController.start(mCb);
        mMediaOutputController.start(mCb);


@@ -449,7 +451,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);
                mNotificationEntryManager, mUiEventLogger, mRouter2Manager);


        assertThat(mMediaOutputController.getNotificationIcon()).isNull();
        assertThat(mMediaOutputController.getNotificationIcon()).isNull();
    }
    }
+3 −1
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ 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;
@@ -65,6 +66,7 @@ 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;
@@ -74,7 +76,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);
                mNotificationEntryManager, mUiEventLogger, mRouterManager);
        mMediaOutputController.mLocalMediaManager = mLocalMediaManager;
        mMediaOutputController.mLocalMediaManager = mLocalMediaManager;
        mMediaOutputDialog = new MediaOutputDialog(mContext, false,
        mMediaOutputDialog = new MediaOutputDialog(mContext, false,
                mMediaOutputController, mUiEventLogger);
                mMediaOutputController, mUiEventLogger);
Loading