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

Commit 093d7d20 authored by Alex Dadukin's avatar Alex Dadukin
Browse files

Fix issues with nullability contract in MediaRouter2Utils

Bug: b/259025372
Test: atest MediaRoute2InfoTest RoutingSessionInfoTest
Change-Id: I3e6de420582db117d7dae6bb460614d27b1b322a
parent 30d7c9f6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;
+4 −8
Original line number Diff line number Diff line
@@ -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;
    }
+6 −4
Original line number Diff line number Diff line
@@ -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;
        }