diff options
author | Roshan Pius <rpius@google.com> | 2017-09-27 12:59:59 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2017-09-28 15:24:49 -0700 |
commit | d72ccc6880a1a624926b97417047d42a5aa182ef (patch) | |
tree | fefec0f8d907a99669980c7a4906e00a08390002 /tests | |
parent | 7cede48303b0faabb3b6861a1ac7229f76fca006 (diff) |
WifiConfigManager: Don't reset the userId on user stop
Couple of fixes in user stop handling:
a) Only clear the network data belonging to the user that is stopped.
b) Don't reset the user Id on stop. It will be done in the user switch
handling.
Bug: 65939780
Test: Unit tests
Change-Id: Ia3ab033d893009cfd8019ee27d52a490a8040438
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java index d14c8fc9f..57638a33d 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiConfigManagerTest.java @@ -2367,7 +2367,7 @@ public class WifiConfigManagerTest { } /** - * Verifies that the foreground user stop using {@link WifiConfigManager#handleUserStop(int)} + * Verifies that the user stop handling using {@link WifiConfigManager#handleUserStop(int)} * and ensures that the store is written only when the foreground user is stopped. */ @Test @@ -2390,6 +2390,49 @@ public class WifiConfigManagerTest { } /** + * Verifies that the user stop handling using {@link WifiConfigManager#handleUserStop(int)} + * and ensures that the shared data is not lost when the foreground user is stopped. + */ + @Test + public void testHandleUserStopDoesNotClearSharedData() throws Exception { + int user1 = TEST_DEFAULT_USER; + + // + // Setup the database for the user before initiating stop. + // + int appId = 674; + // Create 2 networks. 1 for user1, and 1 shared. + final WifiConfiguration user1Network = WifiConfigurationTestUtil.createPskNetwork(); + user1Network.shared = false; + user1Network.creatorUid = UserHandle.getUid(user1, appId); + final WifiConfiguration sharedNetwork = WifiConfigurationTestUtil.createPskNetwork(); + + // Set up the store data that is loaded initially. + List<WifiConfiguration> sharedNetworks = new ArrayList<WifiConfiguration>() { + { + add(sharedNetwork); + } + }; + List<WifiConfiguration> user1Networks = new ArrayList<WifiConfiguration>() { + { + add(user1Network); + } + }; + setupStoreDataForRead(sharedNetworks, user1Networks, new HashSet<String>()); + assertTrue(mWifiConfigManager.loadFromStore()); + verify(mWifiConfigStore).read(); + + // Ensure that we have 2 networks in the database before the stop. + assertEquals(2, mWifiConfigManager.getConfiguredNetworks().size()); + + mWifiConfigManager.handleUserStop(user1); + + // Ensure that we only have 1 shared network in the database after the stop. + assertEquals(1, mWifiConfigManager.getConfiguredNetworks().size()); + assertEquals(sharedNetwork.SSID, mWifiConfigManager.getConfiguredNetworks().get(0).SSID); + } + + /** * Verifies the foreground user unlock via {@link WifiConfigManager#handleUserUnlock(int)} * results in a store read after bootup. */ |