Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 192f3dd6 authored by Jeremy Chow's avatar Jeremy Chow
Browse files

Add IWLAN ePDG IP preference in CarrierConfigManager

Bug: 195491792
Test: atest
Change-Id: I7821699c4f959604ead61d734cffa359731fb369
parent 995e16c9
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -41797,6 +41797,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
@@ -41811,6 +41814,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";
+42 −1
Original line number Diff line number Diff line
@@ -8051,6 +8051,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 {}
@@ -8115,6 +8123,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() {
@@ -8198,7 +8239,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;
        }
    }