Loading wifi/java/android/net/wifi/WifiConfiguration.java +3 −1 Original line number Diff line number Diff line Loading @@ -1662,7 +1662,9 @@ public class WifiConfiguration implements Parcelable { */ @NonNull public NetworkSelectionStatus build() { return mNetworkSelectionStatus; NetworkSelectionStatus status = new NetworkSelectionStatus(); status.copy(mNetworkSelectionStatus); return status; } } Loading wifi/java/android/net/wifi/WifiInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -435,7 +435,7 @@ public class WifiInfo implements Parcelable { */ @NonNull public WifiInfo build() { return mWifiInfo; return new WifiInfo(mWifiInfo); } } Loading wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import android.net.MacAddress; Loading Loading @@ -386,4 +387,43 @@ public class WifiConfigurationTest { .get(WifiConfiguration.GroupMgmtCipher.BIP_GMAC_256)); assertTrue(config.requirePMF); } /** * Test that the NetworkSelectionStatus Builder returns the same values that was set, and that * calling build multiple times returns different instances. */ @Test public void testNetworkSelectionStatusBuilder() throws Exception { NetworkSelectionStatus.Builder builder = new NetworkSelectionStatus.Builder() .setNetworkSelectionDisableReason( NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION) .setNetworkSelectionStatus( NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED); NetworkSelectionStatus status1 = builder.build(); assertEquals(NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION, status1.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status1.getNetworkSelectionStatus()); NetworkSelectionStatus status2 = builder .setNetworkSelectionDisableReason(NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD) .build(); // different instances assertNotSame(status1, status2); // assert that status1 didn't change assertEquals(NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION, status1.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status1.getNetworkSelectionStatus()); // assert that status2 changed assertEquals(NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD, status2.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status2.getNetworkSelectionStatus()); } } wifi/tests/src/android/net/wifi/WifiInfoTest.java +47 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net.wifi; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import android.os.Parcel; Loading @@ -26,6 +27,8 @@ import androidx.test.filters.SmallTest; import org.junit.Test; import java.nio.charset.StandardCharsets; /** * Unit tests for {@link android.net.wifi.WifiInfo}. */ Loading @@ -41,6 +44,11 @@ public class WifiInfoTest { private static final int TEST_WIFI_STANDARD = ScanResult.WIFI_STANDARD_11AC; private static final int TEST_MAX_SUPPORTED_TX_LINK_SPEED_MBPS = 866; private static final int TEST_MAX_SUPPORTED_RX_LINK_SPEED_MBPS = 1200; private static final String TEST_SSID = "Test123"; private static final String TEST_BSSID = "12:12:12:12:12:12"; private static final int TEST_RSSI = -60; private static final int TEST_NETWORK_ID = 5; private static final int TEST_NETWORK_ID2 = 6; /** * Verify parcel write/read with WifiInfo. Loading Loading @@ -101,4 +109,43 @@ public class WifiInfoTest { assertEquals(null, wifiInfo.getBSSID()); assertEquals(-1, wifiInfo.getNetworkId()); } /** * Test that the WifiInfo Builder returns the same values that was set, and that * calling build multiple times returns different instances. */ @Test public void testWifiInfoBuilder() throws Exception { WifiInfo.Builder builder = new WifiInfo.Builder() .setSsid(TEST_SSID.getBytes(StandardCharsets.UTF_8)) .setBssid(TEST_BSSID) .setRssi(TEST_RSSI) .setNetworkId(TEST_NETWORK_ID); WifiInfo info1 = builder.build(); assertEquals("\"" + TEST_SSID + "\"", info1.getSSID()); assertEquals(TEST_BSSID, info1.getBSSID()); assertEquals(TEST_RSSI, info1.getRssi()); assertEquals(TEST_NETWORK_ID, info1.getNetworkId()); WifiInfo info2 = builder .setNetworkId(TEST_NETWORK_ID2) .build(); // different instances assertNotSame(info1, info2); // assert that info1 didn't change assertEquals("\"" + TEST_SSID + "\"", info1.getSSID()); assertEquals(TEST_BSSID, info1.getBSSID()); assertEquals(TEST_RSSI, info1.getRssi()); assertEquals(TEST_NETWORK_ID, info1.getNetworkId()); // assert that info2 changed assertEquals("\"" + TEST_SSID + "\"", info2.getSSID()); assertEquals(TEST_BSSID, info2.getBSSID()); assertEquals(TEST_RSSI, info2.getRssi()); assertEquals(TEST_NETWORK_ID2, info2.getNetworkId()); } } Loading
wifi/java/android/net/wifi/WifiConfiguration.java +3 −1 Original line number Diff line number Diff line Loading @@ -1662,7 +1662,9 @@ public class WifiConfiguration implements Parcelable { */ @NonNull public NetworkSelectionStatus build() { return mNetworkSelectionStatus; NetworkSelectionStatus status = new NetworkSelectionStatus(); status.copy(mNetworkSelectionStatus); return status; } } Loading
wifi/java/android/net/wifi/WifiInfo.java +1 −1 Original line number Diff line number Diff line Loading @@ -435,7 +435,7 @@ public class WifiInfo implements Parcelable { */ @NonNull public WifiInfo build() { return mWifiInfo; return new WifiInfo(mWifiInfo); } } Loading
wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import android.net.MacAddress; Loading Loading @@ -386,4 +387,43 @@ public class WifiConfigurationTest { .get(WifiConfiguration.GroupMgmtCipher.BIP_GMAC_256)); assertTrue(config.requirePMF); } /** * Test that the NetworkSelectionStatus Builder returns the same values that was set, and that * calling build multiple times returns different instances. */ @Test public void testNetworkSelectionStatusBuilder() throws Exception { NetworkSelectionStatus.Builder builder = new NetworkSelectionStatus.Builder() .setNetworkSelectionDisableReason( NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION) .setNetworkSelectionStatus( NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED); NetworkSelectionStatus status1 = builder.build(); assertEquals(NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION, status1.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status1.getNetworkSelectionStatus()); NetworkSelectionStatus status2 = builder .setNetworkSelectionDisableReason(NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD) .build(); // different instances assertNotSame(status1, status2); // assert that status1 didn't change assertEquals(NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION, status1.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status1.getNetworkSelectionStatus()); // assert that status2 changed assertEquals(NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD, status2.getNetworkSelectionDisableReason()); assertEquals(NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED, status2.getNetworkSelectionStatus()); } }
wifi/tests/src/android/net/wifi/WifiInfoTest.java +47 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.net.wifi; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertTrue; import android.os.Parcel; Loading @@ -26,6 +27,8 @@ import androidx.test.filters.SmallTest; import org.junit.Test; import java.nio.charset.StandardCharsets; /** * Unit tests for {@link android.net.wifi.WifiInfo}. */ Loading @@ -41,6 +44,11 @@ public class WifiInfoTest { private static final int TEST_WIFI_STANDARD = ScanResult.WIFI_STANDARD_11AC; private static final int TEST_MAX_SUPPORTED_TX_LINK_SPEED_MBPS = 866; private static final int TEST_MAX_SUPPORTED_RX_LINK_SPEED_MBPS = 1200; private static final String TEST_SSID = "Test123"; private static final String TEST_BSSID = "12:12:12:12:12:12"; private static final int TEST_RSSI = -60; private static final int TEST_NETWORK_ID = 5; private static final int TEST_NETWORK_ID2 = 6; /** * Verify parcel write/read with WifiInfo. Loading Loading @@ -101,4 +109,43 @@ public class WifiInfoTest { assertEquals(null, wifiInfo.getBSSID()); assertEquals(-1, wifiInfo.getNetworkId()); } /** * Test that the WifiInfo Builder returns the same values that was set, and that * calling build multiple times returns different instances. */ @Test public void testWifiInfoBuilder() throws Exception { WifiInfo.Builder builder = new WifiInfo.Builder() .setSsid(TEST_SSID.getBytes(StandardCharsets.UTF_8)) .setBssid(TEST_BSSID) .setRssi(TEST_RSSI) .setNetworkId(TEST_NETWORK_ID); WifiInfo info1 = builder.build(); assertEquals("\"" + TEST_SSID + "\"", info1.getSSID()); assertEquals(TEST_BSSID, info1.getBSSID()); assertEquals(TEST_RSSI, info1.getRssi()); assertEquals(TEST_NETWORK_ID, info1.getNetworkId()); WifiInfo info2 = builder .setNetworkId(TEST_NETWORK_ID2) .build(); // different instances assertNotSame(info1, info2); // assert that info1 didn't change assertEquals("\"" + TEST_SSID + "\"", info1.getSSID()); assertEquals(TEST_BSSID, info1.getBSSID()); assertEquals(TEST_RSSI, info1.getRssi()); assertEquals(TEST_NETWORK_ID, info1.getNetworkId()); // assert that info2 changed assertEquals("\"" + TEST_SSID + "\"", info2.getSSID()); assertEquals(TEST_BSSID, info2.getBSSID()); assertEquals(TEST_RSSI, info2.getRssi()); assertEquals(TEST_NETWORK_ID2, info2.getNetworkId()); } }