Add null check for carrierConfig
Since it may return null when Crash happens in CarrierConfigManager Bug: 118402844 Test: RunSettingsRoboTests Change-Id: I9db0f1a873b3e24936b021989f6716369569b17b
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user