diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl index 18c124503136e..af48d0a2b6ca0 100644 --- a/wifi/java/android/net/wifi/IWifiManager.aidl +++ b/wifi/java/android/net/wifi/IWifiManager.aidl @@ -16,7 +16,11 @@ package android.net.wifi; + +import android.content.pm.ParceledListSlice; + import android.net.wifi.hotspot2.PasspointConfiguration; + import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiInfo; import android.net.wifi.ScanSettings; @@ -51,9 +55,9 @@ interface IWifiManager */ oneway void requestActivityInfo(in ResultReceiver result); - List getConfiguredNetworks(); + ParceledListSlice getConfiguredNetworks(); - List getPrivilegedConfiguredNetworks(); + ParceledListSlice getPrivilegedConfiguredNetworks(); WifiConfiguration getMatchingWifiConfig(in ScanResult scanResult); diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index ed6a166d3fc66..a438deb796f81 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -21,6 +21,7 @@ import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.bluetooth.BluetoothAdapter; import android.content.Context; +import android.content.pm.ParceledListSlice; import android.net.ConnectivityManager; import android.net.DhcpInfo; import android.net.Network; @@ -46,6 +47,7 @@ import com.android.server.net.NetworkPinner; import java.net.InetAddress; import java.util.List; import java.util.concurrent.CountDownLatch; +import java.util.Collections; /** * This class provides the primary API for managing all aspects of Wi-Fi @@ -859,7 +861,12 @@ public class WifiManager { */ public List getConfiguredNetworks() { try { - return mService.getConfiguredNetworks(); + ParceledListSlice parceledList = + mService.getConfiguredNetworks(); + if (parceledList == null) { + return Collections.emptyList(); + } + return parceledList.getList(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -869,7 +876,12 @@ public class WifiManager { @SystemApi public List getPrivilegedConfiguredNetworks() { try { - return mService.getPrivilegedConfiguredNetworks(); + ParceledListSlice parceledList = + mService.getPrivilegedConfiguredNetworks(); + if (parceledList == null) { + return Collections.emptyList(); + } + return parceledList.getList(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); }