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

Commit e8d73bb3 authored by Etan Cohen's avatar Etan Cohen
Browse files

[WIFICOND][API] Replace capability BitSet by an int

The capability bit set is standard constrained - 16 bits and no more.
Can use a simpler/lighter int.

Per API council feedback.

Bug: 148680192
Test: atest android.net.wifi
Test: atest com.android.server.wifi
Change-Id: I47e8458d64f998da2e9743ad850687bc56a24cf6
parent e4fad05f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8199,7 +8199,7 @@ package android.net.wifi.wificond {
    ctor public NativeScanResult();
    method public int describeContents();
    method @NonNull public byte[] getBssid();
    method @NonNull public java.util.BitSet getCapabilities();
    method @NonNull public int getCapabilities();
    method public int getFrequencyMhz();
    method @NonNull public byte[] getInformationElements();
    method @NonNull public java.util.List<android.net.wifi.wificond.RadioChainInfo> getRadioChainInfos();
+0 −4
Original line number Diff line number Diff line
@@ -64,10 +64,6 @@ GenericException: android.service.autofill.augmented.FillWindow#finalize():
    


HeavyBitSet: android.net.wifi.wificond.NativeScanResult#getCapabilities():
    


IntentBuilderName: android.content.Context#registerReceiverForAllUsers(android.content.BroadcastReceiver, android.content.IntentFilter, String, android.os.Handler):
    Methods creating an Intent should be named `create<Foo>Intent()`, was `registerReceiverForAllUsers`

+6 −21
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.os.Parcelable;
import com.android.internal.annotations.VisibleForTesting;

import java.util.ArrayList;
import java.util.BitSet;
import java.util.List;

/**
@@ -34,8 +33,6 @@ import java.util.List;
 */
@SystemApi
public final class NativeScanResult implements Parcelable {
    private static final int CAPABILITY_SIZE = 16;

    /** @hide */
    @VisibleForTesting
    public byte[] ssid;
@@ -56,7 +53,7 @@ public final class NativeScanResult implements Parcelable {
    public long tsf;
    /** @hide */
    @VisibleForTesting
    public BitSet capability;
    public int capability;
    /** @hide */
    @VisibleForTesting
    public boolean associated;
@@ -134,7 +131,7 @@ public final class NativeScanResult implements Parcelable {
     *  Returns the capabilities of the AP repseresented by this scan result as advertised in the
     *  received probe response or beacon.
     *
     *  This is a bit mask describing the capabilities of a BSS. See IEEE Std 802.11: 8.4.1.4:
     *  This is a bit mask describing the capabilities of a BSS. See IEEE Std 802.11: 9.4.1.4:
     *    Bit 0 - ESS
     *    Bit 1 - IBSS
     *    Bit 2 - CF Pollable
@@ -143,7 +140,7 @@ public final class NativeScanResult implements Parcelable {
     *    Bit 5 - Short Preamble
     *    Bit 6 - PBCC
     *    Bit 7 - Channel Agility
     *    Bit 8 - Spectrum Mgmt
     *    Bit 8 - Spectrum Management
     *    Bit 9 - QoS
     *    Bit 10 - Short Slot Time
     *    Bit 11 - APSD
@@ -154,7 +151,7 @@ public final class NativeScanResult implements Parcelable {
     *
     * @return a bit mask of capabilities.
     */
    @NonNull public BitSet getCapabilities() {
    @NonNull public int getCapabilities() {
        return capability;
    }

@@ -188,13 +185,7 @@ public final class NativeScanResult implements Parcelable {
        out.writeInt(frequency);
        out.writeInt(signalMbm);
        out.writeLong(tsf);
        int capabilityInt = 0;
        for (int i = 0; i < CAPABILITY_SIZE; i++) {
            if (capability.get(i)) {
                capabilityInt |= 1 << i;
            }
        }
        out.writeInt(capabilityInt);
        out.writeInt(capability);
        out.writeInt(associated ? 1 : 0);
        out.writeTypedList(radioChainInfos);
    }
@@ -220,13 +211,7 @@ public final class NativeScanResult implements Parcelable {
            result.frequency = in.readInt();
            result.signalMbm = in.readInt();
            result.tsf = in.readLong();
            int capabilityInt = in.readInt();
            result.capability = new BitSet(CAPABILITY_SIZE);
            for (int i = 0; i < CAPABILITY_SIZE; i++) {
                if ((capabilityInt & (1 << i)) != 0) {
                    result.capability.set(i);
                }
            }
            result.capability = in.readInt();
            result.associated = (in.readInt() != 0);
            result.radioChainInfos = new ArrayList<>();
            in.readTypedList(result.radioChainInfos, RadioChainInfo.CREATOR);
+1 −2
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.BitSet;

/**
 * Unit tests for {@link android.net.wifi.wificond.NativeScanResult}.
@@ -46,7 +45,7 @@ public class NativeScanResultTest {
    private static final int TEST_FREQUENCY = 2456;
    private static final int TEST_SIGNAL_MBM = -45;
    private static final long TEST_TSF = 34455441;
    private static final BitSet TEST_CAPABILITY = new BitSet(16) {{ set(2); set(5); }};
    private static final int TEST_CAPABILITY = (0x1 << 2) | (0x1 << 5);
    private static final boolean TEST_ASSOCIATED = true;
    private static final int[] RADIO_CHAIN_IDS = { 0, 1 };
    private static final int[] RADIO_CHAIN_LEVELS = { -56, -65 };