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

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

Merge "Add session participant count"

parents e396a7e4 834202ee
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -24224,6 +24224,7 @@ package android.media {
    method public int getDisableReason();
    method public int getFlags();
    method @NonNull public String getRouteId();
    method public int getSessionParticipantCount();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteListingPreference.Item> CREATOR;
    field public static final int DISABLE_REASON_AD = 3; // 0x3
@@ -24239,6 +24240,7 @@ package android.media {
    method @NonNull public android.media.RouteListingPreference.Item build();
    method @NonNull public android.media.RouteListingPreference.Item.Builder setDisableReason(int);
    method @NonNull public android.media.RouteListingPreference.Item.Builder setFlags(int);
    method @NonNull public android.media.RouteListingPreference.Item.Builder setSessionParticipantCount(@IntRange(from=0) int);
  }
  public final class RoutingSessionInfo implements android.os.Parcelable {
+34 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media;

import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.os.Parcel;
import android.os.Parcelable;
@@ -198,19 +199,22 @@ public final class RouteListingPreference implements Parcelable {
        @NonNull private final String mRouteId;
        @Flags private final int mFlags;
        @DisableReason private final int mDisableReason;
        private final int mSessionParticipantCount;

        private Item(@NonNull Builder builder) {
            mRouteId = builder.mRouteId;
            mFlags = builder.mFlags;
            mDisableReason = builder.mDisableReason;
            mSessionParticipantCount = builder.mSessionParticipantCount;
        }

        private Item(Parcel in) {
            String routeId = in.readString();
            Preconditions.checkArgument(!TextUtils.isEmpty(routeId));
            mRouteId = routeId;
            mRouteId = in.readString();
            Preconditions.checkArgument(!TextUtils.isEmpty(mRouteId));
            mFlags = in.readInt();
            mDisableReason = in.readInt();
            mSessionParticipantCount = in.readInt();
            Preconditions.checkArgument(mSessionParticipantCount >= 0);
        }

        /** Returns the id of the route that corresponds to this route listing preference item. */
@@ -244,6 +248,17 @@ public final class RouteListingPreference implements Parcelable {
            return mDisableReason;
        }

        /**
         * Returns a non-negative number of participants in the ongoing session (if any) on the
         * corresponding route.
         *
         * <p>The system ignores this value if zero, or if {@link #getFlags()} does not include
         * {@link #FLAG_ONGOING_SESSION}.
         */
        public int getSessionParticipantCount() {
            return mSessionParticipantCount;
        }

        // Item Parcelable implementation.

        @Override
@@ -256,6 +271,7 @@ public final class RouteListingPreference implements Parcelable {
            dest.writeString(mRouteId);
            dest.writeInt(mFlags);
            dest.writeInt(mDisableReason);
            dest.writeInt(mSessionParticipantCount);
        }

        // Equals and hashCode.
@@ -271,12 +287,13 @@ public final class RouteListingPreference implements Parcelable {
            Item item = (Item) other;
            return mRouteId.equals(item.mRouteId)
                    && mFlags == item.mFlags
                    && mDisableReason == item.mDisableReason;
                    && mDisableReason == item.mDisableReason
                    && mSessionParticipantCount == item.mSessionParticipantCount;
        }

        @Override
        public int hashCode() {
            return Objects.hash(mRouteId, mFlags, mDisableReason);
            return Objects.hash(mRouteId, mFlags, mDisableReason, mSessionParticipantCount);
        }

        /** Builder for {@link Item}. */
@@ -285,6 +302,7 @@ public final class RouteListingPreference implements Parcelable {
            private final String mRouteId;
            private int mFlags;
            private int mDisableReason;
            private int mSessionParticipantCount;

            /**
             * Constructor.
@@ -311,6 +329,17 @@ public final class RouteListingPreference implements Parcelable {
                return this;
            }

            /** See {@link Item#getSessionParticipantCount()}. */
            @NonNull
            public Builder setSessionParticipantCount(
                    @IntRange(from = 0) int sessionParticipantCount) {
                Preconditions.checkArgument(
                        sessionParticipantCount >= 0,
                        "sessionParticipantCount must be non-negative.");
                mSessionParticipantCount = sessionParticipantCount;
                return this;
            }

            /** Creates and returns a new {@link Item} with the given parameters. */
            @NonNull
            public Item build() {