Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3804613f authored by Yan Yan's avatar Yan Yan
Browse files

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
parent b43409fb
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -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) {