summaryrefslogtreecommitdiff
path: root/framework/java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/java')
-rw-r--r--framework/java/android/net/wifi/IWifiScannerListener.aidl10
-rw-r--r--framework/java/android/net/wifi/WifiScanner.java15
2 files changed, 14 insertions, 11 deletions
diff --git a/framework/java/android/net/wifi/IWifiScannerListener.aidl b/framework/java/android/net/wifi/IWifiScannerListener.aidl
index bd19ac2d0f..74b22a1bbf 100644
--- a/framework/java/android/net/wifi/IWifiScannerListener.aidl
+++ b/framework/java/android/net/wifi/IWifiScannerListener.aidl
@@ -15,14 +15,14 @@
package android.net.wifi;
-import android.net.wifi.WifiScanner;
import android.net.wifi.ScanResult;
+import android.net.wifi.WifiScanner;
+import com.android.modules.utils.ParceledListSlice;
/**
* @hide
*/
-oneway interface IWifiScannerListener
-{
+oneway interface IWifiScannerListener {
void onSuccess();
void onFailure(int reason, String description);
@@ -46,5 +46,5 @@ oneway interface IWifiScannerListener
/**
* reports full scan result for all access points found in scan
*/
- void onFullResults(in List<ScanResult> scanResult);
-} \ No newline at end of file
+ void onFullResults(in ParceledListSlice<ScanResult> scanResult);
+}
diff --git a/framework/java/android/net/wifi/WifiScanner.java b/framework/java/android/net/wifi/WifiScanner.java
index fd9676e0e4..b5cc3b0976 100644
--- a/framework/java/android/net/wifi/WifiScanner.java
+++ b/framework/java/android/net/wifi/WifiScanner.java
@@ -45,6 +45,7 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
import com.android.internal.util.Protocol;
+import com.android.modules.utils.ParceledListSlice;
import com.android.modules.utils.build.SdkLevel;
import com.android.wifi.flags.Flags;
@@ -387,14 +388,14 @@ public class WifiScanner {
* reports full scan result for all access points found in scan
*/
@Override
- public void onFullResults(List<ScanResult> fullScanResult) {
+ public void onFullResults(ParceledListSlice<ScanResult> fullScanResult) {
Log.i(TAG, "onFullResults");
if (mActionListener == null) return;
if (!(mActionListener instanceof ScanListener)) return;
ScanListener scanListener = (ScanListener) mActionListener;
Binder.clearCallingIdentity();
mExecutor.execute(
- () -> fullScanResult.forEach(scanListener::onFullResult));
+ () -> fullScanResult.getList().forEach(scanListener::onFullResult));
}
@Override
@@ -1021,7 +1022,8 @@ public class WifiScanner {
dest.writeInt(mFlags);
dest.writeInt(mBucketsScanned);
dest.writeInt(mScannedBands);
- dest.writeParcelableList(mResults, 0);
+ ParceledListSlice<ScanResult> parceledListSlice = new ParceledListSlice<>(mResults);
+ parceledListSlice.writeToParcel(dest, flags);
}
/** Implement the Parcelable interface {@hide} */
@@ -1032,9 +1034,10 @@ public class WifiScanner {
int flags = in.readInt();
int bucketsScanned = in.readInt();
int bandsScanned = in.readInt();
- List<ScanResult> results = new ArrayList<>();
- in.readParcelableList(results, ScanResult.class.getClassLoader());
- return new ScanData(id, flags, bucketsScanned, bandsScanned, results);
+ ParceledListSlice<ScanResult> parceledListSlice =
+ ParceledListSlice.CREATOR.createFromParcel(in);
+ return new ScanData(id, flags, bucketsScanned, bandsScanned,
+ parceledListSlice.getList());
}
public ScanData[] newArray(int size) {