ChecksSdkIntAtLeast

public abstract @interface ChecksSdkIntAtLeast
implements Annotation

androidx.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 methods

int api()

The API level is at least the given level

String codename()

The API level is at least the given codename (such as "R")

int lambda()

The parameter number for a lambda that will be executed if the API level is at least the value supplied via api(), codename() or parameter()

int parameter()

The API level is specified in the given parameter, where the first parameter is number 0

Inherited methods

Public methods

api

public int api ()

The API level is at least the given level

Returns
int

codename

public String codename ()

The API level is at least the given codename (such as "R")

Returns
String

lambda

public int lambda ()

The parameter number for a lambda that will be executed if the API level is at least the value supplied via api(), codename() or parameter()

Returns
int

parameter

public int parameter ()

The API level is specified in the given parameter, where the first parameter is number 0

Returns
int