Merge "Make MediaRoute2Info#getId() unique in client side (MR2/Manager)"
This commit is contained in:
@@ -156,8 +156,6 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
@Nullable
|
||||
final Bundle mExtras;
|
||||
|
||||
private final String mUniqueId;
|
||||
|
||||
MediaRoute2Info(@NonNull Builder builder) {
|
||||
mId = builder.mId;
|
||||
mProviderId = builder.mProviderId;
|
||||
@@ -172,7 +170,6 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
mVolumeHandling = builder.mVolumeHandling;
|
||||
mDeviceType = builder.mDeviceType;
|
||||
mExtras = builder.mExtras;
|
||||
mUniqueId = createUniqueId();
|
||||
}
|
||||
|
||||
MediaRoute2Info(@NonNull Parcel in) {
|
||||
@@ -189,18 +186,12 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
mVolumeHandling = in.readInt();
|
||||
mDeviceType = in.readInt();
|
||||
mExtras = in.readBundle();
|
||||
mUniqueId = createUniqueId();
|
||||
}
|
||||
|
||||
private String createUniqueId() {
|
||||
String uniqueId = null;
|
||||
if (mProviderId != null) {
|
||||
uniqueId = toUniqueId(mProviderId, mId);
|
||||
}
|
||||
return uniqueId;
|
||||
}
|
||||
|
||||
static String toUniqueId(String providerId, String routeId) {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public static String toUniqueId(String providerId, String routeId) {
|
||||
return providerId + ":" + routeId;
|
||||
}
|
||||
|
||||
@@ -251,25 +242,30 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the id of the route.
|
||||
* Use {@link #getUniqueId()} if you need a unique identifier.
|
||||
* Gets the id of the route. The routes which are given by {@link MediaRouter2} will have
|
||||
* unique IDs.
|
||||
* <p>
|
||||
* In order to ensure uniqueness in {@link MediaRouter2} side, the value of this method
|
||||
* can be different from what was set in {@link MediaRoute2ProviderService}.
|
||||
*
|
||||
* @see #getUniqueId()
|
||||
* @see Builder#setId(String)
|
||||
*/
|
||||
@NonNull
|
||||
public String getId() {
|
||||
return mId;
|
||||
if (mProviderId != null) {
|
||||
return toUniqueId(mProviderId, mId);
|
||||
} else {
|
||||
return mId;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the unique id of the route. A route obtained from
|
||||
* {@link com.android.server.media.MediaRouterService} always has a unique id.
|
||||
*
|
||||
* @return unique id of the route or null if it has no unique id.
|
||||
* Gets the original id set by {@link Builder#setId(String)}.
|
||||
* @hide
|
||||
*/
|
||||
@Nullable
|
||||
public String getUniqueId() {
|
||||
return mUniqueId;
|
||||
@NonNull
|
||||
public String getOriginalId() {
|
||||
return mId;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -499,7 +495,15 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unique id of the route.
|
||||
* Sets the unique id of the route. The value given here must be unique for each of your
|
||||
* route.
|
||||
* <p>
|
||||
* In order to ensure uniqueness in {@link MediaRouter2} side, the value of
|
||||
* {@link MediaRoute2Info#getId()} can be different from what was set in
|
||||
* {@link MediaRoute2ProviderService}.
|
||||
* </p>
|
||||
*
|
||||
* @see MediaRoute2Info#getId()
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setId(@NonNull String id) {
|
||||
|
||||
@@ -25,6 +25,7 @@ import android.util.ArrayMap;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -161,14 +162,17 @@ public final class MediaRoute2ProviderInfo implements Parcelable {
|
||||
return this;
|
||||
}
|
||||
mUniqueId = uniqueId;
|
||||
final int count = mRoutes.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
MediaRoute2Info route = mRoutes.valueAt(i);
|
||||
mRoutes.setValueAt(i, new MediaRoute2Info.Builder(route)
|
||||
|
||||
final ArrayMap<String, MediaRoute2Info> newRoutes = new ArrayMap<>();
|
||||
for (Map.Entry<String, MediaRoute2Info> entry : mRoutes.entrySet()) {
|
||||
MediaRoute2Info routeWithProviderId = new MediaRoute2Info.Builder(entry.getValue())
|
||||
.setProviderId(mUniqueId)
|
||||
.build());
|
||||
.build();
|
||||
newRoutes.put(routeWithProviderId.getId(), routeWithProviderId);
|
||||
}
|
||||
|
||||
mRoutes.clear();
|
||||
mRoutes.putAll(newRoutes);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -177,9 +177,9 @@ public class MediaRouter2 {
|
||||
* @hide
|
||||
*/
|
||||
public static boolean checkRouteListContainsRouteId(@NonNull List<MediaRoute2Info> routeList,
|
||||
@NonNull String uniqueRouteId) {
|
||||
@NonNull String routeId) {
|
||||
for (MediaRoute2Info info : routeList) {
|
||||
if (TextUtils.equals(uniqueRouteId, info.getUniqueId())) {
|
||||
if (TextUtils.equals(routeId, info.getId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -499,7 +499,7 @@ public class MediaRouter2 {
|
||||
List<MediaRoute2Info> addedRoutes = new ArrayList<>();
|
||||
synchronized (sRouterLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.put(route.getUniqueId(), route);
|
||||
mRoutes.put(route.getId(), route);
|
||||
if (route.supportsControlCategories(mControlCategories)) {
|
||||
addedRoutes.add(route);
|
||||
}
|
||||
@@ -515,7 +515,7 @@ public class MediaRouter2 {
|
||||
List<MediaRoute2Info> removedRoutes = new ArrayList<>();
|
||||
synchronized (sRouterLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.remove(route.getUniqueId());
|
||||
mRoutes.remove(route.getId());
|
||||
if (route.supportsControlCategories(mControlCategories)) {
|
||||
removedRoutes.add(route);
|
||||
}
|
||||
@@ -531,7 +531,7 @@ public class MediaRouter2 {
|
||||
List<MediaRoute2Info> changedRoutes = new ArrayList<>();
|
||||
synchronized (sRouterLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.put(route.getUniqueId(), route);
|
||||
mRoutes.put(route.getId(), route);
|
||||
if (route.supportsControlCategories(mControlCategories)) {
|
||||
changedRoutes.add(route);
|
||||
}
|
||||
@@ -935,13 +935,13 @@ public class MediaRouter2 {
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> selectedRoutes = getSelectedRoutes();
|
||||
if (checkRouteListContainsRouteId(selectedRoutes, route.getUniqueId())) {
|
||||
if (checkRouteListContainsRouteId(selectedRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring selecting a route that is already selected. route=" + route);
|
||||
return;
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> selectableRoutes = getSelectableRoutes();
|
||||
if (!checkRouteListContainsRouteId(selectableRoutes, route.getUniqueId())) {
|
||||
if (!checkRouteListContainsRouteId(selectableRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring selecting a non-selectable route=" + route);
|
||||
return;
|
||||
}
|
||||
@@ -982,13 +982,13 @@ public class MediaRouter2 {
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> selectedRoutes = getSelectedRoutes();
|
||||
if (!checkRouteListContainsRouteId(selectedRoutes, route.getUniqueId())) {
|
||||
if (!checkRouteListContainsRouteId(selectedRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring deselecting a route that is not selected. route=" + route);
|
||||
return;
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> deselectableRoutes = getDeselectableRoutes();
|
||||
if (!checkRouteListContainsRouteId(deselectableRoutes, route.getUniqueId())) {
|
||||
if (!checkRouteListContainsRouteId(deselectableRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring deselecting a non-deselectable route=" + route);
|
||||
return;
|
||||
}
|
||||
@@ -1029,14 +1029,14 @@ public class MediaRouter2 {
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> selectedRoutes = getSelectedRoutes();
|
||||
if (checkRouteListContainsRouteId(selectedRoutes, route.getUniqueId())) {
|
||||
if (checkRouteListContainsRouteId(selectedRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring transferring to a route that is already added. route="
|
||||
+ route);
|
||||
return;
|
||||
}
|
||||
|
||||
List<MediaRoute2Info> transferrableRoutes = getTransferrableRoutes();
|
||||
if (!checkRouteListContainsRouteId(transferrableRoutes, route.getUniqueId())) {
|
||||
if (!checkRouteListContainsRouteId(transferrableRoutes, route.getId())) {
|
||||
Log.w(TAG, "Ignoring transferring to a non-transferrable route=" + route);
|
||||
return;
|
||||
}
|
||||
@@ -1084,8 +1084,12 @@ public class MediaRouter2 {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Change this to package private. (Hidden for debugging purposes)
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
RouteSessionInfo getRouteSessionInfo() {
|
||||
public RouteSessionInfo getRouteSessionInfo() {
|
||||
synchronized (mControllerLock) {
|
||||
return mSessionInfo;
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ public class MediaRouter2Manager {
|
||||
void addRoutesOnHandler(List<MediaRoute2Info> routes) {
|
||||
synchronized (mRoutesLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.put(route.getUniqueId(), route);
|
||||
mRoutes.put(route.getId(), route);
|
||||
}
|
||||
}
|
||||
if (routes.size() > 0) {
|
||||
@@ -306,7 +306,7 @@ public class MediaRouter2Manager {
|
||||
void removeRoutesOnHandler(List<MediaRoute2Info> routes) {
|
||||
synchronized (mRoutesLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.remove(route.getUniqueId());
|
||||
mRoutes.remove(route.getId());
|
||||
}
|
||||
}
|
||||
if (routes.size() > 0) {
|
||||
@@ -317,7 +317,7 @@ public class MediaRouter2Manager {
|
||||
void changeRoutesOnHandler(List<MediaRoute2Info> routes) {
|
||||
synchronized (mRoutesLock) {
|
||||
for (MediaRoute2Info route : routes) {
|
||||
mRoutes.put(route.getUniqueId(), route);
|
||||
mRoutes.put(route.getId(), route);
|
||||
}
|
||||
}
|
||||
if (routes.size() > 0) {
|
||||
|
||||
@@ -327,14 +327,30 @@ public class RouteSessionInfo implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the provider id of the session.
|
||||
* Sets the provider ID of the session.
|
||||
* Also, calling this method will make all type of route IDs be unique by adding
|
||||
* {@code providerId:} as a prefix. So do NOT call this method twice on same instance.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setProviderId(String providerId) {
|
||||
mProviderId = providerId;
|
||||
convertToUniqueRouteIds(providerId, mSelectedRoutes);
|
||||
convertToUniqueRouteIds(providerId, mSelectableRoutes);
|
||||
convertToUniqueRouteIds(providerId, mDeselectableRoutes);
|
||||
convertToUniqueRouteIds(providerId, mTransferrableRoutes);
|
||||
return this;
|
||||
}
|
||||
|
||||
private void convertToUniqueRouteIds(@NonNull String providerId,
|
||||
@NonNull List<String> routeIds) {
|
||||
for (int i = 0; i < routeIds.size(); i++) {
|
||||
String routeId = routeIds.get(i);
|
||||
routeIds.set(i, MediaRoute2Info.toUniqueId(providerId, routeId));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears the selected routes.
|
||||
*/
|
||||
|
||||
@@ -701,7 +701,6 @@ public class MediaRouter2Test {
|
||||
static Map<String, MediaRoute2Info> createRouteMap(List<MediaRoute2Info> routes) {
|
||||
Map<String, MediaRoute2Info> routeMap = new HashMap<>();
|
||||
for (MediaRoute2Info route : routes) {
|
||||
// intentionally not using route.getUniqueId() for convenience.
|
||||
routeMap.put(route.getId(), route);
|
||||
}
|
||||
return routeMap;
|
||||
@@ -741,7 +740,7 @@ public class MediaRouter2Test {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of IDs (not uniqueId) of the given route list.
|
||||
* Returns a list of IDs of the given route list.
|
||||
*/
|
||||
List<String> getRouteIds(@NonNull List<MediaRoute2Info> routes) {
|
||||
List<String> result = new ArrayList<>();
|
||||
|
||||
@@ -57,30 +57,37 @@ import java.util.function.Predicate;
|
||||
public class MediaRouterManagerTest {
|
||||
private static final String TAG = "MediaRouterManagerTest";
|
||||
|
||||
// Must be the same as SampleMediaRoute2ProviderService
|
||||
public static final String ROUTE_ID1 = "route_id1";
|
||||
public static final String SAMPLE_PROVIDER_ROUTES_ID_PREFIX =
|
||||
"com.android.mediarouteprovider.example/.SampleMediaRoute2ProviderService:";
|
||||
|
||||
// Must be the same as SampleMediaRoute2ProviderService except the prefix of IDs.
|
||||
public static final String ROUTE_ID1 = SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id1";
|
||||
public static final String ROUTE_NAME1 = "Sample Route 1";
|
||||
public static final String ROUTE_ID2 = "route_id2";
|
||||
public static final String ROUTE_ID2 = SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id2";
|
||||
public static final String ROUTE_NAME2 = "Sample Route 2";
|
||||
public static final String ROUTE_ID3_SESSION_CREATION_FAILED =
|
||||
"route_id3_session_creation_failed";
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id3_session_creation_failed";
|
||||
public static final String ROUTE_NAME3 = "Sample Route 3 - Session creation failed";
|
||||
public static final String ROUTE_ID4_TO_SELECT_AND_DESELECT =
|
||||
"route_id4_to_select_and_deselect";
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id4_to_select_and_deselect";
|
||||
public static final String ROUTE_NAME4 = "Sample Route 4 - Route to select and deselect";
|
||||
public static final String ROUTE_ID5_TO_TRANSFER_TO = "route_id5_to_transfer_to";
|
||||
public static final String ROUTE_ID5_TO_TRANSFER_TO =
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_id5_to_transfer_to";
|
||||
public static final String ROUTE_NAME5 = "Sample Route 5 - Route to transfer to";
|
||||
|
||||
public static final String ROUTE_ID_SPECIAL_CATEGORY = "route_special_category";
|
||||
public static final String ROUTE_ID_SPECIAL_CATEGORY =
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_special_category";
|
||||
public static final String ROUTE_NAME_SPECIAL_CATEGORY = "Special Category Route";
|
||||
|
||||
public static final String SYSTEM_PROVIDER_ID =
|
||||
"com.android.server.media/.SystemMediaRoute2Provider";
|
||||
|
||||
public static final int VOLUME_MAX = 100;
|
||||
public static final String ROUTE_ID_FIXED_VOLUME = "route_fixed_volume";
|
||||
public static final String ROUTE_ID_FIXED_VOLUME =
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_fixed_volume";
|
||||
public static final String ROUTE_NAME_FIXED_VOLUME = "Fixed Volume Route";
|
||||
public static final String ROUTE_ID_VARIABLE_VOLUME = "route_variable_volume";
|
||||
public static final String ROUTE_ID_VARIABLE_VOLUME =
|
||||
SAMPLE_PROVIDER_ROUTES_ID_PREFIX + "route_variable_volume";
|
||||
public static final String ROUTE_NAME_VARIABLE_VOLUME = "Variable Volume Route";
|
||||
|
||||
public static final String ACTION_REMOVE_ROUTE =
|
||||
@@ -430,7 +437,6 @@ public class MediaRouterManagerTest {
|
||||
static Map<String, MediaRoute2Info> createRouteMap(List<MediaRoute2Info> routes) {
|
||||
Map<String, MediaRoute2Info> routeMap = new HashMap<>();
|
||||
for (MediaRoute2Info route : routes) {
|
||||
// intentionally not using route.getUniqueId() for convenience.
|
||||
routeMap.put(route.getId(), route);
|
||||
}
|
||||
return routeMap;
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.media.MediaRoute2Info;
|
||||
import android.media.MediaRoute2ProviderInfo;
|
||||
import android.media.RouteSessionInfo;
|
||||
|
||||
@@ -50,13 +49,13 @@ abstract class MediaRoute2Provider {
|
||||
String controlCategory, long requestId);
|
||||
public abstract void releaseSession(int sessionId);
|
||||
|
||||
public abstract void selectRoute(int sessionId, MediaRoute2Info route);
|
||||
public abstract void deselectRoute(int sessionId, MediaRoute2Info route);
|
||||
public abstract void transferToRoute(int sessionId, MediaRoute2Info route);
|
||||
public abstract void selectRoute(int sessionId, String routeId);
|
||||
public abstract void deselectRoute(int sessionId, String routeId);
|
||||
public abstract void transferToRoute(int sessionId, String routeId);
|
||||
|
||||
public abstract void sendControlRequest(MediaRoute2Info route, Intent request);
|
||||
public abstract void requestSetVolume(MediaRoute2Info route, int volume);
|
||||
public abstract void requestUpdateVolume(MediaRoute2Info route, int delta);
|
||||
public abstract void sendControlRequest(String routeId, Intent request);
|
||||
public abstract void requestSetVolume(String routeId, int volume);
|
||||
public abstract void requestUpdateVolume(String routeId, int delta);
|
||||
|
||||
@NonNull
|
||||
public String getUniqueId() {
|
||||
|
||||
@@ -24,7 +24,6 @@ import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.media.IMediaRoute2Provider;
|
||||
import android.media.IMediaRoute2ProviderClient;
|
||||
import android.media.MediaRoute2Info;
|
||||
import android.media.MediaRoute2ProviderInfo;
|
||||
import android.media.MediaRoute2ProviderService;
|
||||
import android.media.RouteSessionInfo;
|
||||
@@ -95,46 +94,46 @@ final class MediaRoute2ProviderProxy extends MediaRoute2Provider implements Serv
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void selectRoute(int sessionId, String routeId) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.selectRoute(sessionId, route.getId());
|
||||
mActiveConnection.selectRoute(sessionId, routeId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deselectRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void deselectRoute(int sessionId, String routeId) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.deselectRoute(sessionId, route.getId());
|
||||
mActiveConnection.deselectRoute(sessionId, routeId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferToRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void transferToRoute(int sessionId, String routeId) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.transferToRoute(sessionId, route.getId());
|
||||
mActiveConnection.transferToRoute(sessionId, routeId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendControlRequest(MediaRoute2Info route, Intent request) {
|
||||
public void sendControlRequest(String routeId, Intent request) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.sendControlRequest(route.getId(), request);
|
||||
mActiveConnection.sendControlRequest(routeId, request);
|
||||
updateBinding();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestSetVolume(MediaRoute2Info route, int volume) {
|
||||
public void requestSetVolume(String routeId, int volume) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.requestSetVolume(route.getId(), volume);
|
||||
mActiveConnection.requestSetVolume(routeId, volume);
|
||||
updateBinding();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestUpdateVolume(MediaRoute2Info route, int delta) {
|
||||
public void requestUpdateVolume(String routeId, int delta) {
|
||||
if (mConnectionReady) {
|
||||
mActiveConnection.requestUpdateVolume(route.getId(), delta);
|
||||
mActiveConnection.requestUpdateVolume(routeId, delta);
|
||||
updateBinding();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -983,7 +983,7 @@ class MediaRouter2ServiceImpl {
|
||||
clientRecord, route, controlCategory, requestId);
|
||||
mSessionCreationRequests.add(request);
|
||||
|
||||
provider.requestCreateSession(clientRecord.mPackageName, route.getId(),
|
||||
provider.requestCreateSession(clientRecord.mPackageName, route.getOriginalId(),
|
||||
controlCategory, requestId);
|
||||
}
|
||||
|
||||
@@ -1000,7 +1000,8 @@ class MediaRouter2ServiceImpl {
|
||||
if (provider == null) {
|
||||
return;
|
||||
}
|
||||
provider.selectRoute(RouteSessionInfo.getSessionId(uniqueSessionId), route);
|
||||
provider.selectRoute(RouteSessionInfo.getSessionId(uniqueSessionId),
|
||||
route.getOriginalId());
|
||||
}
|
||||
|
||||
private void deselectRouteOnHandler(@NonNull Client2Record clientRecord,
|
||||
@@ -1016,7 +1017,8 @@ class MediaRouter2ServiceImpl {
|
||||
if (provider == null) {
|
||||
return;
|
||||
}
|
||||
provider.deselectRoute(RouteSessionInfo.getSessionId(uniqueSessionId), route);
|
||||
provider.deselectRoute(RouteSessionInfo.getSessionId(uniqueSessionId),
|
||||
route.getOriginalId());
|
||||
}
|
||||
|
||||
private void transferToRouteOnHandler(@NonNull Client2Record clientRecord,
|
||||
@@ -1032,7 +1034,8 @@ class MediaRouter2ServiceImpl {
|
||||
if (provider == null) {
|
||||
return;
|
||||
}
|
||||
provider.transferToRoute(RouteSessionInfo.getSessionId(uniqueSessionId), route);
|
||||
provider.transferToRoute(RouteSessionInfo.getSessionId(uniqueSessionId),
|
||||
route.getOriginalId());
|
||||
}
|
||||
|
||||
private boolean checkArgumentsForSessionControl(@NonNull Client2Record clientRecord,
|
||||
@@ -1239,21 +1242,21 @@ class MediaRouter2ServiceImpl {
|
||||
private void sendControlRequest(MediaRoute2Info route, Intent request) {
|
||||
final MediaRoute2Provider provider = findProvider(route.getProviderId());
|
||||
if (provider != null) {
|
||||
provider.sendControlRequest(route, request);
|
||||
provider.sendControlRequest(route.getOriginalId(), request);
|
||||
}
|
||||
}
|
||||
|
||||
private void requestSetVolume(MediaRoute2Info route, int volume) {
|
||||
final MediaRoute2Provider provider = findProvider(route.getProviderId());
|
||||
if (provider != null) {
|
||||
provider.requestSetVolume(route, volume);
|
||||
provider.requestSetVolume(route.getOriginalId(), volume);
|
||||
}
|
||||
}
|
||||
|
||||
private void requestUpdateVolume(MediaRoute2Info route, int delta) {
|
||||
final MediaRoute2Provider provider = findProvider(route.getProviderId());
|
||||
if (provider != null) {
|
||||
provider.requestUpdateVolume(route, delta);
|
||||
provider.requestUpdateVolume(route.getOriginalId(), delta);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -102,33 +102,33 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void selectRoute(int sessionId, String routeId) {
|
||||
//TODO: implement method
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deselectRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void deselectRoute(int sessionId, String routeId) {
|
||||
//TODO: implement method
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transferToRoute(int sessionId, MediaRoute2Info route) {
|
||||
public void transferToRoute(int sessionId, String routeId) {
|
||||
//TODO: implement method
|
||||
}
|
||||
|
||||
//TODO: implement method
|
||||
@Override
|
||||
public void sendControlRequest(@NonNull MediaRoute2Info route, @NonNull Intent request) {
|
||||
public void sendControlRequest(@NonNull String routeId, @NonNull Intent request) {
|
||||
}
|
||||
|
||||
//TODO: implement method
|
||||
@Override
|
||||
public void requestSetVolume(MediaRoute2Info route, int volume) {
|
||||
public void requestSetVolume(String routeId, int volume) {
|
||||
}
|
||||
|
||||
//TODO: implement method
|
||||
@Override
|
||||
public void requestUpdateVolume(MediaRoute2Info route, int delta) {
|
||||
public void requestUpdateVolume(String routeId, int delta) {
|
||||
}
|
||||
|
||||
void initializeRoutes() {
|
||||
|
||||
Reference in New Issue
Block a user