Merge cherrypicks of [16736784] into sc-v2-release.

Change-Id: I8399bf6b1d76ed0d0d521264b4a8970e058d097e
diff --git a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
index 0321ab1..ef70e14 100644
--- a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
+++ b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
@@ -1,8 +1,8 @@
 drops {
   android_build_drop {
-    build_id: "7728754"
+    build_id: "7915236"
     target: "mainline_modules-user"
-    source_file: "mainline-sdks/ipsec-module-sdk-current.zip"
+    source_file: "mainline-sdks/current/com.google.android.ipsec/sdk/ipsec-module-sdk-current.zip"
   }
   dest_file: "current/current.zip"
   version: ""
diff --git a/current/Android.bp.auto b/current/Android.bp.auto
old mode 100755
new mode 100644
index 124fb56..6446778
--- a/current/Android.bp.auto
+++ b/current/Android.bp.auto
@@ -1,5 +1,14 @@
 // This is auto-generated. DO NOT EDIT.
 
+// Soong config variable stanza added by vendor/google/build/mainline_modules_sdks.py.
+soong_config_module_type_import {
+    from: "packages/modules/common/Android.bp",
+    module_types: [
+        "module_java_sdk_library_import",
+        "module_prebuilt_bootclasspath_fragment",
+    ],
+}
+
 package {
     // A default list here prevents the license LSC from adding its own list which would
     // be unnecessary as every module in the sdk already has its own licenses property.
@@ -22,9 +31,15 @@
     },
 }
 
