Merge "Non-functional refactoring of RoutingSessionInfo" into main
diff --git a/media/java/android/media/RoutingSessionInfo.java b/media/java/android/media/RoutingSessionInfo.java
index 0bc5a60..a77c943 100644
--- a/media/java/android/media/RoutingSessionInfo.java
+++ b/media/java/android/media/RoutingSessionInfo.java
@@ -55,15 +55,23 @@
private static final String KEY_GROUP_ROUTE = "androidx.mediarouter.media.KEY_GROUP_ROUTE";
private static final String KEY_VOLUME_HANDLING = "volumeHandling";
+ @NonNull
final String mId;
+ @Nullable
final CharSequence mName;
+ @Nullable
final String mOwnerPackageName;
+ @NonNull
final String mClientPackageName;
@Nullable
final String mProviderId;
+ @NonNull
final List<String> mSelectedRoutes;
+ @NonNull
final List<String> mSelectableRoutes;
+ @NonNull
final List<String> mDeselectableRoutes;
+ @NonNull
final List<String> mTransferableRoutes;
final int mVolumeHandling;
@@ -134,7 +142,9 @@
mIsSystemSession = src.readBoolean();
}
- private static Bundle updateVolumeHandlingInHints(Bundle controlHints, int volumeHandling) {
+ @Nullable
+ private static Bundle updateVolumeHandlingInHints(@Nullable Bundle controlHints,
+ int volumeHandling) {
// Workaround to preserve retro-compatibility with androidx.
// See b/228021646 for more details.
if (controlHints != null && controlHints.containsKey(KEY_GROUP_ROUTE)) {
@@ -167,11 +177,13 @@
return volumeHandling;
}
- private static String ensureString(String str) {
+ @NonNull
+ private static String ensureString(@Nullable String str) {
return str != null ? str : "";
}
- private static <T> List<T> ensureList(List<? extends T> list) {
+ @NonNull
+ private static <T> List<T> ensureList(@Nullable List<? extends T> list) {
if (list != null) {
return Collections.unmodifiableList(list);
}
@@ -370,11 +382,15 @@
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(@Nullable Object obj) {
+ if (obj == null) {
+ return false;
+ }
+
if (this == obj) {
return true;
}
- if (!(obj instanceof RoutingSessionInfo)) {
+ if (getClass() != obj.getClass()) {
return false;
}
@@ -454,21 +470,30 @@
* Builder class for {@link RoutingSessionInfo}.
*/
public static final class Builder {
- // TODO: Reorder these (important ones first)
- final String mId;
- CharSequence mName;
- String mOwnerPackageName;
- String mClientPackageName;
- String mProviderId;
- final List<String> mSelectedRoutes;
- final List<String> mSelectableRoutes;
- final List<String> mDeselectableRoutes;
- final List<String> mTransferableRoutes;
- int mVolumeHandling = MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
- int mVolumeMax;
- int mVolume;
- Bundle mControlHints;
- boolean mIsSystemSession;
+ @NonNull
+ private final String mId;
+ @Nullable
+ private CharSequence mName;
+ @Nullable
+ private String mOwnerPackageName;
+ @NonNull
+ private String mClientPackageName;
+ @Nullable
+ private String mProviderId;
+ @NonNull
+ private final List<String> mSelectedRoutes;
+ @NonNull
+ private final List<String> mSelectableRoutes;
+ @NonNull
+ private final List<String> mDeselectableRoutes;
+ @NonNull
+ private final List<String> mTransferableRoutes;
+ private int mVolumeHandling = MediaRoute2Info.PLAYBACK_VOLUME_FIXED;
+ private int mVolumeMax;
+ private int mVolume;
+ @Nullable
+ private Bundle mControlHints;
+ private boolean mIsSystemSession;
/**
* Constructor for builder to create {@link RoutingSessionInfo}.