Merge "Create related APIs for PNO scan interval"

This commit is contained in:
Oscar Shu
2023-02-13 22:32:20 +00:00
committed by Android (Google) Code Review
2 changed files with 57 additions and 1 deletions

View File

@@ -9837,11 +9837,15 @@ package android.net.wifi.nl80211 {
method public int getMin5gRssiDbm();
method public int getMin6gRssiDbm();
method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
method public int getScanIntervalMultiplier();
method public int getScanIterations();
method public void setIntervalMillis(long);
method public void setMin2gRssiDbm(int);
method public void setMin5gRssiDbm(int);
method public void setMin6gRssiDbm(int);
method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
method public void setScanIntervalMultiplier(int);
method public void setScanIterations(int);
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
}

View File

@@ -19,9 +19,12 @@ package android.net.wifi.nl80211;
import android.annotation.DurationMillisLong;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.RequiresApi;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -38,6 +41,8 @@ public final class PnoSettings implements Parcelable {
private int mMin2gRssi;
private int mMin5gRssi;
private int mMin6gRssi;
private int mScanIterations;
private int mScanIntervalMultiplier;
private List<PnoNetwork> mPnoNetworks;
/** Construct an uninitialized PnoSettings object */
@@ -121,6 +126,46 @@ public final class PnoSettings implements Parcelable {
this.mMin6gRssi = min6gRssiDbm;
}
/**
* Get the requested PNO scan iterations.
*
* @return PNO scan iterations.
*/
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
public int getScanIterations() {
return mScanIterations;
}
/**
* Set the requested PNO scan iterations.
*
* @param scanIterations the PNO scan iterations.
*/
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
public void setScanIterations(int scanIterations) {
this.mScanIterations = scanIterations;
}
/**
* Get the requested PNO scan interval multiplier.
*
* @return PNO scan interval multiplier.
*/
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
public int getScanIntervalMultiplier() {
return mScanIntervalMultiplier;
}
/**
* Set the requested PNO scan interval multiplier.
*
* @param scanIntervalMultiplier the PNO scan interval multiplier.
*/
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
public void setScanIntervalMultiplier(int scanIntervalMultiplier) {
this.mScanIntervalMultiplier = scanIntervalMultiplier;
}
/**
* Return the configured list of specific networks to search for in a PNO scan.
*
@@ -156,13 +201,16 @@ public final class PnoSettings implements Parcelable {
&& mMin2gRssi == settings.mMin2gRssi
&& mMin5gRssi == settings.mMin5gRssi
&& mMin6gRssi == settings.mMin6gRssi
&& mScanIterations == settings.mScanIterations
&& mScanIntervalMultiplier == settings.mScanIntervalMultiplier
&& mPnoNetworks.equals(settings.mPnoNetworks);
}
/** override hash code */
@Override
public int hashCode() {
return Objects.hash(mIntervalMs, mMin2gRssi, mMin5gRssi, mMin6gRssi, mPnoNetworks);
return Objects.hash(mIntervalMs, mMin2gRssi, mMin5gRssi, mMin6gRssi,
mScanIterations, mScanIntervalMultiplier, mPnoNetworks);
}
/** implement Parcelable interface */
@@ -181,6 +229,8 @@ public final class PnoSettings implements Parcelable {
out.writeInt(mMin2gRssi);
out.writeInt(mMin5gRssi);
out.writeInt(mMin6gRssi);
out.writeInt(mScanIterations);
out.writeInt(mScanIntervalMultiplier);
out.writeTypedList(mPnoNetworks);
}
@@ -194,6 +244,8 @@ public final class PnoSettings implements Parcelable {
result.mMin2gRssi = in.readInt();
result.mMin5gRssi = in.readInt();
result.mMin6gRssi = in.readInt();
result.mScanIterations = in.readInt();
result.mScanIntervalMultiplier = in.readInt();
result.mPnoNetworks = new ArrayList<>();
in.readTypedList(result.mPnoNetworks, PnoNetwork.CREATOR);