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

Commit 769ea84b authored by Iván Budnik's avatar Iván Budnik Committed by Android (Google) Code Review
Browse files

Merge "Make RouteListingPreference getter and callbacks public" into main

parents de912d27 ae843cda
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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"],
@@ -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"],
}
+8 −0
Original line number Diff line number Diff line
@@ -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);
@@ -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);
  }
@@ -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();
+23 −9
Original line number Diff line number Diff line
@@ -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;
@@ -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) {
@@ -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");
@@ -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) {
@@ -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) {}
    }

+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"
}