Merge "Add session participant count"
This commit is contained in:
committed by
Android (Google) Code Review
commit
5c7390afde
@@ -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 {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user