Merge "Extend DeviceRouteController API with selectRoute method" into udc-dev am: 9bf4119532

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21672802

Change-Id: I4b761dedfd4c702118d5cb6c62d4df3b152967d3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alex Dadukin
2023-03-06 12:02:18 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 0 deletions

View File

@@ -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.
*

View File

@@ -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() {