Modify rule of remote media session UI

-Add preference by remote session in Sound Setting
-Add slice item by remote session in Volume panel
-Replace media device data with media session data
-Add test case

Bug: 154918214
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib1c873c9f99eebcba377f4115c4b9b4297b20c3d
This commit is contained in:
Tim Peng
2020-04-30 15:23:58 +08:00
parent 2152d0ce4f
commit e9b91f08c4
6 changed files with 137 additions and 123 deletions

View File

@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
import android.media.RoutingSessionInfo;
import android.net.Uri;
import android.os.UserHandle;
import android.os.UserManager;
@@ -173,6 +174,10 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
return mLocalMediaManager.getSelectedMediaDevice();
}
void adjustSessionVolume(String sessionId, int volume) {
mLocalMediaManager.adjustSessionVolume(sessionId, volume);
}
void adjustSessionVolume(int volume) {
mLocalMediaManager.adjustSessionVolume(volume);
}
@@ -189,15 +194,14 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
return mLocalMediaManager.getSessionName();
}
/**
* Find the active MediaDevice.
*
* @param type the media device type.
* @return MediaDevice list
*
*/
public List<MediaDevice> getActiveMediaDevice(@MediaDevice.MediaDeviceType int type) {
return mLocalMediaManager.getActiveMediaDevice(type);
List<RoutingSessionInfo> getActiveRemoteMediaDevice() {
final List<RoutingSessionInfo> sessionInfos = new ArrayList<>();
for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) {
if (!info.isSystemSession()) {
sessionInfos.add(info);
}
}
return sessionInfos;
}
/**