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

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

Merge "MediaRouter: Enable transfer for RCN case" into rvc-dev am: c88b779a

Change-Id: Ic182daff0e5d1924a822e6fb4849a9c0f7b265f7
parents a363cfee c88b779a
Loading
Loading
Loading
Loading
+8 −12
Original line number Original line Diff line number Diff line
@@ -808,7 +808,7 @@ class MediaRouter2ServiceImpl {
            return;
            return;
        }
        }


        // Can be null if the session is system's.
        // Can be null if the session is system's or RCN.
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
                .findRouterforSessionLocked(uniqueSessionId);
                .findRouterforSessionLocked(uniqueSessionId);


@@ -829,7 +829,7 @@ class MediaRouter2ServiceImpl {
            return;
            return;
        }
        }


        // Can be null if the session is system's.
        // Can be null if the session is system's or RCN.
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
                .findRouterforSessionLocked(uniqueSessionId);
                .findRouterforSessionLocked(uniqueSessionId);


@@ -850,7 +850,7 @@ class MediaRouter2ServiceImpl {
            return;
            return;
        }
        }


        // Can be null if the session is system's.
        // Can be null if the session is system's or RCN.
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
        RouterRecord routerRecord = managerRecord.mUserRecord.mHandler
                .findRouterforSessionLocked(uniqueSessionId);
                .findRouterforSessionLocked(uniqueSessionId);


@@ -1232,7 +1232,7 @@ class MediaRouter2ServiceImpl {
                    route.getOriginalId(), sessionHints);
                    route.getOriginalId(), sessionHints);
        }
        }


        // routerRecord can be null if the session is system's.
        // routerRecord can be null if the session is system's or RCN.
        private void selectRouteOnHandler(long uniqueRequestId, @Nullable RouterRecord routerRecord,
        private void selectRouteOnHandler(long uniqueRequestId, @Nullable RouterRecord routerRecord,
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
            if (!checkArgumentsForSessionControl(routerRecord, uniqueSessionId, route,
            if (!checkArgumentsForSessionControl(routerRecord, uniqueSessionId, route,
@@ -1250,7 +1250,7 @@ class MediaRouter2ServiceImpl {
                    route.getOriginalId());
                    route.getOriginalId());
        }
        }


        // routerRecord can be null if the session is system's.
        // routerRecord can be null if the session is system's or RCN.
        private void deselectRouteOnHandler(long uniqueRequestId,
        private void deselectRouteOnHandler(long uniqueRequestId,
                @Nullable RouterRecord routerRecord,
                @Nullable RouterRecord routerRecord,
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
@@ -1270,7 +1270,7 @@ class MediaRouter2ServiceImpl {
                    route.getOriginalId());
                    route.getOriginalId());
        }
        }


        // routerRecord can be null if the session is system's.
        // routerRecord can be null if the session is system's or RCN.
        private void transferToRouteOnHandler(long uniqueRequestId,
        private void transferToRouteOnHandler(long uniqueRequestId,
                @Nullable RouterRecord routerRecord,
                @Nullable RouterRecord routerRecord,
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route) {
@@ -1289,6 +1289,8 @@ class MediaRouter2ServiceImpl {
                    route.getOriginalId());
                    route.getOriginalId());
        }
        }


        // routerRecord is null if and only if the session is created without the request, which
        // includes the system's session and RCN cases.
        private boolean checkArgumentsForSessionControl(@Nullable RouterRecord routerRecord,
        private boolean checkArgumentsForSessionControl(@Nullable RouterRecord routerRecord,
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route,
                @NonNull String uniqueSessionId, @NonNull MediaRoute2Info route,
                @NonNull String description) {
                @NonNull String description) {
@@ -1305,12 +1307,6 @@ class MediaRouter2ServiceImpl {
                return true;
                return true;
            }
            }


            //TODO(b/152950479): Handle RCN case.
            if (routerRecord == null) {
                Slog.w(TAG, "Ignoring " + description + " route from unknown router.");
                return false;
            }

            RouterRecord matchingRecord = mSessionToRouterMap.get(uniqueSessionId);
            RouterRecord matchingRecord = mSessionToRouterMap.get(uniqueSessionId);
            if (matchingRecord != routerRecord) {
            if (matchingRecord != routerRecord) {
                Slog.w(TAG, "Ignoring " + description + " route from non-matching router. "
                Slog.w(TAG, "Ignoring " + description + " route from non-matching router. "