Make change and version bump to aml_ips_341611000 for mainline module file: apex/apex_manifest.json
Snap for 11397440 from 3329f5e77117b00497b62e01cd45aa4f0e2e2248 to mainline-ipsec-release
Change-Id: I9b6ee5dfc219409baae9aa71805bda3a54817dff
diff --git a/apex/apex_manifest.json b/apex/apex_manifest.json
index fcbea7f..c575c51 100644
--- a/apex/apex_manifest.json
+++ b/apex/apex_manifest.json
@@ -3,5 +3,5 @@
// Placeholder module version to be replaced during build.
// Do not change!
- "version": 341610000
+ "version": 341611000
}
diff --git a/tests/iketests/src/java/com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepaliveTest.java b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepaliveTest.java
index fd8a5b1..4915bd2 100644
--- a/tests/iketests/src/java/com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepaliveTest.java
+++ b/tests/iketests/src/java/com/android/internal/net/ipsec/ike/keepalive/IkeNattKeepaliveTest.java
@@ -457,4 +457,44 @@
hardwareKeepaliveCbOne.onStopped(mMockHardwareKeepaliveOne);
verifyHardwareKeepaliveStarted(mHardwareKeepaliveTwo, newKeepaliveConfigTwo);
}
+
+ @Test
+ public void testSwitchToHardwareKeepalive_duringNetworkError() throws Exception {
+ final KeepaliveConfig newKeepaliveConfigOne =
+ createCopyWithNewUnderlyingNetwork(mKeepaliveConfig);
+ final KeepaliveConfig newKeepaliveConfigTwo =
+ createCopyWithNewUnderlyingNetwork(mKeepaliveConfig);
+
+ // First round of restart
+ final HardwareKeepaliveImpl.HardwareKeepaliveCallback hardwareKeepaliveCb =
+ verifyHardwareKeepaliveImplAndGetCb();
+ restartFromHardwareKeepalive(
+ newKeepaliveConfigOne,
+ mMockHardwareKeepalive,
+ mMockHardwareKeepaliveOne,
+ mMockSoftwareKeepaliveOne);
+
+ hardwareKeepaliveCb.onStopped(mMockHardwareKeepalive);
+ verify(mMockSoftwareKeepaliveOne).stop();
+ verifyHardwareKeepaliveStarted(mMockHardwareKeepaliveOne, newKeepaliveConfigOne);
+
+ // Second round of restart
+ final HardwareKeepaliveImpl.HardwareKeepaliveCallback hardwareKeepaliveCbOne =
+ verifyHardwareKeepaliveImplAndGetCb();
+ restartFromHardwareKeepalive(
+ newKeepaliveConfigTwo,
+ mMockHardwareKeepaliveOne,
+ mHardwareKeepaliveTwo,
+ mMockSoftwareKeepaliveTwo);
+
+ // If stop keepalive, such as when the Ike Session is terminated,
+ mIkeNattKeepalive.stop();
+ // no need to start hardware keepalive anymore.
+ verifyHardwareKeepaliveNeverStarted(mHardwareKeepaliveTwo);
+
+ // Since IkeNattKeepalive is stopped,
+ hardwareKeepaliveCbOne.onStopped(mMockHardwareKeepaliveOne);
+ // no need to start hardware keepalive anymore.
+ verifyHardwareKeepaliveNeverStarted(mHardwareKeepaliveTwo);
+ }
}