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

Commit f781c012 authored by Isaac Katzenelson's avatar Isaac Katzenelson
Browse files

Change security types arrays to sets in network classes.

Also fixed all test classes to support Truth and added
hashcode verification too.

Bug: 270700093, 270697412
Test: atest KnownNetworkTest TetherNetworkTest
Change-Id: If01e72bffa3297c4d34a32639c4211c4d8ee191b
parent 643dc76f
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -10023,7 +10023,7 @@ package android.net.wifi.sharedconnectivity.app {
    method public int describeContents();
    method public int describeContents();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    method public int getNetworkSource();
    method public int getNetworkSource();
    method @NonNull public int[] getSecurityTypes();
    method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
    method @NonNull public String getSsid();
    method @NonNull public String getSsid();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
@@ -10033,10 +10033,10 @@ package android.net.wifi.sharedconnectivity.app {
  public static final class KnownNetwork.Builder {
  public static final class KnownNetwork.Builder {
    ctor public KnownNetwork.Builder();
    ctor public KnownNetwork.Builder();
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSecurityTypes(@NonNull int[]);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
  }
  }
@@ -10105,7 +10105,7 @@ package android.net.wifi.sharedconnectivity.app {
    method public long getDeviceId();
    method public long getDeviceId();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    method @Nullable public String getHotspotBssid();
    method @Nullable public String getHotspotBssid();
    method @Nullable public int[] getHotspotSecurityTypes();
    method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
    method @Nullable public String getHotspotSsid();
    method @Nullable public String getHotspotSsid();
    method @NonNull public String getNetworkName();
    method @NonNull public String getNetworkName();
    method public int getNetworkType();
    method public int getNetworkType();
@@ -10119,11 +10119,11 @@ package android.net.wifi.sharedconnectivity.app {
  public static final class TetherNetwork.Builder {
  public static final class TetherNetwork.Builder {
    ctor public TetherNetwork.Builder();
    ctor public TetherNetwork.Builder();
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder addHotspotSecurityType(int);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork build();
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork build();
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceId(long);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceId(long);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setDeviceInfo(@NonNull android.net.wifi.sharedconnectivity.app.DeviceInfo);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotBssid(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotBssid(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotSecurityTypes(@NonNull int[]);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotSsid(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setHotspotSsid(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkName(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkName(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkType(int);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkType(int);
+20 −21
Original line number Original line Diff line number Diff line
@@ -24,11 +24,12 @@ import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.ArraySet;


import java.lang.annotation.Retention;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.Objects;
import java.util.Objects;
import java.util.Set;


/**
/**
 * A data class representing a known Wi-Fi network.
 * A data class representing a known Wi-Fi network.
@@ -59,7 +60,7 @@ public final class KnownNetwork implements Parcelable {


    @NetworkSource private final int mNetworkSource;
    @NetworkSource private final int mNetworkSource;
    private final String mSsid;
    private final String mSsid;
    @SecurityType private final int[] mSecurityTypes;
    @SecurityType private final ArraySet<Integer> mSecurityTypes;
    private final DeviceInfo mDeviceInfo;
    private final DeviceInfo mDeviceInfo;


    /**
    /**
@@ -68,11 +69,9 @@ public final class KnownNetwork implements Parcelable {
    public static final class Builder {
    public static final class Builder {
        @NetworkSource private int mNetworkSource = -1;
        @NetworkSource private int mNetworkSource = -1;
        private String mSsid;
        private String mSsid;
        @SecurityType private int[] mSecurityTypes;
        @SecurityType private final ArraySet<Integer> mSecurityTypes = new ArraySet<>();
        private android.net.wifi.sharedconnectivity.app.DeviceInfo mDeviceInfo;
        private android.net.wifi.sharedconnectivity.app.DeviceInfo mDeviceInfo;


        public Builder() {}

        /**
        /**
         * Sets the indicated source of the known network.
         * Sets the indicated source of the known network.
         *
         *
@@ -98,14 +97,14 @@ public final class KnownNetwork implements Parcelable {
        }
        }


        /**
        /**
         * Sets the security types of the known network.
         * Adds a security type of the known network.
         *
         *
         * @param securityTypes The array of security types supported by the known network.
         * @param securityType A security type supported by the known network.
         * @return Returns the Builder object.
         * @return Returns the Builder object.
         */
         */
        @NonNull
        @NonNull
        public Builder setSecurityTypes(@NonNull @SecurityType int[] securityTypes) {
        public Builder addSecurityType(@SecurityType int securityType) {
            mSecurityTypes = securityTypes;
            mSecurityTypes.add(securityType);
            return this;
            return this;
        }
        }


@@ -136,7 +135,7 @@ public final class KnownNetwork implements Parcelable {
        }
        }
    }
    }


    private static void validate(int networkSource, String ssid, int [] securityTypes) {
    private static void validate(int networkSource, String ssid, Set<Integer> securityTypes) {
        if (networkSource != NETWORK_SOURCE_CLOUD_SELF && networkSource
        if (networkSource != NETWORK_SOURCE_CLOUD_SELF && networkSource
                != NETWORK_SOURCE_NEARBY_SELF) {
                != NETWORK_SOURCE_NEARBY_SELF) {
            throw new IllegalArgumentException("Illegal network source");
            throw new IllegalArgumentException("Illegal network source");
@@ -144,7 +143,7 @@ public final class KnownNetwork implements Parcelable {
        if (TextUtils.isEmpty(ssid)) {
        if (TextUtils.isEmpty(ssid)) {
            throw new IllegalArgumentException("SSID must be set");
            throw new IllegalArgumentException("SSID must be set");
        }
        }
        if (securityTypes == null || securityTypes.length == 0) {
        if (securityTypes.isEmpty()) {
            throw new IllegalArgumentException("SecurityTypes must be set");
            throw new IllegalArgumentException("SecurityTypes must be set");
        }
        }
    }
    }
@@ -152,12 +151,12 @@ public final class KnownNetwork implements Parcelable {
    private KnownNetwork(
    private KnownNetwork(
            @NetworkSource int networkSource,
            @NetworkSource int networkSource,
            @NonNull String ssid,
            @NonNull String ssid,
            @NonNull @SecurityType int[] securityTypes,
            @NonNull @SecurityType ArraySet<Integer> securityTypes,
            @NonNull DeviceInfo deviceInfo) {
            @NonNull DeviceInfo deviceInfo) {
        validate(networkSource, ssid, securityTypes);
        validate(networkSource, ssid, securityTypes);
        mNetworkSource = networkSource;
        mNetworkSource = networkSource;
        mSsid = ssid;
        mSsid = ssid;
        mSecurityTypes = securityTypes;
        mSecurityTypes = new ArraySet<>(securityTypes);
        mDeviceInfo = deviceInfo;
        mDeviceInfo = deviceInfo;
    }
    }


@@ -184,11 +183,11 @@ public final class KnownNetwork implements Parcelable {
    /**
    /**
     * Gets the security types of the known network.
     * Gets the security types of the known network.
     *
     *
     * @return Returns the array of security types supported by the known network.
     * @return Returns a set with security types supported by the known network.
     */
     */
    @NonNull
    @NonNull
    @SecurityType
    @SecurityType
    public int[] getSecurityTypes() {
    public Set<Integer> getSecurityTypes() {
        return mSecurityTypes;
        return mSecurityTypes;
    }
    }


@@ -208,14 +207,13 @@ public final class KnownNetwork implements Parcelable {
        KnownNetwork other = (KnownNetwork) obj;
        KnownNetwork other = (KnownNetwork) obj;
        return mNetworkSource == other.getNetworkSource()
        return mNetworkSource == other.getNetworkSource()
                && Objects.equals(mSsid, other.getSsid())
                && Objects.equals(mSsid, other.getSsid())
                && Arrays.equals(mSecurityTypes, other.getSecurityTypes())
                && Objects.equals(mSecurityTypes, other.getSecurityTypes())
                && Objects.equals(mDeviceInfo, other.getDeviceInfo());
                && Objects.equals(mDeviceInfo, other.getDeviceInfo());
    }
    }


    @Override
    @Override
    public int hashCode() {
    public int hashCode() {
        return Objects.hash(mNetworkSource, mSsid, Arrays.hashCode(mSecurityTypes),
        return Objects.hash(mNetworkSource, mSsid, mSecurityTypes, mDeviceInfo);
                mDeviceInfo.hashCode());
    }
    }


    @Override
    @Override
@@ -227,7 +225,7 @@ public final class KnownNetwork implements Parcelable {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        dest.writeInt(mNetworkSource);
        dest.writeInt(mNetworkSource);
        dest.writeString(mSsid);
        dest.writeString(mSsid);
        dest.writeIntArray(mSecurityTypes);
        dest.writeArraySet(mSecurityTypes);
        mDeviceInfo.writeToParcel(dest, flags);
        mDeviceInfo.writeToParcel(dest, flags);
    }
    }


@@ -238,7 +236,8 @@ public final class KnownNetwork implements Parcelable {
     */
     */
    @NonNull
    @NonNull
    public static KnownNetwork readFromParcel(@NonNull Parcel in) {
    public static KnownNetwork readFromParcel(@NonNull Parcel in) {
        return new KnownNetwork(in.readInt(), in.readString(), in.createIntArray(),
        return new KnownNetwork(in.readInt(), in.readString(),
                (ArraySet<Integer>) in.readArraySet(null),
                DeviceInfo.readFromParcel(in));
                DeviceInfo.readFromParcel(in));
    }
    }


@@ -260,7 +259,7 @@ public final class KnownNetwork implements Parcelable {
        return new StringBuilder("KnownNetwork[")
        return new StringBuilder("KnownNetwork[")
                .append("NetworkSource=").append(mNetworkSource)
                .append("NetworkSource=").append(mNetworkSource)
                .append(", ssid=").append(mSsid)
                .append(", ssid=").append(mSsid)
                .append(", securityTypes=").append(Arrays.toString(mSecurityTypes))
                .append(", securityTypes=").append(mSecurityTypes.toString())
                .append(", deviceInfo=").append(mDeviceInfo.toString())
                .append(", deviceInfo=").append(mDeviceInfo.toString())
                .append("]").toString();
                .append("]").toString();
    }
    }
+19 −21
Original line number Original line Diff line number Diff line
@@ -25,12 +25,12 @@ import android.annotation.SystemApi;
import android.net.wifi.sharedconnectivity.service.SharedConnectivityService;
import android.net.wifi.sharedconnectivity.service.SharedConnectivityService;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;

import android.util.ArraySet;


import java.lang.annotation.Retention;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
import java.util.Objects;
import java.util.Objects;
import java.util.Set;


/**
/**
 * A data class representing an Instant Tether network.
 * A data class representing an Instant Tether network.
@@ -79,7 +79,7 @@ public final class TetherNetwork implements Parcelable {
    private final String mNetworkName;
    private final String mNetworkName;
    @Nullable private final String mHotspotSsid;
    @Nullable private final String mHotspotSsid;
    @Nullable private final String mHotspotBssid;
    @Nullable private final String mHotspotBssid;
    @Nullable @SecurityType private final int[] mHotspotSecurityTypes;
    @Nullable @SecurityType private final ArraySet<Integer> mHotspotSecurityTypes;


    /**
    /**
     * Builder class for {@link TetherNetwork}.
     * Builder class for {@link TetherNetwork}.
@@ -91,9 +91,8 @@ public final class TetherNetwork implements Parcelable {
        private String mNetworkName;
        private String mNetworkName;
        @Nullable private String mHotspotSsid;
        @Nullable private String mHotspotSsid;
        @Nullable private String mHotspotBssid;
        @Nullable private String mHotspotBssid;
        @Nullable @SecurityType private int[] mHotspotSecurityTypes;
        @Nullable @SecurityType private final ArraySet<Integer> mHotspotSecurityTypes =

                new ArraySet<>();
        public Builder() {}


        /**
        /**
         * Set the remote device ID.
         * Set the remote device ID.
@@ -168,15 +167,14 @@ public final class TetherNetwork implements Parcelable {
        }
        }


        /**
        /**
         * Sets the hotspot security types supported by the remote device, or null if hotspot is
         * Adds a security type supported by the hotspot created by the remote device.
         * off.
         *
         *
         * @param hotspotSecurityTypes The array of security types supported by the hotspot.
         * @param hotspotSecurityType A security type supported by the hotspot.
         * @return Returns the Builder object.
         * @return Returns the Builder object.
         */
         */
        @NonNull
        @NonNull
        public Builder setHotspotSecurityTypes(@NonNull @SecurityType int[] hotspotSecurityTypes) {
        public Builder addHotspotSecurityType(@SecurityType int hotspotSecurityType) {
            mHotspotSecurityTypes = hotspotSecurityTypes;
            mHotspotSecurityTypes.add(hotspotSecurityType);
            return this;
            return this;
        }
        }


@@ -218,7 +216,7 @@ public final class TetherNetwork implements Parcelable {
            @NonNull String networkName,
            @NonNull String networkName,
            @Nullable String hotspotSsid,
            @Nullable String hotspotSsid,
            @Nullable String hotspotBssid,
            @Nullable String hotspotBssid,
            @Nullable @SecurityType int[] hotspotSecurityTypes) {
            @Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
        validate(deviceId,
        validate(deviceId,
                networkType,
                networkType,
                networkName);
                networkName);
@@ -228,7 +226,7 @@ public final class TetherNetwork implements Parcelable {
        mNetworkName = networkName;
        mNetworkName = networkName;
        mHotspotSsid = hotspotSsid;
        mHotspotSsid = hotspotSsid;
        mHotspotBssid = hotspotBssid;
        mHotspotBssid = hotspotBssid;
        mHotspotSecurityTypes = hotspotSecurityTypes;
        mHotspotSecurityTypes = new ArraySet<>(hotspotSecurityTypes);
    }
    }


    /**
    /**
@@ -293,11 +291,11 @@ public final class TetherNetwork implements Parcelable {
    /**
    /**
     * Gets the hotspot security types supported by the remote device.
     * Gets the hotspot security types supported by the remote device.
     *
     *
     * @return Returns the array of security types supported by the hotspot.
     * @return Returns a set of the security types supported by the hotspot.
     */
     */
    @Nullable
    @NonNull
    @SecurityType
    @SecurityType
    public int[] getHotspotSecurityTypes() {
    public Set<Integer> getHotspotSecurityTypes() {
        return mHotspotSecurityTypes;
        return mHotspotSecurityTypes;
    }
    }


@@ -311,13 +309,13 @@ public final class TetherNetwork implements Parcelable {
                && Objects.equals(mNetworkName, other.getNetworkName())
                && Objects.equals(mNetworkName, other.getNetworkName())
                && Objects.equals(mHotspotSsid, other.getHotspotSsid())
                && Objects.equals(mHotspotSsid, other.getHotspotSsid())
                && Objects.equals(mHotspotBssid, other.getHotspotBssid())
                && Objects.equals(mHotspotBssid, other.getHotspotBssid())
                && Arrays.equals(mHotspotSecurityTypes, other.getHotspotSecurityTypes());
                && Objects.equals(mHotspotSecurityTypes, other.getHotspotSecurityTypes());
    }
    }


    @Override
    @Override
    public int hashCode() {
    public int hashCode() {
        return Objects.hash(mDeviceId, mDeviceInfo, mNetworkName, mHotspotSsid, mHotspotBssid,
        return Objects.hash(mDeviceId, mDeviceInfo, mNetworkName, mHotspotSsid, mHotspotBssid,
                Arrays.hashCode(mHotspotSecurityTypes));
                mHotspotSecurityTypes);
    }
    }


    @Override
    @Override
@@ -333,7 +331,7 @@ public final class TetherNetwork implements Parcelable {
        dest.writeString(mNetworkName);
        dest.writeString(mNetworkName);
        dest.writeString(mHotspotSsid);
        dest.writeString(mHotspotSsid);
        dest.writeString(mHotspotBssid);
        dest.writeString(mHotspotBssid);
        dest.writeIntArray(mHotspotSecurityTypes);
        dest.writeArraySet(mHotspotSecurityTypes);
    }
    }


    /**
    /**
@@ -345,7 +343,7 @@ public final class TetherNetwork implements Parcelable {
    public static TetherNetwork readFromParcel(@NonNull Parcel in) {
    public static TetherNetwork readFromParcel(@NonNull Parcel in) {
        return new TetherNetwork(in.readLong(), DeviceInfo.readFromParcel(in),
        return new TetherNetwork(in.readLong(), DeviceInfo.readFromParcel(in),
                in.readInt(), in.readString(), in.readString(), in.readString(),
                in.readInt(), in.readString(), in.readString(), in.readString(),
                in.createIntArray());
                (ArraySet<Integer>) in.readArraySet(null));
    }
    }


    @NonNull
    @NonNull
@@ -370,7 +368,7 @@ public final class TetherNetwork implements Parcelable {
                .append(", networkName=").append(mNetworkName)
                .append(", networkName=").append(mNetworkName)
                .append(", hotspotSsid=").append(mHotspotSsid)
                .append(", hotspotSsid=").append(mHotspotSsid)
                .append(", hotspotBssid=").append(mHotspotBssid)
                .append(", hotspotBssid=").append(mHotspotBssid)
                .append(", hotspotSecurityTypes=").append(Arrays.toString(mHotspotSecurityTypes))
                .append(", hotspotSecurityTypes=").append(mHotspotSecurityTypes.toString())
                .append("]").toString();
                .append("]").toString();
    }
    }
}
}
+23 −17
Original line number Original line Diff line number Diff line
@@ -19,8 +19,7 @@ package android.net.wifi.sharedconnectivity.app;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_LAPTOP;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_LAPTOP;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_PHONE;
import static android.net.wifi.sharedconnectivity.app.DeviceInfo.DEVICE_TYPE_PHONE;


import static org.junit.Assert.assertEquals;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotEquals;


import android.os.Parcel;
import android.os.Parcel;


@@ -29,7 +28,7 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
import org.junit.Test;


/**
/**
 * Unit tests for {@link android.app.sharedconnectivity.DeviceInfo}.
 * Unit tests for {@link DeviceInfo}.
 */
 */
@SmallTest
@SmallTest
public class DeviceInfoTest {
public class DeviceInfoTest {
@@ -63,8 +62,8 @@ public class DeviceInfoTest {
        parcelR.setDataPosition(0);
        parcelR.setDataPosition(0);
        DeviceInfo fromParcel = DeviceInfo.CREATOR.createFromParcel(parcelR);
        DeviceInfo fromParcel = DeviceInfo.CREATOR.createFromParcel(parcelR);


        assertEquals(info, fromParcel);
        assertThat(fromParcel).isEqualTo(info);
        assertEquals(info.hashCode(), fromParcel.hashCode());
        assertThat(fromParcel.hashCode()).isEqualTo(info.hashCode());
    }
    }


    /**
    /**
@@ -74,24 +73,24 @@ public class DeviceInfoTest {
    public void testEqualsOperation() {
    public void testEqualsOperation() {
        DeviceInfo info1 = buildDeviceInfoBuilder().build();
        DeviceInfo info1 = buildDeviceInfoBuilder().build();
        DeviceInfo info2 = buildDeviceInfoBuilder().build();
        DeviceInfo info2 = buildDeviceInfoBuilder().build();
        assertEquals(info1, info2);
        assertThat(info1).isEqualTo(info2);


        DeviceInfo.Builder builder = buildDeviceInfoBuilder().setDeviceType(DEVICE_TYPE_1);
        DeviceInfo.Builder builder = buildDeviceInfoBuilder().setDeviceType(DEVICE_TYPE_1);
        assertNotEquals(info1, builder.build());
        assertThat(builder.build()).isNotEqualTo(info1);


        builder = buildDeviceInfoBuilder().setDeviceName(DEVICE_NAME_1);
        builder = buildDeviceInfoBuilder().setDeviceName(DEVICE_NAME_1);
        assertNotEquals(info1, builder.build());
        assertThat(builder.build()).isNotEqualTo(info1);


        builder = buildDeviceInfoBuilder().setModelName(DEVICE_MODEL_1);
        builder = buildDeviceInfoBuilder().setModelName(DEVICE_MODEL_1);
        assertNotEquals(info1, builder.build());
        assertThat(builder.build()).isNotEqualTo(info1);


        builder = buildDeviceInfoBuilder()
        builder = buildDeviceInfoBuilder()
                .setBatteryPercentage(BATTERY_PERCENTAGE_1);
                .setBatteryPercentage(BATTERY_PERCENTAGE_1);
        assertNotEquals(info1, builder.build());
        assertThat(builder.build()).isNotEqualTo(info1);


        builder = buildDeviceInfoBuilder()
        builder = buildDeviceInfoBuilder()
                .setConnectionStrength(CONNECTION_STRENGTH_1);
                .setConnectionStrength(CONNECTION_STRENGTH_1);
        assertNotEquals(info1, builder.build());
        assertThat(builder.build()).isNotEqualTo(info1);
    }
    }


    /**
    /**
@@ -100,12 +99,19 @@ public class DeviceInfoTest {
    @Test
    @Test
    public void testGetMethods() {
    public void testGetMethods() {
        DeviceInfo info = buildDeviceInfoBuilder().build();
        DeviceInfo info = buildDeviceInfoBuilder().build();
        assertEquals(info.getDeviceType(), DEVICE_TYPE);
        assertThat(info.getDeviceType()).isEqualTo(DEVICE_TYPE);
        assertEquals(info.getDeviceName(), DEVICE_NAME);
        assertThat(info.getDeviceName()).isEqualTo(DEVICE_NAME);
        assertEquals(info.getModelName(), DEVICE_MODEL);
        assertThat(info.getModelName()).isEqualTo(DEVICE_MODEL);
        assertEquals(info.getBatteryPercentage(), BATTERY_PERCENTAGE);
        assertThat(info.getBatteryPercentage()).isEqualTo(BATTERY_PERCENTAGE);
        assertEquals(info.getConnectionStrength(), CONNECTION_STRENGTH);
        assertThat(info.getConnectionStrength()).isEqualTo(CONNECTION_STRENGTH);
        assertEquals(info.getConnectionStrength(), CONNECTION_STRENGTH);
    }

    @Test
    public void testHashCode() {
        DeviceInfo info1 = buildDeviceInfoBuilder().build();
        DeviceInfo info2 = buildDeviceInfoBuilder().build();

        assertThat(info1.hashCode()).isEqualTo(info2.hashCode());
    }
    }


    private DeviceInfo.Builder buildDeviceInfoBuilder() {
    private DeviceInfo.Builder buildDeviceInfoBuilder() {
+26 −14
Original line number Original line Diff line number Diff line
@@ -22,8 +22,7 @@ import static android.net.wifi.sharedconnectivity.app.KnownNetwork.NETWORK_SOURC
import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVED;
import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVED;
import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVE_FAILED;
import static android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.CONNECTION_STATUS_SAVE_FAILED;


import static org.junit.Assert.assertEquals;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotEquals;


import android.os.Bundle;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcel;
@@ -32,8 +31,10 @@ import androidx.test.filters.SmallTest;


import org.junit.Test;
import org.junit.Test;


import java.util.Arrays;

/**
/**
 * Unit tests for {@link android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus}.
 * Unit tests for {@link KnownNetworkConnectionStatus}.
 */
 */
@SmallTest
@SmallTest
public class KnownNetworkConnectionStatusTest {
public class KnownNetworkConnectionStatusTest {
@@ -45,6 +46,7 @@ public class KnownNetworkConnectionStatusTest {
            .setConnectionStrength(2).setBatteryPercentage(50).build();
            .setConnectionStrength(2).setBatteryPercentage(50).build();
    private static final String SSID_1 = "TEST_SSID1";
    private static final String SSID_1 = "TEST_SSID1";
    private static final String BUNDLE_KEY = "INT-KEY";
    private static final String BUNDLE_KEY = "INT-KEY";
    private static final int BUNDLE_VALUE = 1;


    /**
    /**
     * Verifies parcel serialization/deserialization.
     * Verifies parcel serialization/deserialization.
@@ -64,8 +66,8 @@ public class KnownNetworkConnectionStatusTest {
        KnownNetworkConnectionStatus fromParcel =
        KnownNetworkConnectionStatus fromParcel =
                KnownNetworkConnectionStatus.CREATOR.createFromParcel(parcelR);
                KnownNetworkConnectionStatus.CREATOR.createFromParcel(parcelR);


        assertEquals(status, fromParcel);
        assertThat(fromParcel).isEqualTo(status);
        assertEquals(status.hashCode(), fromParcel.hashCode());
        assertThat(fromParcel.hashCode()).isEqualTo(status.hashCode());
    }
    }


    /**
    /**
@@ -75,15 +77,15 @@ public class KnownNetworkConnectionStatusTest {
    public void testEqualsOperation() {
    public void testEqualsOperation() {
        KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
        KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
        KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();
        KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();
        assertEquals(status2, status2);
        assertThat(status1).isEqualTo(status2);


        KnownNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder()
        KnownNetworkConnectionStatus.Builder builder = buildConnectionStatusBuilder()
                .setStatus(CONNECTION_STATUS_SAVE_FAILED);
                .setStatus(CONNECTION_STATUS_SAVE_FAILED);
        assertNotEquals(status1, builder.build());
        assertThat(builder.build()).isNotEqualTo(status1);


        builder = buildConnectionStatusBuilder()
        builder = buildConnectionStatusBuilder()
                .setKnownNetwork(buildKnownNetworkBuilder().setSsid(SSID_1).build());
                .setKnownNetwork(buildKnownNetworkBuilder().setSsid(SSID_1).build());
        assertNotEquals(status1, builder.build());
        assertThat(builder.build()).isNotEqualTo(status1);
    }
    }


    /**
    /**
@@ -92,9 +94,17 @@ public class KnownNetworkConnectionStatusTest {
    @Test
    @Test
    public void testGetMethods() {
    public void testGetMethods() {
        KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build();
        KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build();
        assertEquals(status.getStatus(), CONNECTION_STATUS_SAVED);
        assertThat(status.getStatus()).isEqualTo(CONNECTION_STATUS_SAVED);
        assertEquals(status.getKnownNetwork(), buildKnownNetworkBuilder().build());
        assertThat(status.getKnownNetwork()).isEqualTo(buildKnownNetworkBuilder().build());
        assertEquals(status.getExtras().getInt(BUNDLE_KEY), buildBundle().getInt(BUNDLE_KEY));
        assertThat(status.getExtras().getInt(BUNDLE_KEY)).isEqualTo(BUNDLE_VALUE);
    }

    @Test
    public void testHashCode() {
        KnownNetworkConnectionStatus status1 = buildConnectionStatusBuilder().build();
        KnownNetworkConnectionStatus status2 = buildConnectionStatusBuilder().build();

        assertThat(status1.hashCode()).isEqualTo(status2.hashCode());
    }
    }


    private KnownNetworkConnectionStatus.Builder buildConnectionStatusBuilder() {
    private KnownNetworkConnectionStatus.Builder buildConnectionStatusBuilder() {
@@ -106,13 +116,15 @@ public class KnownNetworkConnectionStatusTest {


    private Bundle buildBundle() {
    private Bundle buildBundle() {
        Bundle bundle = new Bundle();
        Bundle bundle = new Bundle();
        bundle.putInt(BUNDLE_KEY, 1);
        bundle.putInt(BUNDLE_KEY, BUNDLE_VALUE);
        return bundle;
        return bundle;
    }
    }


    private KnownNetwork.Builder buildKnownNetworkBuilder() {
    private KnownNetwork.Builder buildKnownNetworkBuilder() {
        return new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE).setSsid(SSID)
        KnownNetwork.Builder builder =  new KnownNetwork.Builder().setNetworkSource(NETWORK_SOURCE)
                .setSecurityTypes(SECURITY_TYPES).setDeviceInfo(DEVICE_INFO);
                .setSsid(SSID).setDeviceInfo(DEVICE_INFO);
        Arrays.stream(SECURITY_TYPES).forEach(builder::addSecurityType);
        return builder;
    }
    }


}
}
Loading