Loading core/api/current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -23304,7 +23304,7 @@ package android.media { ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference.Builder setAllowedPackages(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setAllowedPackages(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setDeduplicationPackageOrder(@Nullable java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setDeduplicationPackageOrder(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setRequiredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setRequiredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); media/java/android/media/RouteDiscoveryPreference.java +23 −21 Original line number Original line Diff line number Diff line Loading @@ -64,8 +64,11 @@ public final class RouteDiscoveryPreference implements Parcelable { @NonNull @NonNull private final List<String> mPreferredFeatures; private final List<String> mPreferredFeatures; @NonNull private final List<String> mRequiredFeatures; private final List<String> mRequiredFeatures; @NonNull private final List<String> mPackagesOrder; private final List<String> mPackagesOrder; @NonNull private final List<String> mAllowedPackages; private final List<String> mAllowedPackages; private final boolean mShouldPerformActiveScan; private final boolean mShouldPerformActiveScan; Loading Loading @@ -118,7 +121,6 @@ public final class RouteDiscoveryPreference implements Parcelable { * Gets the required features of routes that media router would like to discover. * Gets the required features of routes that media router would like to discover. * <p> * <p> * Routes that have all the required features will be discovered. * Routes that have all the required features will be discovered. * This precedes {@link #getPreferredFeatures()}. * They may include predefined features such as * They may include predefined features such as * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. Loading @@ -133,12 +135,16 @@ public final class RouteDiscoveryPreference implements Parcelable { /** /** * Gets the ordered list of package names used to remove duplicate routes. * Gets the ordered list of package names used to remove duplicate routes. * <p> * <p> * When the app enables duplicate removal, all the routes that have the same deduplication ID * Duplicate route removal is enabled if the returned list is non-empty. Routes are deduplicated * except one from the provider whose package name appears first in the list will be removed. * based on their {@link MediaRoute2Info#getDeduplicationIds() deduplication IDs}. If two routes * have a deduplication ID in common, only the route from the provider whose package name is * first in the provided list will remain. * * @see #shouldRemoveDuplicates() */ */ @NonNull @NonNull public List<String> getDeduplicationPackageOrder() { public List<String> getDeduplicationPackageOrder() { return mPackagesOrder == null ? List.of() : mPackagesOrder; return mPackagesOrder; } } /** /** Loading @@ -164,10 +170,9 @@ public final class RouteDiscoveryPreference implements Parcelable { } } /** /** * Gets whether duplicate routes should be removed. * Gets whether duplicate routes removal is enabled. * <p> * * If it is {@code true}, only one of routes that have * @see #getDeduplicationPackageOrder() * the same deduplication ID will be obtained. */ */ public boolean shouldRemoveDuplicates() { public boolean shouldRemoveDuplicates() { return !mPackagesOrder.isEmpty(); return !mPackagesOrder.isEmpty(); Loading Loading @@ -338,23 +343,20 @@ public final class RouteDiscoveryPreference implements Parcelable { } } /** /** * Sets the order of packages when removing duplicate routes. * Sets the order of packages to use when removing duplicate routes. * <p> * Routes are removed based on its * {@link MediaRoute2Info#getDeduplicationIds() deduplication ID}. * If two routes have the same ID, even if they are from different providers, * one of them is removed from the list. * <p> * <p> * Routes from the provider whose package name appears first in the given package order * Routes are deduplicated based on their * will remain. * {@link MediaRoute2Info#getDeduplicationIds() deduplication IDs}. * If unspecified, any route can be selected. * If two routes have a deduplication ID in common, only the route from the provider whose * package name is first in the provided list will remain. * * * @param packageOrder list of package names for choosing routes to be removed or * @param packageOrder ordered list of package names used to remove duplicate routes, or an * {@code null} not to remove duplicate routes. * empty list if deduplication should not be enabled. */ */ @NonNull @NonNull public Builder setDeduplicationPackageOrder(@Nullable List<String> packageOrder) { public Builder setDeduplicationPackageOrder(@NonNull List<String> packageOrder) { mPackageOrder = (packageOrder == null) ? null : List.copyOf(packageOrder); Objects.requireNonNull(packageOrder, "packageOrder must not be null"); mPackageOrder = List.copyOf(packageOrder); return this; return this; } } Loading Loading
core/api/current.txt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -23304,7 +23304,7 @@ package android.media { ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference.Builder setAllowedPackages(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setAllowedPackages(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setDeduplicationPackageOrder(@Nullable java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setDeduplicationPackageOrder(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setRequiredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setRequiredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean);
media/java/android/media/RouteDiscoveryPreference.java +23 −21 Original line number Original line Diff line number Diff line Loading @@ -64,8 +64,11 @@ public final class RouteDiscoveryPreference implements Parcelable { @NonNull @NonNull private final List<String> mPreferredFeatures; private final List<String> mPreferredFeatures; @NonNull private final List<String> mRequiredFeatures; private final List<String> mRequiredFeatures; @NonNull private final List<String> mPackagesOrder; private final List<String> mPackagesOrder; @NonNull private final List<String> mAllowedPackages; private final List<String> mAllowedPackages; private final boolean mShouldPerformActiveScan; private final boolean mShouldPerformActiveScan; Loading Loading @@ -118,7 +121,6 @@ public final class RouteDiscoveryPreference implements Parcelable { * Gets the required features of routes that media router would like to discover. * Gets the required features of routes that media router would like to discover. * <p> * <p> * Routes that have all the required features will be discovered. * Routes that have all the required features will be discovered. * This precedes {@link #getPreferredFeatures()}. * They may include predefined features such as * They may include predefined features such as * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. Loading @@ -133,12 +135,16 @@ public final class RouteDiscoveryPreference implements Parcelable { /** /** * Gets the ordered list of package names used to remove duplicate routes. * Gets the ordered list of package names used to remove duplicate routes. * <p> * <p> * When the app enables duplicate removal, all the routes that have the same deduplication ID * Duplicate route removal is enabled if the returned list is non-empty. Routes are deduplicated * except one from the provider whose package name appears first in the list will be removed. * based on their {@link MediaRoute2Info#getDeduplicationIds() deduplication IDs}. If two routes * have a deduplication ID in common, only the route from the provider whose package name is * first in the provided list will remain. * * @see #shouldRemoveDuplicates() */ */ @NonNull @NonNull public List<String> getDeduplicationPackageOrder() { public List<String> getDeduplicationPackageOrder() { return mPackagesOrder == null ? List.of() : mPackagesOrder; return mPackagesOrder; } } /** /** Loading @@ -164,10 +170,9 @@ public final class RouteDiscoveryPreference implements Parcelable { } } /** /** * Gets whether duplicate routes should be removed. * Gets whether duplicate routes removal is enabled. * <p> * * If it is {@code true}, only one of routes that have * @see #getDeduplicationPackageOrder() * the same deduplication ID will be obtained. */ */ public boolean shouldRemoveDuplicates() { public boolean shouldRemoveDuplicates() { return !mPackagesOrder.isEmpty(); return !mPackagesOrder.isEmpty(); Loading Loading @@ -338,23 +343,20 @@ public final class RouteDiscoveryPreference implements Parcelable { } } /** /** * Sets the order of packages when removing duplicate routes. * Sets the order of packages to use when removing duplicate routes. * <p> * Routes are removed based on its * {@link MediaRoute2Info#getDeduplicationIds() deduplication ID}. * If two routes have the same ID, even if they are from different providers, * one of them is removed from the list. * <p> * <p> * Routes from the provider whose package name appears first in the given package order * Routes are deduplicated based on their * will remain. * {@link MediaRoute2Info#getDeduplicationIds() deduplication IDs}. * If unspecified, any route can be selected. * If two routes have a deduplication ID in common, only the route from the provider whose * package name is first in the provided list will remain. * * * @param packageOrder list of package names for choosing routes to be removed or * @param packageOrder ordered list of package names used to remove duplicate routes, or an * {@code null} not to remove duplicate routes. * empty list if deduplication should not be enabled. */ */ @NonNull @NonNull public Builder setDeduplicationPackageOrder(@Nullable List<String> packageOrder) { public Builder setDeduplicationPackageOrder(@NonNull List<String> packageOrder) { mPackageOrder = (packageOrder == null) ? null : List.copyOf(packageOrder); Objects.requireNonNull(packageOrder, "packageOrder must not be null"); mPackageOrder = List.copyOf(packageOrder); return this; return this; } } Loading