Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e08ef1e6 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun Committed by Automerger Merge Worker
Browse files

Merge "MediaRouter: Defer releasing routing controller when transfer" into rvc-dev am: 82ff3f14

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11593494

Change-Id: I8d6fcaab699f7fa8342206c2a19e247506ec52e3
parents 0de1884a 82ff3f14
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ oneway interface IMediaRouter2 {
    void notifySessionReleased(in RoutingSessionInfo sessionInfo);
    /**
     * Gets hints of the new session for the given route.
     * Call MediaRouterService#notifySessionHintsForCreatingSession to pass the result.
     * Call MediaRouterService#requestCreateSessionWithRouter2 to pass the result.
     */
    void getSessionHintsForCreatingSession(long uniqueRequestId, in MediaRoute2Info route);
    void requestCreateSessionByManager(long uniqueRequestId, in RoutingSessionInfo oldSession,
        in MediaRoute2Info route);
}
+5 −6
Original line number Diff line number Diff line
@@ -57,10 +57,9 @@ interface IMediaRouterService {
            in RouteDiscoveryPreference preference);
    void setRouteVolumeWithRouter2(IMediaRouter2 router, in MediaRoute2Info route, int volume);

    void requestCreateSessionWithRouter2(IMediaRouter2 router, int requestId,
            in MediaRoute2Info route, in @nullable Bundle sessionHints);
    void notifySessionHintsForCreatingSession(IMediaRouter2 router, long uniqueRequestId,
                in MediaRoute2Info route, in @nullable Bundle sessionHints);
    void requestCreateSessionWithRouter2(IMediaRouter2 router, int requestId, long managerRequestId,
            in RoutingSessionInfo oldSession, in MediaRoute2Info route,
            in @nullable Bundle sessionHints);
    void selectRouteWithRouter2(IMediaRouter2 router, String sessionId, in MediaRoute2Info route);
    void deselectRouteWithRouter2(IMediaRouter2 router, String sessionId, in MediaRoute2Info route);
    void transferToRouteWithRouter2(IMediaRouter2 router, String sessionId,
@@ -76,7 +75,7 @@ interface IMediaRouterService {
            in MediaRoute2Info route, int volume);

    void requestCreateSessionWithManager(IMediaRouter2Manager manager, int requestId,
            String packageName, in @nullable MediaRoute2Info route);
            in RoutingSessionInfo oldSession, in @nullable MediaRoute2Info route);
    void selectRouteWithManager(IMediaRouter2Manager manager, int requestId,
            String sessionId, in MediaRoute2Info route);
    void deselectRouteWithManager(IMediaRouter2Manager manager, int requestId,
+191 −156

File changed.

Preview size limit exceeded, changes collapsed.

+7 −2
Original line number Diff line number Diff line
@@ -54,6 +54,12 @@ import java.util.stream.Collectors;
public final class MediaRouter2Manager {
    private static final String TAG = "MR2Manager";
    private static final Object sLock = new Object();
    /**
     * The request ID for requests not asked by this instance.
     * Shouldn't be used for a valid request.
     * @hide
     */
    public static final int REQUEST_ID_NONE = 0;
    /** @hide */
    @VisibleForTesting
    public static final int TRANSFER_TIMEOUT_MS = 30_000;
@@ -480,7 +486,6 @@ public final class MediaRouter2Manager {
            notifyTransferFailed(matchingRequest.mOldSessionInfo, requestedRoute);
            return;
        }
        releaseSession(matchingRequest.mOldSessionInfo);
        notifyTransferred(matchingRequest.mOldSessionInfo, sessionInfo);
    }

@@ -777,7 +782,7 @@ public final class MediaRouter2Manager {
        if (client != null) {
            try {
                mMediaRouterService.requestCreateSessionWithManager(
                        client, requestId, oldSession.getClientPackageName(), route);
                        client, requestId, oldSession, route);
            } catch (RemoteException ex) {
                Log.e(TAG, "requestCreateSession: Failed to send a request", ex);
            }
+1 −1
Original line number Diff line number Diff line
@@ -220,7 +220,7 @@ public final class RoutingSessionInfo implements Parcelable {
    }

    /**
     * Gets information about how volume is handled on the session.
     * Gets the information about how volume is handled on the session.
     *
     * @return {@link MediaRoute2Info#PLAYBACK_VOLUME_FIXED} or
     * {@link MediaRoute2Info#PLAYBACK_VOLUME_VARIABLE}.
Loading