WifiNetworkSuggestionsManager: Persist user approval immediately

User approval decisions are not currently triggering a disk persistence.
If the app does not modify any of it's suggestions, then this
approval bit may not get persisted.

Bug: 136565650
Test: atest com.android.server.wifi
Test: NetworkSuggestion ACTS test
Change-Id: I8796132fa3cc6356b9f4d43c9d3ffcdd72f7c89a
diff --git a/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java b/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java
index c2aade9..6a5db5d 100644
--- a/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java
+++ b/service/java/com/android/server/wifi/WifiNetworkSuggestionsManager.java
@@ -714,6 +714,7 @@
             Log.v(TAG, "Setting the app " + (approved ? "approved" : "not approved"));
         }
         perAppInfo.hasUserApproved = approved;
+        saveToStore();
     }
 
     /**
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java
index ca7c13e..ade54bd 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkSuggestionsManagerTest.java
@@ -1817,6 +1817,10 @@
         // Cancel the notification.
         verify(mNotificationManger).cancel(SystemMessage.NOTE_NETWORK_SUGGESTION_AVAILABLE);
 
+        // Verify config store interactions.
+        verify(mWifiConfigManager, times(2)).saveToStore(true);
+        assertTrue(mDataSource.hasNewDataToSerialize());
+
         reset(mNotificationManger);
         // We should not resend the notification next time the network is found in scan results.
         mWifiNetworkSuggestionsManager.getNetworkSuggestionsForScanDetail(
@@ -1858,6 +1862,10 @@
         // Cancel the notification.
         verify(mNotificationManger).cancel(SystemMessage.NOTE_NETWORK_SUGGESTION_AVAILABLE);
 
+        // Verify config store interactions.
+        verify(mWifiConfigManager, times(2)).saveToStore(true);
+        assertTrue(mDataSource.hasNewDataToSerialize());
+
         reset(mNotificationManger);
 
         // Now trigger the app-ops callback to ensure we remove all of their suggestions.