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

Commit 66cbe222 authored by Jimmy Chen's avatar Jimmy Chen
Browse files

wifi: implement hashCode to be consistent with equals

Per Effective Java, if a class implements equals(),
it should override hashCode().

Test: (new) unit tests
Bug: 37000525
Change-Id: If4175a7e2bc34935c525d0fb96fbbe1e904030e3
parent 44b8e043
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.os.Parcelable;
import android.os.Parcel;
import android.util.Log;

import java.util.Objects;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

@@ -314,6 +316,11 @@ public class WifiP2pDevice implements Parcelable {
        return other.deviceAddress.equals(deviceAddress);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(deviceAddress);
    }

    @Override
    public String toString() {
        StringBuffer sbuf = new StringBuffer();
+42 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.net.wifi.p2p;

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

import org.junit.Test;

/**
 * Unit test harness for {@link android.net.wifi.p2p.WifiP2pDevice}
 */
public class WifiP2pDeviceTest {

    /**
     * Check equals and hashCode consistency
     */
    @Test
    public void testEqualsWithHashCode() throws Exception {
        WifiP2pDevice dev_a = new WifiP2pDevice();
        dev_a.deviceAddress = new String("02:90:4c:a0:92:54");
        WifiP2pDevice dev_b = new WifiP2pDevice();
        dev_b.deviceAddress = new String("02:90:4c:a0:92:54");

        assertTrue(dev_a.equals(dev_b));
        assertEquals(dev_a.hashCode(), dev_b.hashCode());
    }
}