diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index d504bffe03..ec000fc107 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; @@ -6886,6 +6887,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(); + } }