Deprecation of legacy VPN types no longer depends on the Provider Model
Flag Bug: 204522922 Test: atest -c SettingsUnitTests Change-Id: If43978a7536e269e2b1130a260fcedb7af6bc363
This commit is contained in:
@@ -41,7 +41,6 @@ import androidx.appcompat.app.AlertDialog;
|
||||
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,18 +517,14 @@ class ConfigDialog extends AlertDialog implements TextWatcher,
|
||||
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));
|
||||
|
||||
// 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);
|
||||
|
||||
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,
|
||||
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.
|
||||
|
||||
// Set the mProfile.type to TYPE_IKEV2_IPSEC_USER_PASS if the VPN not exist
|
||||
@@ -548,7 +543,6 @@ class ConfigDialog extends AlertDialog implements TextWatcher,
|
||||
|
||||
types = mAllowedTypes.toArray(new String[0]);
|
||||
}
|
||||
}
|
||||
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
|
||||
getContext(), android.R.layout.simple_spinner_item, types);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
|
@@ -59,7 +59,6 @@ import com.android.internal.net.VpnConfig;
|
||||
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 @@ public class VpnSettings extends RestrictedSettingsFragment implements
|
||||
@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(
|
||||
if (!getContext().getPackageManager().hasSystemFeature(
|
||||
PackageManager.FEATURE_IPSEC_TUNNELS)) {
|
||||
Log.w(LOG_TAG, "FEATURE_IPSEC_TUNNELS missing from system, cannot create new VPNs");
|
||||
Log.wtf(LOG_TAG, "FEATURE_IPSEC_TUNNELS missing from system, cannot create new VPNs");
|
||||
return;
|
||||
} else {
|
||||
// By default, we should inflate this menu.
|
||||
|
Reference in New Issue
Block a user