diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 7c8868e4e5708..4abb26ccfac07 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -7829,6 +7829,7 @@ package android.os { } public static class Build.VERSION { + field @NonNull public static final java.util.Set KNOWN_CODENAMES; field @NonNull public static final String PREVIEW_SDK_FINGERPRINT; } diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java index e519ff3a37398..6863a0b76b037 100755 --- a/core/java/android/os/Build.java +++ b/core/java/android/os/Build.java @@ -31,6 +31,7 @@ import android.sysprop.DeviceProperties; import android.sysprop.SocProperties; import android.sysprop.TelephonyProperties; import android.text.TextUtils; +import android.util.ArraySet; import android.util.Slog; import android.view.View; @@ -39,6 +40,7 @@ import dalvik.system.VMRuntime; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** @@ -396,6 +398,17 @@ public class Build { */ public static final String CODENAME = getString("ro.build.version.codename"); + /** + * All known codenames starting from {@link VERSION_CODES.Q}. + * + *

This includes in development codenames as well. + * + * @hide + */ + @SystemApi + @NonNull public static final Set KNOWN_CODENAMES = + new ArraySet<>(new String[]{"Q", "R", "S", "Sv2", "Tiramisu"}); + private static final String[] ALL_CODENAMES = getStringList("ro.build.version.all_codenames", ",");