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

Commit 1ec9eb88 authored by Wenyu Zhang's avatar Wenyu Zhang
Browse files

Extract getSystemProviderForUser method

No functional change. Prepare for introducing singleton system provider.

Change-Id: Ie966a97582149bf83d1f9d8a74db5b90c6889c4a
Bug: b/372868909
Test: Locally, presubmit
Flag: EXEMPT no functional change
parent 0098d4f8
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -221,6 +221,11 @@ class MediaRouter2ServiceImpl {
        }
    }

    @NonNull
    private SystemMediaRoute2Provider getSystemProviderForUser(@NonNull UserHandler userHandler) {
        return userHandler.mSystemProvider;
    }

    // Start of methods that implement MediaRouter2 operations.

    @NonNull
@@ -246,7 +251,7 @@ class MediaRouter2ServiceImpl {
                UserRecord userRecord = getOrCreateUserRecordLocked(userId);
                if (hasSystemRoutingPermissions) {
                    MediaRoute2ProviderInfo providerInfo =
                            userRecord.mHandler.mSystemProvider.getProviderInfo();
                            getSystemProviderForUser(userRecord.mHandler).getProviderInfo();
                    if (providerInfo != null) {
                        systemRoutes = providerInfo.getRoutes();
                    } else {
@@ -258,7 +263,8 @@ class MediaRouter2ServiceImpl {
                    }
                } else {
                    systemRoutes = new ArrayList<>();
                    systemRoutes.add(userRecord.mHandler.mSystemProvider.getDefaultRoute());
                    systemRoutes.add(
                            getSystemProviderForUser(userRecord.mHandler).getDefaultRoute());
                }
            }
            return new ArrayList<>(systemRoutes);
@@ -850,10 +856,11 @@ class MediaRouter2ServiceImpl {
                    if (setDeviceRouteSelected) {
                        // Return a fake system session that shows the device route as selected and
                        // available bluetooth routes as transferable.
                        return userRecord.mHandler.mSystemProvider
                        return getSystemProviderForUser(userRecord.mHandler)
                                .generateDeviceRouteSelectedSessionInfo(targetPackageName);
                    } else {
                        sessionInfos = userRecord.mHandler.mSystemProvider.getSessionInfos();
                        sessionInfos = getSystemProviderForUser(userRecord.mHandler)
                                .getSessionInfos();
                        if (!sessionInfos.isEmpty()) {
                            // Return a copy of the current system session with no modification,
                            // except setting the client package name.
@@ -866,7 +873,8 @@ class MediaRouter2ServiceImpl {
                    }
                } else {
                    return new RoutingSessionInfo.Builder(
                                    userRecord.mHandler.mSystemProvider.getDefaultSessionInfo())
                                    getSystemProviderForUser(userRecord.mHandler)
                                            .getDefaultSessionInfo())
                            .setClientPackageName(targetPackageName)
                            .build();
                }
@@ -1374,7 +1382,7 @@ class MediaRouter2ServiceImpl {
            }
            manager.mLastSessionCreationRequest = null;
        } else {
            String defaultRouteId = userHandler.mSystemProvider.getDefaultRoute().getId();
            String defaultRouteId = getSystemProviderForUser(userHandler).getDefaultRoute().getId();
            if (route.isSystemRoute()
                    && !routerRecord.hasSystemRoutingPermission()
                    && !TextUtils.equals(route.getId(), defaultRouteId)) {
@@ -1462,7 +1470,7 @@ class MediaRouter2ServiceImpl {
                        routerRecord.mPackageName, routerRecord.mRouterId, route.getId()));

        UserHandler userHandler = routerRecord.mUserRecord.mHandler;
        String defaultRouteId = userHandler.mSystemProvider.getDefaultRoute().getId();
        String defaultRouteId = getSystemProviderForUser(userHandler).getDefaultRoute().getId();
        if (route.isSystemRoute()
                && !routerRecord.hasSystemRoutingPermission()
                && !TextUtils.equals(route.getId(), defaultRouteId)) {
@@ -2125,11 +2133,12 @@ class MediaRouter2ServiceImpl {
                notifyRoutesUpdated(routesToReport.values().stream().toList());

                List<RoutingSessionInfo> sessionInfos =
                        mUserRecord.mHandler.mSystemProvider.getSessionInfos();
                        getSystemProviderForUser(mUserRecord.mHandler).getSessionInfos();
                RoutingSessionInfo systemSessionToReport =
                        newSystemRoutingPermissionValue && !sessionInfos.isEmpty()
                                ? sessionInfos.get(0)
                                : mUserRecord.mHandler.mSystemProvider.getDefaultSessionInfo();
                                : getSystemProviderForUser(mUserRecord.mHandler)
                                        .getDefaultSessionInfo();
                notifySessionInfoChanged(systemSessionToReport);
            }
        }
@@ -2279,7 +2288,7 @@ class MediaRouter2ServiceImpl {
                if (route.isSystemRoute() && !hasSystemRoutingPermission()) {
                    // The router lacks permission to modify system routing, so we hide system
                    // route info from them.
                    route = mUserRecord.mHandler.mSystemProvider.getDefaultRoute();
                    route = getSystemProviderForUser(mUserRecord.mHandler).getDefaultRoute();
                }
                mRouter.requestCreateSessionByManager(uniqueRequestId, oldSession, route);
            } catch (RemoteException ex) {