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

Commit 5715d8fe authored by Isaac Katzenelson's avatar Isaac Katzenelson Committed by Automerger Merge Worker
Browse files

Merge "Change security types arrays to sets in network classes." into udc-dev...

Merge "Change security types arrays to sets in network classes." into udc-dev am: 5ddb41c0 am: b105c27b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21591322



Change-Id: I6c8343a8b4d88cfdf505a3b2bc5ebc2b2d4483ee
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ea2f4c45 b105c27b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -10031,7 +10031,7 @@ package android.net.wifi.sharedconnectivity.app {
    method public int describeContents();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    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 public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
@@ -10041,10 +10041,10 @@ package android.net.wifi.sharedconnectivity.app {
  public static final class 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.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 setSecurityTypes(@NonNull int[]);
    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
  }
@@ -10113,7 +10113,7 @@ package android.net.wifi.sharedconnectivity.app {
    method public long getDeviceId();
    method @NonNull public android.net.wifi.sharedconnectivity.app.DeviceInfo getDeviceInfo();
    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 @NonNull public String getNetworkName();
    method public int getNetworkType();
@@ -10127,11 +10127,11 @@ package android.net.wifi.sharedconnectivity.app {
  public static final class 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.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 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 setNetworkName(@NonNull String);
    method @NonNull public android.net.wifi.sharedconnectivity.app.TetherNetwork.Builder setNetworkType(int);
+20 −21
Original line number Diff line number Diff line
@@ -24,11 +24,12 @@ import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.TextUtils;
import android.util.ArraySet;

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

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

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

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

        public Builder() {}

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

@@ -184,11 +183,11 @@ public final class KnownNetwork implements Parcelable {
    /**
     * 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
    @SecurityType
    public int[] getSecurityTypes() {
    public Set<Integer> getSecurityTypes() {
        return mSecurityTypes;
    }

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

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

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

@@ -238,7 +236,8 @@ public final class KnownNetwork implements Parcelable {
     */
    @NonNull
    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));
    }

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

import android.util.ArraySet;

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

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

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

        public Builder() {}
        @Nullable @SecurityType private final ArraySet<Integer> mHotspotSecurityTypes =
                new ArraySet<>();

        /**
         * 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
         * off.
         * Adds a security type supported by the hotspot created by the remote device.
         *
         * @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.
         */
        @NonNull
        public Builder setHotspotSecurityTypes(@NonNull @SecurityType int[] hotspotSecurityTypes) {
            mHotspotSecurityTypes = hotspotSecurityTypes;
        public Builder addHotspotSecurityType(@SecurityType int hotspotSecurityType) {
            mHotspotSecurityTypes.add(hotspotSecurityType);
            return this;
        }

@@ -218,7 +216,7 @@ public final class TetherNetwork implements Parcelable {
            @NonNull String networkName,
            @Nullable String hotspotSsid,
            @Nullable String hotspotBssid,
            @Nullable @SecurityType int[] hotspotSecurityTypes) {
            @Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
        validate(deviceId,
                networkType,
                networkName);
@@ -228,7 +226,7 @@ public final class TetherNetwork implements Parcelable {
        mNetworkName = networkName;
        mHotspotSsid = hotspotSsid;
        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.
     *
     * @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
    public int[] getHotspotSecurityTypes() {
    public Set<Integer> getHotspotSecurityTypes() {
        return mHotspotSecurityTypes;
    }

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

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

    @Override
@@ -333,7 +331,7 @@ public final class TetherNetwork implements Parcelable {
        dest.writeString(mNetworkName);
        dest.writeString(mHotspotSsid);
        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) {
        return new TetherNetwork(in.readLong(), DeviceInfo.readFromParcel(in),
                in.readInt(), in.readString(), in.readString(), in.readString(),
                in.createIntArray());
                (ArraySet<Integer>) in.readArraySet(null));
    }

    @NonNull
@@ -370,7 +368,7 @@ public final class TetherNetwork implements Parcelable {
                .append(", networkName=").append(mNetworkName)
                .append(", hotspotSsid=").append(mHotspotSsid)
                .append(", hotspotBssid=").append(mHotspotBssid)
                .append(", hotspotSecurityTypes=").append(Arrays.toString(mHotspotSecurityTypes))
                .append(", hotspotSecurityTypes=").append(mHotspotSecurityTypes.toString())
                .append("]").toString();
    }
}
+23 −17
Original line number 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_PHONE;

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

import android.os.Parcel;

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

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

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

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

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

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

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

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

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

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

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

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

    private DeviceInfo.Builder buildDeviceInfoBuilder() {
+26 −14
Original line number 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_SAVE_FAILED;

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

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

import org.junit.Test;

import java.util.Arrays;

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

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

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

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

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

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

    /**
@@ -92,9 +94,17 @@ public class KnownNetworkConnectionStatusTest {
    @Test
    public void testGetMethods() {
        KnownNetworkConnectionStatus status = buildConnectionStatusBuilder().build();
        assertEquals(status.getStatus(), CONNECTION_STATUS_SAVED);
        assertEquals(status.getKnownNetwork(), buildKnownNetworkBuilder().build());
        assertEquals(status.getExtras().getInt(BUNDLE_KEY), buildBundle().getInt(BUNDLE_KEY));
        assertThat(status.getStatus()).isEqualTo(CONNECTION_STATUS_SAVED);
        assertThat(status.getKnownNetwork()).isEqualTo(buildKnownNetworkBuilder().build());
        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() {
@@ -106,13 +116,15 @@ public class KnownNetworkConnectionStatusTest {

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

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

}
Loading