Fix adding wifi configuration issue
- The Wi-Fi Enterprise Restrictions add a new
UserManager.DISALLOW_ADD_WIFI_CONFIG restriction from T.
- When a user requests to add Wi-Fi configuration, Settings will
reject the request if the user is not allowed.
- The above restriction need to be retrieved in advance so that the
user's request will not be rejected.
- See the result screenshot in b/224459753#comment8
Bug: 224459753
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksActivity
Change-Id: I2dfb6b9946dd9dbd4eb8bf0f6549ac5cb4466f17
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
index f1e6568..169bcb3 100644
--- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
@@ -56,8 +56,6 @@
final Bundle mBundle = new Bundle();
@VisibleForTesting
IActivityManager mActivityManager = ActivityManager.getService();
- @VisibleForTesting
- boolean mIsAddWifiConfigAllow;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -74,8 +72,6 @@
window.setGravity(Gravity.BOTTOM);
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.WRAP_CONTENT);
-
- mIsAddWifiConfigAllow = WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this);
}
@Override
@@ -90,7 +86,7 @@
@VisibleForTesting
protected boolean showAddNetworksFragment() {
- if (!mIsAddWifiConfigAllow) {
+ if (!isAddWifiConfigAllow()) {
Log.d(TAG, "Not allowed by Enterprise Restriction");
return false;
}
@@ -129,4 +125,9 @@
}
return packageName;
}
+
+ @VisibleForTesting
+ boolean isAddWifiConfigAllow() {
+ return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
index 6cd20fc..8391b8a 100644
--- a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
@@ -39,15 +39,14 @@
@Mock
private IActivityManager mIActivityManager;
- private AddAppNetworksActivity mActivity;
+ private FakeAddAppNetworksActivity mActivity;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- mActivity = Robolectric.buildActivity(AddAppNetworksActivity.class).create().get();
+ mActivity = Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get();
mActivity.mActivityManager = mIActivityManager;
- mActivity.mIsAddWifiConfigAllow = true;
}
@Test
@@ -92,4 +91,13 @@
// Do nothing.
}
}
+
+ private static class FakeAddAppNetworksActivity extends AddAppNetworksActivity {
+ boolean mIsAddWifiConfigAllow = true;
+
+ @Override
+ boolean isAddWifiConfigAllow() {
+ return mIsAddWifiConfigAllow;
+ }
+ }
}