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

Commit 107fe807 authored by Linus Tufvesson's avatar Linus Tufvesson Committed by Android (Google) Code Review
Browse files

Merge changes from topic "revert-minsdkversionfull" into main

* changes:
  Revert "Allow new minSdkVersionFull attribute in <uses-sdk>"
  Revert "Block installs of incompatible minSdkVersion minor values"
parents e1f46a88 c1ff7660
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1207,7 +1207,6 @@ package android {
    field public static final int minResizeHeight = 16843670; // 0x1010396
    field public static final int minResizeWidth = 16843669; // 0x1010395
    field public static final int minSdkVersion = 16843276; // 0x101020c
    field @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static final int minSdkVersionFull = 16844461; // 0x10106ad
    field public static final int minWidth = 16843071; // 0x101013f
    field public static final int minimumHorizontalAngle = 16843901; // 0x101047d
    field public static final int minimumVerticalAngle = 16843902; // 0x101047e
+0 −30
Original line number 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
     * platform, populates {@code outError[0]} with an error message.
+0 −16
Original line number 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.O;
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;

@@ -1690,21 +1689,6 @@ public class ParsingPackageUtils {
                    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) {
                    val = sa.peekValue(R.styleable.AndroidManifestUsesSdk_maxSdkVersion);
                    if (val != null) {
+0 −4
Original line number Diff line number Diff line
@@ -2572,10 +2572,6 @@
             against a development branch, in which case it will only work against
             the development builds. -->
        <attr name="minSdkVersion" format="integer|string" />
        <!-- This is the minimum SDK major and minor version (e.g. "36.1") that
             the application requires. Verified independently of minSdkVersion.
             @FlaggedApi(android.sdk.Flags.FLAG_MAJOR_MINOR_VERSIONING_SCHEME) -->
        <attr name="minSdkVersionFull" format="string" />
        <!-- This is the SDK version number that the application is targeting.
             It is able to run on older versions (down to minSdkVersion), but
             was explicitly tested to work with the version specified here.
+1 −4
Original line number Diff line number Diff line
@@ -3953,8 +3953,7 @@
    <public name="pageSizeCompat" />
    <!-- @FlaggedApi(android.nfc.Flags.FLAG_NFC_ASSOCIATED_ROLE_SERVICES) -->
    <public name="wantsRoleHolderPriority"/>
    <!-- @FlaggedApi(android.sdk.Flags.FLAG_MAJOR_MINOR_VERSIONING_SCHEME) -->
    <public name="minSdkVersionFull"/>
    <public name="removed_"/>
    <public name="removed_" />
    <public name="removed_" />
    <public name="removed_" />
@@ -3980,8 +3979,6 @@
  <public type="attr" name="pageSizeCompat" id="0x010106ab" />
  <!-- @FlaggedApi(android.nfc.Flags.FLAG_NFC_ASSOCIATED_ROLE_SERVICES) -->
  <public type="attr" name="wantsRoleHolderPriority" id="0x010106ac" />
  <!-- @FlaggedApi(android.sdk.Flags.FLAG_MAJOR_MINOR_VERSIONING_SCHEME) -->
  <public type="attr" name="minSdkVersionFull" id="0x010106ad" />

  <staging-public-group-final type="string" first-id="0x01b40000">
    <!-- @FlaggedApi(android.content.pm.Flags.FLAG_SDK_DEPENDENCY_INSTALLER)