RequiresWindowSdkExtension
@MustBeDocumented
@Retention(value = AnnotationRetention.BINARY)
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FIELD, AnnotationTarget.PROPERTY])
public annotation RequiresWindowSdkExtension
Denotes that the annotated element must only be used if WindowSdkExtensions.extensionVersion is greater than or equal to the given version. Please see code sample linked below for usages.
Calling the API that requires a higher level than the device's current level may lead to exceptions or unexpected results.
import androidx.window.RequiresWindowSdkExtension import androidx.window.WindowSdkExtensions // Given that there's an API required Window SDK Extension version 3 @RequiresWindowSdkExtension(3) fun coolFeature() {} // Developers can use @RequiresWindowSdkExtension to annotate their own functions to document // the required minimum API level. @RequiresWindowSdkExtension(3) fun useCoolFeatureNoCheck() { coolFeature() } // Then users know they should wrap the function with version check if (WindowSdkExtensions.getInstance().extensionVersion >= 3) { useCoolFeatureNoCheck() }
Summary
Public constructors |
|---|
RequiresWindowSdkExtension(@IntRange(from = 1) int version) |
Public methods |
|
|---|---|
final int |
The minimum required |
Public constructors
RequiresWindowSdkExtension
Added in 1.5.0
public RequiresWindowSdkExtension(@IntRange(from = 1) int version)
| Parameters | |
|---|---|
@IntRange(from = 1) int version |
the minimum required |
Public methods
getVersion
public final int getVersion()
The minimum required WindowSdkExtensions version of the denoted target