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

Commit 2dc7cf46 authored by Nathan Harold's avatar Nathan Harold Committed by Android (Google) Code Review
Browse files

Merge "Range Check CarrierDisplayNameData Constructor" into main

parents 2fbe3109 934e8aee
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.internal.telephony.cdnr;

import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.Rlog;

import java.util.Objects;

@@ -25,6 +26,9 @@ import java.util.Objects;
 * A container of carrier display name.
 */
public class CarrierDisplayNameData implements Parcelable {

    private static String LOG_TAG = "CarrierDisplayNameData";

    /** Service provider name. */
    private final String mSpn;

@@ -40,8 +44,18 @@ public class CarrierDisplayNameData implements Parcelable {
    /** {@code True} if display PLMN network name is required. */
    private final boolean mShowPlmn;

    private CarrierDisplayNameData(String spn, String dataSpn, boolean showSpn, String plmn,
            boolean showPlmn) {
    private CarrierDisplayNameData(
            String spn, String dataSpn, boolean showSpn, String plmn, boolean showPlmn) {
        final String logString = "Data SPN must be provided if SPN is provided";
        if (spn != null && dataSpn == null) {
            Rlog.e(LOG_TAG, logString);
            if (android.os.Build.isDebuggable()) {
                throw new IllegalArgumentException(logString);
            } else {
                dataSpn = spn;
            }
        }

        this.mSpn = spn;
        this.mDataSpn = dataSpn;
        this.mShowSpn = showSpn;
+13 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.internal.telephony;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.fail;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;

@@ -36,6 +38,7 @@ import com.android.internal.telephony.uicc.UiccCardApplication;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import org.mockito.Mockito;

public class CarrierDisplayNameResolverTest extends TelephonyTest {
@@ -271,4 +274,14 @@ public class CarrierDisplayNameResolverTest extends TelephonyTest {
        assertThat(data.shouldShowPlmn()).isTrue();
        assertThat(data.getPlmn()).isEqualTo(HOME_PLMN_NUMERIC);
    }

    @Test
    public void testCarrierDisplayNameData_enforceNonNullDataSpn() {
        try {
            CarrierDisplayNameData cdnd = new CarrierDisplayNameData.Builder()
                    .setSpn("testSpn").build();
            fail("Expected IAE");
        } catch(IllegalArgumentException expected) {
        }
    }
}