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

Commit 9bf41195 authored by Alex Dadukin's avatar Alex Dadukin Committed by Android (Google) Code Review
Browse files

Merge "Extend DeviceRouteController API with selectRoute method" into udc-dev

parents aac4c84e df1d2b85
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -17,8 +17,10 @@
package com.android.server.media;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.media.AudioManager;
import android.media.IAudioRoutesObserver;
import android.media.IAudioService;
import android.media.MediaRoute2Info;
import android.os.ServiceManager;
@@ -48,6 +50,19 @@ import android.os.ServiceManager;
                onDeviceRouteChangedListener);
    }

    /**
     * Select the route with the given built-in or wired {@link MediaRoute2Info.Type}.
     *
     * <p>If the type is {@code null} then unselects the route and falls back to the default device
     * route observed from
     * {@link com.android.server.audio.AudioService#startWatchingRoutes(IAudioRoutesObserver)}.
     *
     * @param type device type. May be {@code null} to unselect currently selected route.
     * @return whether the selection succeeds. If the selection fails the state of the controller
     * remains intact.
     */
    boolean selectRoute(@Nullable @MediaRoute2Info.Type Integer type);

    /**
     * Returns currently selected device (built-in or wired) route.
     *
+6 −0
Original line number Diff line number Diff line
@@ -99,6 +99,12 @@ import java.util.Objects;
        mDeviceRoute = createRouteFromAudioInfo(newAudioRoutes);
    }

    @Override
    public boolean selectRoute(@Nullable Integer type) {
        // No-op as the controller does not support selection from the outside of the class.
        return false;
    }

    @Override
    @NonNull
    public synchronized MediaRoute2Info getDeviceRoute() {