Fix MediaOutputController resource management

This is a cherrypick of commit 42df638b50.

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
This commit is contained in:
Santiago Seifert
2022-07-26 12:48:48 +00:00
parent 0077001125
commit d61f271b4f
2 changed files with 2 additions and 29 deletions

View File

@@ -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);
}

View File

@@ -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);