From d5f25c226201dc5a5701428509d0a3bc56d7a9fd Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Wed, 17 Feb 2021 14:08:42 -0800 Subject: [PATCH] Simplified the initial attach APN logic 1. Instead of using the hardcoded order, read the order from configuration. This also allows carriers to specify the allowed types of APN can be used for initial attach. 2. Removed the preferred APN logic. The preferred APN is specifically for the default APN after a successful data setup. It's not related to initial attach. Fix: 169657628 Test: Manual Merged-In: I9fbf4f270726cba1281770db88fec7c1bb62e6db Change-Id: I9fbf4f270726cba1281770db88fec7c1bb62e6db (cherry picked from commit 0bebba7378f5281ed79860942f587b33723d596f) --- .../java/android/telephony/CarrierConfigManager.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 3b46371177d76..9861973bcae86 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -4147,6 +4147,16 @@ public class CarrierConfigManager { public static final String KEY_NETWORK_TEMP_NOT_METERED_SUPPORTED_BOOL = "network_temp_not_metered_supported_bool"; + /** + * Indicates the allowed APN types that can be used for LTE initial attach. The order of APN + * types in the configuration is the order of APN types that will be used for initial attach. + * Empty list indicates that no APN types are allowed for initial attach. + * + * @hide + */ + public static final String KEY_ALLOWED_INITIAL_ATTACH_APN_TYPES_STRING_ARRAY = + "allowed_initial_attach_apn_types_string_array"; + /** The default value for every variable. */ private final static PersistableBundle sDefaults; @@ -4698,6 +4708,8 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_USE_ACS_FOR_RCS_BOOL, false); sDefaults.putBoolean(KEY_NETWORK_TEMP_NOT_METERED_SUPPORTED_BOOL, false); sDefaults.putInt(KEY_DEFAULT_RTT_MODE_INT, 0); + sDefaults.putStringArray(KEY_ALLOWED_INITIAL_ATTACH_APN_TYPES_STRING_ARRAY, + new String[]{"ia", "default", "ims", "mms", "dun", "emergency"}); } /**