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

Commit 2298d68e authored by Jeff Brown's avatar Jeff Brown Committed by Android (Google) Code Review
Browse files

Merge "Fix bug managing wifi display routes." into jb-mr2-dev

parents 153919ed 77e59fef
Loading
Loading
Loading
Loading
+9 −13
Original line number Diff line number Diff line
@@ -783,27 +783,23 @@ public class MediaRouter {

        for (int i = 0; i < newDisplays.length; i++) {
            final WifiDisplay d = newDisplays[i];
            final WifiDisplay oldRemembered = findMatchingDisplay(d, oldDisplays);
            if (oldRemembered == null) {
                addRouteStatic(makeWifiDisplayRoute(d,
                        findMatchingDisplay(d, availableDisplays) != null));
            final boolean available = findMatchingDisplay(d, availableDisplays) != null;
            RouteInfo route = findWifiDisplayRoute(d);
            if (route == null) {
                route = makeWifiDisplayRoute(d, available);
                addRouteStatic(route);
                wantScan = true;
            } else {
                final boolean available = findMatchingDisplay(d, availableDisplays) != null;
                final RouteInfo route = findWifiDisplayRoute(d);
                updateWifiDisplayRoute(route, d, available, newStatus);
            }
            if (d.equals(activeDisplay)) {
                final RouteInfo activeRoute = findWifiDisplayRoute(d);
                if (activeRoute != null) {
                    selectRouteStatic(activeRoute.getSupportedTypes(), activeRoute);
                selectRouteStatic(route.getSupportedTypes(), route);

                // Don't scan if we're already connected to a wifi display,
                // the scanning process can cause a hiccup with some configurations.
                blockScan = true;
            }
        }
        }
        for (int i = 0; i < oldDisplays.length; i++) {
            final WifiDisplay d = oldDisplays[i];
            final WifiDisplay newDisplay = findMatchingDisplay(d, newDisplays);