diff options
| -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 f04eef75ef5e..384f7f15429c 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 d79c1ca30763..19c28994772e 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -8019,6 +8019,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 {} @@ -8083,6 +8091,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() { @@ -8166,7 +8207,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; } } |