Skip to content

Commit 9d8372e

Browse files
Weng Suthestinger
Weng Su
authored andcommitted
[RESTRICT AUTOMERGE] Restrict WifiDialogActivity
- Don't show WifiDialogActivity if user has DISALLOW_ADD_WIFI_CONFIG Bug: 299931761 Flag: None Test: manual test with TestDPC atest -c SettingsRoboTests:WifiDialogActivityTest (cherry picked from commit 51fa3d7) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a0409e582c30d2d6ff347eefd173ae169963df75) Merged-In: Icbb8f45922ded163208976be9c2816060dcf09f1 Change-Id: Icbb8f45922ded163208976be9c2816060dcf09f1
1 parent ad00a8d commit 9d8372e

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/com/android/settings/wifi/WifiDialogActivity.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package com.android.settings.wifi;
1818

1919
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
20+
import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
2021
import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
2122

2223
import android.app.KeyguardManager;
@@ -122,7 +123,7 @@ protected void onCreate(Bundle savedInstanceState) {
122123
}
123124

124125
super.onCreate(savedInstanceState);
125-
if (!isConfigWifiAllowed()) {
126+
if (!isConfigWifiAllowed() || !isAddWifiConfigAllowed()) {
126127
finish();
127128
return;
128129
}
@@ -393,6 +394,16 @@ boolean isConfigWifiAllowed() {
393394
return isConfigWifiAllowed;
394395
}
395396

397+
@VisibleForTesting
398+
boolean isAddWifiConfigAllowed() {
399+
UserManager userManager = getSystemService(UserManager.class);
400+
if (userManager != null && userManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)) {
401+
Log.e(TAG, "The user is not allowed to add Wi-Fi configuration.");
402+
return false;
403+
}
404+
return true;
405+
}
406+
396407
private boolean hasWifiManager() {
397408
if (mWifiManager != null) return true;
398409
mWifiManager = getSystemService(WifiManager.class);

tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java

+15
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
2020
import static android.Manifest.permission.ACCESS_FINE_LOCATION;
21+
import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
2122
import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
2223

2324
import static com.android.settings.wifi.WifiDialogActivity.REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER;
@@ -242,6 +243,20 @@ public void isConfigWifiAllowed_hasUserRestriction_returnFalse() {
242243
assertThat(mActivity.isConfigWifiAllowed()).isFalse();
243244
}
244245

246+
@Test
247+
public void isAddWifiConfigAllowed_hasNoUserRestriction_returnTrue() {
248+
when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(false);
249+
250+
assertThat(mActivity.isAddWifiConfigAllowed()).isTrue();
251+
}
252+
253+
@Test
254+
public void isAddWifiConfigAllowed_hasUserRestriction_returnFalse() {
255+
when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(true);
256+
257+
assertThat(mActivity.isAddWifiConfigAllowed()).isFalse();
258+
}
259+
245260
@Test
246261
public void hasPermissionForResult_noCallingPackage_returnFalse() {
247262
when(mActivity.getCallingPackage()).thenReturn(null);

0 commit comments

Comments
 (0)