From 96ab01b44fafc0959c1960f348c9fb2ea28a36d5 Mon Sep 17 00:00:00 2001 From: Hyundo Moon Date: Tue, 23 Mar 2021 11:50:31 +0900 Subject: [PATCH] System MR2: Add MediaRouter2#registerRouteCallback(executor, callback) This CL adds registerCallback(executor, callback) as @SystemApi for system MediaRouter2. Bug: 183453134 Test: Passed CTS Change-Id: I50e942714946ae8af7ad69432cefcd8015040d4d --- core/api/system-current.txt | 1 + media/java/android/media/MediaRouter2.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 1b3edcf28d65d..d05e10d55a5d4 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -5228,6 +5228,7 @@ package android.media { method @Nullable public String getClientPackageName(); method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String); method @Nullable public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String); + method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback); method public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int); method public void startScan(); method public void stopScan(); diff --git a/media/java/android/media/MediaRouter2.java b/media/java/android/media/MediaRouter2.java index 02fa0401e5862..8daa303890126 100644 --- a/media/java/android/media/MediaRouter2.java +++ b/media/java/android/media/MediaRouter2.java @@ -298,6 +298,24 @@ public final class MediaRouter2 { return mClientPackageName; } + /** + * Registers a callback to receive route related events when they change. + *

+ * If the specified callback is already registered, its registration will be updated for the + * given {@link Executor executor}. + *

+ * This will be no-op for non-system routers. + * @hide + */ + @SystemApi + public void registerRouteCallback(@NonNull @CallbackExecutor Executor executor, + @NonNull RouteCallback routeCallback) { + if (!isSystemRouter()) { + return; + } + registerRouteCallback(executor, routeCallback, RouteDiscoveryPreference.EMPTY); + } + /** * Registers a callback to discover routes and to receive events when they change. *