Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -27424,7 +27424,7 @@ package android.media { public final class RouteDiscoveryPreference implements android.os.Parcelable { method public int describeContents(); method @NonNull public java.util.List<java.lang.String> getPreferredFeatures(); method public boolean isActiveScan(); method public boolean shouldPerformActiveScan(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference> CREATOR; } Loading @@ -27433,8 +27433,8 @@ package android.media { ctor public RouteDiscoveryPreference.Builder(@NonNull java.util.List<java.lang.String>, boolean); ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference.Builder setActiveScan(boolean); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); } public final class RoutingSessionInfo implements android.os.Parcelable { media/java/android/media/RouteDiscoveryPreference.java +49 −15 Original line number Diff line number Diff line Loading @@ -31,8 +31,16 @@ import java.util.Objects; import java.util.Set; /** * A media route discovery preference describing the kinds of routes that media router * A media route discovery preference describing the features of routes that media router * would like to discover and whether to perform active scanning. * <p> * When {@link MediaRouter2} instances set discovery preferences by calling * {@link MediaRouter2#registerRouteCallback}, they are merged into a single discovery preference * and it is delivered to call {@link MediaRoute2ProviderService#onDiscoveryPreferenceChanged}. * </p><p> * According to the given discovery preference, {@link MediaRoute2ProviderService} discovers * routes and publishes them. * </p> * * @see MediaRouter2#registerRouteCallback */ Loading @@ -53,12 +61,12 @@ public final class RouteDiscoveryPreference implements Parcelable { @NonNull private final List<String> mPreferredFeatures; private final boolean mActiveScan; private final boolean mShouldPerformActiveScan; @Nullable private final Bundle mExtras; /** * An empty discovery preference. * An empty discovery preference * @hide */ public static final RouteDiscoveryPreference EMPTY = Loading @@ -66,23 +74,39 @@ public final class RouteDiscoveryPreference implements Parcelable { RouteDiscoveryPreference(@NonNull Builder builder) { mPreferredFeatures = builder.mPreferredFeatures; mActiveScan = builder.mActiveScan; mShouldPerformActiveScan = builder.mActiveScan; mExtras = builder.mExtras; } RouteDiscoveryPreference(@NonNull Parcel in) { mPreferredFeatures = in.createStringArrayList(); mActiveScan = in.readBoolean(); mShouldPerformActiveScan = in.readBoolean(); mExtras = in.readBundle(); } /** * Gets the features of routes that media router would like to discover. * <p> * Routes that have at least one of the features will be discovered. * They may include predefined features such as * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. * </p> */ @NonNull public List<String> getPreferredFeatures() { return mPreferredFeatures; } public boolean isActiveScan() { return mActiveScan; /** * Gets whether active scanning should be performed. * <p> * If any of discovery preferences sets this as {@code true}, active scanning will * be performed regardless of other discovery preferences. * </p> */ public boolean shouldPerformActiveScan() { return mShouldPerformActiveScan; } /** Loading @@ -100,7 +124,7 @@ public final class RouteDiscoveryPreference implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeStringList(mPreferredFeatures); dest.writeBoolean(mActiveScan); dest.writeBoolean(mShouldPerformActiveScan); dest.writeBundle(mExtras); } Loading @@ -112,7 +136,7 @@ public final class RouteDiscoveryPreference implements Parcelable { .append(String.join(", ", mPreferredFeatures)) .append("}") .append(", activeScan=") .append(mActiveScan) .append(mShouldPerformActiveScan) .append(" }"); return result.toString(); Loading @@ -128,12 +152,12 @@ public final class RouteDiscoveryPreference implements Parcelable { } RouteDiscoveryPreference other = (RouteDiscoveryPreference) o; return Objects.equals(mPreferredFeatures, other.mPreferredFeatures) && mActiveScan == other.mActiveScan; && mShouldPerformActiveScan == other.mShouldPerformActiveScan; } @Override public int hashCode() { return Objects.hash(mPreferredFeatures, mActiveScan); return Objects.hash(mPreferredFeatures, mShouldPerformActiveScan); } /** Loading @@ -154,7 +178,7 @@ public final class RouteDiscoveryPreference implements Parcelable { Objects.requireNonNull(preference, "preference must not be null"); mPreferredFeatures = preference.getPreferredFeatures(); mActiveScan = preference.isActiveScan(); mActiveScan = preference.shouldPerformActiveScan(); mExtras = preference.getExtras(); } Loading @@ -171,13 +195,19 @@ public final class RouteDiscoveryPreference implements Parcelable { mActiveScan = false; for (RouteDiscoveryPreference preference : preferences) { routeFeatureSet.addAll(preference.mPreferredFeatures); mActiveScan |= preference.mActiveScan; mActiveScan |= preference.mShouldPerformActiveScan; } mPreferredFeatures = new ArrayList<>(routeFeatureSet); } /** * Sets preferred route features to discover. * @param preferredFeatures features of routes that media router would like to discover. * May include predefined features * such as {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, * {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} * or custom features defined by a provider. */ @NonNull public Builder setPreferredFeatures(@NonNull List<String> preferredFeatures) { Loading @@ -188,9 +218,13 @@ public final class RouteDiscoveryPreference implements Parcelable { /** * Sets if active scanning should be performed. * <p> * Since active scanning uses more system resources, set this as {@code true} only * when it's necessary. * </p> */ @NonNull public Builder setActiveScan(boolean activeScan) { public Builder setShouldPerformActiveScan(boolean activeScan) { mActiveScan = activeScan; return this; } Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -27424,7 +27424,7 @@ package android.media { public final class RouteDiscoveryPreference implements android.os.Parcelable { method public int describeContents(); method @NonNull public java.util.List<java.lang.String> getPreferredFeatures(); method public boolean isActiveScan(); method public boolean shouldPerformActiveScan(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference> CREATOR; } Loading @@ -27433,8 +27433,8 @@ package android.media { ctor public RouteDiscoveryPreference.Builder(@NonNull java.util.List<java.lang.String>, boolean); ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference); method @NonNull public android.media.RouteDiscoveryPreference build(); method @NonNull public android.media.RouteDiscoveryPreference.Builder setActiveScan(boolean); method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>); method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean); } public final class RoutingSessionInfo implements android.os.Parcelable {
media/java/android/media/RouteDiscoveryPreference.java +49 −15 Original line number Diff line number Diff line Loading @@ -31,8 +31,16 @@ import java.util.Objects; import java.util.Set; /** * A media route discovery preference describing the kinds of routes that media router * A media route discovery preference describing the features of routes that media router * would like to discover and whether to perform active scanning. * <p> * When {@link MediaRouter2} instances set discovery preferences by calling * {@link MediaRouter2#registerRouteCallback}, they are merged into a single discovery preference * and it is delivered to call {@link MediaRoute2ProviderService#onDiscoveryPreferenceChanged}. * </p><p> * According to the given discovery preference, {@link MediaRoute2ProviderService} discovers * routes and publishes them. * </p> * * @see MediaRouter2#registerRouteCallback */ Loading @@ -53,12 +61,12 @@ public final class RouteDiscoveryPreference implements Parcelable { @NonNull private final List<String> mPreferredFeatures; private final boolean mActiveScan; private final boolean mShouldPerformActiveScan; @Nullable private final Bundle mExtras; /** * An empty discovery preference. * An empty discovery preference * @hide */ public static final RouteDiscoveryPreference EMPTY = Loading @@ -66,23 +74,39 @@ public final class RouteDiscoveryPreference implements Parcelable { RouteDiscoveryPreference(@NonNull Builder builder) { mPreferredFeatures = builder.mPreferredFeatures; mActiveScan = builder.mActiveScan; mShouldPerformActiveScan = builder.mActiveScan; mExtras = builder.mExtras; } RouteDiscoveryPreference(@NonNull Parcel in) { mPreferredFeatures = in.createStringArrayList(); mActiveScan = in.readBoolean(); mShouldPerformActiveScan = in.readBoolean(); mExtras = in.readBundle(); } /** * Gets the features of routes that media router would like to discover. * <p> * Routes that have at least one of the features will be discovered. * They may include predefined features such as * {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} or custom features defined by a provider. * </p> */ @NonNull public List<String> getPreferredFeatures() { return mPreferredFeatures; } public boolean isActiveScan() { return mActiveScan; /** * Gets whether active scanning should be performed. * <p> * If any of discovery preferences sets this as {@code true}, active scanning will * be performed regardless of other discovery preferences. * </p> */ public boolean shouldPerformActiveScan() { return mShouldPerformActiveScan; } /** Loading @@ -100,7 +124,7 @@ public final class RouteDiscoveryPreference implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeStringList(mPreferredFeatures); dest.writeBoolean(mActiveScan); dest.writeBoolean(mShouldPerformActiveScan); dest.writeBundle(mExtras); } Loading @@ -112,7 +136,7 @@ public final class RouteDiscoveryPreference implements Parcelable { .append(String.join(", ", mPreferredFeatures)) .append("}") .append(", activeScan=") .append(mActiveScan) .append(mShouldPerformActiveScan) .append(" }"); return result.toString(); Loading @@ -128,12 +152,12 @@ public final class RouteDiscoveryPreference implements Parcelable { } RouteDiscoveryPreference other = (RouteDiscoveryPreference) o; return Objects.equals(mPreferredFeatures, other.mPreferredFeatures) && mActiveScan == other.mActiveScan; && mShouldPerformActiveScan == other.mShouldPerformActiveScan; } @Override public int hashCode() { return Objects.hash(mPreferredFeatures, mActiveScan); return Objects.hash(mPreferredFeatures, mShouldPerformActiveScan); } /** Loading @@ -154,7 +178,7 @@ public final class RouteDiscoveryPreference implements Parcelable { Objects.requireNonNull(preference, "preference must not be null"); mPreferredFeatures = preference.getPreferredFeatures(); mActiveScan = preference.isActiveScan(); mActiveScan = preference.shouldPerformActiveScan(); mExtras = preference.getExtras(); } Loading @@ -171,13 +195,19 @@ public final class RouteDiscoveryPreference implements Parcelable { mActiveScan = false; for (RouteDiscoveryPreference preference : preferences) { routeFeatureSet.addAll(preference.mPreferredFeatures); mActiveScan |= preference.mActiveScan; mActiveScan |= preference.mShouldPerformActiveScan; } mPreferredFeatures = new ArrayList<>(routeFeatureSet); } /** * Sets preferred route features to discover. * @param preferredFeatures features of routes that media router would like to discover. * May include predefined features * such as {@link MediaRoute2Info#FEATURE_LIVE_AUDIO}, * {@link MediaRoute2Info#FEATURE_LIVE_VIDEO}, * or {@link MediaRoute2Info#FEATURE_REMOTE_PLAYBACK} * or custom features defined by a provider. */ @NonNull public Builder setPreferredFeatures(@NonNull List<String> preferredFeatures) { Loading @@ -188,9 +218,13 @@ public final class RouteDiscoveryPreference implements Parcelable { /** * Sets if active scanning should be performed. * <p> * Since active scanning uses more system resources, set this as {@code true} only * when it's necessary. * </p> */ @NonNull public Builder setActiveScan(boolean activeScan) { public Builder setShouldPerformActiveScan(boolean activeScan) { mActiveScan = activeScan; return this; } Loading