Loading src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +6 −3 Original line number Diff line number Diff line Loading @@ -177,18 +177,21 @@ public class EnabledNetworkModePreferenceController extends R.array.enabled_networks_tdscdma_choices); preference.setEntryValues( R.array.enabled_networks_tdscdma_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL) } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL) && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { preference.setEntries(R.array.enabled_networks_except_gsm_lte_choices); preference.setEntryValues(R.array.enabled_networks_except_gsm_lte_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) { } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) { int select = mShow4GForLTE ? R.array.enabled_networks_except_gsm_4g_choices : R.array.enabled_networks_except_gsm_choices; preference.setEntries(select); preference.setEntryValues( R.array.enabled_networks_except_gsm_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { preference.setEntries( R.array.enabled_networks_except_lte_choices); preference.setEntryValues( Loading src/com/android/settings/network/telephony/MobileNetworkUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,7 @@ public class MobileNetworkUtils { final PersistableBundle carrierConfig = context.getSystemService( CarrierConfigManager.class).getConfigForSubId(subId); if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID || carrierConfig == null || !carrierConfig.getBoolean( CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL) || (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL) Loading src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java +4 −2 Original line number Diff line number Diff line Loading @@ -112,8 +112,10 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId); final PersistableBundle carrierConfig = mContext.getSystemService( CarrierConfigManager.class).getConfigForSubId(mSubId); mOnlyAutoSelectInHome = carrierConfig.getBoolean( CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL); mOnlyAutoSelectInHome = carrierConfig != null ? carrierConfig.getBoolean( CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL) : false; return this; } Loading tests/robotests/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -111,4 +111,12 @@ public class AutoSelectPreferenceControllerTest { mContext.getString(R.string.manual_mode_disallowed_summary, mTelephonyManager.getSimOperatorName())); } @Test public void init_carrierConfigNull_shouldNotCrash() { when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(null); // Should not crash mController.init(SUB_ID); } } Loading
src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +6 −3 Original line number Diff line number Diff line Loading @@ -177,18 +177,21 @@ public class EnabledNetworkModePreferenceController extends R.array.enabled_networks_tdscdma_choices); preference.setEntryValues( R.array.enabled_networks_tdscdma_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL) } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL) && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { preference.setEntries(R.array.enabled_networks_except_gsm_lte_choices); preference.setEntryValues(R.array.enabled_networks_except_gsm_lte_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) { } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) { int select = mShow4GForLTE ? R.array.enabled_networks_except_gsm_4g_choices : R.array.enabled_networks_except_gsm_choices; preference.setEntries(select); preference.setEntryValues( R.array.enabled_networks_except_gsm_values); } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { } else if (carrierConfig != null && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) { preference.setEntries( R.array.enabled_networks_except_lte_choices); preference.setEntryValues( Loading
src/com/android/settings/network/telephony/MobileNetworkUtils.java +1 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,7 @@ public class MobileNetworkUtils { final PersistableBundle carrierConfig = context.getSystemService( CarrierConfigManager.class).getConfigForSubId(subId); if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID || carrierConfig == null || !carrierConfig.getBoolean( CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL) || (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL) Loading
src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java +4 −2 Original line number Diff line number Diff line Loading @@ -112,8 +112,10 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId); final PersistableBundle carrierConfig = mContext.getSystemService( CarrierConfigManager.class).getConfigForSubId(mSubId); mOnlyAutoSelectInHome = carrierConfig.getBoolean( CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL); mOnlyAutoSelectInHome = carrierConfig != null ? carrierConfig.getBoolean( CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL) : false; return this; } Loading
tests/robotests/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -111,4 +111,12 @@ public class AutoSelectPreferenceControllerTest { mContext.getString(R.string.manual_mode_disallowed_summary, mTelephonyManager.getSimOperatorName())); } @Test public void init_carrierConfigNull_shouldNotCrash() { when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(null); // Should not crash mController.init(SUB_ID); } }