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

Commit 57c23a46 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 10479a29: Merge "Clean up behavior of type arguments for...

am 10479a29: Merge "Clean up behavior of type arguments for MediaRouter#getSelectedRoute" into jb-mr1.1-dev

* commit '10479a29':
  Clean up behavior of type arguments for MediaRouter#getSelectedRoute
parents 76ee9a9c 10479a29
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -217,7 +217,8 @@ public class MediaRouteButton extends View {
    void updateRemoteIndicator() {
        final RouteInfo selected = mRouter.getSelectedRoute(mRouteTypes);
        final boolean isRemote = selected != mRouter.getSystemAudioRoute();
        final boolean isConnecting = selected.getStatusCode() == RouteInfo.STATUS_CONNECTING;
        final boolean isConnecting = selected != null &&
                selected.getStatusCode() == RouteInfo.STATUS_CONNECTING;

        boolean needsRefresh = false;
        if (mRemoteActive != isRemote) {
+16 −9
Original line number Diff line number Diff line
@@ -136,13 +136,14 @@ public class MediaRouteChooserDialogFragment extends DialogFragment {
        if (mRouter == null) return;

        final RouteInfo selectedRoute = mRouter.getSelectedRoute(mRouteTypes);
        mVolumeIcon.setImageResource(
        mVolumeIcon.setImageResource(selectedRoute == null ||
                selectedRoute.getPlaybackType() == RouteInfo.PLAYBACK_TYPE_LOCAL ?
                R.drawable.ic_audio_vol : R.drawable.ic_media_route_on_holo_dark);

        mIgnoreSliderVolumeChanges = true;

        if (selectedRoute.getVolumeHandling() == RouteInfo.PLAYBACK_VOLUME_FIXED) {
        if (selectedRoute == null ||
                selectedRoute.getVolumeHandling() == RouteInfo.PLAYBACK_VOLUME_FIXED) {
            // Disable the slider and show it at max volume.
            mVolumeSlider.setMax(1);
            mVolumeSlider.setProgress(1);
@@ -160,7 +161,8 @@ public class MediaRouteChooserDialogFragment extends DialogFragment {
        if (mIgnoreSliderVolumeChanges) return;

        final RouteInfo selectedRoute = mRouter.getSelectedRoute(mRouteTypes);
        if (selectedRoute.getVolumeHandling() == RouteInfo.PLAYBACK_VOLUME_VARIABLE) {
        if (selectedRoute != null &&
                selectedRoute.getVolumeHandling() == RouteInfo.PLAYBACK_VOLUME_VARIABLE) {
            final int maxVolume = selectedRoute.getVolumeMax();
            newValue = Math.max(0, Math.min(newValue, maxVolume));
            selectedRoute.requestSetVolume(newValue);
@@ -652,15 +654,20 @@ public class MediaRouteChooserDialogFragment extends DialogFragment {
        
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && mVolumeSlider.isEnabled()) {
                mRouter.getSelectedRoute(mRouteTypes).requestUpdateVolume(-1);
                final RouteInfo selectedRoute = mRouter.getSelectedRoute(mRouteTypes);
                if (selectedRoute != null) {
                    selectedRoute.requestUpdateVolume(-1);
                    return true;
                }
            } else if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && mVolumeSlider.isEnabled()) {
                final RouteInfo selectedRoute = mRouter.getSelectedRoute(mRouteTypes);
                if (selectedRoute != null) {
                    mRouter.getSelectedRoute(mRouteTypes).requestUpdateVolume(1);
                    return true;
            } else {
                return super.onKeyDown(keyCode, event);
                }
            }
            return super.onKeyDown(keyCode, event);
        }

        public boolean onKeyUp(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && mVolumeSlider.isEnabled()) {
+14 −2
Original line number Diff line number Diff line
@@ -313,13 +313,25 @@ public class MediaRouter {
    }

    /**
     * Return the currently selected route for the given types
     * Return the currently selected route for any of the given types
     *
     * @param type route types
     * @return the selected route
     */
    public RouteInfo getSelectedRoute(int type) {
        if (sStatic.mSelectedRoute != null &&
                (sStatic.mSelectedRoute.mSupportedTypes & type) != 0) {
            // If the selected route supports any of the types supplied, it's still considered
            // 'selected' for that type.
            return sStatic.mSelectedRoute;
        } else if (type == ROUTE_TYPE_USER) {
            // The caller specifically asked for a user route and the currently selected route
            // doesn't qualify.
            return null;
        }
        // If the above didn't match and we're not specifically asking for a user route,
        // consider the default selected.
        return sStatic.mDefaultAudioVideo;
    }

    /**