Loading wifi/java/android/net/wifi/ScanResult.java +10 −0 Original line number Diff line number Diff line Loading @@ -465,9 +465,16 @@ public class ScanResult implements Parcelable { public static final int EID_VHT_OPERATION = 192; @UnsupportedAppUsage public static final int EID_VSA = 221; public static final int EID_EXTENSION_PRESENT = 255; /** * Extension IDs */ public static final int EID_EXT_HE_OPERATION = 36; @UnsupportedAppUsage public int id; public int idExt; @UnsupportedAppUsage public byte[] bytes; Loading @@ -476,6 +483,7 @@ public class ScanResult implements Parcelable { public InformationElement(InformationElement rhs) { this.id = rhs.id; this.idExt = rhs.idExt; this.bytes = rhs.bytes.clone(); } } Loading Loading @@ -717,6 +725,7 @@ public class ScanResult implements Parcelable { dest.writeInt(informationElements.length); for (int i = 0; i < informationElements.length; i++) { dest.writeInt(informationElements[i].id); dest.writeInt(informationElements[i].idExt); dest.writeInt(informationElements[i].bytes.length); dest.writeByteArray(informationElements[i].bytes); } Loading Loading @@ -799,6 +808,7 @@ public class ScanResult implements Parcelable { for (int i = 0; i < n; i++) { sr.informationElements[i] = new InformationElement(); sr.informationElements[i].id = in.readInt(); sr.informationElements[i].idExt = in.readInt(); int len = in.readInt(); sr.informationElements[i].bytes = new byte[len]; in.readByteArray(sr.informationElements[i].bytes); Loading wifi/tests/src/android/net/wifi/ScanResultTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.Mockito.validateMockitoUsage; import android.net.wifi.ScanResult.InformationElement; import android.os.Parcel; import androidx.test.filters.SmallTest; Loading Loading @@ -123,6 +124,25 @@ public class ScanResultTest { assertScanResultEquals(scanResult, copyScanResult); } /** * Verify parcel read/write for ScanResult with Information Element */ @Test public void verifyScanResultParcelWithInformationElement() throws Exception { ScanResult writeScanResult = createScanResult(); writeScanResult.informationElements = new ScanResult.InformationElement[2]; writeScanResult.informationElements[0] = new ScanResult.InformationElement(); writeScanResult.informationElements[0].id = InformationElement.EID_HT_OPERATION; writeScanResult.informationElements[0].idExt = 0; writeScanResult.informationElements[0].bytes = new byte[]{0x11, 0x22, 0x33}; writeScanResult.informationElements[1] = new ScanResult.InformationElement(); writeScanResult.informationElements[1].id = InformationElement.EID_EXTENSION_PRESENT; writeScanResult.informationElements[1].idExt = InformationElement.EID_EXT_HE_OPERATION; writeScanResult.informationElements[1].bytes = new byte[]{0x44, 0x55, 0x66}; ScanResult readScanResult = new ScanResult(writeScanResult); assertScanResultEquals(writeScanResult, readScanResult); } /** * Verify toString for ScanResult. */ Loading Loading @@ -188,5 +208,6 @@ public class ScanResultTest { assertEquals(expected.frequency, actual.frequency); assertEquals(expected.timestamp, actual.timestamp); assertArrayEquals(expected.radioChainInfos, actual.radioChainInfos); assertArrayEquals(expected.informationElements, actual.informationElements); } } Loading
wifi/java/android/net/wifi/ScanResult.java +10 −0 Original line number Diff line number Diff line Loading @@ -465,9 +465,16 @@ public class ScanResult implements Parcelable { public static final int EID_VHT_OPERATION = 192; @UnsupportedAppUsage public static final int EID_VSA = 221; public static final int EID_EXTENSION_PRESENT = 255; /** * Extension IDs */ public static final int EID_EXT_HE_OPERATION = 36; @UnsupportedAppUsage public int id; public int idExt; @UnsupportedAppUsage public byte[] bytes; Loading @@ -476,6 +483,7 @@ public class ScanResult implements Parcelable { public InformationElement(InformationElement rhs) { this.id = rhs.id; this.idExt = rhs.idExt; this.bytes = rhs.bytes.clone(); } } Loading Loading @@ -717,6 +725,7 @@ public class ScanResult implements Parcelable { dest.writeInt(informationElements.length); for (int i = 0; i < informationElements.length; i++) { dest.writeInt(informationElements[i].id); dest.writeInt(informationElements[i].idExt); dest.writeInt(informationElements[i].bytes.length); dest.writeByteArray(informationElements[i].bytes); } Loading Loading @@ -799,6 +808,7 @@ public class ScanResult implements Parcelable { for (int i = 0; i < n; i++) { sr.informationElements[i] = new InformationElement(); sr.informationElements[i].id = in.readInt(); sr.informationElements[i].idExt = in.readInt(); int len = in.readInt(); sr.informationElements[i].bytes = new byte[len]; in.readByteArray(sr.informationElements[i].bytes); Loading
wifi/tests/src/android/net/wifi/ScanResultTest.java +21 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.mockito.Mockito.validateMockitoUsage; import android.net.wifi.ScanResult.InformationElement; import android.os.Parcel; import androidx.test.filters.SmallTest; Loading Loading @@ -123,6 +124,25 @@ public class ScanResultTest { assertScanResultEquals(scanResult, copyScanResult); } /** * Verify parcel read/write for ScanResult with Information Element */ @Test public void verifyScanResultParcelWithInformationElement() throws Exception { ScanResult writeScanResult = createScanResult(); writeScanResult.informationElements = new ScanResult.InformationElement[2]; writeScanResult.informationElements[0] = new ScanResult.InformationElement(); writeScanResult.informationElements[0].id = InformationElement.EID_HT_OPERATION; writeScanResult.informationElements[0].idExt = 0; writeScanResult.informationElements[0].bytes = new byte[]{0x11, 0x22, 0x33}; writeScanResult.informationElements[1] = new ScanResult.InformationElement(); writeScanResult.informationElements[1].id = InformationElement.EID_EXTENSION_PRESENT; writeScanResult.informationElements[1].idExt = InformationElement.EID_EXT_HE_OPERATION; writeScanResult.informationElements[1].bytes = new byte[]{0x44, 0x55, 0x66}; ScanResult readScanResult = new ScanResult(writeScanResult); assertScanResultEquals(writeScanResult, readScanResult); } /** * Verify toString for ScanResult. */ Loading Loading @@ -188,5 +208,6 @@ public class ScanResultTest { assertEquals(expected.frequency, actual.frequency); assertEquals(expected.timestamp, actual.timestamp); assertArrayEquals(expected.radioChainInfos, actual.radioChainInfos); assertArrayEquals(expected.informationElements, actual.informationElements); } }