From d61f271b4fe9a63a44a2f250bc3d935a3cb87aa7 Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Tue, 26 Jul 2022 12:48:48 +0000 Subject: [PATCH] Fix MediaOutputController resource management This is a cherrypick of commit 42df638b50e9832c7098e227c564d325151c21da. MediaOutputController currently stops scanning when no request to scan has been made yet, and also performs unnecessary null checks. Also remove dead code. Bug: 232812007 Test: atest SystemUITests Change-Id: I396d376a54b89c95a531b1499bd50be2e4242ed1 Merged-In: I396d376a54b89c95a531b1499bd50be2e4242ed1 --- .../media/dialog/MediaOutputController.java | 22 ++----------------- .../dialog/MediaOutputControllerTest.java | 9 -------- 2 files changed, 2 insertions(+), 29 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 5df0ca25a285c..19b401d806008 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java @@ -224,15 +224,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, Log.d(TAG, "No media controller for " + mPackageName); } } - if (mLocalMediaManager == null) { - if (DEBUG) { - Log.d(TAG, "No local media manager " + mPackageName); - } - return; - } mCallback = cb; - mLocalMediaManager.unregisterCallback(this); - mLocalMediaManager.stopScan(); mLocalMediaManager.registerCallback(this); mLocalMediaManager.startScan(); } @@ -254,10 +246,8 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, if (mMediaController != null) { mMediaController.unregisterCallback(mCb); } - if (mLocalMediaManager != null) { - mLocalMediaManager.unregisterCallback(this); - mLocalMediaManager.stopScan(); - } + mLocalMediaManager.unregisterCallback(this); + mLocalMediaManager.stopScan(); synchronized (mMediaDevicesLock) { mCachedMediaDevices.clear(); mMediaDevices.clear(); @@ -661,10 +651,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, return mLocalMediaManager.getCurrentConnectedDevice(); } - private MediaDevice getMediaDeviceById(String id) { - return mLocalMediaManager.getMediaDeviceById(new ArrayList<>(mMediaDevices), id); - } - boolean addDeviceToPlayMedia(MediaDevice device) { mMetricLogger.logInteractionExpansion(device); return mLocalMediaManager.addDeviceToPlayMedia(device); @@ -686,10 +672,6 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback, return mLocalMediaManager.getDeselectableMediaDevice(); } - void adjustSessionVolume(String sessionId, int volume) { - mLocalMediaManager.adjustSessionVolume(sessionId, volume); - } - void adjustSessionVolume(int volume) { mLocalMediaManager.adjustSessionVolume(volume); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java index 465654ed585f5..cb31fde26bf26 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java @@ -170,15 +170,6 @@ public class MediaOutputControllerTest extends SysuiTestCase { verify(mLocalMediaManager).startScan(); } - @Test - public void start_LocalMediaManagerIsNull_verifyNotStartScan() { - mMediaOutputController.mLocalMediaManager = null; - mMediaOutputController.start(mCb); - - verify(mLocalMediaManager, never()).registerCallback(mMediaOutputController); - verify(mLocalMediaManager, never()).startScan(); - } - @Test public void stop_verifyLocalMediaManagerDeinit() { mMediaOutputController.start(mCb);