Loading AconfigFlags.bp +13 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ java_defaults { ":android.companion.virtual.flags-aconfig-java{.generated_srcjars}", ":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}", ":android.widget.flags-aconfig-java{.generated_srcjars}", ":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}", ], // Add aconfig-annotations-lib as a dependency for the optimization libs: ["aconfig-annotations-lib"], Loading Loading @@ -214,3 +215,15 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } // Media BetterTogether aconfig_declarations { name: "com.android.media.flags.bettertogether-aconfig", package: "com.android.media.flags", srcs: ["media/java/android/media/flags/media_better_together.aconfig"], } java_aconfig_library { name: "com.android.media.flags.bettertogether-aconfig-java", aconfig_declarations: "com.android.media.flags.bettertogether-aconfig", defaults: ["framework-minus-apex-aconfig-java-defaults"], } core/api/current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -23946,10 +23946,12 @@ package android.media { method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String); method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers(); method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) @Nullable public android.media.RouteListingPreference getRouteListingPreference(); method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes(); method @NonNull public android.media.MediaRouter2.RoutingController getSystemController(); method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback); method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void registerRouteListingPreferenceCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteListingPreferenceCallback); method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback); method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener); method public void setRouteListingPreference(@Nullable android.media.RouteListingPreference); Loading @@ -23958,6 +23960,7 @@ package android.media { method public void transferTo(@NonNull android.media.MediaRoute2Info); method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback); method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void unregisterRouteListingPreferenceCallback(@NonNull android.media.MediaRouter2.RouteListingPreferenceCallback); method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback); } Loading @@ -23978,6 +23981,11 @@ package android.media { method public void onRoutesUpdated(@NonNull java.util.List<android.media.MediaRoute2Info>); } @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public abstract static class MediaRouter2.RouteListingPreferenceCallback { ctor @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public MediaRouter2.RouteListingPreferenceCallback(); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void onRouteListingPreferenceChanged(@Nullable android.media.RouteListingPreference); } public class MediaRouter2.RoutingController { method public void deselectRoute(@NonNull android.media.MediaRoute2Info); method @Nullable public android.os.Bundle getControlHints(); media/java/android/media/MediaRouter2.java +23 −9 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ package android.media; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import static com.android.media.flags.Flags.FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; Loading Loading @@ -370,14 +372,14 @@ public final class MediaRouter2 { } /** * Registers callback to be invoked when the {@link RouteListingPreference} of the target * router changes. * Registers the given callback to be invoked when the {@link RouteListingPreference} of the * target router changes. * * <p>Calls using a previously registered callback will overwrite the callback record. * <p>Calls using a previously registered callback will overwrite the previous executor. * * @see #setRouteListingPreference(RouteListingPreference) * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void registerRouteListingPreferenceCallback( @NonNull @CallbackExecutor Executor executor, @NonNull RouteListingPreferenceCallback routeListingPreferenceCallback) { Loading @@ -393,9 +395,8 @@ public final class MediaRouter2 { /** * Unregisters the given callback to not receive {@link RouteListingPreference} change events. * * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void unregisterRouteListingPreferenceCallback( @NonNull RouteListingPreferenceCallback callback) { Objects.requireNonNull(callback, "callback must not be null"); Loading Loading @@ -462,9 +463,12 @@ public final class MediaRouter2 { /** * Returns the current {@link RouteListingPreference} of the target router. * * <p>If this instance was created using {@link #getInstance(Context, String)}, then it returns * the last {@link RouteListingPreference} set by the process this router was created for. * * @see #setRouteListingPreference(RouteListingPreference) * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) @Nullable public RouteListingPreference getRouteListingPreference() { synchronized (mLock) { Loading Loading @@ -1201,9 +1205,19 @@ public final class MediaRouter2 { public void onPreferredFeaturesChanged(@NonNull List<String> preferredFeatures) {} } /** @hide */ /** Callback for receiving events related to {@link RouteListingPreference}. */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public abstract static class RouteListingPreferenceCallback { /** @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public RouteListingPreferenceCallback() {} /** * Called when the {@link RouteListingPreference} changes. * * @see #getRouteListingPreference */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void onRouteListingPreferenceChanged(@Nullable RouteListingPreference preference) {} } Loading media/java/android/media/flags/media_better_together.aconfig 0 → 100644 +8 −0 Original line number Diff line number Diff line package: "com.android.media.flags" flag { namespace: "media_solutions" name: "enable_rlp_callbacks_in_media_router2" description: "Make RouteListingPreference getter and callbacks public in MediaRouter2." bug: "281067101" } Loading
AconfigFlags.bp +13 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ java_defaults { ":android.companion.virtual.flags-aconfig-java{.generated_srcjars}", ":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}", ":android.widget.flags-aconfig-java{.generated_srcjars}", ":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}", ], // Add aconfig-annotations-lib as a dependency for the optimization libs: ["aconfig-annotations-lib"], Loading Loading @@ -214,3 +215,15 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } // Media BetterTogether aconfig_declarations { name: "com.android.media.flags.bettertogether-aconfig", package: "com.android.media.flags", srcs: ["media/java/android/media/flags/media_better_together.aconfig"], } java_aconfig_library { name: "com.android.media.flags.bettertogether-aconfig-java", aconfig_declarations: "com.android.media.flags.bettertogether-aconfig", defaults: ["framework-minus-apex-aconfig-java-defaults"], }
core/api/current.txt +8 −0 Original line number Diff line number Diff line Loading @@ -23946,10 +23946,12 @@ package android.media { method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String); method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers(); method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) @Nullable public android.media.RouteListingPreference getRouteListingPreference(); method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes(); method @NonNull public android.media.MediaRouter2.RoutingController getSystemController(); method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback); method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void registerRouteListingPreferenceCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteListingPreferenceCallback); method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback); method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener); method public void setRouteListingPreference(@Nullable android.media.RouteListingPreference); Loading @@ -23958,6 +23960,7 @@ package android.media { method public void transferTo(@NonNull android.media.MediaRoute2Info); method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback); method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void unregisterRouteListingPreferenceCallback(@NonNull android.media.MediaRouter2.RouteListingPreferenceCallback); method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback); } Loading @@ -23978,6 +23981,11 @@ package android.media { method public void onRoutesUpdated(@NonNull java.util.List<android.media.MediaRoute2Info>); } @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public abstract static class MediaRouter2.RouteListingPreferenceCallback { ctor @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public MediaRouter2.RouteListingPreferenceCallback(); method @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void onRouteListingPreferenceChanged(@Nullable android.media.RouteListingPreference); } public class MediaRouter2.RoutingController { method public void deselectRoute(@NonNull android.media.MediaRoute2Info); method @Nullable public android.os.Bundle getControlHints();
media/java/android/media/MediaRouter2.java +23 −9 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ package android.media; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import static com.android.media.flags.Flags.FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; Loading Loading @@ -370,14 +372,14 @@ public final class MediaRouter2 { } /** * Registers callback to be invoked when the {@link RouteListingPreference} of the target * router changes. * Registers the given callback to be invoked when the {@link RouteListingPreference} of the * target router changes. * * <p>Calls using a previously registered callback will overwrite the callback record. * <p>Calls using a previously registered callback will overwrite the previous executor. * * @see #setRouteListingPreference(RouteListingPreference) * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void registerRouteListingPreferenceCallback( @NonNull @CallbackExecutor Executor executor, @NonNull RouteListingPreferenceCallback routeListingPreferenceCallback) { Loading @@ -393,9 +395,8 @@ public final class MediaRouter2 { /** * Unregisters the given callback to not receive {@link RouteListingPreference} change events. * * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void unregisterRouteListingPreferenceCallback( @NonNull RouteListingPreferenceCallback callback) { Objects.requireNonNull(callback, "callback must not be null"); Loading Loading @@ -462,9 +463,12 @@ public final class MediaRouter2 { /** * Returns the current {@link RouteListingPreference} of the target router. * * <p>If this instance was created using {@link #getInstance(Context, String)}, then it returns * the last {@link RouteListingPreference} set by the process this router was created for. * * @see #setRouteListingPreference(RouteListingPreference) * @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) @Nullable public RouteListingPreference getRouteListingPreference() { synchronized (mLock) { Loading Loading @@ -1201,9 +1205,19 @@ public final class MediaRouter2 { public void onPreferredFeaturesChanged(@NonNull List<String> preferredFeatures) {} } /** @hide */ /** Callback for receiving events related to {@link RouteListingPreference}. */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public abstract static class RouteListingPreferenceCallback { /** @hide */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public RouteListingPreferenceCallback() {} /** * Called when the {@link RouteListingPreference} changes. * * @see #getRouteListingPreference */ @FlaggedApi(FLAG_ENABLE_RLP_CALLBACKS_IN_MEDIA_ROUTER2) public void onRouteListingPreferenceChanged(@Nullable RouteListingPreference preference) {} } Loading
media/java/android/media/flags/media_better_together.aconfig 0 → 100644 +8 −0 Original line number Diff line number Diff line package: "com.android.media.flags" flag { namespace: "media_solutions" name: "enable_rlp_callbacks_in_media_router2" description: "Make RouteListingPreference getter and callbacks public in MediaRouter2." bug: "281067101" }