Loading wifi/java/android/net/wifi/WifiConfiguration.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class WifiConfiguration implements Parcelable { /** * Current Version of the Backup Serializer. */ private static final int BACKUP_VERSION = 2; private static final int BACKUP_VERSION = 3; /** {@hide} */ public static final String ssidVarName = "ssid"; /** {@hide} */ Loading Loading @@ -2420,6 +2420,7 @@ public class WifiConfiguration implements Parcelable { out.writeInt(apChannel); BackupUtils.writeString(out, preSharedKey); out.writeInt(getAuthType()); out.writeBoolean(hiddenSSID); return baos.toByteArray(); } Loading @@ -2442,6 +2443,9 @@ public class WifiConfiguration implements Parcelable { config.apChannel = in.readInt(); config.preSharedKey = BackupUtils.readString(in); config.allowedKeyManagement.set(in.readInt()); if (version >= 3) { config.hiddenSSID = in.readBoolean(); } return config; } } wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +30 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import android.net.MacAddress; import android.net.wifi.WifiConfiguration.KeyMgmt; import android.net.wifi.WifiConfiguration.NetworkSelectionStatus; import android.os.Parcel; import android.support.test.filters.SmallTest; Loading @@ -30,6 +31,9 @@ import android.support.test.filters.SmallTest; import org.junit.Before; import org.junit.Test; import java.io.ByteArrayInputStream; import java.io.DataInputStream; /** * Unit tests for {@link android.net.wifi.WifiConfiguration}. */ Loading Loading @@ -242,4 +246,30 @@ public class WifiConfigurationTest { config.setRandomizedMacAddress(null); assertEquals(defaultMac, config.getRandomizedMacAddress()); } /** * Verifies that the serialization/de-serialization for softap config works. */ @Test public void testSoftApConfigBackupAndRestore() throws Exception { WifiConfiguration config = new WifiConfiguration(); config.SSID = "TestAP"; config.apBand = WifiConfiguration.AP_BAND_5GHZ; config.apChannel = 40; config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK); config.preSharedKey = "TestPsk"; config.hiddenSSID = true; byte[] data = config.getBytesForBackup(); ByteArrayInputStream bais = new ByteArrayInputStream(data); DataInputStream in = new DataInputStream(bais); WifiConfiguration restoredConfig = WifiConfiguration.getWifiConfigFromBackup(in); assertEquals(config.SSID, restoredConfig.SSID); assertEquals(config.preSharedKey, restoredConfig.preSharedKey); assertEquals(config.getAuthType(), restoredConfig.getAuthType()); assertEquals(config.apBand, restoredConfig.apBand); assertEquals(config.apChannel, restoredConfig.apChannel); assertEquals(config.hiddenSSID, restoredConfig.hiddenSSID); } } Loading
wifi/java/android/net/wifi/WifiConfiguration.java +5 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public class WifiConfiguration implements Parcelable { /** * Current Version of the Backup Serializer. */ private static final int BACKUP_VERSION = 2; private static final int BACKUP_VERSION = 3; /** {@hide} */ public static final String ssidVarName = "ssid"; /** {@hide} */ Loading Loading @@ -2420,6 +2420,7 @@ public class WifiConfiguration implements Parcelable { out.writeInt(apChannel); BackupUtils.writeString(out, preSharedKey); out.writeInt(getAuthType()); out.writeBoolean(hiddenSSID); return baos.toByteArray(); } Loading @@ -2442,6 +2443,9 @@ public class WifiConfiguration implements Parcelable { config.apChannel = in.readInt(); config.preSharedKey = BackupUtils.readString(in); config.allowedKeyManagement.set(in.readInt()); if (version >= 3) { config.hiddenSSID = in.readBoolean(); } return config; } }
wifi/tests/src/android/net/wifi/WifiConfigurationTest.java +30 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import android.net.MacAddress; import android.net.wifi.WifiConfiguration.KeyMgmt; import android.net.wifi.WifiConfiguration.NetworkSelectionStatus; import android.os.Parcel; import android.support.test.filters.SmallTest; Loading @@ -30,6 +31,9 @@ import android.support.test.filters.SmallTest; import org.junit.Before; import org.junit.Test; import java.io.ByteArrayInputStream; import java.io.DataInputStream; /** * Unit tests for {@link android.net.wifi.WifiConfiguration}. */ Loading Loading @@ -242,4 +246,30 @@ public class WifiConfigurationTest { config.setRandomizedMacAddress(null); assertEquals(defaultMac, config.getRandomizedMacAddress()); } /** * Verifies that the serialization/de-serialization for softap config works. */ @Test public void testSoftApConfigBackupAndRestore() throws Exception { WifiConfiguration config = new WifiConfiguration(); config.SSID = "TestAP"; config.apBand = WifiConfiguration.AP_BAND_5GHZ; config.apChannel = 40; config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK); config.preSharedKey = "TestPsk"; config.hiddenSSID = true; byte[] data = config.getBytesForBackup(); ByteArrayInputStream bais = new ByteArrayInputStream(data); DataInputStream in = new DataInputStream(bais); WifiConfiguration restoredConfig = WifiConfiguration.getWifiConfigFromBackup(in); assertEquals(config.SSID, restoredConfig.SSID); assertEquals(config.preSharedKey, restoredConfig.preSharedKey); assertEquals(config.getAuthType(), restoredConfig.getAuthType()); assertEquals(config.apBand, restoredConfig.apBand); assertEquals(config.apChannel, restoredConfig.apChannel); assertEquals(config.hiddenSSID, restoredConfig.hiddenSSID); } }