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

Commit 1a8a029f authored by Hyundo Moon's avatar Hyundo Moon
Browse files

System MR2: Fix bug on onTransfer and on getting initial routes

System MR2 should be able to get the routes right after creation,
if the app's router has already set the preference.

Bug: 181122201
Test: Test passed on transferTo.
Change-Id: I671d17b33ee43a939a02aee130333aef801d5789
parent 235fae7f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -260,6 +260,9 @@ public final class MediaRouter2 {
        mManagerCallback = new ManagerCallback();
        mHandler = new Handler(Looper.getMainLooper());
        mSystemController = new SystemRoutingController(sManager.getSystemRoutingSession());
        mDiscoveryPreference = new RouteDiscoveryPreference.Builder(
                sManager.getPreferredFeatures(clientPackageName), true).build();
        updateAllRoutesFromManager();
        mMediaRouterService = null; // TODO: Make this non-null and check permission.

        // Only used by non-system MediaRouter2.
@@ -1946,7 +1949,7 @@ public final class MediaRouter2 {
            }

            RoutingController newController;
            if (oldSession.isSystemSession()) {
            if (newSession.isSystemSession()) {
                mSystemController.setRoutingSessionInfo(newSession);
                newController = mSystemController;
            } else {
+14 −0
Original line number Diff line number Diff line
@@ -236,6 +236,20 @@ public final class MediaRouter2Manager {
        return routes;
    }

    /**
     * Returns the preferred features of the specified package name.
     */
    @NonNull
    public List<String> getPreferredFeatures(@NonNull String packageName) {
        Objects.requireNonNull(packageName, "packageName must not be null");

        List<String> preferredFeatures = mPreferredFeaturesMap.get(packageName);
        if (preferredFeatures == null) {
            preferredFeatures = Collections.emptyList();
        }
        return preferredFeatures;
    }

    /**
     * Returns a list of routes which are related to the given package name in the given route list.
     */