[Settings] Refactor MobileNetworkUtils

Code refactor MobileNetworkUtils
  - Access CarrierConfig API prior to Telephony API

Bug: 201757298
Test: presubmit pass
Change-Id: I3a0de8bc9c9423cac6d146fdb20071e5526e74bd
This commit is contained in:
Bonian Chen
2021-10-15 09:47:16 +08:00
parent 4c11d0c7bb
commit 51a1245def

View File

@@ -355,21 +355,22 @@ public class MobileNetworkUtils {
if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
return false;
}
final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
.createForSubscriptionId(subId);
final PersistableBundle carrierConfig = context.getSystemService(
CarrierConfigManager.class).getConfigForSubId(subId);
if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
return true;
} else if (carrierConfig != null
if (carrierConfig != null
&& !carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
&& carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
return true;
}
final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
.createForSubscriptionId(subId);
if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
return true;
}
if (isWorldMode(context, subId)) {
final int settingsNetworkMode = getNetworkTypeFromRaf(
(int) telephonyManager.getAllowedNetworkTypesForReason(