Add a new SystemApi, getPrivilegedConfiguredNetworks(). Part 1 [DO NOT MERGE]

This is very similar to the existing
WifiManger.getConfiguredNetworks(), but it returns real preSharedKey.
This API is only used by system application.

Bug: 15703353
Change-Id: If3eaca3286e77b780272f42a28772d1d8d39db65
(cherry picked from commit 775bf6ae5d052948bcb60eaf89defa9105d7077c)
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl
index 22ba924..292f1e8 100644
--- a/wifi/java/android/net/wifi/IWifiManager.aidl
+++ b/wifi/java/android/net/wifi/IWifiManager.aidl
@@ -41,6 +41,8 @@
 
     List<WifiConfiguration> getConfiguredNetworks();
 
+    List<WifiConfiguration> getPrivilegedConfiguredNetworks();
+
     int addOrUpdateNetwork(in WifiConfiguration config);
 
     boolean removeNetwork(int netId);
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 7ad05ab..8945e52 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -629,6 +629,16 @@
         }
     }
 
+    /** @hide */
+    @SystemApi
+    public List<WifiConfiguration> getPrivilegedConfiguredNetworks() {
+        try {
+            return mService.getPrivilegedConfiguredNetworks();
+        } catch (RemoteException e) {
+            return null;
+        }
+    }
+
     /**
      * Add a new network description to the set of configured networks.
      * The {@code networkId} field of the supplied configuration object