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

Commit f5cdd6f9 authored by Stephanie Bak's avatar Stephanie Bak Committed by Android (Google) Code Review
Browse files

Merge "WifiSsidPolicy replace static method with constructor"

parents ca8f4e72 8d01b763
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -7938,8 +7938,7 @@ package android.app.admin {
  }
  public final class WifiSsidPolicy implements android.os.Parcelable {
    method @NonNull public static android.app.admin.WifiSsidPolicy createAllowlistPolicy(@NonNull java.util.Set<android.net.wifi.WifiSsid>);
    method @NonNull public static android.app.admin.WifiSsidPolicy createDenylistPolicy(@NonNull java.util.Set<android.net.wifi.WifiSsid>);
    ctor public WifiSsidPolicy(int, @NonNull java.util.Set<android.net.wifi.WifiSsid>);
    method public int describeContents();
    method public int getPolicyType();
    method @NonNull public java.util.Set<android.net.wifi.WifiSsid> getSsids();
+4 −2
Original line number Diff line number Diff line
@@ -14969,7 +14969,8 @@ public class DevicePolicyManager {
                    wifiSsidAllowlist.add(
                            WifiSsid.fromBytes(ssid.getBytes(StandardCharsets.UTF_8)));
                }
                return WifiSsidPolicy.createAllowlistPolicy(new ArraySet<>(wifiSsidAllowlist));
                return new WifiSsidPolicy(WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST,
                        new ArraySet<>(wifiSsidAllowlist));
            }
            List<String> denylist = mService.getSsidDenylist();
            if (!denylist.isEmpty()) {
@@ -14978,7 +14979,8 @@ public class DevicePolicyManager {
                    wifiSsidDenylist.add(
                            WifiSsid.fromBytes(ssid.getBytes(StandardCharsets.UTF_8)));
                }
                return WifiSsidPolicy.createDenylistPolicy(new ArraySet<>(wifiSsidDenylist));
                return new WifiSsidPolicy(WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST,
                        new ArraySet<>(wifiSsidDenylist));
            }
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
+14 −27
Original line number Diff line number Diff line
@@ -73,41 +73,28 @@ public final class WifiSsidPolicy implements Parcelable {
    private @WifiSsidPolicyType int mPolicyType;
    private ArraySet<WifiSsid> mSsids;

    private WifiSsidPolicy(@WifiSsidPolicyType int policyType, @NonNull Set<WifiSsid> ssids) {
        mPolicyType = policyType;
        mSsids = new ArraySet<>(ssids);
    }

    private WifiSsidPolicy(Parcel in) {
        mPolicyType = in.readInt();
        mSsids = (ArraySet<WifiSsid>) in.readArraySet(null);
    }
    /**
     * Create the allowlist Wi-Fi SSID Policy.
     * Create the Wi-Fi SSID Policy.
     *
     * @param ssids allowlist of {@link WifiSsid}
     * @throws IllegalArgumentException if the input ssids list is empty
     * @param policyType indicate whether the policy is an allowlist or a denylist
     * @param ssids set of {@link WifiSsid}
     * @throws IllegalArgumentException if the input ssids set is empty or the policyType is invalid
     */
    @NonNull
    public static WifiSsidPolicy createAllowlistPolicy(@NonNull Set<WifiSsid> ssids) {
    public WifiSsidPolicy(@WifiSsidPolicyType int policyType, @NonNull Set<WifiSsid> ssids) {
        if (ssids.isEmpty()) {
            throw new IllegalArgumentException("SSID list cannot be empty");
        }
        return new WifiSsidPolicy(WIFI_SSID_POLICY_TYPE_ALLOWLIST, ssids);
        if (policyType != WIFI_SSID_POLICY_TYPE_ALLOWLIST
                && policyType != WIFI_SSID_POLICY_TYPE_DENYLIST) {
            throw new IllegalArgumentException("Invalid policy type");
        }

    /**
     * Create the denylist Wi-Fi SSID Policy.
     *
     * @param ssids denylist of {@link WifiSsid}
     * @throws IllegalArgumentException if the input ssids list is empty
     */
    @NonNull
    public static WifiSsidPolicy createDenylistPolicy(@NonNull Set<WifiSsid> ssids) {
        if (ssids.isEmpty()) {
            throw new IllegalArgumentException("SSID list cannot be empty");
        mPolicyType = policyType;
        mSsids = new ArraySet<>(ssids);
    }
        return new WifiSsidPolicy(WIFI_SSID_POLICY_TYPE_DENYLIST, ssids);

    private WifiSsidPolicy(Parcel in) {
        mPolicyType = in.readInt();
        mSsids = (ArraySet<WifiSsid>) in.readArraySet(null);
    }

    /**
+14 −8
Original line number Diff line number Diff line
@@ -8364,7 +8364,8 @@ public class DevicePolicyManagerTest extends DpmTestBase {
    public void testSetSsidAllowlist_noDeviceOwnerOrPoOfOrgOwnedDevice() {
        final Set<WifiSsid> ssids = new ArraySet<>(
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createAllowlistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST, ssids);
        assertThrows(SecurityException.class, () -> dpm.setWifiSsidPolicy(policy));
    }

@@ -8374,7 +8375,8 @@ public class DevicePolicyManagerTest extends DpmTestBase {

        final Set<WifiSsid> ssids = new ArraySet<>(
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createAllowlistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST, ssids);
        dpm.setWifiSsidPolicy(policy);
        assertThat(dpm.getWifiSsidPolicy().getSsids()).isEqualTo(ssids);
        assertThat(dpm.getWifiSsidPolicy().getPolicyType()).isEqualTo(
@@ -8393,7 +8395,8 @@ public class DevicePolicyManagerTest extends DpmTestBase {
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8)),
                        WifiSsid.fromBytes("ssid2".getBytes(StandardCharsets.UTF_8)),
                        WifiSsid.fromBytes("ssid3".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createAllowlistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST, ssids);
        dpm.setWifiSsidPolicy(policy);
        assertThat(dpm.getWifiSsidPolicy().getSsids()).isEqualTo(ssids);
        assertThat(dpm.getWifiSsidPolicy().getPolicyType()).isEqualTo(
@@ -8406,14 +8409,15 @@ public class DevicePolicyManagerTest extends DpmTestBase {

        final Set<WifiSsid> ssids = new ArraySet<>();
        assertThrows(IllegalArgumentException.class,
                () -> WifiSsidPolicy.createAllowlistPolicy(ssids));
                () -> new WifiSsidPolicy(WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_ALLOWLIST, ssids));
    }

    @Test
    public void testSetSsidDenylist_noDeviceOwnerOrPoOfOrgOwnedDevice() {
        final Set<WifiSsid> ssids = new ArraySet<>(
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createDenylistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST, ssids);
        assertThrows(SecurityException.class, () -> dpm.setWifiSsidPolicy(policy));
    }

@@ -8423,7 +8427,8 @@ public class DevicePolicyManagerTest extends DpmTestBase {

        final Set<WifiSsid> ssids = new ArraySet<>(
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createDenylistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST, ssids);
        dpm.setWifiSsidPolicy(policy);
        assertThat(dpm.getWifiSsidPolicy().getSsids()).isEqualTo(ssids);
        assertThat(dpm.getWifiSsidPolicy().getPolicyType()).isEqualTo(
@@ -8442,7 +8447,8 @@ public class DevicePolicyManagerTest extends DpmTestBase {
                Arrays.asList(WifiSsid.fromBytes("ssid1".getBytes(StandardCharsets.UTF_8)),
                        WifiSsid.fromBytes("ssid2".getBytes(StandardCharsets.UTF_8)),
                        WifiSsid.fromBytes("ssid3".getBytes(StandardCharsets.UTF_8))));
        WifiSsidPolicy policy = WifiSsidPolicy.createDenylistPolicy(ssids);
        WifiSsidPolicy policy = new WifiSsidPolicy(
                WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST, ssids);
        dpm.setWifiSsidPolicy(policy);
        assertThat(dpm.getWifiSsidPolicy().getSsids()).isEqualTo(ssids);
        assertThat(dpm.getWifiSsidPolicy().getPolicyType()).isEqualTo(
@@ -8455,7 +8461,7 @@ public class DevicePolicyManagerTest extends DpmTestBase {

        final Set<WifiSsid> ssids = new ArraySet<>();
        assertThrows(IllegalArgumentException.class,
                () -> WifiSsidPolicy.createDenylistPolicy(ssids));
                () -> new WifiSsidPolicy(WifiSsidPolicy.WIFI_SSID_POLICY_TYPE_DENYLIST, ssids));
    }

    @Test