ChecksSdkIntAtLeast
-
android
@MustBeDocumented
@Retention(value = AnnotationRetention.BINARY)
@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.FIELD])
annotation ChecksSdkIntAtLeast
Denotes that the annotated method checks if the SDK_INT API level is at least the given value, and either returns it or executes the given lambda in that case (or if it's a field, has the value true).
The API level can be specified either as an API level via .api, or for preview platforms as a codename (such as "R") via .codename}, or it can be passed in to the method; in that case, the parameter containing the API level or code name should be specified via .parameter, where the first parameter is numbered 0.
Examples:
// Simple version check
@ChecksSdkIntAtLeast(api = Build.VERSION_CODES.O)
public static boolean isAtLeastO() {
return Build.VERSION.SDK_INT >= 26;
}
// Required API level is passed in as first argument, and function
// in second parameter is executed if SDK_INT is at least that high:
@ChecksSdkIntAtLeast(parameter = 0, lambda = 1)
inline fun fromApi(value: Int, action: () -> Unit) {
if (Build.VERSION.SDK_INT >= value) {
action()
}
}
// Kotlin property:
@get:ChecksSdkIntAtLeast(api = Build.VERSION_CODES.GINGERBREAD)
val isGingerbread: Boolean
get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD
// Java field:
@ChecksSdkIntAtLeast(api = Build.VERSION_CODES.LOLLIPOP)
public static final boolean SUPPORTS_LETTER_SPACING =
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;Summary
Public constructors |
|
|---|---|
|
android
|
Public properties |
||
|---|---|---|
Int |
The API level is at least the given level |
android
|
String |
The API level is at least the given codename (such as "R") |
android
|
Int |
The associated Extension SDK id, or 0 if the Android platform |
android
|
Int |
The parameter number for a lambda that will be executed if the API level is at least the value supplied via |
android
|
Int |
The API level is specified in the given parameter, where the first parameter is number 0 |
android
|