diff options
author | Roshan Pius <rpius@google.com> | 2019-02-04 12:39:37 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-02-11 09:19:37 -0800 |
commit | 39961903420a5e848dd1dbda5946c7c03b682901 (patch) | |
tree | f33b6acced3d7954b6a39ee00ba55afdd6b8132b /tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java | |
parent | 287571172fb5ce33579d7f5497e95fa075132545 (diff) | |
download | android_frameworks_opt_net_wifi-39961903420a5e848dd1dbda5946c7c03b682901.tar.gz android_frameworks_opt_net_wifi-39961903420a5e848dd1dbda5946c7c03b682901.tar.bz2 android_frameworks_opt_net_wifi-39961903420a5e848dd1dbda5946c7c03b682901.zip |
WifiServiceImpl: Factory reset
Clear the following lists on the network settings reset:
a) Blacklisted ephemeral networks
b) All suggestion related lists.
c) All user approvals stored for networks requests.
Bug: 123884704
Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Test: Manually verified by performing network settings reset
Change-Id: I8a6476acf4a14acf968565cad1a6eb1c6aef1f55
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java index cc21c485f..02a2dc096 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java @@ -1549,6 +1549,59 @@ public class WifiNetworkSuggestionsManagerTest { verify(mAppOpsManager, times(2)).stopWatchingMode(any()); } + + /** + * Verify that we stop tracking all packages & it's suggestions on network settings reset. + */ + @Test + public void testClear() { + WifiNetworkSuggestion networkSuggestion1 = new WifiNetworkSuggestion( + WifiConfigurationTestUtil.createOpenNetwork(), false, false, TEST_UID_1, + TEST_PACKAGE_1); + WifiNetworkSuggestion networkSuggestion2 = new WifiNetworkSuggestion( + WifiConfigurationTestUtil.createOpenNetwork(), false, false, TEST_UID_2, + TEST_PACKAGE_2); + + List<WifiNetworkSuggestion> networkSuggestionList1 = + new ArrayList<WifiNetworkSuggestion>() {{ + add(networkSuggestion1); + }}; + List<WifiNetworkSuggestion> networkSuggestionList2 = + new ArrayList<WifiNetworkSuggestion>() {{ + add(networkSuggestion2); + }}; + + assertEquals(WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS, + mWifiNetworkSuggestionsManager.add(networkSuggestionList1, TEST_PACKAGE_1)); + assertEquals(WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS, + mWifiNetworkSuggestionsManager.add(networkSuggestionList2, TEST_PACKAGE_2)); + + // Remove all suggestions from TEST_PACKAGE_1 & TEST_PACKAGE_2, we should continue to track. + assertEquals(WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS, + mWifiNetworkSuggestionsManager.remove(networkSuggestionList1, TEST_PACKAGE_1)); + assertEquals(WifiManager.STATUS_NETWORK_SUGGESTIONS_SUCCESS, + mWifiNetworkSuggestionsManager.remove(networkSuggestionList2, TEST_PACKAGE_2)); + + assertTrue(mDataSource.hasNewDataToSerialize()); + Map<String, PerAppInfo> networkSuggestionsMapToWrite = mDataSource.toSerialize(); + assertEquals(2, networkSuggestionsMapToWrite.size()); + assertTrue(networkSuggestionsMapToWrite.keySet().contains(TEST_PACKAGE_1)); + assertTrue(networkSuggestionsMapToWrite.keySet().contains(TEST_PACKAGE_2)); + assertTrue( + networkSuggestionsMapToWrite.get(TEST_PACKAGE_1).extNetworkSuggestions.isEmpty()); + assertTrue( + networkSuggestionsMapToWrite.get(TEST_PACKAGE_2).extNetworkSuggestions.isEmpty()); + + // Now clear everything. + mWifiNetworkSuggestionsManager.clear(); + assertTrue(mDataSource.hasNewDataToSerialize()); + networkSuggestionsMapToWrite = mDataSource.toSerialize(); + assertTrue(networkSuggestionsMapToWrite.isEmpty()); + + // Verify that we stopped watching these apps for app-ops changes. + verify(mAppOpsManager, times(2)).stopWatchingMode(any()); + } + /** * Verify handling of user dismissal of the user approval notification. */ |