Deprecation of legacy VPN types no longer depends on the Provider Model
Flag

Bug: 204522922
Test: atest -c SettingsUnitTests
Change-Id: If43978a7536e269e2b1130a260fcedb7af6bc363
diff --git a/src/com/android/settings/vpn2/ConfigDialog.java b/src/com/android/settings/vpn2/ConfigDialog.java
index cd6b4ff..bf0dfc9 100644
--- a/src/com/android/settings/vpn2/ConfigDialog.java
+++ b/src/com/android/settings/vpn2/ConfigDialog.java
@@ -41,7 +41,6 @@
 import com.android.internal.net.VpnProfile;
 import com.android.net.module.util.ProxyUtils;
 import com.android.settings.R;
-import com.android.settings.Utils;
 import com.android.settings.utils.AndroidKeystoreAliasLoader;
 
 import java.net.InetAddress;
@@ -518,36 +517,31 @@
         String[] types = getContext().getResources().getStringArray(R.array.vpn_types);
         mTotalTypes = new ArrayList<>(Arrays.asList(types));
         mAllowedTypes = new ArrayList<>(Arrays.asList(types));
+
+        // Although FEATURE_IPSEC_TUNNELS should always be present in android S and beyond,
+        // keep this check here just to be safe.
         if (!getContext().getPackageManager().hasSystemFeature(
                 PackageManager.FEATURE_IPSEC_TUNNELS)) {
-            final List<String> typesList = new ArrayList<>(Arrays.asList(types));
+            Log.wtf(TAG, "FEATURE_IPSEC_TUNNELS missing from system");
+        }
+        // If the vpn is new or is not already a legacy type,
+        // don't allow the user to set the type to a legacy option.
 
-            // This must be removed from back to front in order to ensure index consistency
-            typesList.remove(VpnProfile.TYPE_IKEV2_IPSEC_RSA);
-            typesList.remove(VpnProfile.TYPE_IKEV2_IPSEC_PSK);
-            typesList.remove(VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS);
+        // Set the mProfile.type to TYPE_IKEV2_IPSEC_USER_PASS if the VPN not exist
+        if (!mExists) {
+            mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS;
+        }
 
-            types = typesList.toArray(new String[0]);
-        } else if (Utils.isProviderModelEnabled(getContext())) {
-            // If the provider mode is enabled and the vpn is new or is not already a legacy type,
-            // don't allow the user to set the type to a legacy option.
-
-            // Set the mProfile.type to TYPE_IKEV2_IPSEC_USER_PASS if the VPN not exist
-            if (!mExists) {
-                mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS;
-            }
-
-            // Remove all types which are legacy types from the typesList
-            if (!VpnProfile.isLegacyType(mProfile.type)) {
-                for (int i = mAllowedTypes.size() - 1; i >= 0; i--) {
-                    // This must be removed from back to front in order to ensure index consistency
-                    if (VpnProfile.isLegacyType(i)) {
-                        mAllowedTypes.remove(i);
-                    }
+        // Remove all types which are legacy types from the typesList
+        if (!VpnProfile.isLegacyType(mProfile.type)) {
+            for (int i = mAllowedTypes.size() - 1; i >= 0; i--) {
+                // This must be removed from back to front in order to ensure index consistency
+                if (VpnProfile.isLegacyType(i)) {
+                    mAllowedTypes.remove(i);
                 }
-
-                types = mAllowedTypes.toArray(new String[0]);
             }
+
+            types = mAllowedTypes.toArray(new String[0]);
         }
         final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                 getContext(), android.R.layout.simple_spinner_item, types);
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index cf0e4fa..e89785f 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -59,7 +59,6 @@
 import com.android.internal.net.VpnProfile;
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
-import com.android.settings.Utils;
 import com.android.settings.widget.GearPreference;
 import com.android.settings.widget.GearPreference.OnGearClickListener;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -130,12 +129,11 @@
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
-        // Although FEATURE_IPSEC_TUNNELS should always be present in android S,
+        // Although FEATURE_IPSEC_TUNNELS should always be present in android S and beyond,
         // keep this check here just to be safe.
-        if (Utils.isProviderModelEnabled(getContext())
-                && !getContext().getPackageManager().hasSystemFeature(
-                        PackageManager.FEATURE_IPSEC_TUNNELS)) {
-            Log.w(LOG_TAG, "FEATURE_IPSEC_TUNNELS missing from system, cannot create new VPNs");
+        if (!getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_IPSEC_TUNNELS)) {
+            Log.wtf(LOG_TAG, "FEATURE_IPSEC_TUNNELS missing from system, cannot create new VPNs");
             return;
         } else {
             // By default, we should inflate this menu.