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

Commit df1d2b85 authored by Alex Dadukin's avatar Alex Dadukin
Browse files

Extend DeviceRouteController API with selectRoute method

Bug: b/255495104
Test: N/A
Change-Id: Idf8877aee33cacb19a39df1c21be4365a8cc86db
parent 576c04cf
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() {