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

Commit ffda9a50 authored by Mårten Kongstad's avatar Mårten Kongstad Committed by Android (Google) Code Review
Browse files

Merge "Add methods to deconstruct SDK_INT_FULL" into main

parents 31782750 2f3e1cc5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -32782,6 +32782,8 @@ package android.os {
  public class Build {
    ctor public Build();
    method @NonNull public static java.util.List<android.os.Build.Partition> getFingerprintedPartitions();
    method @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static int getMajorSdkVersion(int);
    method @FlaggedApi("android.sdk.major_minor_versioning_scheme") public static int getMinorSdkVersion(int);
    method public static String getRadioVersion();
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public static String getSerial();
    field public static final String BOARD;
+31 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.os;

import android.Manifest;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
@@ -43,6 +44,8 @@ import com.android.internal.ravenwood.RavenwoodEnvironment;

import dalvik.system.VMRuntime;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -1273,6 +1276,12 @@ public class Build {
        public static final int VANILLA_ICE_CREAM = 35;
    }

    /** @hide */
    @IntDef(value = {
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface SdkIntFull {}

    /**
     * Enumeration of the currently known SDK major and minor version codes.
     * The numbers increase for every release, and are guaranteed to be ordered
@@ -1292,6 +1301,28 @@ public class Build {
        private static final int SDK_INT_MULTIPLIER = 100000;
    }

    /**
     * Obtain the major version encoded in a VERSION_CODES_FULL value.
     * This value is guaranteed to be non-negative.
     *
     * @return The major version encoded in a VERSION_CODES_FULL value
     */
    @FlaggedApi(Flags.FLAG_MAJOR_MINOR_VERSIONING_SCHEME)
    public static int getMajorSdkVersion(@SdkIntFull int sdkIntFull) {
        return sdkIntFull / VERSION_CODES_FULL.SDK_INT_MULTIPLIER;
    }

    /**
     * Obtain the minor version encoded in a VERSION_CODES_FULL value.
     * This value is guaranteed to be non-negative.
     *
     * @return The minor version encoded in a VERSION_CODES_FULL value
     */
    @FlaggedApi(Flags.FLAG_MAJOR_MINOR_VERSIONING_SCHEME)
    public static int getMinorSdkVersion(@SdkIntFull int sdkIntFull) {
        return sdkIntFull % VERSION_CODES_FULL.SDK_INT_MULTIPLIER;
    }

    /**
     * The vendor API for 2024 Q2
     *