Package org.robolectric.versioning
Class AndroidVersions
java.lang.Object
org.robolectric.versioning.AndroidVersions
Android versioning is complicated.
1) There is a yearly letter release with an increasing of one alpha step each year A-> B, B-> C, and so on. While commonly referenced these are not the release numbers. This class calls these shortcodes. Also minor version number releases (usually within the same year) will start with the same letter.
2) There is an SDK_INT field in android.os.Build.VERSION that tracks a version of the internal SDK. While useful to track the actual released versions of Android, these are not the release number. More importantly, android.os.Build.VERSION uses code names to describe future versions. Multiple code names may be in development at once on different branches of Android.
3) There is a yearly release major number followed by a minor number, which may or may not be used.
4) Relevant logic and reasoning should match androidx.core.os.BuildCompat.java with the caveat that this class guess at the future release version number and short of the current dev branch.
1) There is a yearly letter release with an increasing of one alpha step each year A-> B, B-> C, and so on. While commonly referenced these are not the release numbers. This class calls these shortcodes. Also minor version number releases (usually within the same year) will start with the same letter.
2) There is an SDK_INT field in android.os.Build.VERSION that tracks a version of the internal SDK. While useful to track the actual released versions of Android, these are not the release number. More importantly, android.os.Build.VERSION uses code names to describe future versions. Multiple code names may be in development at once on different branches of Android.
3) There is a yearly release major number followed by a minor number, which may or may not be used.
4) Relevant logic and reasoning should match androidx.core.os.BuildCompat.java with the caveat that this class guess at the future release version number and short of the current dev branch.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Representation of an android release, one that has occurred, or is expected.static class
A released version of Androidstatic class
An in-development version of Androidstatic final class
Baklava is an InDevelopment SDK after V, the name scheme has wrapped the alphabet.static final class
Version: 4.1
ShortCode: J
SDK API Level: 16
release: truestatic final class
Version: 4.2
ShortCode: JMR1
SDK API Level: 17
release: truestatic final class
Version: 4.3
ShortCode: JMR2
SDK API Level: 18
release: truestatic final class
Version: 4.4
ShortCode: K
SDK API Level: 19
release: truestatic final class
Version: 5.0
ShortCode: L
SDK API Level: 21
release: truestatic final class
Version: 5.1
ShortCode: LMR1
SDK API Level: 22
release: truestatic final class
Version: 6.0
ShortCode: M
SDK API Level: 23
release: truestatic final class
Version: 7.0
ShortCode: N
SDK API Level: 24
release: truestatic final class
Release: 7.1
ShortCode: NMR1
SDK Framework: 25
release: truestatic final class
Release: 8.0
ShortCode: O
SDK API Level: 26
release: truestatic final class
Release: 8.1
ShortCode: OMR1
SDK API Level: 27
release: truestatic final class
Release: 9.0
ShortCode: P
SDK API Level: 28
release: truestatic final class
Release: 10.0
ShortCode: Q
SDK API Level: 29
release: truestatic final class
Release: 11.0
ShortCode: R
SDK API Level: 30
release: truestatic final class
Release: 12.0
ShortCode: S
SDK API Level: 31
release: truestatic final class
Release: 12.1
ShortCode: Sv2
SDK API Level: 32
release: truestatic final class
Release: 13.0
ShortCode: T
SDK API Level: 33
release: truestatic final class
Potential Release: 14.0
ShortCode: U
SDK API Level: 34
release: falsestatic final class
Version: -1
ShortCode: ""
SDK API Level: ""
release: falsestatic final class
Potential Release: 15.0
ShortCode: V
SDK API Level: 34+
release: false -
Field Summary
Modifier and TypeFieldDescriptionstatic final AndroidVersions.AndroidRelease
The current release this process is running on. -
Method Summary
Modifier and TypeMethodDescriptiongetReleaseForSdkInt
(Integer sdkInt) static List<AndroidVersions.AndroidRelease>
static List<AndroidVersions.AndroidRelease>
-
Field Details
-
CURRENT
The current release this process is running on.
-
-
Method Details
-
getReleaseForSdkInt
@Nullable public static AndroidVersions.AndroidRelease getReleaseForSdkInt(@Nullable Integer sdkInt) -
getReleases
-
getUnreleased
-