diff options
| author | 2022-12-20 07:42:56 +0000 | |
|---|---|---|
| committer | 2022-12-20 07:42:56 +0000 | |
| commit | cb0b34a58e365bdd41cd5ff3ad3da2fee7446160 (patch) | |
| tree | f4923857066ed1c838b2f3fbe9f3f84c4478c355 | |
| parent | 3b8bba1653ee8ff038dd6fa2ac271f0cad53fd34 (diff) | |
| parent | 192f3dd6d4f084a7d5a89bc75bee1c8de787edf6 (diff) | |
Merge "Add IWLAN ePDG IP preference in CarrierConfigManager"
| -rw-r--r-- | core/api/current.txt | 4 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CarrierConfigManager.java | 43 |
2 files changed, 46 insertions, 1 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index e3ec90ed4e55..c9b5af52db84 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -41837,6 +41837,9 @@ package android.telephony { field public static final int AUTHENTICATION_METHOD_CERT = 1; // 0x1 field public static final int AUTHENTICATION_METHOD_EAP_ONLY = 0; // 0x0 field public static final int EPDG_ADDRESS_CELLULAR_LOC = 3; // 0x3 + field public static final int EPDG_ADDRESS_IPV4_ONLY = 2; // 0x2 + field public static final int EPDG_ADDRESS_IPV4_PREFERRED = 0; // 0x0 + field public static final int EPDG_ADDRESS_IPV6_PREFERRED = 1; // 0x1 field public static final int EPDG_ADDRESS_PCO = 2; // 0x2 field public static final int EPDG_ADDRESS_PLMN = 1; // 0x1 field public static final int EPDG_ADDRESS_STATIC = 0; // 0x0 @@ -41851,6 +41854,7 @@ package android.telephony { field public static final String KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY = "iwlan.child_session_aes_ctr_key_size_int_array"; field public static final String KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY = "iwlan.diffie_hellman_groups_int_array"; field public static final String KEY_DPD_TIMER_SEC_INT = "iwlan.dpd_timer_sec_int"; + field public static final String KEY_EPDG_ADDRESS_IP_TYPE_PREFERENCE_INT = "iwlan.epdg_address_ip_type_preference_int"; field public static final String KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY = "iwlan.epdg_address_priority_int_array"; field public static final String KEY_EPDG_AUTHENTICATION_METHOD_INT = "iwlan.epdg_authentication_method_int"; field public static final String KEY_EPDG_PCO_ID_IPV4_INT = "iwlan.epdg_pco_id_ipv4_int"; diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 12d1bc3dc83a..d6142f7d1d23 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -8008,6 +8008,14 @@ public class CarrierConfigManager { public static final String KEY_SUPPORTS_EAP_AKA_FAST_REAUTH_BOOL = KEY_PREFIX + "supports_eap_aka_fast_reauth_bool"; + /** + * Type of IP preference used to prioritize ePDG servers. Possible values are + * {@link #EPDG_ADDRESS_IPV4_PREFERRED}, {@link #EPDG_ADDRESS_IPV6_PREFERRED}, + * {@link #EPDG_ADDRESS_IPV4_ONLY} + */ + public static final String KEY_EPDG_ADDRESS_IP_TYPE_PREFERENCE_INT = + KEY_PREFIX + "epdg_address_ip_type_preference_int"; + /** @hide */ @IntDef({AUTHENTICATION_METHOD_EAP_ONLY, AUTHENTICATION_METHOD_CERT}) public @interface AuthenticationMethodType {} @@ -8072,6 +8080,39 @@ public class CarrierConfigManager { */ public static final int ID_TYPE_KEY_ID = 11; + /** @hide */ + @IntDef({ + EPDG_ADDRESS_IPV4_PREFERRED, + EPDG_ADDRESS_IPV6_PREFERRED, + EPDG_ADDRESS_IPV4_ONLY, + EPDG_ADDRESS_IPV6_ONLY, + EPDG_ADDRESS_SYSTEM_PREFERRED + }) + public @interface EpdgAddressIpPreference {} + + /** Prioritize IPv4 ePDG addresses. */ + public static final int EPDG_ADDRESS_IPV4_PREFERRED = 0; + + /** Prioritize IPv6 ePDG addresses */ + public static final int EPDG_ADDRESS_IPV6_PREFERRED = 1; + + /** Use IPv4 ePDG addresses only. */ + public static final int EPDG_ADDRESS_IPV4_ONLY = 2; + + /** Use IPv6 ePDG addresses only. + * @hide + */ + public static final int EPDG_ADDRESS_IPV6_ONLY = 3; + + /** Follow the priority from DNS resolution results, which are sorted by using RFC6724 + * algorithm. + * + * @see <a href="https://tools.ietf.org/html/rfc6724#section-6">RFC 6724, Default Address + * Selection for Internet Protocol Version 6 (IPv6)</a> + * @hide + */ + public static final int EPDG_ADDRESS_SYSTEM_PREFERRED = 4; + private Iwlan() {} private static PersistableBundle getDefaults() { @@ -8155,7 +8196,7 @@ public class CarrierConfigManager { defaults.putInt(KEY_EPDG_PCO_ID_IPV6_INT, 0); defaults.putInt(KEY_EPDG_PCO_ID_IPV4_INT, 0); defaults.putBoolean(KEY_SUPPORTS_EAP_AKA_FAST_REAUTH_BOOL, false); - + defaults.putInt(KEY_EPDG_ADDRESS_IP_TYPE_PREFERENCE_INT, EPDG_ADDRESS_IPV4_PREFERRED); return defaults; } } |