Loading core/api/system-current.txt +4 −4 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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); } } Loading Loading @@ -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(); Loading @@ -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); wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java +20 −21 Original line number Original line Diff line number Diff line Loading @@ -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. Loading Loading @@ -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; /** /** Loading @@ -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. * * Loading @@ -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; } } Loading Loading @@ -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"); Loading @@ -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"); } } } } Loading @@ -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; } } Loading @@ -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; } } Loading @@ -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 Loading @@ -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); } } Loading @@ -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)); } } Loading @@ -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(); } } Loading wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java +19 −21 Original line number Original line Diff line number Diff line Loading @@ -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. Loading Loading @@ -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}. Loading @@ -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. Loading Loading @@ -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; } } Loading Loading @@ -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); Loading @@ -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); } } /** /** Loading Loading @@ -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; } } Loading @@ -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 Loading @@ -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); } } /** /** Loading @@ -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 Loading @@ -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(); } } } } wifi/tests/src/android/net/wifi/sharedconnectivity/app/DeviceInfoTest.java +23 −17 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading Loading @@ -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()); } } /** /** Loading @@ -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); } } /** /** Loading @@ -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() { Loading wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatusTest.java +26 −14 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading @@ -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. Loading @@ -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()); } } /** /** Loading @@ -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); } } /** /** Loading @@ -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() { Loading @@ -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
core/api/system-current.txt +4 −4 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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); } } Loading Loading @@ -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(); Loading @@ -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);
wifi/java/src/android/net/wifi/sharedconnectivity/app/KnownNetwork.java +20 −21 Original line number Original line Diff line number Diff line Loading @@ -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. Loading Loading @@ -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; /** /** Loading @@ -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. * * Loading @@ -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; } } Loading Loading @@ -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"); Loading @@ -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"); } } } } Loading @@ -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; } } Loading @@ -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; } } Loading @@ -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 Loading @@ -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); } } Loading @@ -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)); } } Loading @@ -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(); } } Loading
wifi/java/src/android/net/wifi/sharedconnectivity/app/TetherNetwork.java +19 −21 Original line number Original line Diff line number Diff line Loading @@ -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. Loading Loading @@ -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}. Loading @@ -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. Loading Loading @@ -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; } } Loading Loading @@ -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); Loading @@ -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); } } /** /** Loading Loading @@ -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; } } Loading @@ -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 Loading @@ -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); } } /** /** Loading @@ -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 Loading @@ -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(); } } } }
wifi/tests/src/android/net/wifi/sharedconnectivity/app/DeviceInfoTest.java +23 −17 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading Loading @@ -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()); } } /** /** Loading @@ -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); } } /** /** Loading @@ -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() { Loading
wifi/tests/src/android/net/wifi/sharedconnectivity/app/KnownNetworkConnectionStatusTest.java +26 −14 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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 { Loading @@ -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. Loading @@ -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()); } } /** /** Loading @@ -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); } } /** /** Loading @@ -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() { Loading @@ -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; } } } }