-prebuilt_bootclasspath_fragment {
+module_prebuilt_bootclasspath_fragment {
     name: "com.android.ipsec-bootclasspath-fragment",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: ["com.android.ipsec"],
     licenses: ["ipsec-module-sdk_Android-Apache-2.0"],
@@ -59,6 +74,7 @@
         stub_srcs: ["sdk_library/public/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/public/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/public/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/public/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -66,6 +82,7 @@
         stub_srcs: ["sdk_library/system/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/system/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/system/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/system/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -73,13 +90,20 @@
         stub_srcs: ["sdk_library/module-lib/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/module-lib/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/module-lib/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/module-lib/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
 }
 
-java_sdk_library_import {
+module_java_sdk_library_import {
     name: "android.net.ipsec.ike",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: [
         "com.android.ipsec",
@@ -98,6 +122,7 @@
         stub_srcs: ["sdk_library/public/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/public/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/public/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/public/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -105,6 +130,7 @@
         stub_srcs: ["sdk_library/system/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/system/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/system/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/system/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -112,6 +138,7 @@
         stub_srcs: ["sdk_library/module-lib/android.net.ipsec.ike.srcjar"],
         current_api: "sdk_library/module-lib/android.net.ipsec.ike.txt",
         removed_api: "sdk_library/module-lib/android.net.ipsec.ike-removed.txt",
+        annotations: "sdk_library/module-lib/android.net.ipsec.ike_annotations.zip",
         sdk_version: "module_current",
     },
 }
diff --git a/current/hiddenapi/all-flags.csv b/current/hiddenapi/all-flags.csv
index cbbbf33..bc286f0 100644
--- a/current/hiddenapi/all-flags.csv
+++ b/current/hiddenapi/all-flags.csv
@@ -591,6 +591,7 @@
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_ACCEPT_ANY_REMOTE_ID:I,public-api,sdk,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_EAP_ONLY_AUTH:I,public-api,sdk,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_FORCE_PORT_4500:I,public-api,sdk,system-api,test-api
+Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_INITIAL_CONTACT:I,blocked
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_MOBIKE:I,public-api,sdk,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_RETRANS_MAX_ATTEMPTS_MAX:I,blocked
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_RETRANS_TIMEOUT_MS_LIST_DEFAULT:[I,blocked
@@ -872,6 +873,7 @@
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/String;)V,blocked
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V,blocked
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/Throwable;)V,blocked
+Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/String;)V,blocked
 Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V,public-api,sdk,system-api,test-api
 Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/Throwable;)V,public-api,sdk,system-api,test-api
 Landroid/net/ipsec/ike/exceptions/IkeNetworkLostException;-><init>(Landroid/net/Network;)V,public-api,sdk,system-api,test-api
@@ -1027,27 +1029,24 @@
 Lcom/android/internal/net/crypto/KeyGenerationUtils$ByteSigner;->signBytes([B[B)[B,blocked
 Lcom/android/internal/net/crypto/KeyGenerationUtils;-><init>()V,blocked
 Lcom/android/internal/net/crypto/KeyGenerationUtils;->prfPlus(Lcom/android/internal/net/crypto/KeyGenerationUtils$ByteSigner;[B[BI)[B,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><clinit>()V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><init>()V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->INSTANCE:Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->getRandom()Ljava/security/SecureRandom;,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;)V,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;)V,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;Lcom/android/internal/net/eap/EapResult;)V,blocked
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->f$1:Lcom/android/internal/net/eap/EapResult;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,sdk,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;Lcom/android/internal/net/eap/EapResult;)V,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;[B)V,blocked
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$1:Lcom/android/internal/net/eap/EapResult;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$1:[B,blocked
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->run()V,core-platform-api,public-api,sdk,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;[B)V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->f$1:[B,blocked
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->run()V,core-platform-api,public-api,sdk,system-api,test-api
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getContext()Landroid/content/Context;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getLooper()Landroid/os/Looper;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getRandomnessFactory()Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;->getRandom()Ljava/security/SecureRandom;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;-><clinit>()V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;)V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;)V,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Lcom/android/internal/net/eap/statemachine/EapStateMachine;Ljava/util/concurrent/Executor;J)V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;->DEFAULT_RANDOM_FACTORY:Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Lcom/android/internal/net/eap/EapAuthenticator$EapContext;Lcom/android/internal/net/eap/IEapCallback;Landroid/net/eap/EapSessionConfig;)V,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->DEFAULT_TIMEOUT_MILLIS:J,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->EAP_TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->LOG:Lcom/android/internal/net/utils/Log;,blocked
@@ -1055,10 +1054,9 @@
 Lcom/android/internal/net/eap/EapAuthenticator;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->createNewRandomIfNull(Ljava/security/SecureRandom;)Ljava/security/SecureRandom;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->handleMessage(Landroid/os/Message;)V,public-api,sdk,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$1$EapAuthenticator()V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$2$EapAuthenticator(Lcom/android/internal/net/eap/EapResult;)V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$3$EapAuthenticator([B)V,blocked
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$static$0()Ljava/security/SecureRandom;,blocked
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$0$EapAuthenticator()V,blocked
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$1$EapAuthenticator(Lcom/android/internal/net/eap/EapResult;)V,blocked
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$2$EapAuthenticator([B)V,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->mCallbackFired:Z,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->mCb:Lcom/android/internal/net/eap/IEapCallback;,blocked
 Lcom/android/internal/net/eap/EapAuthenticator;->mStateMachine:Lcom/android/internal/net/eap/statemachine/EapStateMachine;,blocked
@@ -2106,7 +2104,6 @@
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->RETRY_INTERVAL_MS:J,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->SHARED_CMD_TO_STR:Landroid/util/SparseArray;,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->TIMEOUT_REKEY_REMOTE_DELETE:I,blocked
-Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->access$000(Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->executeUserCallback(Ljava/lang/Runnable;)V,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->killSession()V,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->log(Ljava/lang/String;)V,blocked
@@ -2123,6 +2120,7 @@
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mIsClosing:Z,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mLogTag:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mUserCbExecutor:Ljava/util/concurrent/Executor;,blocked
+Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->quitSessionNow()V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Landroid/net/ipsec/ike/exceptions/IkeException;)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;->f$1:Landroid/net/ipsec/ike/exceptions/IkeException;,blocked
@@ -2131,6 +2129,13 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$1;)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;->processStateMessage(Landroid/os/Message;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;->this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;-><init>(ILandroid/os/Handler;Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Ljava/util/concurrent/Executor;)V,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ikeHandler:Landroid/os/Handler;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ikeSessionId:I,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ipSecManager:Landroid/net/IpSecManager;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ipSecSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->sessionParams:Landroid/net/ipsec/ike/ChildSessionParams;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->userCbExecutor:Ljava/util/concurrent/Executor;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;->enterState()V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;->exitState()V,blocked
@@ -2315,7 +2320,7 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete;->processStateMessage(Landroid/os/Message;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete;->this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><clinit>()V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)V,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_GENERAL_BASE:I,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_HANDLE_FIRST_CHILD_EXCHANGE:I,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_HANDLE_RECEIVED_REQUEST:I,blocked
@@ -2326,16 +2331,15 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CREATE_STATUS_OK:I,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->SPI_NOT_REGISTERED:I,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->TAG:Ljava/lang/String;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1200(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSaProposal;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSaProposal;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$200(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$300(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Z)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$400()Landroid/util/SparseArray;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/content/Context;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeContext;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$700(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)Lcom/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Ljava/lang/Exception;)V,blocked
@@ -2358,13 +2362,13 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mChildSmCallback:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mClosedAndAwaitResponse:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mContext:Landroid/content/Context;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mCreateChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mCurrentChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mDeleteChildLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mDeleteChildRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIdleWithDeferredRequest:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeDhGroup:I,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeHandler:Landroid/os/Handler;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkePrf:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacPrf;,blocked
@@ -2379,7 +2383,6 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mLocalRequestFactory:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mLocalTs:[Landroid/net/ipsec/ike/IkeTrafficSelector;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mMobikeRekeyChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildRemoteCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
@@ -2400,14 +2403,14 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->replyErrorNotification(I)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->replyErrorNotification(I[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->setSkD([B)V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$ChildSessionFactoryHelper;-><init>()V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$ChildSessionFactoryHelper;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;-><clinit>()V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;-><init>()V,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->sChildSessionHelper:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;,blocked
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->setChildSessionFactoryHelper(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getContext()Landroid/content/Context;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getLooper()Landroid/os/Looper;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getRandomnessFactory()Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getRandomnessFactory()Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mContext:Landroid/content/Context;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mLooper:Landroid/os/Looper;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;-><init>()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->BASE_GENERATOR_MODP:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_1024_BIT_MODP:Ljava/lang/String;,blocked
@@ -2415,8 +2418,6 @@
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_2048_BIT_MODP:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_3072_BIT_MODP:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_4096_BIT_MODP:Ljava/lang/String;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;-><init>()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;->newEapAuthenticator(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;)Lcom/android/internal/net/eap/EapAuthenticator;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;-><init>(IILandroid/net/ipsec/ike/ChildSessionCallback;Landroid/net/ipsec/ike/ChildSessionParams;I)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;-><init>(IILandroid/net/ipsec/ike/ChildSessionCallback;Landroid/net/ipsec/ike/ChildSessionParams;ILcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$1;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;->childSessionCallback:Landroid/net/ipsec/ike/ChildSessionCallback;,blocked
@@ -2476,8 +2477,9 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;->onNewProcedureReady(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/net/Network;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->f$1:Landroid/net/Network;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,sdk,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/net/ipsec/ike/exceptions/IkeException;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda2;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
@@ -2506,6 +2508,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->enterState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->executeLocalRequest(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->exitState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getChildSession(Landroid/net/ipsec/ike/ChildSessionCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getChildSession(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getEncapSocketOrNull()Landroid/net/IpSecManager$UdpEncapsulationSocket;,blocked
@@ -2520,6 +2523,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mAwaitingChildResponse:Ljava/util/Set;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mChildInLocalProcedure:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mChildInRemoteProcedures:Ljava/util/Set;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mFirstChildReqList:Ljava/util/List;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mLastInboundRequestMsgId:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mLocalRequestOngoing:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mOutboundRespPayloads:Ljava/util/List;,blocked
@@ -2545,6 +2549,9 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->exitState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->handleResponseGenericProcessError(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Landroid/net/ipsec/ike/exceptions/InvalidSyntaxException;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mFirstChildReqList:Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mInitIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mRespIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mUseEap:Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->processStateMessage(Landroid/os/Message;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
@@ -2557,14 +2564,17 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->authenticatePsk([BLcom/android/internal/net/ipsec/ike/message/IkeAuthPayload;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->buildIkeAuthReqMessage(Ljava/util/List;)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->buildIkeSessionConfiguration(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)Landroid/net/ipsec/ike/IkeSessionConfiguration;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->enterState()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->exitState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->extractChildPayloadsFromMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)Ljava/util/List;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->handleNotifyInLastAuthResp(Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;Lcom/android/internal/net/ipsec/ike/message/IkeAuthPayload;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->handleRequestIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;ILandroid/os/Message;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->lambda$notifyIkeSessionSetup$0$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase(Landroid/net/ipsec/ike/IkeSessionConfiguration;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->mRetransmitter:Lcom/android/internal/net/ipsec/ike/utils/Retransmitter;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->mSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->notifyIkeSessionSetup(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->performFirstChildNegotiation(Ljava/util/List;Ljava/util/List;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->setUpMobilityHandling()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->triggerRetransmit()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;)V,blocked
@@ -2576,6 +2586,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback;->this$1:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->enterState()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->exitState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->handleResponseGenericProcessError(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Landroid/net/ipsec/ike/exceptions/InvalidSyntaxException;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->mEapAuthenticator:Lcom/android/internal/net/eap/EapAuthenticator;,blocked
@@ -2604,12 +2615,18 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleNatDetection(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleReceivedIkePacket(Landroid/os/Message;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitRequestBytes:[B,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitResponseBytes:[B,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mInitialSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mLocalIkeSpiResource:Lcom/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mPeerSignatureHashAlgorithms:Ljava/util/Set;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mRemoteIkeSpiResource:Lcom/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mRetransmitter:Lcom/android/internal/net/ipsec/ike/utils/Retransmitter;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->processStateMessage(Landroid/os/Message;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->sendRequest(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->switchToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->triggerRetransmit()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->validateIkeInitResp(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
@@ -2645,6 +2662,12 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->lambda$handleDeleteSessionRequest$0$IkeSessionStateMachine$DeleteResponderBase()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->validateIkeDeleteReq(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;-><init>()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newChildSessionStateMachine(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newEapAuthenticator(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/eap/IEapCallback;Landroid/net/eap/EapSessionConfig;)Lcom/android/internal/net/eap/EapAuthenticator;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newIkeConnectionController(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;)Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newIkeContext(Landroid/os/Looper;Landroid/content/Context;Landroid/net/Network;)Lcom/android/internal/net/ipsec/ike/IkeContext;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newLocalRequestFactory()Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;->enterState()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;->exitState()V,blocked
@@ -2683,10 +2706,29 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->mDpdAlarm:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->processStateMessage(Landroid/os/Message;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;Ljava/util/List;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->firstChildReqList:Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->initIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->respIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;[B[BLcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;Ljava/util/Set;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitRequestBytes:[B,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitResponseBytes:[B,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->peerSignatureHashAlgorithms:Ljava/util/Set;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->enterState()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->exitState()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->mInitialSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->processStateMessage(Landroid/os/Message;)Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;-><init>(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;I)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->firstChildCallback:Landroid/net/ipsec/ike/ChildSessionCallback;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->firstChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->peerSelectedDhGroup:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api
@@ -2808,7 +2850,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;->reset()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><clinit>()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ConnectivityManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ConnectivityManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->BUNDLE_KEY_CHILD_REMOTE_SPI:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->BUNDLE_KEY_IKE_REMOTE_SPI:Ljava/lang/String;,blocked
@@ -2840,170 +2882,116 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->CMD_SET_NETWORK:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->CMD_TO_STR:Landroid/util/SparseArray;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->DEFAULT_FRAGMENT_SIZE:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->EXCHANGE_SUBTYPE_TO_STRING:Landroid/util/SparseArray;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_CREATE_CHILD:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_DELETE_CHILD:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_DELETE_IKE:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_GENERIC_INFO:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_IKE_AUTH:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_IKE_INIT:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_INVALID:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_REKEY_CHILD:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_REKEY_IKE:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_SESSION_LOCK:Ljava/lang/Object;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->MAX_DNS_RESOLUTION_ATTEMPTS:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->TEMP_FAILURE_RETRY_TIMEOUT_MS:J,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Z)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/IkeSessionCallback;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/lang/Exception;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/os/PowerManager$WakeLock;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;IJ)Landroid/os/Message;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/content/Context;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;J)Ljava/lang/String;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/LongSparseArray;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;IJ)Landroid/os/Message;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)I,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1200(IJ)Ljava/lang/String;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/LongSparseArray;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;[[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/SparseArray;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2000(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;[[B)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionParams;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3402(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;)Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ConnectivityManager;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;ZZ)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;I)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3200(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$400()Landroid/util/SparseArray;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$4200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;I)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$4300(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/lang/Exception;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/os/PowerManager$WakeLock;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->addIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->addNatDetectionPayloadsToList(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndSendErrorNotificationResponse(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;II)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndSendNotificationResponse(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;ILcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndStartNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedInformationalMessage(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;[Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;ZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedInformationalMessage([Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;ZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedNotificationMessage(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;[Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;IZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildIkeAlarmIntent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)Landroid/app/PendingIntent;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildKeepaliveAlarmConfig(Landroid/os/Handler;Landroid/content/Context;II)Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildSaLifetimeAlarmScheduler(J)Lcom/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeAllSaRecords(Z)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeChildSession(Landroid/net/ipsec/ike/ChildSessionCallback;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Z)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeSession()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->didPeerIncludeNattDetectionPayloads(Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getAndSwitchToIkeSocket(ZZ)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIkeExchangeSubType(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIkeSocket(ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier()Ljava/lang/String;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(J)Ljava/lang/String;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(I)Ljava/lang/String;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(IJ)Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIkeSmMsg(IJ)Landroid/os/Message;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->handleIkeFatalError(Ljava/lang/Exception;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->hasChildSessionCallback(Landroid/net/ipsec/ike/ChildSessionCallback;)Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->isLocalOrRemoteNatDetected(JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->killSession()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$handleIkeFatalError$1$IkeSessionStateMachine(Landroid/net/ipsec/ike/exceptions/IkeException;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$new$0$IkeSessionStateMachine(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$onUnderlyingNetworkDied$2$IkeSessionStateMachine()V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$onUnderlyingNetworkDied$2$IkeSessionStateMachine(Landroid/net/Network;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mAlarmManager:Landroid/app/AlarmManager;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mBusyWakeLock:Landroid/os/PowerManager$WakeLock;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildCbToSessions:Ljava/util/HashMap;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildProcedureOngoing:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mConnectivityManager:Landroid/net/ConnectivityManager;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mContext:Landroid/content/Context;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuth:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthInEap:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthPostEap:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeInit:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildProcedureOngoing:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuth:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthInEap:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthPostEap:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthPostEap;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeInit:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCurrentIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeleteIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDpdIkeLocalInfo:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mEapAuthenticatorFactory:Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeleteIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteIkeLocalDelete;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeps:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDpdIkeLocalInfo:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mEnabledExtensions:Ljava/util/List;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildCallbacks:Landroid/net/ipsec/ike/ChildSessionCallback;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildReqList:Ljava/util/List;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mHasCheckedNattSupport:Z,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIke3gppExtensionExchange:Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeCipher:Lcom/android/internal/net/ipsec/ike/crypto/IkeCipher;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitRequestBytes:[B,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitResponseBytes:[B,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeConnectionCtrl:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeIntegrity:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeLocalAddressGenerator:Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeNattKeepalive:Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkePrf:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacPrf;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordAwaitingLocalDel:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordAwaitingRemoteDel:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordSurviving:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionCallback:Landroid/net/ipsec/ike/IkeSessionCallback;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionId:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionParams:Landroid/net/ipsec/ike/IkeSessionParams;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSocket:Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitial:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitial:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIpSecManager:Landroid/net/IpSecManager;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIpSecSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mKillIkeSessionParent:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalAddress:Ljava/net/InetAddress;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mKillIkeSessionParent:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalInitNewIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalNatDetected:Z,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalPort:I,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalRequestFactory:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalSpiToIkeSaRecordMap:Landroid/util/LongSparseArray;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mMobikeLocalInfo:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mNetwork:Landroid/net/Network;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mNetworkCallback:Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mPeerSelectedDhGroup:I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mPeerSignatureHashAlgorithms:Ljava/util/Set;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mReceiving:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddress:Ljava/net/InetAddress;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddressesV4:Ljava/util/List;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddressesV6:Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mMobikeLocalInfo:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$MobikeLocalInfo;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mReceiving:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Receiving;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeLocalCreate;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeLocalDelete;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeRemoteDelete;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteInitNewIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteNatDetected:Z,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteSpiToChildSessionMap:Landroid/util/SparseArray;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteVendorIds:Ljava/util/List;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRespIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSaProposal:Landroid/net/ipsec/ike/IkeSaProposal;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mScheduler:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDeleteRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportFragment:Z,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportMobike:Z,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportNatTraversal:Z,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalCreate;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalDelete;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDeleteRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalDeleteRemoteDelete;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeRemoteDelete;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mTempFailHandler:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->migrateSpiToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onError(Landroid/net/ipsec/ike/exceptions/IkeInternalException;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onQuitting()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkDied()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkUpdated(Landroid/net/Network;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkDied(Landroid/net/Network;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkUpdated()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->openChildSession(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->openSession()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->receiveIkePacket(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->registerChildSessionCallback(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;Z)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->removeIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->resolveAndSetAvailableRemoteAddresses()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sContextToIkeSmMap:Ljava/util/HashMap;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sIkeAlarmReceiver:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sIkeSessionIdGenerator:Ljava/util/concurrent/atomic/AtomicInteger;,blocked
@@ -3013,9 +3001,6 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sendEncryptedIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sendEncryptedIkePackets([[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->setNetwork(Landroid/net/Network;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->setRemoteAddress()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->switchToIkeSocket(Lcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->updateLocalAndRemoteNatDetected(JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api
@@ -3023,6 +3008,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->f$1:[B,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,sdk,system-api,test-api
+Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket$IPacketReceiver;->handlePacket([BLandroid/util/LongSparseArray;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/os/Handler;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->RCV_BUFFER_SIZE:I,blocked
@@ -3039,14 +3025,14 @@
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->handlePacket([BI)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->lambda$start$0$IkeSocket([B)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->lambda$start$1$IkeSocket()V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->mAliveIkeSessions:Ljava/util/Set;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->mHandler:Landroid/os/Handler;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->mIkeSocketConfig:Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->mSpiToIkeSession:Landroid/util/LongSparseArray;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->mRegisteredCallbacks:Ljava/util/Set;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->mSpiToCallback:Landroid/util/LongSparseArray;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->parseAndDemuxIkePacket([BLandroid/util/LongSparseArray;Ljava/lang/String;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->receiveFromFd()[B,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->registerIke(JLcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->releaseReference(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->registerIke(JLcom/android/internal/net/ipsec/ike/IkeSocket$Callback;)V,blocked
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->releaseReference(Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->sendIkePacket([BLjava/net/InetAddress;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->start()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->stop()V,blocked
@@ -3063,14 +3049,14 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->INADDR_ANY:Ljava/net/InetAddress;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->close()V,core-platform-api,public-api,sdk,system-api,test-api
-Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->sConfigToSocketMap:Ljava/util/Map;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;-><clinit>()V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;-><init>(Ljava/io/FileDescriptor;Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/os/Handler;)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->INADDR_ANY:Ljava/net/InetAddress;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->close()V,core-platform-api,public-api,sdk,system-api,test-api
-Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->openUdp6Sock(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;)Ljava/io/FileDescriptor;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->sConfigToSocketMap:Ljava/util/Map;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;-><clinit>()V,blocked
@@ -3078,7 +3064,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->close()V,core-platform-api,public-api,sdk,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeServerPort()I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->handlePacket([BI)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->mUdpEncapPortPacketHandler:Lcom/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->sConfigToSocketMap:Ljava/util/Map;,blocked
@@ -3102,7 +3088,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->close()V,core-platform-api,public-api,sdk,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getFd()Ljava/io/FileDescriptor;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeServerPort()I,blocked
-Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Looper;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Looper;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getUdpEncapsulationSocket()Landroid/net/IpSecManager$UdpEncapsulationSocket;,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->handlePacket([BI)V,blocked
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->mUdpEncapPortPacketHandler:Lcom/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler;,blocked
@@ -3851,6 +3837,16 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_PARTIAL:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_PROTECTED_ERROR:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_UNPROTECTED_ERROR:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->EXCHANGE_SUBTYPE_TO_STRING:Landroid/util/SparseArray;,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_CREATE_CHILD:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_DELETE_CHILD:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_DELETE_IKE:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_GENERIC_INFO:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_IKE_AUTH:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_IKE_INIT:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_INVALID:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_REKEY_CHILD:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_REKEY_IKE:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->REPEATABLE_PAYLOAD_TYPES:Ljava/util/Set;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->TAG:Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->TRUST_MANAGER_PROVIDER:Ljava/security/Provider;,blocked
@@ -3863,6 +3859,8 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encode()[B,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encodePayloads()[B,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encryptAndEncode(Lcom/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity;Lcom/android/internal/net/ipsec/ike/crypto/IkeCipher;Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;ZI)[[B,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getIkeExchangeSubType()I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getIkeExchangeSubTypeString(I)Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getPayloadForType(ILjava/lang/Class;)Lcom/android/internal/net/ipsec/ike/message/IkePayload;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getPayloadListForType(ILjava/lang/Class;)Ljava/util/List;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getTrustManagerProvider()Ljava/security/Provider;,blocked
@@ -3900,6 +3898,7 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_EAP_ONLY_AUTHENTICATION:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_ESP_TFC_PADDING_NOT_SUPPORTED:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED:I,blocked
+Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_INITIAL_CONTACT:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_IPCOMP_SUPPORTED:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_MOBIKE_SUPPORTED:I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP:I,blocked
@@ -4207,6 +4206,91 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->getPayloadLength()I,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->getTypeString()Ljava/lang/String;,blocked
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->vendorId:[B,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onError(Landroid/net/ipsec/ike/exceptions/IkeInternalException;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onUnderlyingNetworkDied(Landroid/net/Network;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onUnderlyingNetworkUpdated()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;-><init>(Landroid/net/ipsec/ike/IkeSessionParams;Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->callback:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->ikeParams:Landroid/net/ipsec/ike/IkeSessionParams;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->keepaliveAlarmConfig:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;-><init>()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeLocalAddressGenerator()Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeNattKeepalive(Landroid/content/Context;Ljava/net/InetAddress;Ljava/net/InetAddress;Landroid/net/IpSecManager$UdpEncapsulationSocket;Landroid/net/Network;Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;)Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp4Socket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp6Socket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp6WithEncapPortSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><clinit>()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->MAX_DNS_RESOLUTION_ATTEMPTS:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_DETECTED:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_NOT_DETECTED:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_TRAVERSAL_SUPPORT_NOT_CHECKED:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_TRAVERSAL_UNSUPPORTED:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->TAG:Ljava/lang/String;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->addRemoteAddress(Ljava/net/InetAddress;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->buildAndStartNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->buildIkeSessionConnectionInfo()Landroid/net/ipsec/ike/IkeSessionConnectionInfo;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->enableMobility()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->fireKeepAlive()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAllRemoteIpv4Addresses()Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAllRemoteIpv6Addresses()Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAndSwitchToIkeSocket(ZZ)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSaRecords()Ljava/util/Set;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSocket()Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSocket(ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getLocalAddress()Ljava/net/InetAddress;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getLocalPort()I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getNatStatus()I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getNetwork()Landroid/net/Network;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getRemoteAddress()Ljava/net/InetAddress;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getRemotePort()I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->handleNatDetectionResultInIkeInit(ZJ)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->handleNatDetectionResultInMobike(Z)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mCallback:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mConnectivityManager:Landroid/net/ConnectivityManager;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mDependencies:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mDscp:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mForcePort4500:Z,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeLocalAddressGenerator:Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeNattKeepalive:Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeSaRecords:Ljava/util/Set;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeSocket:Lcom/android/internal/net/ipsec/ike/IkeSocket;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIpSecManager:Landroid/net/IpSecManager;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mKeepaliveAlarmConfig:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mLocalAddress:Ljava/net/InetAddress;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNatStatus:I,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNetwork:Landroid/net/Network;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNetworkCallback:Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddress:Ljava/net/InetAddress;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddressesV4:Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddressesV6:Ljava/util/List;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteHostname:Ljava/lang/String;,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mUseCallerConfiguredNetwork:Z,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->markSeverNattUnsupported()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->migrateSpiToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onUnderlyingNetworkDied()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onUnderlyingNetworkUpdated(Landroid/net/Network;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->registerIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->registerIkeSpi(J)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->resetSeverNattSupport()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->resolveAndSetAvailableRemoteAddresses()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->sendIkePacket([B)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setLocalAddress(Ljava/net/InetAddress;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setNatDetected(Z)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setNetwork(Landroid/net/Network;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setRemoteAddress()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setRemoteAddress(Ljava/net/InetAddress;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setUp()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->tearDown()V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->unregisterIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->unregisterIkeSpi(J)V,blocked
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->useUdpEncapSocket()Z,blocked
 Lcom/android/internal/net/ipsec/ike/net/IkeDefaultNetworkCallback;-><init>(Lcom/android/internal/net/ipsec/ike/net/IkeNetworkUpdater;Landroid/net/Network;Ljava/net/InetAddress;)V,blocked
 Lcom/android/internal/net/ipsec/ike/net/IkeDefaultNetworkCallback;->onAvailable(Landroid/net/Network;)V,public-api,sdk,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;-><init>()V,blocked
@@ -4796,6 +4880,17 @@
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastR()Z,blocked
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastS()Z,blocked
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastT()Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;-><clinit>()V,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;-><init>(ILjava/lang/String;)V,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtLeast(Ljava/lang/String;)Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtLeastInternal(Ljava/lang/String;)Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtMost(Ljava/lang/String;)Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtMostInternal(Ljava/lang/String;)Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isCodename(Ljava/lang/String;)Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mCodename:Ljava/lang/String;,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mIsReleaseBuild:Z,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mSdkInt:I,blocked
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->sInstance:Lcom/android/internal/net/utils/build/UnboundedSdkLevel;,blocked
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;-><clinit>()V,blocked
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;-><init>()V,blocked
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;->INSTANCE:Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;,blocked
diff --git a/current/hiddenapi/stub-flags.csv b/current/hiddenapi/stub-flags.csv
index 20e4cf9..6d03699 100644
--- a/current/hiddenapi/stub-flags.csv
+++ b/current/hiddenapi/stub-flags.csv
@@ -591,6 +591,7 @@
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_ACCEPT_ANY_REMOTE_ID:I,public-api,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_EAP_ONLY_AUTH:I,public-api,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_FORCE_PORT_4500:I,public-api,system-api,test-api
+Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_INITIAL_CONTACT:I
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_OPTION_MOBIKE:I,public-api,system-api,test-api
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_RETRANS_MAX_ATTEMPTS_MAX:I
 Landroid/net/ipsec/ike/IkeSessionParams;->IKE_RETRANS_TIMEOUT_MS_LIST_DEFAULT:[I
@@ -872,6 +873,7 @@
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/String;)V
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 Landroid/net/ipsec/ike/exceptions/IkeException;-><init>(Ljava/lang/Throwable;)V
+Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/String;)V
 Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V,public-api,system-api,test-api
 Landroid/net/ipsec/ike/exceptions/IkeInternalException;-><init>(Ljava/lang/Throwable;)V,public-api,system-api,test-api
 Landroid/net/ipsec/ike/exceptions/IkeNetworkLostException;-><init>(Landroid/net/Network;)V,public-api,system-api,test-api
@@ -1027,27 +1029,24 @@
 Lcom/android/internal/net/crypto/KeyGenerationUtils$ByteSigner;->signBytes([B[B)[B
 Lcom/android/internal/net/crypto/KeyGenerationUtils;-><init>()V
 Lcom/android/internal/net/crypto/KeyGenerationUtils;->prfPlus(Lcom/android/internal/net/crypto/KeyGenerationUtils$ByteSigner;[B[BI)[B
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><clinit>()V
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><init>()V
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->INSTANCE:Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->getRandom()Ljava/security/SecureRandom;
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;)V
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;)V
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;Lcom/android/internal/net/eap/EapResult;)V
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->f$1:Lcom/android/internal/net/eap/EapResult;
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;Lcom/android/internal/net/eap/EapResult;)V
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;[B)V
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$1:Lcom/android/internal/net/eap/EapResult;
+Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->f$1:[B
 Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda2;->run()V,core-platform-api,public-api,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;-><init>(Lcom/android/internal/net/eap/EapAuthenticator;[B)V
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->f$0:Lcom/android/internal/net/eap/EapAuthenticator;
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->f$1:[B
-Lcom/android/internal/net/eap/EapAuthenticator$$ExternalSyntheticLambda3;->run()V,core-platform-api,public-api,system-api,test-api
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getContext()Landroid/content/Context;
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getLooper()Landroid/os/Looper;
+Lcom/android/internal/net/eap/EapAuthenticator$EapContext;->getRandomnessFactory()Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;
 Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;->getRandom()Ljava/security/SecureRandom;
 Lcom/android/internal/net/eap/EapAuthenticator;-><clinit>()V
-Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;)V
-Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;)V
 Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Lcom/android/internal/net/eap/statemachine/EapStateMachine;Ljava/util/concurrent/Executor;J)V
-Lcom/android/internal/net/eap/EapAuthenticator;->DEFAULT_RANDOM_FACTORY:Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;
+Lcom/android/internal/net/eap/EapAuthenticator;-><init>(Lcom/android/internal/net/eap/EapAuthenticator$EapContext;Lcom/android/internal/net/eap/IEapCallback;Landroid/net/eap/EapSessionConfig;)V
 Lcom/android/internal/net/eap/EapAuthenticator;->DEFAULT_TIMEOUT_MILLIS:J
 Lcom/android/internal/net/eap/EapAuthenticator;->EAP_TAG:Ljava/lang/String;
 Lcom/android/internal/net/eap/EapAuthenticator;->LOG:Lcom/android/internal/net/utils/Log;
@@ -1055,10 +1054,9 @@
 Lcom/android/internal/net/eap/EapAuthenticator;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/eap/EapAuthenticator;->createNewRandomIfNull(Ljava/security/SecureRandom;)Ljava/security/SecureRandom;
 Lcom/android/internal/net/eap/EapAuthenticator;->handleMessage(Landroid/os/Message;)V,public-api,system-api,test-api
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$1$EapAuthenticator()V
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$2$EapAuthenticator(Lcom/android/internal/net/eap/EapResult;)V
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$3$EapAuthenticator([B)V
-Lcom/android/internal/net/eap/EapAuthenticator;->lambda$static$0()Ljava/security/SecureRandom;
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$0$EapAuthenticator()V
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$1$EapAuthenticator(Lcom/android/internal/net/eap/EapResult;)V
+Lcom/android/internal/net/eap/EapAuthenticator;->lambda$processEapMessage$2$EapAuthenticator([B)V
 Lcom/android/internal/net/eap/EapAuthenticator;->mCallbackFired:Z
 Lcom/android/internal/net/eap/EapAuthenticator;->mCb:Lcom/android/internal/net/eap/IEapCallback;
 Lcom/android/internal/net/eap/EapAuthenticator;->mStateMachine:Lcom/android/internal/net/eap/statemachine/EapStateMachine;
@@ -2106,7 +2104,6 @@
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->RETRY_INTERVAL_MS:J
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->SHARED_CMD_TO_STR:Landroid/util/SparseArray;
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->TIMEOUT_REKEY_REMOTE_DELETE:I
-Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->access$000(Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;)Z
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->executeUserCallback(Ljava/lang/Runnable;)V
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->killSession()V
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->log(Ljava/lang/String;)V
@@ -2123,6 +2120,7 @@
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mIsClosing:Z
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mLogTag:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->mUserCbExecutor:Ljava/util/concurrent/Executor;
+Lcom/android/internal/net/ipsec/ike/AbstractSessionStateMachine;->quitSessionNow()V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Landroid/net/ipsec/ike/exceptions/IkeException;)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$$ExternalSyntheticLambda0;->f$1:Landroid/net/ipsec/ike/exceptions/IkeException;
@@ -2131,6 +2129,13 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$1;)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;->processStateMessage(Landroid/os/Message;)Z
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$ClosedAndAwaitResponse;->this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;-><init>(ILandroid/os/Handler;Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Ljava/util/concurrent/Executor;)V
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ikeHandler:Landroid/os/Handler;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ikeSessionId:I
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ipSecManager:Landroid/net/IpSecManager;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->ipSecSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->sessionParams:Landroid/net/ipsec/ike/ChildSessionParams;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;->userCbExecutor:Ljava/util/concurrent/Executor;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;-><init>(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;->enterState()V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$CreateChildLocalCreate;->exitState()V
@@ -2315,7 +2320,7 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete;->processStateMessage(Landroid/os/Message;)Z
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$RekeyChildRemoteDelete;->this$0:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><clinit>()V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)V
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_GENERAL_BASE:I
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_HANDLE_FIRST_CHILD_EXCHANGE:I
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CMD_HANDLE_RECEIVED_REQUEST:I
@@ -2326,16 +2331,15 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->CREATE_STATUS_OK:I
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->SPI_NOT_REGISTERED:I
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->TAG:Ljava/lang/String;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1200(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSaProposal;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSaProposal;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$200(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$300(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Z)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$400()Landroid/util/SparseArray;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Landroid/content/Context;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeContext;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$700(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;I)Lcom/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;Ljava/lang/Exception;)V
@@ -2358,13 +2362,13 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mChildSmCallback:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mClosedAndAwaitResponse:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mContext:Landroid/content/Context;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mCreateChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mCurrentChildSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$ChildSaRecord;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mDeleteChildLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mDeleteChildRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIdleWithDeferredRequest:Lcom/android/internal/net/ipsec/ike/utils/State;
+Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeDhGroup:I
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkeHandler:Landroid/os/Handler;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mIkePrf:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacPrf;
@@ -2379,7 +2383,6 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mLocalRequestFactory:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mLocalTs:[Landroid/net/ipsec/ike/IkeTrafficSelector;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mMobikeRekeyChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->mRekeyChildRemoteCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
@@ -2400,14 +2403,14 @@
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->replyErrorNotification(I)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->replyErrorNotification(I[B)V
 Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;->setSkD([B)V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$ChildSessionFactoryHelper;-><init>()V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$ChildSessionFactoryHelper;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;-><clinit>()V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;-><init>()V
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->makeChildSessionStateMachine(Landroid/os/Looper;Landroid/content/Context;ILandroid/os/Handler;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->sChildSessionHelper:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;
-Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory;->setChildSessionFactoryHelper(Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachineFactory$IChildSessionFactoryHelper;)V
+Lcom/android/internal/net/ipsec/ike/IkeContext;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;)V
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getContext()Landroid/content/Context;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getLooper()Landroid/os/Looper;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getRandomnessFactory()Lcom/android/internal/net/eap/EapAuthenticator$EapRandomFactory;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->getRandomnessFactory()Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mContext:Landroid/content/Context;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mLooper:Landroid/os/Looper;
+Lcom/android/internal/net/ipsec/ike/IkeContext;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;-><init>()V
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->BASE_GENERATOR_MODP:I
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_1024_BIT_MODP:Ljava/lang/String;
@@ -2415,8 +2418,6 @@
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_2048_BIT_MODP:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_3072_BIT_MODP:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeDhParams;->PRIME_4096_BIT_MODP:Ljava/lang/String;
-Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;-><init>()V
-Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;->newEapAuthenticator(Landroid/os/Looper;Lcom/android/internal/net/eap/IEapCallback;Landroid/content/Context;Landroid/net/eap/EapSessionConfig;Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;)Lcom/android/internal/net/eap/EapAuthenticator;
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;-><init>(IILandroid/net/ipsec/ike/ChildSessionCallback;Landroid/net/ipsec/ike/ChildSessionParams;I)V
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;-><init>(IILandroid/net/ipsec/ike/ChildSessionCallback;Landroid/net/ipsec/ike/ChildSessionParams;ILcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$1;)V
 Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;->childSessionCallback:Landroid/net/ipsec/ike/ChildSessionCallback;
@@ -2476,8 +2477,9 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda0;->onNewProcedureReady(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/net/Network;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->f$1:Landroid/net/Network;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda2;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/net/ipsec/ike/exceptions/IkeException;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$$ExternalSyntheticLambda2;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
@@ -2506,6 +2508,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->enterState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->executeLocalRequest(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->exitState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getChildSession(Landroid/net/ipsec/ike/ChildSessionCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getChildSession(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->getEncapSocketOrNull()Landroid/net/IpSecManager$UdpEncapsulationSocket;
@@ -2520,6 +2523,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mAwaitingChildResponse:Ljava/util/Set;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mChildInLocalProcedure:Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mChildInRemoteProcedures:Ljava/util/Set;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mFirstChildReqList:Ljava/util/List;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mLastInboundRequestMsgId:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mLocalRequestOngoing:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$ChildLocalRequest;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;->mOutboundRespPayloads:Ljava/util/List;
@@ -2545,6 +2549,9 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->exitState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->handleResponseGenericProcessError(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Landroid/net/ipsec/ike/exceptions/InvalidSyntaxException;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mFirstChildReqList:Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mInitIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mRespIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->mUseEap:Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->processStateMessage(Landroid/os/Message;)Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
@@ -2557,14 +2564,17 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->authenticatePsk([BLcom/android/internal/net/ipsec/ike/message/IkeAuthPayload;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->buildIkeAuthReqMessage(Ljava/util/List;)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->buildIkeSessionConfiguration(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)Landroid/net/ipsec/ike/IkeSessionConfiguration;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->enterState()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->exitState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->extractChildPayloadsFromMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)Ljava/util/List;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->handleNotifyInLastAuthResp(Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;Lcom/android/internal/net/ipsec/ike/message/IkeAuthPayload;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->handleRequestIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;ILandroid/os/Message;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->lambda$notifyIkeSessionSetup$0$IkeSessionStateMachine$CreateIkeLocalIkeAuthBase(Landroid/net/ipsec/ike/IkeSessionConfiguration;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->mRetransmitter:Lcom/android/internal/net/ipsec/ike/utils/Retransmitter;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->mSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->notifyIkeSessionSetup(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->performFirstChildNegotiation(Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->setUpMobilityHandling()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthBase;->triggerRetransmit()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;)V
@@ -2576,6 +2586,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap$IkeEapCallback;->this$1:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->enterState()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->exitState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->handleResponseGenericProcessError(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Landroid/net/ipsec/ike/exceptions/InvalidSyntaxException;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;->mEapAuthenticator:Lcom/android/internal/net/eap/EapAuthenticator;
@@ -2604,12 +2615,18 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleNatDetection(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleReceivedIkePacket(Landroid/os/Message;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->handleResponseIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitRequestBytes:[B
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeInitResponseBytes:[B
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mIkeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mInitialSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mLocalIkeSpiResource:Lcom/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mPeerSignatureHashAlgorithms:Ljava/util/Set;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mRemoteIkeSpiResource:Lcom/android/internal/net/ipsec/ike/utils/IkeSecurityParameterIndex;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->mRetransmitter:Lcom/android/internal/net/ipsec/ike/utils/Retransmitter;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->processStateMessage(Landroid/os/Message;)Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->sendRequest(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->switchToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->triggerRetransmit()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;->validateIkeInitResp(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
@@ -2645,6 +2662,12 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->lambda$handleDeleteSessionRequest$0$IkeSessionStateMachine$DeleteResponderBase()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteResponderBase;->validateIkeDeleteReq(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;-><init>()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newChildSessionStateMachine(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$Config;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine$IChildSessionSmCallback;)Lcom/android/internal/net/ipsec/ike/ChildSessionStateMachine;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newEapAuthenticator(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/eap/IEapCallback;Landroid/net/eap/EapSessionConfig;)Lcom/android/internal/net/eap/EapAuthenticator;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newIkeConnectionController(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;)Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newIkeContext(Landroid/os/Looper;Landroid/content/Context;Landroid/net/Network;)Lcom/android/internal/net/ipsec/ike/IkeContext;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;->newLocalRequestFactory()Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;->enterState()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;->exitState()V
@@ -2683,10 +2706,29 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->mDpdAlarm:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->processStateMessage(Landroid/os/Message;)Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;Ljava/util/List;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->firstChildReqList:Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->initIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeAuthData;->respIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;[B[BLcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;Ljava/util/Set;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitRequestBytes:[B
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeInitResponseBytes:[B
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->ikeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$IkeInitData;->peerSignatureHashAlgorithms:Ljava/util/Set;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->enterState()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->exitState()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->mInitialSetupData:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->processStateMessage(Landroid/os/Message;)Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->setIkeSetupData(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;-><init>(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;I)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->firstChildCallback:Landroid/net/ipsec/ike/ChildSessionCallback;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->firstChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$InitialSetupData;->peerSelectedDhGroup:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api
@@ -2808,7 +2850,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;->reset()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;->this$0:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><clinit>()V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ConnectivityManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ConnectivityManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/IpSecManager;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->BUNDLE_KEY_CHILD_REMOTE_SPI:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->BUNDLE_KEY_IKE_REMOTE_SPI:Ljava/lang/String;
@@ -2840,170 +2882,116 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->CMD_SET_NETWORK:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->CMD_TO_STR:Landroid/util/SparseArray;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->DEFAULT_FRAGMENT_SIZE:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->EXCHANGE_SUBTYPE_TO_STRING:Landroid/util/SparseArray;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_CREATE_CHILD:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_DELETE_CHILD:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_DELETE_IKE:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_GENERIC_INFO:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_IKE_AUTH:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_IKE_INIT:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_INVALID:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_REKEY_CHILD:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_EXCHANGE_SUBTYPE_REKEY_IKE:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->IKE_SESSION_LOCK:Ljava/lang/Object;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->MAX_DNS_RESOLUTION_ATTEMPTS:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->TEMP_FAILURE_RETRY_TIMEOUT_MS:J
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Z)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/IkeSessionCallback;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/lang/Exception;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/os/PowerManager$WakeLock;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;IJ)Landroid/os/Message;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/content/Context;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;J)Ljava/lang/String;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/LongSparseArray;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;IJ)Landroid/os/Message;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)I
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1200(IJ)Ljava/lang/String;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/LongSparseArray;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$1700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;[[B)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/util/SparseArray;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2000(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;[[B)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$2800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3000(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionParams;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3300(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ipsec/ike/ChildSessionCallback;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3400(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3402(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;)Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/net/ConnectivityManager;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;ZZ)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3100(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;I)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$3200(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$400()Landroid/util/SparseArray;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$4200(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;I)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$4300(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$700(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$500(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Ljava/lang/Exception;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$600(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$800(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->access$900(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)Landroid/os/PowerManager$WakeLock;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->addIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->addNatDetectionPayloadsToList(Ljava/util/List;Ljava/net/InetAddress;Ljava/net/InetAddress;IIJJ)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndSendErrorNotificationResponse(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;II)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndSendNotificationResponse(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;ILcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildAndStartNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedInformationalMessage(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;[Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;ZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedInformationalMessage([Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;ZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildEncryptedNotificationMessage(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;[Lcom/android/internal/net/ipsec/ike/message/IkeInformationalPayload;IZI)Lcom/android/internal/net/ipsec/ike/message/IkeMessage;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildIkeAlarmIntent(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)Landroid/app/PendingIntent;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildKeepaliveAlarmConfig(Landroid/os/Handler;Landroid/content/Context;II)Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->buildSaLifetimeAlarmScheduler(J)Lcom/android/internal/net/ipsec/ike/SaRecord$SaLifetimeAlarmScheduler;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeAllSaRecords(Z)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeChildSession(Landroid/net/ipsec/ike/ChildSessionCallback;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;Z)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->closeSession()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->didPeerIncludeNattDetectionPayloads(Ljava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getAndSwitchToIkeSocket(ZZ)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIkeExchangeSubType(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIkeSocket(ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier()Ljava/lang/String;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(J)Ljava/lang/String;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(I)Ljava/lang/String;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIdentifier(IJ)Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->getIntentIkeSmMsg(IJ)Landroid/os/Message;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->handleIkeFatalError(Ljava/lang/Exception;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->hasChildSessionCallback(Landroid/net/ipsec/ike/ChildSessionCallback;)Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->isLocalOrRemoteNatDetected(JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->killSession()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$handleIkeFatalError$1$IkeSessionStateMachine(Landroid/net/ipsec/ike/exceptions/IkeException;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$new$0$IkeSessionStateMachine(Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequest;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$onUnderlyingNetworkDied$2$IkeSessionStateMachine()V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->lambda$onUnderlyingNetworkDied$2$IkeSessionStateMachine(Landroid/net/Network;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mAlarmManager:Landroid/app/AlarmManager;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mBusyWakeLock:Landroid/os/PowerManager$WakeLock;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildCbToSessions:Ljava/util/HashMap;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildProcedureOngoing:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mConnectivityManager:Landroid/net/ConnectivityManager;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mContext:Landroid/content/Context;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuth:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthInEap:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthPostEap:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeInit:Lcom/android/internal/net/ipsec/ike/utils/State;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mChildProcedureOngoing:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$ChildProcedureOngoing;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuth:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuth;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthInEap:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthInEap;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeAuthPostEap:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeAuthPostEap;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCreateIkeLocalIkeInit:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$CreateIkeLocalIkeInit;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mCurrentIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeleteIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDpdIkeLocalInfo:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mEapAuthenticatorFactory:Lcom/android/internal/net/ipsec/ike/IkeEapAuthenticatorFactory;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeleteIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DeleteIkeLocalDelete;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDeps:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Dependencies;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mDpdIkeLocalInfo:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$DpdIkeLocalInfo;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mEnabledExtensions:Ljava/util/List;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildCallbacks:Landroid/net/ipsec/ike/ChildSessionCallback;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildReqList:Ljava/util/List;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mFirstChildSessionParams:Landroid/net/ipsec/ike/ChildSessionParams;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mHasCheckedNattSupport:Z
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/utils/State;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIdle:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Idle;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIke3gppExtensionExchange:Lcom/android/internal/net/ipsec/ike/ike3gpp/Ike3gppExtensionExchange;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeCipher:Lcom/android/internal/net/ipsec/ike/crypto/IkeCipher;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitRequestBytes:[B
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeInitResponseBytes:[B
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeConnectionCtrl:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeIntegrity:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeLocalAddressGenerator:Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeNattKeepalive:Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkePrf:Lcom/android/internal/net/ipsec/ike/crypto/IkeMacPrf;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeRespNoncePayload:Lcom/android/internal/net/ipsec/ike/message/IkeNoncePayload;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordAwaitingLocalDel:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordAwaitingRemoteDel:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSaRecordSurviving:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionCallback:Landroid/net/ipsec/ike/IkeSessionCallback;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionId:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSessionParams:Landroid/net/ipsec/ike/IkeSessionParams;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSocket:Lcom/android/internal/net/ipsec/ike/IkeSocket;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIkeSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IkeSpiGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitial:Lcom/android/internal/net/ipsec/ike/utils/State;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mInitial:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Initial;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIpSecManager:Landroid/net/IpSecManager;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mIpSecSpiGenerator:Lcom/android/internal/net/ipsec/ike/utils/IpSecSpiGenerator;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mKillIkeSessionParent:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalAddress:Ljava/net/InetAddress;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mKillIkeSessionParent:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$KillIkeSessionParent;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalInitNewIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalNatDetected:Z
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalPort:I
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalRequestFactory:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler$LocalRequestFactory;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mLocalSpiToIkeSaRecordMap:Landroid/util/LongSparseArray;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mMobikeLocalInfo:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mNetwork:Landroid/net/Network;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mNetworkCallback:Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mPeerSelectedDhGroup:I
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mPeerSignatureHashAlgorithms:Ljava/util/Set;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRandomFactory:Lcom/android/internal/net/ipsec/ike/utils/RandomnessFactory;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mReceiving:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddress:Ljava/net/InetAddress;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddressesV4:Ljava/util/List;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteAddressesV6:Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mMobikeLocalInfo:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$MobikeLocalInfo;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mReceiving:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$Receiving;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeLocalCreate;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeLocalDelete;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$RekeyIkeRemoteDelete;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteInitNewIkeSaRecord:Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteNatDetected:Z
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteSpiToChildSessionMap:Landroid/util/SparseArray;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRemoteVendorIds:Ljava/util/List;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mRespIdPayload:Lcom/android/internal/net/ipsec/ike/message/IkeIdPayload;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSaProposal:Landroid/net/ipsec/ike/IkeSaProposal;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mScheduler:Lcom/android/internal/net/ipsec/ike/IkeLocalRequestScheduler;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDeleteRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/utils/State;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportFragment:Z
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportMobike:Z
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSupportNatTraversal:Z
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalCreate:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalCreate;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalDelete;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeLocalDeleteRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeLocalDeleteRemoteDelete;
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mSimulRekeyIkeRemoteDelete:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$SimulRekeyIkeRemoteDelete;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->mTempFailHandler:Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine$TempFailureHandler;
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->migrateSpiToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onError(Landroid/net/ipsec/ike/exceptions/IkeInternalException;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onQuitting()V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkDied()V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkUpdated(Landroid/net/Network;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkDied(Landroid/net/Network;)V
+Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->onUnderlyingNetworkUpdated()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->openChildSession(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->openSession()V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->receiveIkePacket(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->registerChildSessionCallback(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;Z)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->removeIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->resolveAndSetAvailableRemoteAddresses()V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sContextToIkeSmMap:Ljava/util/HashMap;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sIkeAlarmReceiver:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarmReceiver;
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sIkeSessionIdGenerator:Ljava/util/concurrent/atomic/AtomicInteger;
@@ -3013,9 +3001,6 @@
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sendEncryptedIkeMessage(Lcom/android/internal/net/ipsec/ike/message/IkeMessage;)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->sendEncryptedIkePackets([[B)V
 Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->setNetwork(Landroid/net/Network;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->setRemoteAddress()V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->switchToIkeSocket(Lcom/android/internal/net/ipsec/ike/IkeSocket;)V
-Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;->updateLocalAndRemoteNatDetected(JJLjava/util/List;Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSocket;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSocket;
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api
@@ -3023,6 +3008,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->f$0:Lcom/android/internal/net/ipsec/ike/IkeSocket;
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->f$1:[B
 Lcom/android/internal/net/ipsec/ike/IkeSocket$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,system-api,test-api
+Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket$IPacketReceiver;->handlePacket([BLandroid/util/LongSparseArray;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;-><init>(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/os/Handler;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->RCV_BUFFER_SIZE:I
@@ -3039,14 +3025,14 @@
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->handlePacket([BI)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->lambda$start$0$IkeSocket([B)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->lambda$start$1$IkeSocket()V
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->mAliveIkeSessions:Ljava/util/Set;
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->mHandler:Landroid/os/Handler;
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->mIkeSocketConfig:Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->mSpiToIkeSession:Landroid/util/LongSparseArray;
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->mRegisteredCallbacks:Ljava/util/Set;
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->mSpiToCallback:Landroid/util/LongSparseArray;
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->parseAndDemuxIkePacket([BLandroid/util/LongSparseArray;Ljava/lang/String;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->receiveFromFd()[B
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->registerIke(JLcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
-Lcom/android/internal/net/ipsec/ike/IkeSocket;->releaseReference(Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;)V
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->registerIke(JLcom/android/internal/net/ipsec/ike/IkeSocket$Callback;)V
+Lcom/android/internal/net/ipsec/ike/IkeSocket;->releaseReference(Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->sendIkePacket([BLjava/net/InetAddress;)V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->start()V
 Lcom/android/internal/net/ipsec/ike/IkeSocket;->stop()V
@@ -3063,14 +3049,14 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->INADDR_ANY:Ljava/net/InetAddress;
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->close()V,core-platform-api,public-api,system-api,test-api
-Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;
+Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;
 Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;->sConfigToSocketMap:Ljava/util/Map;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;-><clinit>()V
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;-><init>(Ljava/io/FileDescriptor;Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/os/Handler;)V
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->INADDR_ANY:Ljava/net/InetAddress;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->close()V,core-platform-api,public-api,system-api,test-api
-Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;
+Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->getInstance(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->openUdp6Sock(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;)Ljava/io/FileDescriptor;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;->sConfigToSocketMap:Ljava/util/Map;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;-><clinit>()V
@@ -3078,7 +3064,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->close()V,core-platform-api,public-api,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeServerPort()I
-Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;
+Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->handlePacket([BI)V
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->mUdpEncapPortPacketHandler:Lcom/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler;
 Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;->sConfigToSocketMap:Ljava/util/Map;
@@ -3102,7 +3088,7 @@
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->close()V,core-platform-api,public-api,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getFd()Ljava/io/FileDescriptor;
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeServerPort()I
-Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSessionStateMachine;Landroid/os/Looper;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;
+Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Looper;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->getUdpEncapsulationSocket()Landroid/net/IpSecManager$UdpEncapsulationSocket;
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->handlePacket([BI)V
 Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;->mUdpEncapPortPacketHandler:Lcom/android/internal/net/ipsec/ike/IkeUdpEncapPortPacketHandler;
@@ -3851,6 +3837,16 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_PARTIAL:I
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_PROTECTED_ERROR:I
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->DECODE_STATUS_UNPROTECTED_ERROR:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->EXCHANGE_SUBTYPE_TO_STRING:Landroid/util/SparseArray;
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_CREATE_CHILD:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_DELETE_CHILD:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_DELETE_IKE:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_GENERIC_INFO:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_IKE_AUTH:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_IKE_INIT:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_INVALID:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_REKEY_CHILD:I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->IKE_EXCHANGE_SUBTYPE_REKEY_IKE:I
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->REPEATABLE_PAYLOAD_TYPES:Ljava/util/Set;
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->TAG:Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->TRUST_MANAGER_PROVIDER:Ljava/security/Provider;
@@ -3863,6 +3859,8 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encode()[B
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encodePayloads()[B
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->encryptAndEncode(Lcom/android/internal/net/ipsec/ike/crypto/IkeMacIntegrity;Lcom/android/internal/net/ipsec/ike/crypto/IkeCipher;Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;ZI)[[B
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getIkeExchangeSubType()I
+Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getIkeExchangeSubTypeString(I)Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getPayloadForType(ILjava/lang/Class;)Lcom/android/internal/net/ipsec/ike/message/IkePayload;
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getPayloadListForType(ILjava/lang/Class;)Ljava/util/List;
 Lcom/android/internal/net/ipsec/ike/message/IkeMessage;->getTrustManagerProvider()Ljava/security/Provider;
@@ -3900,6 +3898,7 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_EAP_ONLY_AUTHENTICATION:I
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_ESP_TFC_PADDING_NOT_SUPPORTED:I
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_IKEV2_FRAGMENTATION_SUPPORTED:I
+Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_INITIAL_CONTACT:I
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_IPCOMP_SUPPORTED:I
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_MOBIKE_SUPPORTED:I
 Lcom/android/internal/net/ipsec/ike/message/IkeNotifyPayload;->NOTIFY_TYPE_NAT_DETECTION_DESTINATION_IP:I
@@ -4207,6 +4206,91 @@
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->getPayloadLength()I
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->getTypeString()Ljava/lang/String;
 Lcom/android/internal/net/ipsec/ike/message/IkeVendorPayload;->vendorId:[B
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onError(Landroid/net/ipsec/ike/exceptions/IkeInternalException;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onUnderlyingNetworkDied(Landroid/net/Network;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;->onUnderlyingNetworkUpdated()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;-><init>(Landroid/net/ipsec/ike/IkeSessionParams;Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->callback:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->ikeParams:Landroid/net/ipsec/ike/IkeSessionParams;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;->keepaliveAlarmConfig:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;-><init>()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeLocalAddressGenerator()Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeNattKeepalive(Landroid/content/Context;Ljava/net/InetAddress;Ljava/net/InetAddress;Landroid/net/IpSecManager$UdpEncapsulationSocket;Landroid/net/Network;Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;)Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp4Socket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp4Socket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp6Socket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6Socket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdp6WithEncapPortSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdp6WithEncapPortSocket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;->newIkeUdpEncapSocket(Lcom/android/internal/net/ipsec/ike/IkeSocketConfig;Landroid/net/IpSecManager;Lcom/android/internal/net/ipsec/ike/IkeSocket$Callback;Landroid/os/Handler;)Lcom/android/internal/net/ipsec/ike/IkeUdpEncapSocket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><clinit>()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;-><init>(Lcom/android/internal/net/ipsec/ike/IkeContext;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Config;Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->MAX_DNS_RESOLUTION_ATTEMPTS:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_DETECTED:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_NOT_DETECTED:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_TRAVERSAL_SUPPORT_NOT_CHECKED:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->NAT_TRAVERSAL_UNSUPPORTED:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->TAG:Ljava/lang/String;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->addRemoteAddress(Ljava/net/InetAddress;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->buildAndStartNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->buildIkeSessionConnectionInfo()Landroid/net/ipsec/ike/IkeSessionConnectionInfo;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->enableMobility()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->fireKeepAlive()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAllRemoteIpv4Addresses()Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAllRemoteIpv6Addresses()Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getAndSwitchToIkeSocket(ZZ)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeNattKeepalive()Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSaRecords()Ljava/util/Set;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSocket()Lcom/android/internal/net/ipsec/ike/IkeSocket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getIkeSocket(ZZ)Lcom/android/internal/net/ipsec/ike/IkeSocket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getLocalAddress()Ljava/net/InetAddress;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getLocalPort()I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getNatStatus()I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getNetwork()Landroid/net/Network;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getRemoteAddress()Ljava/net/InetAddress;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->getRemotePort()I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->handleNatDetectionResultInIkeInit(ZJ)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->handleNatDetectionResultInMobike(Z)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mCallback:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Callback;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mConnectivityManager:Landroid/net/ConnectivityManager;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mDependencies:Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController$Dependencies;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mDscp:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mForcePort4500:Z
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeContext:Lcom/android/internal/net/ipsec/ike/IkeContext;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeLocalAddressGenerator:Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeNattKeepalive:Lcom/android/internal/net/ipsec/ike/keepalive/IkeNattKeepalive;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeSaRecords:Ljava/util/Set;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIkeSocket:Lcom/android/internal/net/ipsec/ike/IkeSocket;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mIpSecManager:Landroid/net/IpSecManager;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mKeepaliveAlarmConfig:Lcom/android/internal/net/ipsec/ike/utils/IkeAlarm$IkeAlarmConfig;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mLocalAddress:Ljava/net/InetAddress;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNatStatus:I
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNetwork:Landroid/net/Network;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mNetworkCallback:Lcom/android/internal/net/ipsec/ike/net/IkeNetworkCallbackBase;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddress:Ljava/net/InetAddress;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddressesV4:Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteAddressesV6:Ljava/util/List;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mRemoteHostname:Ljava/lang/String;
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->mUseCallerConfiguredNetwork:Z
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->markSeverNattUnsupported()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->migrateSpiToIkeSocket(JLcom/android/internal/net/ipsec/ike/IkeSocket;Lcom/android/internal/net/ipsec/ike/IkeSocket;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onIkePacketReceived(Lcom/android/internal/net/ipsec/ike/message/IkeHeader;[B)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onUnderlyingNetworkDied()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->onUnderlyingNetworkUpdated(Landroid/net/Network;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->registerIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->registerIkeSpi(J)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->resetSeverNattSupport()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->resolveAndSetAvailableRemoteAddresses()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->sendIkePacket([B)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setLocalAddress(Ljava/net/InetAddress;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setNatDetected(Z)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setNetwork(Landroid/net/Network;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setRemoteAddress()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setRemoteAddress(Ljava/net/InetAddress;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->setUp()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->tearDown()V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->unregisterIkeSaRecord(Lcom/android/internal/net/ipsec/ike/SaRecord$IkeSaRecord;)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->unregisterIkeSpi(J)V
+Lcom/android/internal/net/ipsec/ike/net/IkeConnectionController;->useUdpEncapSocket()Z
 Lcom/android/internal/net/ipsec/ike/net/IkeDefaultNetworkCallback;-><init>(Lcom/android/internal/net/ipsec/ike/net/IkeNetworkUpdater;Landroid/net/Network;Ljava/net/InetAddress;)V
 Lcom/android/internal/net/ipsec/ike/net/IkeDefaultNetworkCallback;->onAvailable(Landroid/net/Network;)V,public-api,system-api,test-api
 Lcom/android/internal/net/ipsec/ike/net/IkeLocalAddressGenerator;-><init>()V
@@ -4796,6 +4880,17 @@
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastR()Z
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastS()Z
 Lcom/android/internal/net/utils/build/SdkLevel;->isAtLeastT()Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;-><clinit>()V
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;-><init>(ILjava/lang/String;)V
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtLeast(Ljava/lang/String;)Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtLeastInternal(Ljava/lang/String;)Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtMost(Ljava/lang/String;)Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isAtMostInternal(Ljava/lang/String;)Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->isCodename(Ljava/lang/String;)Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mCodename:Ljava/lang/String;
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mIsReleaseBuild:Z
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->mSdkInt:I
+Lcom/android/internal/net/utils/build/UnboundedSdkLevel;->sInstance:Lcom/android/internal/net/utils/build/UnboundedSdkLevel;
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;-><clinit>()V
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;-><init>()V
 Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;->INSTANCE:Lcom/android/internal/net/vcn/util/PersistableBundleUtils$$ExternalSyntheticLambda0;
diff --git a/current/sdk_library/module-lib/android.net.ipsec.ike_annotations.zip b/current/sdk_library/module-lib/android.net.ipsec.ike_annotations.zip
new file mode 100644
index 0000000..0d3e591
--- /dev/null
+++ b/current/sdk_library/module-lib/android.net.ipsec.ike_annotations.zip
Binary files differ
diff --git a/current/sdk_library/public/android.net.ipsec.ike-stubs.jar b/current/sdk_library/public/android.net.ipsec.ike-stubs.jar
index 28e40fe..8fecf09 100644
--- a/current/sdk_library/public/android.net.ipsec.ike-stubs.jar
+++ b/current/sdk_library/public/android.net.ipsec.ike-stubs.jar
Binary files differ
diff --git a/current/sdk_library/public/android.net.ipsec.ike.srcjar b/current/sdk_library/public/android.net.ipsec.ike.srcjar
index b5480f7..d68c795 100644
--- a/current/sdk_library/public/android.net.ipsec.ike.srcjar
+++ b/current/sdk_library/public/android.net.ipsec.ike.srcjar
Binary files differ
diff --git a/current/sdk_library/public/android.net.ipsec.ike_annotations.zip b/current/sdk_library/public/android.net.ipsec.ike_annotations.zip
new file mode 100644
index 0000000..841f685
--- /dev/null
+++ b/current/sdk_library/public/android.net.ipsec.ike_annotations.zip
Binary files differ
diff --git a/current/sdk_library/system/android.net.ipsec.ike_annotations.zip b/current/sdk_library/system/android.net.ipsec.ike_annotations.zip
new file mode 100644
index 0000000..0d3e591
--- /dev/null
+++ b/current/sdk_library/system/android.net.ipsec.ike_annotations.zip
Binary files differ