Automatically add FEATURE_IPSEC_TUNNEL_MIGRATION for U/U+ devices.

This change automatically enables the IPSEC_TUNNEL_MIGRATION
feature if the VSR API level is greater than T

This is for OEM convenience to ensure that they do not have to add the
feature for each device that they ship.

Bug: 169169973
Test: Removed feature from device, CTS tested on sunfish that
      the feature does not exist
Change-Id: I4ddaa8803be6e9738a2bd0af6793720571b67ff2
This commit is contained in:
Yan Yan
2021-03-12 12:29:01 -08:00
parent b43409fbfc
commit 3804613f60

View File

@@ -1521,6 +1521,8 @@ public class SystemConfig {
addFeature(PackageManager.FEATURE_IPSEC_TUNNELS, 0);
}
enableIpSecTunnelMigrationOnVsrUAndAbove();
if (isErofsSupported()) {
if (isKernelVersionAtLeast(5, 10)) {
addFeature(PackageManager.FEATURE_EROFS, 0);
@@ -1534,6 +1536,18 @@ public class SystemConfig {
}
}
// This method only enables a new Android feature added in U and will not have impact on app
// compatibility
@SuppressWarnings("AndroidFrameworkCompatChange")
private void enableIpSecTunnelMigrationOnVsrUAndAbove() {
final int vsrApi =
SystemProperties.getInt(
"ro.vendor.api_level", Build.VERSION.DEVICE_INITIAL_SDK_INT);
if (vsrApi > Build.VERSION_CODES.TIRAMISU) {
addFeature(PackageManager.FEATURE_IPSEC_TUNNEL_MIGRATION, 0);
}
}
private void addFeature(String name, int version) {
FeatureInfo fi = mAvailableFeatures.get(name);
if (fi == null) {