Add RouteListingPreference.Builder
Test: atest MediaRouter2HostSideTest Bug: 241888071 Bug: 235352899 Change-Id: Ia21f7d67a16b5507806461b992dfd46b5cb86863
This commit is contained in:
@@ -24211,7 +24211,6 @@ package android.media {
|
||||
}
|
||||
|
||||
public final class RouteListingPreference implements android.os.Parcelable {
|
||||
ctor public RouteListingPreference(@NonNull java.util.List<android.media.RouteListingPreference.Item>, boolean);
|
||||
method public int describeContents();
|
||||
method @NonNull public java.util.List<android.media.RouteListingPreference.Item> getItems();
|
||||
method public boolean getUseSystemOrdering();
|
||||
@@ -24219,6 +24218,13 @@ package android.media {
|
||||
field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteListingPreference> CREATOR;
|
||||
}
|
||||
|
||||
public static final class RouteListingPreference.Builder {
|
||||
ctor public RouteListingPreference.Builder();
|
||||
method @NonNull public android.media.RouteListingPreference build();
|
||||
method @NonNull public android.media.RouteListingPreference.Builder setItems(@NonNull java.util.List<android.media.RouteListingPreference.Item>);
|
||||
method @NonNull public android.media.RouteListingPreference.Builder setUseSystemOrdering(boolean);
|
||||
}
|
||||
|
||||
public static final class RouteListingPreference.Item implements android.os.Parcelable {
|
||||
method public int describeContents();
|
||||
method public int getDisableReason();
|
||||
|
||||
@@ -57,15 +57,9 @@ public final class RouteListingPreference implements Parcelable {
|
||||
@NonNull private final List<Item> mItems;
|
||||
private final boolean mUseSystemOrdering;
|
||||
|
||||
/**
|
||||
* Creates an instance with the given values.
|
||||
*
|
||||
* @param items See {@link #getItems()}.
|
||||
* @param useSystemOrdering See {@link #getUseSystemOrdering()}
|
||||
*/
|
||||
public RouteListingPreference(@NonNull List<Item> items, boolean useSystemOrdering) {
|
||||
mItems = List.copyOf(Objects.requireNonNull(items));
|
||||
mUseSystemOrdering = useSystemOrdering;
|
||||
private RouteListingPreference(Builder builder) {
|
||||
mItems = builder.mItems;
|
||||
mUseSystemOrdering = builder.mUseSystemOrdering;
|
||||
}
|
||||
|
||||
private RouteListingPreference(Parcel in) {
|
||||
@@ -128,6 +122,52 @@ public final class RouteListingPreference implements Parcelable {
|
||||
return Objects.hash(mItems, mUseSystemOrdering);
|
||||
}
|
||||
|
||||
/** Builder for {@link RouteListingPreference}. */
|
||||
public static final class Builder {
|
||||
|
||||
private List<Item> mItems;
|
||||
private boolean mUseSystemOrdering;
|
||||
|
||||
/** Creates a new instance with default values (documented in the setters). */
|
||||
public Builder() {
|
||||
mItems = List.of();
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link #getItems()}
|
||||
*
|
||||
* <p>The default value is an empty list.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setItems(@NonNull List<Item> items) {
|
||||
mItems = List.copyOf(Objects.requireNonNull(items));
|
||||
mUseSystemOrdering = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* See {@link #getUseSystemOrdering()}
|
||||
*
|
||||
* <p>The default value is {@code true}.
|
||||
*/
|
||||
// Lint requires "isUseSystemOrdering", but "getUseSystemOrdering" is a better name.
|
||||
@SuppressWarnings("MissingGetterMatchingBuilder")
|
||||
@NonNull
|
||||
public Builder setUseSystemOrdering(boolean useSystemOrdering) {
|
||||
mUseSystemOrdering = useSystemOrdering;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns a new {@link RouteListingPreference} instance with the given
|
||||
* parameters.
|
||||
*/
|
||||
@NonNull
|
||||
public RouteListingPreference build() {
|
||||
return new RouteListingPreference(this);
|
||||
}
|
||||
}
|
||||
|
||||
/** Holds preference information for a specific route in a {@link RouteListingPreference}. */
|
||||
public static final class Item implements Parcelable {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user