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

Commit 3852174d authored by Mårten Kongstad's avatar Mårten Kongstad
Browse files

Revert "Block installs of incompatible minSdkVersion minor values"

This reverts commit 5570d1e6.

Bug: 377689343
Test: m nothing
Flag: EXEMPT code removal
Change-Id: I2fedd4638c7189835eaf58cdc1efed39505a3ffd
parent abef94fb
Loading
Loading
Loading
Loading
+0 −30
Original line number Original line Diff line number Diff line
@@ -338,36 +338,6 @@ public class FrameworkParsingPackageUtils {
        }
        }
    }
    }


    /**
     * Check if a package is compatible with this platform with regards to its
     * its minSdkVersionFull.
     *
     * @param minSdkVersionFullString    A string representation of a major.minor version,
     *                                   e.g. "12.34"
     * @param platformMinSdkVersionFull The major and minor version of the platform, i.e. the value
     *                                  of Build.VERSION.SDK_INT_FULL
     * @param input                     A ParseInput object to report success or failure
     */
    public static ParseResult<Void> verifyMinSdkVersionFull(@NonNull String minSdkVersionFullString,
            int platformMinSdkVersionFull, @NonNull ParseInput input) {
        int minSdkVersionFull;
        try {
            minSdkVersionFull = Build.parseFullVersion(minSdkVersionFullString);
        } catch (IllegalStateException e) {
            return input.error(PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED,
                    e.getMessage());
        }
        if (minSdkVersionFull <= platformMinSdkVersionFull) {
            return input.success(null);
        }
        return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK,
                "Requires newer sdk version "
                + Build.fullVersionToString(minSdkVersionFull)
                + " (current version is "
                + Build.fullVersionToString(platformMinSdkVersionFull)
                + ")");
    }

    /**
    /**
     * Computes the targetSdkVersion to use at runtime. If the package is not compatible with this
     * Computes the targetSdkVersion to use at runtime. If the package is not compatible with this
     * platform, populates {@code outError[0]} with an error message.
     * platform, populates {@code outError[0]} with an error message.
+0 −16
Original line number Original line Diff line number Diff line
@@ -29,7 +29,6 @@ import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_UNEXPECTED_
import static android.os.Build.VERSION_CODES.DONUT;
import static android.os.Build.VERSION_CODES.DONUT;
import static android.os.Build.VERSION_CODES.O;
import static android.os.Build.VERSION_CODES.O;
import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
import static android.sdk.Flags.majorMinorVersioningScheme;


import static com.android.internal.pm.pkg.parsing.ParsingUtils.parseKnownActivityEmbeddingCerts;
import static com.android.internal.pm.pkg.parsing.ParsingUtils.parseKnownActivityEmbeddingCerts;


@@ -1690,21 +1689,6 @@ public class ParsingPackageUtils {
                    targetCode = minCode;
                    targetCode = minCode;
                }
                }


                if (majorMinorVersioningScheme()) {
                    val = sa.peekValue(R.styleable.AndroidManifestUsesSdk_minSdkVersionFull);
                    if (val != null) {
                        if (val.type == TypedValue.TYPE_STRING && val.string != null) {
                            String minSdkVersionFullString = val.string.toString();
                            ParseResult<Void> minSdkVersionFullResult =
                                    FrameworkParsingPackageUtils.verifyMinSdkVersionFull(
                                        minSdkVersionFullString, Build.VERSION.SDK_INT_FULL, input);
                            if (minSdkVersionFullResult.isError()) {
                                return input.error(minSdkVersionFullResult);
                            }
                        }
                    }
                }

                if (isApkInApex) {
                if (isApkInApex) {
                    val = sa.peekValue(R.styleable.AndroidManifestUsesSdk_maxSdkVersion);
                    val = sa.peekValue(R.styleable.AndroidManifestUsesSdk_maxSdkVersion);
                    if (val != null) {
                    if (val != null) {