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

Commit 64ff2c53 authored by Santiago Seifert's avatar Santiago Seifert Committed by Android (Google) Code Review
Browse files

Merge "Add flag to use the system's ordering for route listing"

parents 7c3628fc 26197fb4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -24096,9 +24096,10 @@ package android.media {
  }
  public final class RouteListingPreference implements android.os.Parcelable {
    ctor public RouteListingPreference(@NonNull java.util.List<android.media.RouteListingPreference.Item>);
    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();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteListingPreference> CREATOR;
  }
+17 −3
Original line number Diff line number Diff line
@@ -54,20 +54,24 @@ 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) {
    public RouteListingPreference(@NonNull List<Item> items, boolean useSystemOrdering) {
        mItems = List.copyOf(Objects.requireNonNull(items));
        mUseSystemOrdering = useSystemOrdering;
    }

    private RouteListingPreference(Parcel in) {
        List<Item> items =
                in.readParcelableList(new ArrayList<>(), Item.class.getClassLoader(), Item.class);
        mItems = List.copyOf(items);
        mUseSystemOrdering = in.readBoolean();
    }

    /**
@@ -79,6 +83,15 @@ public final class RouteListingPreference implements Parcelable {
        return mItems;
    }

    /**
     * Returns true if the application would like media route listing to use the system's ordering
     * strategy, or false if the application would like route listing to respect the ordering
     * obtained from {@link #getItems()}.
     */
    public boolean getUseSystemOrdering() {
        return mUseSystemOrdering;
    }

    // RouteListingPreference Parcelable implementation.

    @Override
@@ -89,6 +102,7 @@ public final class RouteListingPreference implements Parcelable {
    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeParcelableList(mItems, flags);
        dest.writeBoolean(mUseSystemOrdering);
    }

    // Equals and hashCode.
@@ -102,12 +116,12 @@ public final class RouteListingPreference implements Parcelable {
            return false;
        }
        RouteListingPreference that = (RouteListingPreference) other;
        return mItems.equals(that.mItems);
        return mItems.equals(that.mItems) && mUseSystemOrdering == that.mUseSystemOrdering;
    }

    @Override
    public int hashCode() {
        return Objects.hash(mItems);
        return Objects.hash(mItems, mUseSystemOrdering);
    }

    /** Holds preference information for a specific route in a {@link RouteListingPreference}. */