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

Commit 11b999d0 authored by Adam Powell's avatar Adam Powell
Browse files

MediaRouter/Wireless Display - correct initial state

Make sure we get the right initial status for wifi displays when a new
display route is first added to the MediaRouter.

Bug 7289746

Change-Id: Id41f704fc88021bd4cdf21e9f4b3c810775e1aea
parent dce8b948
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -704,7 +704,8 @@ public class MediaRouter {
            final WifiDisplay d = newDisplays[i];
            final WifiDisplay oldRemembered = findMatchingDisplay(d, oldDisplays);
            if (oldRemembered == null) {
                addRouteStatic(makeWifiDisplayRoute(d));
                addRouteStatic(makeWifiDisplayRoute(d,
                        findMatchingDisplay(d, availableDisplays) != null));
                needScan = true;
            } else {
                final boolean available = findMatchingDisplay(d, availableDisplays) != null;
@@ -733,15 +734,16 @@ public class MediaRouter {
        sStatic.mLastKnownWifiDisplayStatus = newStatus;
    }

    static RouteInfo makeWifiDisplayRoute(WifiDisplay display) {
    static RouteInfo makeWifiDisplayRoute(WifiDisplay display, boolean available) {
        final RouteInfo newRoute = new RouteInfo(sStatic.mSystemCategory);
        newRoute.mDeviceAddress = display.getDeviceAddress();
        newRoute.mSupportedTypes = ROUTE_TYPE_LIVE_AUDIO | ROUTE_TYPE_LIVE_VIDEO;
        newRoute.mVolumeHandling = RouteInfo.PLAYBACK_VOLUME_FIXED;
        newRoute.mPlaybackType = RouteInfo.PLAYBACK_TYPE_REMOTE;
        newRoute.mStatus = sStatic.mResources.getText(
                com.android.internal.R.string.media_route_status_connecting);
        newRoute.mEnabled = false;

        newRoute.setStatusCode(available ?
                RouteInfo.STATUS_AVAILABLE : RouteInfo.STATUS_CONNECTING);
        newRoute.mEnabled = available;

        newRoute.mName = makeWifiDisplayName(display);
        return newRoute;