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

Commit 2ed64ce4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "wifi: override equals method for WifiSsid"

parents ae7023c1 01a6ca78
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CoderResult;
import java.nio.charset.CodingErrorAction;
import java.util.Arrays;
import java.util.Locale;

/**
@@ -189,6 +190,23 @@ public class WifiSsid implements Parcelable {
        return out.toString();
    }

    @Override
    public boolean equals(Object thatObject) {
        if (this == thatObject) {
            return true;
        }
        if (!(thatObject instanceof WifiSsid)) {
            return false;
        }
        WifiSsid that = (WifiSsid) thatObject;
        return Arrays.equals(octets.toByteArray(), that.octets.toByteArray());
    }

    @Override
    public int hashCode() {
        return Arrays.hashCode(octets.toByteArray());
    }

    private boolean isArrayAllZeroes(byte[] ssidBytes) {
        for (int i = 0; i< ssidBytes.length; i++) {
            if (ssidBytes[i] != 0) return false;
+23 −5
Original line number Diff line number Diff line
@@ -16,25 +16,43 @@

package android.net.wifi;

import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import org.junit.Test;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;

/**
 * Unit tests for {@link android.net.wifi.WifiSsid}.
 */
public class WifiSsidTest {

    private static final byte[] TEST_SSID =
            new byte[] {'G', 'o', 'o', 'g', 'l', 'e', 'G', 'u', 'e', 's', 't'};
    private static final String TEST_SSID = "Test SSID";
    private static final byte[] TEST_SSID_BYTES = TEST_SSID.getBytes(StandardCharsets.US_ASCII);

    /**
     * Check that createFromByteArray() works.
     */
    @Test
    public void testCreateFromByteArray() {
        WifiSsid wifiSsid = WifiSsid.createFromByteArray(TEST_SSID);
        WifiSsid wifiSsid = WifiSsid.createFromByteArray(TEST_SSID_BYTES);
        assertTrue(wifiSsid != null);
        assertEquals(new String(TEST_SSID), wifiSsid.toString());
        assertEquals(TEST_SSID, wifiSsid.toString());
    }

    /**
     * Verify that SSID created from byte array and string with the same content are equal.
     *
     * @throws Exception
     */
    @Test
    public void testEquals() throws Exception {
        WifiSsid fromBytes = WifiSsid.createFromByteArray(TEST_SSID_BYTES);
        WifiSsid fromString = WifiSsid.createFromAsciiEncoded(TEST_SSID);
        assertTrue(fromBytes != null);
        assertTrue(fromString != null);
        assertEquals(fromBytes, fromString);
    }
}