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;
+        }
+    }
 }