Fix issues with nullability contract in MediaRouter2Utils
Bug: b/259025372 Test: atest MediaRoute2InfoTest RoutingSessionInfoTest Change-Id: I3e6de420582db117d7dae6bb460614d27b1b322a
This commit is contained in:
@@ -28,6 +28,8 @@ import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -374,6 +376,7 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
|
||||
MediaRoute2Info(@NonNull Parcel in) {
|
||||
mId = in.readString();
|
||||
Preconditions.checkArgument(!TextUtils.isEmpty(mId));
|
||||
mName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||
mFeatures = in.createStringArrayList();
|
||||
mType = in.readInt();
|
||||
@@ -403,7 +406,7 @@ public final class MediaRoute2Info implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public String getId() {
|
||||
if (mProviderId != null) {
|
||||
if (!TextUtils.isEmpty(mProviderId)) {
|
||||
return toUniqueId(mProviderId, mId);
|
||||
} else {
|
||||
return mId;
|
||||
|
||||
@@ -21,6 +21,8 @@ import android.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@@ -31,14 +33,8 @@ public class MediaRouter2Utils {
|
||||
|
||||
@NonNull
|
||||
public static String toUniqueId(@NonNull String providerId, @NonNull String id) {
|
||||
if (TextUtils.isEmpty(providerId)) {
|
||||
Log.w(TAG, "toUniqueId: providerId shouldn't be empty");
|
||||
return null;
|
||||
}
|
||||
if (TextUtils.isEmpty(id)) {
|
||||
Log.w(TAG, "toUniqueId: id shouldn't be null");
|
||||
return null;
|
||||
}
|
||||
Preconditions.checkArgument(!TextUtils.isEmpty(providerId)
|
||||
&& !TextUtils.isEmpty(id));
|
||||
|
||||
return providerId + SEPARATOR + id;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
@@ -106,9 +108,9 @@ public final class RoutingSessionInfo implements Parcelable {
|
||||
}
|
||||
|
||||
RoutingSessionInfo(@NonNull Parcel src) {
|
||||
Objects.requireNonNull(src, "src must not be null.");
|
||||
mId = src.readString();
|
||||
Preconditions.checkArgument(!TextUtils.isEmpty(mId));
|
||||
|
||||
mId = ensureString(src.readString());
|
||||
mName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(src);
|
||||
mOwnerPackageName = src.readString();
|
||||
mClientPackageName = ensureString(src.readString());
|
||||
@@ -177,7 +179,7 @@ public final class RoutingSessionInfo implements Parcelable {
|
||||
*/
|
||||
@NonNull
|
||||
public String getId() {
|
||||
if (mProviderId != null) {
|
||||
if (!TextUtils.isEmpty(mProviderId)) {
|
||||
return MediaRouter2Utils.toUniqueId(mProviderId, mId);
|
||||
} else {
|
||||
return mId;
|
||||
@@ -421,7 +423,7 @@ public final class RoutingSessionInfo implements Parcelable {
|
||||
}
|
||||
|
||||
// mProviderId can be null if not set. Return the original list for this case.
|
||||
if (mProviderId == null) {
|
||||
if (TextUtils.isEmpty(mProviderId)) {
|
||||
return routeIds;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user