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.