Merge "Using carrier config for hiding 3G item at preferred network mode" into main

This commit is contained in:
SongFerng Wang
2023-12-28 09:40:26 +00:00
committed by Android (Google) Code Review

View File

@@ -39,6 +39,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import com.android.settings.R; import com.android.settings.R;
import com.android.internal.telephony.flags.Flags;
import com.android.settings.network.AllowedNetworkTypesListener; import com.android.settings.network.AllowedNetworkTypesListener;
import com.android.settings.network.CarrierConfigCache; import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.SubscriptionsChangeListener; import com.android.settings.network.SubscriptionsChangeListener;
@@ -241,6 +242,7 @@ public class EnabledNetworkModePreferenceController extends
public void updateConfig() { public void updateConfig() {
mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId); mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId); final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId);
final boolean flagHidePrefer3gItem = Flags.hidePrefer3gItem();
mAllowed5gNetworkType = checkSupportedRadioBitmask( mAllowed5gNetworkType = checkSupportedRadioBitmask(
mTelephonyManager.getAllowedNetworkTypesForReason( mTelephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER), TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER),
@@ -256,14 +258,19 @@ public class EnabledNetworkModePreferenceController extends
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL); CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
mDisplay2gOptions = carrierConfig.getBoolean( mDisplay2gOptions = carrierConfig.getBoolean(
CarrierConfigManager.KEY_PREFER_2G_BOOL); CarrierConfigManager.KEY_PREFER_2G_BOOL);
// TODO: Using the carrier config.
if (flagHidePrefer3gItem) {
mDisplay3gOptions = carrierConfig.getBoolean(
CarrierConfigManager.KEY_PREFER_3G_VISIBILITY_BOOL);
} else {
mDisplay3gOptions = getResourcesForSubId().getBoolean( mDisplay3gOptions = getResourcesForSubId().getBoolean(
R.bool.config_display_network_mode_3g_option); R.bool.config_display_network_mode_3g_option);
int[] carriersWithout3gMenu = getResourcesForSubId().getIntArray( int[] carriersWithout3gMenu = getResourcesForSubId().getIntArray(
R.array.network_mode_3g_deprecated_carrier_id); R.array.network_mode_3g_deprecated_carrier_id);
if ((carriersWithout3gMenu != null) && (carriersWithout3gMenu.length > 0)) { if ((carriersWithout3gMenu != null) && (carriersWithout3gMenu.length > 0)) {
SubscriptionManager sm = mContext.getSystemService(SubscriptionManager.class); SubscriptionManager sm = mContext.getSystemService(
SubscriptionManager.class);
SubscriptionInfo subInfo = sm.getActiveSubscriptionInfo(mSubId); SubscriptionInfo subInfo = sm.getActiveSubscriptionInfo(mSubId);
if (subInfo != null) { if (subInfo != null) {
int carrierId = subInfo.getCarrierId(); int carrierId = subInfo.getCarrierId();
@@ -276,6 +283,7 @@ public class EnabledNetworkModePreferenceController extends
} }
} }
} }
}
mLteEnabled = carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL); mLteEnabled = carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL);
} }