diff options
author | Roshan Pius <rpius@google.com> | 2017-03-15 20:34:33 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-03-15 20:34:33 +0000 |
commit | ffe8694d14621b679ef06ca2679cf55462b33ea8 (patch) | |
tree | 400e9089b329dd36585b80eea73b3ff3f57b96ef /service | |
parent | f66217fc1b9631cfdafa9fbb51296146fd777317 (diff) | |
parent | f384821f8979152ba83ec70614a59094c838c8c6 (diff) |
Merge "WiFi: Wifi service get configured networks use ParceledListSlice."
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/WifiServiceImpl.java | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java index 19eaf5218..7ab7182d1 100644 --- a/service/java/com/android/server/wifi/WifiServiceImpl.java +++ b/service/java/com/android/server/wifi/WifiServiceImpl.java @@ -37,6 +37,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import android.content.pm.ParceledListSlice; import android.database.ContentObserver; import android.net.ConnectivityManager; import android.net.DhcpInfo; @@ -869,16 +870,19 @@ public class WifiServiceImpl extends IWifiManager.Stub { * @return the list of configured networks */ @Override - public List<WifiConfiguration> getConfiguredNetworks() { + public ParceledListSlice<WifiConfiguration> getConfiguredNetworks() { enforceAccessPermission(); mLog.trace("getConfiguredNetworks uid=%").c(Binder.getCallingUid()).flush(); if (mWifiStateMachineChannel != null) { - return mWifiStateMachine.syncGetConfiguredNetworks(Binder.getCallingUid(), - mWifiStateMachineChannel); + List<WifiConfiguration> configs = mWifiStateMachine.syncGetConfiguredNetworks( + Binder.getCallingUid(), mWifiStateMachineChannel); + if (configs != null) { + return new ParceledListSlice<WifiConfiguration>(configs); + } } else { Slog.e(TAG, "mWifiStateMachineChannel is not initialized"); - return null; } + return null; } /** @@ -886,16 +890,20 @@ public class WifiServiceImpl extends IWifiManager.Stub { * @return the list of configured networks with real preSharedKey */ @Override - public List<WifiConfiguration> getPrivilegedConfiguredNetworks() { + public ParceledListSlice<WifiConfiguration> getPrivilegedConfiguredNetworks() { enforceReadCredentialPermission(); enforceAccessPermission(); mLog.trace("getPrivilegedConfiguredNetworks uid=%").c(Binder.getCallingUid()).flush(); if (mWifiStateMachineChannel != null) { - return mWifiStateMachine.syncGetPrivilegedConfiguredNetwork(mWifiStateMachineChannel); + List<WifiConfiguration> configs = + mWifiStateMachine.syncGetPrivilegedConfiguredNetwork(mWifiStateMachineChannel); + if (configs != null) { + return new ParceledListSlice<WifiConfiguration>(configs); + } } else { Slog.e(TAG, "mWifiStateMachineChannel is not initialized"); - return null; } + return null; } /** @@ -1741,12 +1749,15 @@ public class WifiServiceImpl extends IWifiManager.Stub { /* ignore - local call */ } // Delete all Wifi SSIDs - List<WifiConfiguration> networks = getConfiguredNetworks(); - if (networks != null) { - for (WifiConfiguration config : networks) { - removeNetwork(config.networkId); + if (mWifiStateMachineChannel != null) { + List<WifiConfiguration> networks = mWifiStateMachine.syncGetConfiguredNetworks( + Binder.getCallingUid(), mWifiStateMachineChannel); + if (networks != null) { + for (WifiConfiguration config : networks) { + removeNetwork(config.networkId); + } + saveConfiguration(); } - saveConfiguration(); } } } |