Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56ddd360 authored by Bruno Kremp's avatar Bruno Kremp Committed by Oscar Shu
Browse files

Create related APIs for PNO scan interval



Set PNO scan iterations and interval multiplier as variables and
get them from modules instead of hard coding.

Create related APIs for PNO scan iterations and interval multiplier.

Co-authored-by: default avatarZiwen Xiao <Ziwen.Xiao@sony.com>

Test: manual test
Bug: 208172490
Change-Id: Iab7f80c9462e3facf15d8ec5a03b2f2560d48b4d
parent 7c7716e8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -9689,11 +9689,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;
  }
+53 −1
Original line number Diff line number Diff line
@@ -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);