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

Commit 152081e7 authored by Lei Yu's avatar Lei Yu Committed by Android (Google) Code Review
Browse files

Merge "Add null check for carrierConfig"

parents a2837815 16c5d77d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -62,12 +62,13 @@ public class ApnPreferenceController extends BasePreferenceController implements
    public int getAvailabilityStatus() {
        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
        final boolean isCdmaApn = MobileNetworkUtils.isCdmaOptions(mContext, mSubId)
                && carrierConfig != null
                && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL);
        final boolean isGsmApn = MobileNetworkUtils.isGsmOptions(mContext, mSubId)
                && carrierConfig != null
                && carrierConfig.getBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL);

        return carrierConfig != null
                && (isCdmaApn || isGsmApn)
        return isCdmaApn || isGsmApn
                ? AVAILABLE
                : CONDITIONALLY_UNAVAILABLE;
    }
+9 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.app.Activity;
import android.content.Context;
@@ -114,6 +115,14 @@ public class ApnPreferenceControllerTest {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    public void getAvailabilityStatus_carrierConfigNull_returnUnavailable() {
        doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
        when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(null);

        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
    }

    @Test
    public void handPreferenceTreeClick_fireIntent() {
        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);