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

Commit 28e1628e authored by Oscar Shu's avatar Oscar Shu Committed by Android (Google) Code Review
Browse files

Merge "Handle hiddenSSID as one of soft ap config for backup & restore"

parents 0b422043 4e7bbd8a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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} */
@@ -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();
    }

@@ -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;
    }
}
+30 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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}.
 */
@@ -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);
    }
}