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

Commit 26197fb4 authored by Santiago Seifert's avatar Santiago Seifert
Browse files

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

Test: atest MediaRouter2HostSideTest
Bug: 241888071
Bug: 235352899
Change-Id: Ibbfb2001311eea174254dbe1f1cf86cccf36f40f
parent e0c9ef8c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -24007,9 +24007,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}. */