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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user