From fbb2a4935c7c1f6c7b3c4332e1dbbb30f5c58cd1 Mon Sep 17 00:00:00 2001 From: Xiao Ma Date: Mon, 27 May 2019 18:22:55 -0700 Subject: [PATCH] Wipe the data in IpMemoryStore database upon network factory reset. Bug:128499160 Test: manual Test: atest FrameworksNetTests NetworkStackTests Merged-In: I13ad04454e638905b74dd42a1c83266c7c37652f Merged-In: Ia13ff10a57c2043f6676976f23ecfb2d2a9a6ef0 (cherry picked from commit ef6ef68c48b869aa9960edd81c73f3d31391ae26) Change-Id: I42507451d55a620c0e2d271c895ad158f348c1a5 --- .../core/java/com/android/server/ConnectivityService.java | 4 ++++ tests/net/java/android/net/IpMemoryStoreTest.java | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 181668122f..0a1dbff38b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -77,6 +77,7 @@ import android.net.INetworkStatsService; import android.net.ISocketKeepaliveCallback; import android.net.ITetheringEventCallback; import android.net.InetAddresses; +import android.net.IpMemoryStore; import android.net.IpPrefix; import android.net.LinkProperties; import android.net.LinkProperties.CompareResult; @@ -6888,6 +6889,9 @@ public class ConnectivityService extends IConnectivityManager.Stub final int userId = UserHandle.getCallingUserId(); + final IpMemoryStore ipMemoryStore = IpMemoryStore.getMemoryStore(mContext); + ipMemoryStore.factoryReset(); + // Turn airplane mode off setAirplaneMode(false); diff --git a/tests/net/java/android/net/IpMemoryStoreTest.java b/tests/net/java/android/net/IpMemoryStoreTest.java index 6e69b34fe4..b81ca36429 100644 --- a/tests/net/java/android/net/IpMemoryStoreTest.java +++ b/tests/net/java/android/net/IpMemoryStoreTest.java @@ -321,4 +321,11 @@ public class IpMemoryStoreTest { eq(TEST_OTHER_DATA_NAME), any()); assertEquals(TEST_NETWORK_ATTRIBUTES, new NetworkAttributes(mNapCaptor.getValue())); } + + @Test + public void testFactoryReset() throws RemoteException { + startIpMemoryStore(true /* supplyService */); + mStore.factoryReset(); + verify(mMockService, times(1)).factoryReset(); + } }