summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java9
-rw-r--r--wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java46
2 files changed, 37 insertions, 18 deletions
diff --git a/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java b/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java
index d3b7b12e5387..9bfeb6308d13 100644
--- a/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java
+++ b/wifi/java/src/android/net/wifi/sharedconnectivity/app/HotspotNetwork.java
@@ -207,10 +207,14 @@ public final class HotspotNetwork implements Parcelable {
}
}
- private static void validate(long deviceId, @NetworkType int networkType, String networkName) {
+ private static void validate(long deviceId, @NetworkType int networkType, String networkName,
+ NetworkProviderInfo networkProviderInfo) {
if (deviceId < 0) {
throw new IllegalArgumentException("DeviceId must be set");
}
+ if (Objects.isNull(networkProviderInfo)) {
+ throw new IllegalArgumentException("NetworkProviderInfo must be set");
+ }
if (networkType != NETWORK_TYPE_CELLULAR && networkType != NETWORK_TYPE_WIFI
&& networkType != NETWORK_TYPE_ETHERNET && networkType != NETWORK_TYPE_UNKNOWN) {
throw new IllegalArgumentException("Illegal network type");
@@ -230,7 +234,8 @@ public final class HotspotNetwork implements Parcelable {
@Nullable @SecurityType ArraySet<Integer> hotspotSecurityTypes) {
validate(deviceId,
networkType,
- networkName);
+ networkName,
+ networkProviderInfo);
mDeviceId = deviceId;
mNetworkProviderInfo = networkProviderInfo;
mNetworkType = networkType;
diff --git a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java
index 8e396b68ad3a..8302094b1c34 100644
--- a/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java
+++ b/wifi/tests/src/android/net/wifi/sharedconnectivity/app/HotspotNetworkTest.java
@@ -26,12 +26,16 @@ import static android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.DEVICE
import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assert.assertThrows;
+
import android.os.Parcel;
import android.util.ArraySet;
import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
import org.junit.Test;
+import org.junit.runner.RunWith;
import java.util.Arrays;
@@ -39,6 +43,7 @@ import java.util.Arrays;
* Unit tests for {@link HotspotNetwork}.
*/
@SmallTest
+@RunWith(AndroidJUnit4.class)
public class HotspotNetworkTest {
private static final long DEVICE_ID = 11L;
private static final NetworkProviderInfo NETWORK_PROVIDER_INFO =
@@ -67,7 +72,7 @@ public class HotspotNetworkTest {
*/
@Test
public void testParcelOperation() {
- HotspotNetwork network = buildHotspotNetworkBuilder().build();
+ HotspotNetwork network = buildHotspotNetworkBuilder(true).build();
Parcel parcelW = Parcel.obtain();
network.writeToParcel(parcelW, 0);
@@ -88,30 +93,30 @@ public class HotspotNetworkTest {
*/
@Test
public void testEqualsOperation() {
- HotspotNetwork network1 = buildHotspotNetworkBuilder().build();
- HotspotNetwork network2 = buildHotspotNetworkBuilder().build();
+ HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build();
+ HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build();
assertThat(network1).isEqualTo(network2);
- HotspotNetwork.Builder builder = buildHotspotNetworkBuilder().setDeviceId(DEVICE_ID_1);
+ HotspotNetwork.Builder builder = buildHotspotNetworkBuilder(true).setDeviceId(DEVICE_ID_1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder().setNetworkProviderInfo(NETWORK_PROVIDER_INFO1);
+ builder = buildHotspotNetworkBuilder(true).setNetworkProviderInfo(NETWORK_PROVIDER_INFO1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder().setHostNetworkType(NETWORK_TYPE_1);
+ builder = buildHotspotNetworkBuilder(true).setHostNetworkType(NETWORK_TYPE_1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder().setNetworkName(NETWORK_NAME_1);
+ builder = buildHotspotNetworkBuilder(true).setNetworkName(NETWORK_NAME_1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder().setHotspotSsid(HOTSPOT_SSID_1);
+ builder = buildHotspotNetworkBuilder(true).setHotspotSsid(HOTSPOT_SSID_1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder().setHotspotBssid(HOTSPOT_BSSID_1);
+ builder = buildHotspotNetworkBuilder(true).setHotspotBssid(HOTSPOT_BSSID_1);
assertThat(builder.build()).isNotEqualTo(network1);
- builder = buildHotspotNetworkBuilder();
- HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder();
+ builder = buildHotspotNetworkBuilder(true);
+ HotspotNetwork.Builder builder1 = buildHotspotNetworkBuilder(true);
Arrays.stream(HOTSPOT_SECURITY_TYPES_1).forEach(builder1::addHotspotSecurityType);
assertThat(builder1.build()).isNotEqualTo(builder.build());
@@ -122,7 +127,7 @@ public class HotspotNetworkTest {
*/
@Test
public void testGetMethods() {
- HotspotNetwork network = buildHotspotNetworkBuilder().build();
+ HotspotNetwork network = buildHotspotNetworkBuilder(true).build();
ArraySet<Integer> securityTypes = new ArraySet<>();
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(securityTypes::add);
@@ -137,21 +142,30 @@ public class HotspotNetworkTest {
@Test
public void testHashCode() {
- HotspotNetwork network1 = buildHotspotNetworkBuilder().build();
- HotspotNetwork network2 = buildHotspotNetworkBuilder().build();
+ HotspotNetwork network1 = buildHotspotNetworkBuilder(true).build();
+ HotspotNetwork network2 = buildHotspotNetworkBuilder(true).build();
assertThat(network1.hashCode()).isEqualTo(network2.hashCode());
}
- private HotspotNetwork.Builder buildHotspotNetworkBuilder() {
+ @Test
+ public void networkProviderInfoNotSet_shouldThrowException() {
+ Exception e = assertThrows(IllegalArgumentException.class,
+ () -> buildHotspotNetworkBuilder(false).build());
+ assertThat(e.getMessage()).contains("NetworkProviderInfo");
+ }
+
+ private HotspotNetwork.Builder buildHotspotNetworkBuilder(boolean withNetworkProviderInfo) {
HotspotNetwork.Builder builder = new HotspotNetwork.Builder()
.setDeviceId(DEVICE_ID)
- .setNetworkProviderInfo(NETWORK_PROVIDER_INFO)
.setHostNetworkType(NETWORK_TYPE)
.setNetworkName(NETWORK_NAME)
.setHotspotSsid(HOTSPOT_SSID)
.setHotspotBssid(HOTSPOT_BSSID);
Arrays.stream(HOTSPOT_SECURITY_TYPES).forEach(builder::addHotspotSecurityType);
+ if (withNetworkProviderInfo) {
+ builder.setNetworkProviderInfo(NETWORK_PROVIDER_INFO);
+ }
return builder;
}
}