Lista de extensões de KTX

androidx.activity

Dependência

Groovy

dependencies {
    implementation "androidx.activity:activity-ktx:1.9.2"
}

Kotlin

dependencies {
    implementation("androidx.activity:activity-ktx:1.9.2")
}

Funções da extensão

Para OnBackPressedDispatcher
OnBackPressedCallback OnBackPressedDispatcher.addCallback(owner: LifecycleOwner? = null, enabled: Boolean = true, onBackPressed: OnBackPressedCallback.() -> Unit)

Cria e adiciona um novo OnBackPressedCallback que chama onBackPressed em OnBackPressedCallback.handleOnBackPressed.

Para ComponentActivity
Lazy<VM> ComponentActivity.viewModels(noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Retorna uma delegação de Lazy para acessar o ViewModel do ComponentActivity. Se factoryProducer for especificado, então, o ViewModelProvider.Factory retornado por ele será usado para criar ViewModel pela primeira vez.

androidx.benchmark

Dependência

Groovy

dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.3.0"
}

Kotlin

dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.3.0")
}

Funções de nível superior

Unit beginTraceSection(sectionName: String)

Unit endTraceSection()

androidx.benchmark.junit4

Dependência

Groovy

dependencies {
    implementation "androidx.benchmark:benchmark-junit4:1.3.0"
}

Kotlin

dependencies {
    implementation("androidx.benchmark:benchmark-junit4:1.3.0")
}

Funções da extensão

Para BenchmarkRule
Unit BenchmarkRule.measureRepeated(crossinline block: BenchmarkRule.Scope.() -> Unit)

Fazer comparativo de um bloco de código.

androidx.collection

Dependência

Groovy

dependencies {
    implementation "androidx.collection:collection-ktx:1.4.5"
}

Kotlin

dependencies {
    implementation("androidx.collection:collection-ktx:1.4.5")
}

Funções da extensão

Para LongSparseArray
operador Boolean LongSparseArray<T>.contains(key: Long)

Retorna verdadeiro se a coleção contiver key.

Unit LongSparseArray<T>.forEach(action: (key: Long, value: T) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

T LongSparseArray<T>.getOrDefault(key: Long, defaultValue: T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

T LongSparseArray<T>.getOrElse(key: Long, defaultValue: () -> T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean LongSparseArray<T>.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

LongIterator LongSparseArray<T>.keyIterator()

Retorna um iterador nas chaves da coleção.

operador LongSparseArray<T> LongSparseArray<T>.plus(other: LongSparseArray<T>)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Boolean LongSparseArray<T>.remove(key: Long, value: T)

Remove a entrada key somente se ela for mapeada para value.

operador Unit LongSparseArray<T>.set(key: Long, value: T)

Permite o uso do operador de índice para armazenar valores na coleção.

Iterator<T> LongSparseArray<T>.valueIterator()

Retorna um iterador nos valores da coleção.

Para SparseArrayCompat
operador Boolean SparseArrayCompat<T>.contains(key: Int)

Retorna verdadeiro se a coleção contiver key.

Unit SparseArrayCompat<T>.forEach(action: (key: Int, value: T) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

T SparseArrayCompat<T>.getOrDefault(key: Int, defaultValue: T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

T SparseArrayCompat<T>.getOrElse(key: Int, defaultValue: () -> T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean SparseArrayCompat<T>.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

IntIterator SparseArrayCompat<T>.keyIterator()

Retorna um iterador nas chaves da coleção.

operador SparseArrayCompat<T> SparseArrayCompat<T>.plus(other: SparseArrayCompat<T>)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Boolean SparseArrayCompat<T>.remove(key: Int, value: T)

Remove a entrada key somente se ela for mapeada para value.

operador Unit SparseArrayCompat<T>.set(key: Int, value: T)

Permite o uso do operador de índice para armazenar valores na coleção.

Iterator<T> SparseArrayCompat<T>.valueIterator()

Retorna um iterador nos valores da coleção.

Propriedades de extensão

Para LongSparseArray
Int LongSparseArray<T>.size()

Retorna o número de pares de chave-valor na coleção.

Para SparseArrayCompat
Int SparseArrayCompat<T>.size()

Retorna o número de pares de chave-valor na coleção.

Funções de nível superior

ArrayMap<K, V> arrayMapOf()

Retorna um novo ArrayMap vazio.

ArrayMap<K, V> arrayMapOf(vararg pairs: Pair<K, V>)

Retorna um novo ArrayMap com o conteúdo especificado, fornecido como uma lista de pares em que o primeiro componente é a chave e o segundo componente é o valor.

ArraySet<T> arraySetOf()

Retorna um novo ArraySet vazio.

ArraySet<T> arraySetOf(vararg values: T)

Retorna um novo ArraySet com o conteúdo especificado.

LruCache<K, V> lruCache(maxSize: Int, crossinline sizeOf: (key: K, value: V) -> Int = { _, _ -> 1 }, crossinline create: (key: K) -> V? = { null as V? }, crossinline onEntryRemoved: (evicted: Boolean, key: K, oldValue: V, newValue: V?) -> Unit = { _, _, _, _ -> })

Cria um LruCache com os parâmetros fornecidos.

androidx.core.animation

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.animation.Animator
AnimatorListener Animator.addListener(crossinline onEnd: (animator: Animator) -> Unit = {}, crossinline onStart: (animator: Animator) -> Unit = {}, crossinline onCancel: (animator: Animator) -> Unit = {}, crossinline onRepeat: (animator: Animator) -> Unit = {})

Adiciona um listener ao Animator usando as ações fornecidas.

AnimatorPauseListener Animator.addPauseListener(crossinline onResume: (animator: Animator) -> Unit = {}, crossinline onPause: (animator: Animator) -> Unit = {})

Adiciona uma pausa e retoma o listener desse Animator usando as ações fornecidas.

AnimatorListener Animator.doOnCancel(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for cancelada.

AnimatorListener Animator.doOnEnd(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for finalizada.

AnimatorPauseListener Animator.doOnPause(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for pausada.

AnimatorListener Animator.doOnRepeat(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for repetida.

AnimatorPauseListener Animator.doOnResume(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for retomada após uma pausa.

AnimatorListener Animator.doOnStart(crossinline action: (animator: Animator) -> Unit)

Adiciona uma ação que será invocada quando a animação for iniciada.

androidx.core.content

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.content.Context
T? Context.getSystemService()

Retorna um identificador para um serviço no nível do sistema por classe.

Unit Context.withStyledAttributes(set: AttributeSet? = null, attrs: IntArray, @AttrRes defStyleAttr: Int = 0, @StyleRes defStyleRes: Int = 0, block: TypedArray.() -> Unit)

Executa o block em um receptor TypedArray.

Unit Context.withStyledAttributes(@StyleRes resourceId: Int, attrs: IntArray, block: TypedArray.() -> Unit)

Executa o block em um receptor TypedArray.

Para android.content.SharedPreferences
Unit SharedPreferences.edit(commit: Boolean = false, action: Editor.() -> Unit)

Permite a edição dessa instância de preferência com uma chamada para apply ou commit para manter as mudanças.

Funções de nível superior

ContentValues contentValuesOf(vararg pairs: Pair<String, Any?>)

Retorna um novo ContentValues com os pares de chave-valor fornecidos como elementos.

androidx.core.content.res

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.content.res.TypedArray
Boolean TypedArray.getBooleanOrThrow(@StyleableRes index: Int)

Recupera o valor booleano para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getColorOrThrow(@StyleableRes index: Int)

Recupera o valor da cor para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

ColorStateList TypedArray.getColorStateListOrThrow(@StyleableRes index: Int)

Recupera o valor da lista de estados de cor para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Float TypedArray.getDimensionOrThrow(@StyleableRes index: Int)

Recupera o valor da dimensão para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getDimensionPixelOffsetOrThrow(@StyleableRes index: Int)

Recupera o valor de compensação de pixels de dimensão para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getDimensionPixelSizeOrThrow(@StyleableRes index: Int)

Recupera o valor do tamanho de pixels de dimensão para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Drawable TypedArray.getDrawableOrThrow(@StyleableRes index: Int)

Recupera o valor do drawable para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Float TypedArray.getFloatOrThrow(@StyleableRes index: Int)

Recupera o valor do ponto flutuante para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Typeface TypedArray.getFontOrThrow(@StyleableRes index: Int)

Recupera o valor da fonte para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getIntOrThrow(@StyleableRes index: Int)

Recupera o valor inteiro para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getIntegerOrThrow(@StyleableRes index: Int)

Recupera o valor inteiro para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

Int TypedArray.getResourceIdOrThrow(@StyleableRes index: Int)

Recupera o identificador de recurso para o atributo em index ou gera uma IllegalArgumentException, se não tiver sido definido.

String TypedArray.getStringOrThrow(@StyleableRes index: Int)

Recupera o valor da string para o atributo no index ou gera uma IllegalArgumentException se não tiver sido definido.

Array<CharSequence> TypedArray.getTextArrayOrThrow(@StyleableRes index: Int)

Recupera o valor da matriz de texto para o atributo em index ou gera uma IllegalArgumentException se não tiver sido definido.

CharSequence TypedArray.getTextOrThrow(@StyleableRes index: Int)

Recupera o valor do texto para o atributo em index ou gera umaIllegalArgumentException se não tiver sido definido.

R TypedArray.use(block: (TypedArray) -> R)

Executa a função block especificada nesse TypedArray e depois a recicla.

androidx.core.database

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.database.Cursor
ByteArray? Cursor.getBlobOrNull(index: Int)

Retorna o valor da coluna solicitada como uma matriz de bytes anulável.

Double? Cursor.getDoubleOrNull(index: Int)

Retorna o valor da coluna solicitada como duplo anulável.

Float? Cursor.getFloatOrNull(index: Int)

Retorna o valor da coluna solicitada como um ponto flutuante anulável.

Int? Cursor.getIntOrNull(index: Int)

Retorna o valor da coluna solicitada como um número inteiro anulável.

Long? Cursor.getLongOrNull(index: Int)

Retorna o valor da coluna solicitada como longo anulável.

Short? Cursor.getShortOrNull(index: Int)

Retorna o valor da coluna solicitada como curto anulável.

String? Cursor.getStringOrNull(index: Int)

Retorna o valor da coluna solicitada como string anulável.

androidx.core.database.sqlite

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.database.sqlite.SQLiteDatabase
T SQLiteDatabase.transaction(exclusive: Boolean = true, body: SQLiteDatabase.() -> T)

Executa body em uma transação marcando-a como bem-sucedida se ela for concluída sem exceções.

androidx.core.graphics

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.graphics.Bitmap
Bitmap Bitmap.applyCanvas(block: Canvas.() -> Unit)

Cria uma nova Canvas para desenhar nesse bitmap e executa o block especificado na tela recém-criada.

operador Boolean Bitmap.contains(p: Point)

Retorna verdadeiro se o ponto especificado estiver dentro do bitmap.

operador Boolean Bitmap.contains(p: PointF)

Retorna verdadeiro se o ponto especificado estiver dentro do bitmap.

operador Int Bitmap.get(x: Int, y: Int)

Retorna o valor do pixel no local especificado.

Bitmap Bitmap.scale(width: Int, height: Int, filter: Boolean = true)

Cria um novo bitmap, escalonado desse bitmap, quando possível.

operador Unit Bitmap.set(x: Int, y: Int, color: Int)

Grava o color int especificado no bitmap (se for mutável) na coordenada (x, y) especificada.

Para android.graphics.Canvas
Unit Canvas.withClip(clipRect: Rect, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.clipRect e Canvas.restoreToCount.

Unit Canvas.withClip(clipRect: RectF, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.clipRect e Canvas.restoreToCount.

Unit Canvas.withClip(left: Int, top: Int, right: Int, bottom: Int, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.clipRect e Canvas.restoreToCount.

Unit Canvas.withClip(left: Float, top: Float, right: Float, bottom: Float, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.clipRect e Canvas.restoreToCount.

Unit Canvas.withClip(clipPath: Path, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.clipPath e Canvas.restoreToCount.

Unit Canvas.withMatrix(matrix: Matrix = Matrix(), block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.concat e Canvas.restoreToCount.

Unit Canvas.withRotation(degrees: Float = 0.0f, pivotX: Float = 0.0f, pivotY: Float = 0.0f, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.rotate e Canvas.restoreToCount.

Unit Canvas.withSave(block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save e Canvas.restoreToCount.

Unit Canvas.withScale(x: Float = 1.0f, y: Float = 1.0f, pivotX: Float = 0.0f, pivotY: Float = 0.0f, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.scale e Canvas.restoreToCount.

Unit Canvas.withSkew(x: Float = 0.0f, y: Float = 0.0f, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.skew e Canvas.restoreToCount.

Unit Canvas.withTranslation(x: Float = 0.0f, y: Float = 0.0f, block: Canvas.() -> Unit)

Une o block especificado em chamadas para Canvas.save/Canvas.translate e Canvas.restoreToCount.

Para android.graphics.Color
operador Float Color.component1()

Retorna o primeiro componente da cor.

operador Float Color.component2()

Retorna o segundo componente da cor.

operador Float Color.component3()

Retorna o terceiro componente da cor.

operador Float Color.component4()

Retorna o quarto componente da cor.

infix Color! Color.convertTo(colorSpace: Named)

Converte o receptor de cores em uma cor do espaço de cores especificado.

infix Color! Color.convertTo(colorSpace: ColorSpace)

Converte o receptor de cores em uma cor do espaço de cores especificado.

operador Color Color.plus(c: Color)

Faz uma composição de duas cores translúcidas.

Para android.graphics.ImageDecoder.Source
Bitmap Source.decodeBitmap(crossinline action: ImageDecoder.(info: ImageInfo, source: Source) -> Unit)

Cria um bitmap de uma origem

Drawable Source.decodeDrawable(crossinline action: ImageDecoder.(info: ImageInfo, source: Source) -> Unit)

Cria um drawable de uma origem

Para android.graphics.Matrix
operador Matrix Matrix.times(m: Matrix)

Multiplica essa Matrix por outra e retorna o resultado como uma nova.

FloatArray Matrix.values()

Retorna os nove valores dessa Matrix como uma nova matriz de pontos flutuantes.

Para android.graphics.Paint
Boolean Paint.setBlendMode(blendModeCompat: BlendModeCompat?)

Método de conveniência para configurar o BlendMode de um Paint de forma compatível com versões anteriores.

Para android.graphics.Path
infix Path Path.and(p: Path)

Retorna a interseção de dois caminhos como um novo Path.

Iterable<PathSegment> Path.flatten(error: Float = 0.5f)

Suaviza (ou aproxima) o Path com uma série de segmentos de linha.

operador Path Path.minus(p: Path)

Retorna a diferença de dois caminhos como um novo Path.

infix Path Path.or(p: Path)

Retorna a união de dois caminhos como um novo Path.

operador Path Path.plus(p: Path)

Retorna a união de dois caminhos como um novo Path.

infix Path Path.xor(p: Path)

Retorna a união menos a interseção de dois caminhos como um novo Path.

Para android.graphics.Picture
Picture Picture.record(width: Int, height: Int, block: Canvas.() -> Unit)

Cria uma nova Canvas para gravar comandos nessa Picture, executa o block especificado na tela recém-criada e retorna essa Picture.

Para android.graphics.Point
operador Int Point.component1()

Retorna a coordenada x desse ponto.

operador Int Point.component2()

Retorna a coordenada y desse ponto.

operador Point Point.minus(p: Point)

Desloca esse ponto pela negação do ponto especificado e retorna o resultado como um novo ponto.

operador Point Point.minus(xy: Int)

Desloca esse ponto pela negação do valor especificado nos eixos X e Y e retorna o resultado como um novo ponto.

operador Point Point.plus(p: Point)

Desloca esse ponto pelo ponto especificado e retorna o resultado como um novo ponto.

operador Point Point.plus(xy: Int)

Desloca esse ponto pelo valor especificado nos eixos X e Y e retorna o resultado como um novo ponto.

PointF Point.toPointF()

Retorna uma representação PointF desse ponto.

operador Point Point.unaryMinus()

Retorna um novo ponto que representa a negação desse ponto.

Para android.graphics.PointF
operador Float PointF.component1()

Retorna a coordenada x desse ponto.

operador Float PointF.component2()

Retorna a coordenada y desse ponto.

operador PointF PointF.minus(p: PointF)

Desloca esse ponto pela negação do ponto especificado e retorna o resultado como um novo ponto.

operador PointF PointF.minus(xy: Float)

Desloca esse ponto pela negação do valor especificado nos eixos X e Y e retorna o resultado como um novo ponto.

operador PointF PointF.plus(p: PointF)

Desloca esse ponto pelo ponto especificado e retorna o resultado como um novo ponto.

operador PointF PointF.plus(xy: Float)

Desloca esse ponto pelo valor especificado nos eixos X e Y e retorna o resultado como um novo ponto.

Point PointF.toPoint()

Retorna uma representação Point desse ponto.

operador PointF PointF.unaryMinus()

Retorna um novo ponto que representa a negação desse ponto.

Para android.graphics.PorterDuff.Mode
PorterDuffColorFilter Mode.toColorFilter(color: Int)

Cria um novo PorterDuffColorFilter que usa esse PorterDuff.Mode como o modo de composição Alfa ou de mesclagem e a Color especificada.

PorterDuffXfermode Mode.toXfermode()

Cria um novo PorterDuffXfermode que usa esse PorterDuff.Mode como o modo de composição Alfa ou de mesclagem.

Para android.graphics.Rect
infix Rect Rect.and(r: Rect)

Retorna a interseção de dois retângulos como um novo retângulo.

operador Int Rect.component1()

Retorna "left", o primeiro componente do retângulo.

operador Int Rect.component2()

Retorna "top", o segundo componente do retângulo.

operador Int Rect.component3()

Retorna "right", o terceiro componente do retângulo.

operador Int Rect.component4()

Retorna "bottom", o quarto componente do retângulo.

operador Boolean Rect.contains(p: Point)

Retorna verdadeiro se o ponto especificado estiver dentro do retângulo.

operador Region Rect.minus(r: Rect)

Retorna a diferença desse retângulo e o retângulo especificado como uma nova região.

operador Rect Rect.minus(xy: Int)

Retorna um novo retângulo que representa esse deslocamento de retângulo pela negação do valor especificado nos eixos X e Y.

operador Rect Rect.minus(xy: Point)

Retorna um novo retângulo que representa esse deslocamento do retângulo pela negação do ponto especificado.

infix Rect Rect.or(r: Rect)

Retorna a união de dois retângulos como um novo retângulo.

operador Rect Rect.plus(r: Rect)

Executa a união desse e do retângulo especificado e retorna o resultado como um novo.

operador Rect Rect.plus(xy: Int)

Retorna um novo retângulo que representa esse deslocamento do retângulo pelo valor especificado nos eixos X e Y.

operador Rect Rect.plus(xy: Point)

Retorna um novo retângulo que representa o deslocamento desse retângulo pelo ponto especificado.

operador Rect Rect.times(factor: Int)

Retorna um novo retângulo que representa os componentes desse retângulo, cada um escalonado pelo factor.

RectF Rect.toRectF()

Retorna uma representação RectF desse retângulo.

Region Rect.toRegion()

Retorna uma representação de Region desse retângulo.

infix Region Rect.xor(r: Rect)

Retorna a união menos a interseção de dois retângulos como uma nova região.

Para android.graphics.RectF
infix RetF RectF.and(r: RectF)

Retorna a interseção de dois retângulos como um novo retângulo.

operador Float RectF.component1()

Retorna "left", o primeiro componente do retângulo.

operador Float RectF.component2()

Retorna "top", o segundo componente do retângulo.

operador Float RectF.component3()

Retorna "right", o terceiro componente do retângulo.

operador Float RectF.component4()

Retorna "bottom", o quarto componente do retângulo.

operador Boolean RectF.contains(p: PointF)

Retorna verdadeiro se o ponto especificado estiver dentro do retângulo.

operador Region RectF.minus(r: RectF)

Retorna a diferença desse retângulo e o retângulo especificado como uma nova região.

operador RetF RectF.minus(xy: Float)

Retorna um novo retângulo que representa esse deslocamento de retângulo pela negação do valor especificado nos eixos X e Y.

operador RetF RectF.minus(xy: PointF)

Retorna um novo retângulo que representa esse deslocamento do retângulo pela negação do ponto especificado.

infix RetF RectF.or(r: RectF)

Retorna a união de dois retângulos como um novo retângulo.

operador RetF RectF.plus(r: RectF)

Executa a união desse e do retângulo especificado e retorna o resultado como um novo.

operador RetF RectF.plus(xy: Float)

Retorna um novo retângulo que representa esse deslocamento do retângulo pelo valor especificado nos eixos X e Y.

operador RetF RectF.plus(xy: PointF)

Retorna um novo retângulo que representa o deslocamento desse retângulo pelo ponto especificado.

operador RetF RectF.times(factor: Int)

Retorna um novo retângulo que representa os componentes desse retângulo, cada um escalonado pelo factor.

operador RetF RectF.times(factor: Float)

Retorna um novo retângulo que representa os componentes desse retângulo, cada um escalonado pelo factor.

Rect RectF.toRect()

Retorna uma representação Rect desse retângulo.

Region RectF.toRegion()

Retorna uma representação de Region desse retângulo.

RectF RectF.transform(m: Matrix)

Transforma esse retângulo específico usando a Matrix fornecida e retorna esse retângulo.

infix Region RectF.xor(r: RectF)

Retorna a união menos a interseção de dois retângulos como uma nova região.

Para android.graphics.Region
infix Region Region.and(r: Rect)

Retorna a interseção dessa região e o Rect especificado como uma nova região.

infix Region Region.and(r: Region)

Retorna a interseção dessa região e a região especificada como uma nova região.

operador Boolean Region.contains(p: Point)

Retorna verdadeiro se a região contiver o Point especificado.

Unit Region.forEach(action: (rect: Rect) -> Unit)

Executa a ação determinada em cada rect nessa região.

operador Iterator<Rect> Region.iterator()

Retorna um iterator nos rects nessa região.

operador Region Region.minus(r: Rect)

Retorna a diferença dessa região e o Rect especificado como uma nova região.

operador Region Region.minus(r: Region)

Retorna a diferença dessa região e a região especificada como uma nova região.

operador Region Region.not()

Retorna a negação dessa região como uma nova região.

infix Region Region.or(r: Rect)

Retorna a união dessa região e o Rect especificado como uma nova região.

infix Region Region.or(r: Region)

Retorna a união dessa e da região especificada como uma nova.

operador Region Region.plus(r: Rect)

Retorna a união dessa região e o Rect especificado como uma nova região.

operador Region Region.plus(r: Region)

Retorna a união dessa e da região especificada como uma nova.

operador Region Region.unaryMinus()

Retorna a negação dessa região como uma nova região.

infix Region Region.xor(r: Rect)

Retorna a união menos a interseção dessa região e o Rect especificado como uma nova região.

infix Region Region.xor(r: Region)

Retorna a união menos a interseção dessa região e a região especificada como uma nova região.

Para android.graphics.Shader
Unit Shader.transform(block: Matrix.() -> Unit)

Une o block especificado em chamadas para Shader.getLocalMatrix e Shader.setLocalMatrix.

Para kotlin.Int
operador Int Int.component1()

Retorna o componente Alfa de um int de cor.

operador Int Int.component2()

Retorna o componente vermelho de um int de cor.

operador Int Int.component3()

Retorna o componente verde de um int de cor.

operador Int Int.component4()

Retorna o componente azul de um int de cor.

infix Long Int.convertTo(colorSpace: Named)

Converte o receptor de int de cores em um longo de cor no espaço de cores especificado.

infix Long Int.convertTo(colorSpace: ColorSpace)

Converte o receptor de int de cores em um longo de cor no espaço de cores especificado.

Color Int.toColor()

Cria uma nova instância de Color de um int de cor.

Long Int.toColorLong()

Converte o color int de ARGB especificado em um color long de RGBA no espaço de cor sRGB.

Para kotlin.Long
operador Float Long.component1()

Retorna o primeiro componente da cor.

operador Float Long.component2()

Retorna o segundo componente da cor.

operador Float Long.component3()

Retorna o terceiro componente da cor.

operador Float Long.component4()

Retorna o quarto componente da cor.

infix Long Long.convertTo(colorSpace: Named)

Converte o receptor de longos de cores em um longo de cor no espaço de cores especificado.

infix Long Long.convertTo(colorSpace: ColorSpace)

Converte o receptor de longos de cores em um longo de cor no espaço de cores especificado.

Color Long.toColor()

Cria uma nova instância de Color de um color long.

Int Long.toColorInt()

Converte o color long especificado em um color int de ARGB.

Para kotlin.String
Int String.toColorInt()

Retorna um Int de cor correspondente dessa String.

Propriedades de extensão

Para kotlin.Int
Int Int.alpha()

Retorna o componente Alfa de um int de cor.

Int Int.blue()

Retorna o componente azul de um int de cor.

Int Int.green()

Retorna o componente verde de um int de cor.

Float Int.luminance()

Retorna a luminosidade relativa de um int de cor, supondo a codificação sRGB.

Int Int.red()

Retorna o componente vermelho de um int de cor.

Para kotlin.Long
Float Long.alpha()

Retorna o componente Alfa de um longo de cor.

Float Long.blue()

Retorna o componente azul de um longo de cor.

ColorSpace Long.colorSpace()

Retorna o espaço de cores codificado no longo de cor especificado.

Float Long.green()

Retorna o componente verde de um longo de cor.

Boolean Long.isSrgb()

Indica se a cor está no espaço de cores sRGB.

Boolean Long.isWideGamut()

Indica se a cor está em um espaço de cores wide-gamut.

Float Long.luminance()

Retorna a luminosidade relativa de uma cor.

Float Long.red()

Retorna o componente vermelho de um longo de cor.

Funções de nível superior

Bitmap createBitmap(width: Int, height: Int, config: Config = Bitmap.Config.ARGB_8888)

Retorna um bitmap mutável com a width e a height especificadas.

Bitmap createBitmap(width: Int, height: Int, config: Config = Bitmap.Config.ARGB_8888, hasAlpha: Boolean = true, colorSpace: ColorSpace = ColorSpace.get(ColorSpace.Named.SRGB))

Retorna um bitmap mutável com a width e a height especificadas.

Matrix rotationMatrix(degrees: Float, px: Float = 0.0f, py: Float = 0.0f)

Cria uma matriz de rotação, definida por um ângulo de rotação em graus ao redor do ponto de eixo localizado nas coordenadas (px, py).

Matrix scaleMatrix(sx: Float = 1.0f, sy: Float = 1.0f)

Cria uma matriz de escalonamento com o fator de escalonamento sx e sy, respectivamente, no eixo x e y.

Matrix translationMatrix(tx: Float = 0.0f, ty: Float = 0.0f)

Cria uma matriz de tradução com os valores de tradução tx e ty, respectivamente, no eixo x e y.

androidx.core.graphics.drawable

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.graphics.Bitmap
Icon Bitmap.toAdaptiveIcon()

Cria um ícone nesse Bitmap adaptável.

BitmapDrawable Bitmap.toDrawable(resources: Resources)

Cria um BitmapDrawable nesse Bitmap.

Icon Bitmap.toIcon()

Cria um Icon nesse Bitmap.

Para android.graphics.Color
ColorDrawable Color.toDrawable()

Cria um ColorDrawable dessa color (via Color.toArgb).

Para android.graphics.drawable.Drawable
Bitmap Drawable.toBitmap(@Px width: Int = intrinsicWidth, @Px height: Int = intrinsicHeight, config: Config? = null)

Retorna uma representação Bitmap desse Drawable.

Unit Drawable.updateBounds(@Px left: Int = bounds.left, @Px top: Int = bounds.top, @Px right: Int = bounds.right, @Px bottom: Int = bounds.bottom)

Atualiza os limites do drawable.

Para android.net.Uri
Icon Uri.toIcon()

Cria um Icon desse URI.

Para kotlin.ByteArray
Icon ByteArray.toIcon()

Cria um Icon desse ByteArray.

Para kotlin.Int
ColorDrawable Int.toDrawable()

Cria um ColorDrawable desse valor de cor.

androidx.core.location

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.location.Location
operador Double Location.component1()

Retorna a latitude desse Location.

operador Double Location.component2()

Retorna a longitude desse Location.

androidx.core.net

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.net.Uri
File Uri.toFile()

Cria um File do URI especificado.

Para java.io.File
URI File.toUri()

Cria um URI a do arquivo fornecido.

Para kotlin.String
URI String.toUri()

Cria um URI da string de URI codificada fornecida.

androidx.core.os

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.os.Handler
Runnable Handler.postAtTime(uptimeMillis: Long, token: Any? = null, crossinline action: () -> Unit)

Versão de Handler.postAtTime que reorganiza os parâmetros, permitindo que a ação seja colocada fora dos parênteses.

Runnable Handler.postDelayed(delayInMillis: Long, token: Any? = null, crossinline action: () -> Unit)

Versão de Handler.postDelayed que reordena os parâmetros, permitindo que a ação seja colocada fora dos parênteses.

Funções de nível superior

Bundle bundleOf(vararg pairs: Pair<String, Any?>)

Retorna um novo Bundle com os pares de chave-valor fornecidos como elementos.

PersistableBundle persistableBundleOf(vararg pairs: Pair<String, Any?>)

Retorna um novo PersistableBundle com os pares de chave-valor fornecidos como elementos.

T trace(sectionName: String, block: () -> T)

Une o block especificado em chamadas para Trace.beginSection (com o sectionName fornecido) e Trace.endSection.

androidx.core.text

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.text.Spannable
Unit Spannable.clearSpans()

Limpa todos os períodos desse texto.

operador Unit Spannable.set(start: Int, end: Int, span: Any)

Adiciona span ao intervalo start&hellip;end do texto.

operador Unit Spannable.set(range: IntRange, span: Any)

Adiciona span ao range do texto.

Para android.text.SpannableStringBuilder
SpannableStringBuilder SpannableStringBuilder.backgroundColor(color: Int, builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um BackgroundColorSpan.

SpannableStringBuilder SpannableStringBuilder.bold(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um StyleSpan em negrito.

SpannableStringBuilder SpannableStringBuilder.color(color: Int, builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em ForegroundColorSpan.

SpannableStringBuilder SpannableStringBuilder.inSpans(vararg spans: Any, builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em spans.

SpannableStringBuilder SpannableStringBuilder.inSpans(span: Any, builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction no span.

SpannableStringBuilder SpannableStringBuilder.italic(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um StyleSpan itálico.

SpannableStringBuilder SpannableStringBuilder.scale(proportion: Float, builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um RelativeSizeSpan.

SpannableStringBuilder SpannableStringBuilder.strikeThrough(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um StrikethroughSpan.

SpannableStringBuilder SpannableStringBuilder.subscript(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um SubscriptSpan.

SpannableStringBuilder SpannableStringBuilder.superscript(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um SuperscriptSpan.

SpannableStringBuilder SpannableStringBuilder.underline(builderAction: SpannableStringBuilder.() -> Unit)

Une o texto anexado em builderAction em um UnderlineSpan.

Para android.text.Spanned
Array<out T> Spanned.getSpans(start: Int = 0, end: Int = length)

Mostra todos os espaços que são instâncias de T.

String Spanned.toHtml(option: Int = TO_HTML_PARAGRAPH_LINES_CONSECUTIVE)

Retorna uma string de HTML dos períodos nesse Spanned.

Para kotlin.CharSequence
Boolean CharSequence.isDigitsOnly()

Retorna se a CharSequence fornecida contém apenas dígitos.

Spannable CharSequence.toSpannable()

Retorna um novo Spannable de CharSequence ou a própria fonte, caso já seja uma instância de SpannableString.

Spanned CharSequence.toSpanned()

Retorna um novo Spanned de CharSequence ou a própria fonte, caso já seja uma instância de SpannedString.

Int CharSequence.trimmedLength()

Retorna o tamanho que a CharSequence especificada teria se espaços e caracteres de controle ASCII fossem cortados do início e do final, como por String.trim.

Para kotlin.String
String String.htmlEncode()

Codifica a string em HTML.

Spanned String.parseAsHtml(flags: Int = FROM_HTML_MODE_LEGACY, imageGetter: ImageGetter? = null, tagHandler: TagHandler? = null)

Retorna um Spanned de analisar essa string como HTML.

Propriedades de extensão

Para java.util.Locale
Int Locale.layoutDirection()

Retorna a direção do layout de uma determinada localidade.

Funções de nível superior

SpannedString buildSpannedString(builderAction: SpannableStringBuilder.() -> Unit)

Cria uma nova string preenchendo um arquivo recém-criado SpannableStringBuilder usando o builderAction e, em seguida, convertendo-o em SpannedString.

androidx.core.transition

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.transition.Transition
TransitionListener Transition.addListener(crossinline onEnd: (transition: Transition) -> Unit = {}, crossinline onStart: (transition: Transition) -> Unit = {}, crossinline onCancel: (transition: Transition) -> Unit = {}, crossinline onResume: (transition: Transition) -> Unit = {}, crossinline onPause: (transition: Transition) -> Unit = {})

Adiciona um listener a essa transição usando as ações fornecidas.

TransitionListener Transition.doOnCancel(crossinline action: (transition: Transition) -> Unit)

Adiciona uma ação que será invocada quando essa transição for cancelada.

TransitionListener Transition.doOnEnd(crossinline action: (transition: Transition) -> Unit)

Adiciona uma ação que será invocada quando essa transição for finalizada.

TransitionListener Transition.doOnPause(crossinline action: (transition: Transition) -> Unit)

Adiciona uma ação que será invocada quando essa transição for pausada.

TransitionListener Transition.doOnResume(crossinline action: (transition: Transition) -> Unit)

Adiciona uma ação que será invocada quando essa transição for retomada após uma pausa.

TransitionListener Transition.doOnStart(crossinline action: (transition: Transition) -> Unit)

Adiciona uma ação que será invocada quando essa transição for iniciada.

androidx.core.util

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.util.AtomicFile
ByteArray AtomicFile.readBytes()

Recebe todo o conteúdo desse arquivo como uma matriz de bytes.

String AtomicFile.readText(charset: Charset = Charsets.UTF_8)

Recebe todo o conteúdo desse arquivo como uma String usando UTF-8 ou o charset especificado.

Unit AtomicFile.tryWrite(block: (out: FileOutputStream) -> Unit)

Executa as operações de gravação dentro do block nesse arquivo.

Unit AtomicFile.writeBytes(array: ByteArray)

Define o conteúdo desse arquivo como uma array de bytes.

Unit AtomicFile.writeText(text: String, charset: Charset = Charsets.UTF_8)

Define o conteúdo desse arquivo como text codificado usando UTF-8 ou o charset especificado.

Para android.util.LongSparseArray
operador Boolean LongSparseArray<T>.contains(key: Long)

Retorna verdadeiro se a coleção contiver key.

Boolean LongSparseArray<T>.containsKey(key: Long)

Retorna verdadeiro se a coleção contiver key.

Boolean LongSparseArray<T>.containsValue(value: T)

Retorna verdadeiro se a coleção contiver value.

Unit LongSparseArray<T>.forEach(action: (key: Long, value: T) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

T LongSparseArray<T>.getOrDefault(key: Long, defaultValue: T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

T LongSparseArray<T>.getOrElse(key: Long, defaultValue: () -> T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean LongSparseArray<T>.isEmpty()

Retorna verdadeiro quando a coleção não contiver elementos.

Boolean LongSparseArray<T>.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

LongIterator LongSparseArray<T>.keyIterator()

Retorna um iterador nas chaves da coleção.

operador LongSparseArray<T> LongSparseArray<T>.plus(other: LongSparseArray<T>)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Unit LongSparseArray<T>.putAll(other: LongSparseArray<T>)

Atualiza essa coleção adicionando ou substituindo entradas de other.

Boolean LongSparseArray<T>.remove(key: Long, value: T)

Remove a entrada key somente se ela for mapeada para value.

operador Unit LongSparseArray<T>.set(key: Long, value: T)

Permite o uso do operador de índice para armazenar valores na coleção.

Iterator<T> LongSparseArray<T>.valueIterator()

Retorna um iterador nos valores da coleção.

Para android.util.Pair
operador F Pair<F, S>.component1()

Retorna o primeiro componente do par.

operador S Pair<F, S>.component2()

Retorna o segundo componente do par.

Pair<F, S> Pair<F, S>.toKotlinPair()

Retorna esse Pair como um kotlin.Pair.

Para android.util.Range
infix Range<T> Range<T>.and(other: Range<T>)

Retorna a interseção desse intervalo e other.

operador Range<T> Range<T>.plus(value: T)

Retorna o menor intervalo que inclui esse e o value.

operador Range<T> Range<T>.plus(other: Range<T>)

Retorna o menor intervalo que inclui esse e o other.

ClosedRange<T> Range<T>.toClosedRange()

Retorna esse Range como um ClosedRange.

Para android.util.Size
operador Int Size.component1()

Retorna "width", o primeiro componente desse Size.

operador Int Size.component2()

Retorna "height", o segundo componente desse Size.

Para android.util.SizeF
operador Float SizeF.component1()

Retorna "width", o primeiro componente desse SizeF.

operador Float SizeF.component2()

Retorna "height", o segundo componente desse SizeF.

Para android.util.SparseArray
operador Boolean SparseArray<T>.contains(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseArray<T>.containsKey(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseArray<T>.containsValue(value: T)

Retorna verdadeiro se a coleção contiver value.

Unit SparseArray<T>.forEach(action: (key: Int, value: T) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

T SparseArray<T>.getOrDefault(key: Int, defaultValue: T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

T SparseArray<T>.getOrElse(key: Int, defaultValue: () -> T)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean SparseArray<T>.isEmpty()

Retorna verdadeiro quando a coleção não contiver elementos.

Boolean SparseArray<T>.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

IntIterator SparseArray<T>.keyIterator()

Retorna um iterador nas chaves da coleção.

operador SparseArray<T> SparseArray<T>.plus(other: SparseArray<T>)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Unit SparseArray<T>.putAll(other: SparseArray<T>)

Atualiza essa coleção adicionando ou substituindo entradas de other.

Boolean SparseArray<T>.remove(key: Int, value: T)

Remove a entrada key somente se ela for mapeada para value.

operador Unit SparseArray<T>.set(key: Int, value: T)

Permite o uso do operador de índice para armazenar valores na coleção.

Iterator<T> SparseArray<T>.valueIterator()

Retorna um iterador nos valores da coleção.

Para android.util.SparseBooleanArray
operador Boolean SparseBooleanArray.contains(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseBooleanArray.containsKey(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseBooleanArray.containsValue(value: Boolean)

Retorna verdadeiro se a coleção contiver value.

Unit SparseBooleanArray.forEach(action: (key: Int, value: Boolean) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

Boolean SparseBooleanArray.getOrDefault(key: Int, defaultValue: Boolean)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

Boolean SparseBooleanArray.getOrElse(key: Int, defaultValue: () -> Boolean)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean SparseBooleanArray.isEmpty()

Retorna verdadeiro quando a coleção não contiver elementos.

Boolean SparseBooleanArray.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

IntIterator SparseBooleanArray.keyIterator()

Retorna um iterador nas chaves da coleção.

operador SparseBooleanArray SparseBooleanArray.plus(other: SparseBooleanArray)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Unit SparseBooleanArray.putAll(other: SparseBooleanArray)

Atualiza essa coleção adicionando ou substituindo entradas de other.

Boolean SparseBooleanArray.remove(key: Int, value: Boolean)

Remove a entrada key somente se ela for mapeada para value.

operador Unit SparseBooleanArray.set(key: Int, value: Boolean)

Permite o uso do operador de índice para armazenar valores na coleção.

BooleanIterator SparseBooleanArray.valueIterator()

Retorna um iterador nos valores da coleção.

Para android.util.SparseIntArray
operador Boolean SparseIntArray.contains(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseIntArray.containsKey(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseIntArray.containsValue(value: Int)

Retorna verdadeiro se a coleção contiver value.

Unit SparseIntArray.forEach(action: (key: Int, value: Int) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

Int SparseIntArray.getOrDefault(key: Int, defaultValue: Int)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

Int SparseIntArray.getOrElse(key: Int, defaultValue: () -> Int)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean SparseIntArray.isEmpty()

Retorna verdadeiro quando a coleção não contiver elementos.

Boolean SparseIntArray.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

IntIterator SparseIntArray.keyIterator()

Retorna um iterador nas chaves da coleção.

operador SparseIntArray SparseIntArray.plus(other: SparseIntArray)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Unit SparseIntArray.putAll(other: SparseIntArray)

Atualiza essa coleção adicionando ou substituindo entradas de other.

Boolean SparseIntArray.remove(key: Int, value: Int)

Remove a entrada key somente se ela for mapeada para value.

operador Unit SparseIntArray.set(key: Int, value: Int)

Permite o uso do operador de índice para armazenar valores na coleção.

IntIterator SparseIntArray.valueIterator()

Retorna um iterador nos valores da coleção.

Para android.util.SparseLongArray
operador Boolean SparseLongArray.contains(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseLongArray.containsKey(key: Int)

Retorna verdadeiro se a coleção contiver key.

Boolean SparseLongArray.containsValue(value: Long)

Retorna verdadeiro se a coleção contiver value.

Unit SparseLongArray.forEach(action: (key: Int, value: Long) -> Unit)

Executa a action especificada para cada entrada de chave-valor.

Long SparseLongArray.getOrDefault(key: Int, defaultValue: Long)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, defaultValue.

Long SparseLongArray.getOrElse(key: Int, defaultValue: () -> Long)

Retorna o valor correspondente a key ou, quando esse valor não estiver presente, de defaultValue.

Boolean SparseLongArray.isEmpty()

Retorna verdadeiro quando a coleção não contiver elementos.

Boolean SparseLongArray.isNotEmpty()

Retorna verdadeiro quando a coleção contiver elementos.

IntIterator SparseLongArray.keyIterator()

Retorna um iterador nas chaves da coleção.

operador SparseLongArray SparseLongArray.plus(other: SparseLongArray)

Cria uma nova coleção adicionando ou substituindo entradas de other.

Unit SparseLongArray.putAll(other: SparseLongArray)

Atualiza essa coleção adicionando ou substituindo entradas de other.

Boolean SparseLongArray.remove(key: Int, value: Long)

Remove a entrada da key somente se ela for definida para o value.

operador Unit SparseLongArray.set(key: Int, value: Long)

Permite o uso do operador de índice para armazenar valores na coleção.

LongIterator SparseLongArray.valueIterator()

Retorna um iterador nos valores da coleção.

Para kotlin.Double
Half Double.toHalf()

Retorna uma instância de Half que representa o Double determinado.

Para kotlin.Float
Half Float.toHalf()

Retorna uma instância de Half que representa o Float determinado.

Para kotlin.Pair
Pair<F, S> Pair<F, S>.toAndroidPair()

Retorna esse kotlin.Pair como um Pair para Android.

Para kotlin.Short
Half Short.toHalf()

Retorna uma instância de Half que representa o Short determinado.

Para kotlin.String
Half String.toHalf()

Retorna uma instância de Half que representa a String determinada.

Para kotlin.ranges.ClosedRange
Range<T> ClosedRange<T>.toRange()

Retorna esse ClosedRange como um Range.

Propriedades de extensão

Para android.util.LongSparseArray
Int LongSparseArray<T>.size()

Retorna o número de pares de chave-valor na coleção.

Para android.util.SparseArray
Int SparseArray<T>.size()

Retorna o número de pares de chave-valor na coleção.

Para android.util.SparseBooleanArray
Int SparseBooleanArray.size()

Retorna o número de pares de chave-valor na coleção.

Para android.util.SparseIntArray
Int SparseIntArray.size()

Retorna o número de pares de chave-valor na coleção.

Para android.util.SparseLongArray
Int SparseLongArray.size()

Retorna o número de entradas de chave-valor na coleção.

Funções de nível superior

LruCache<K, V> lruCache(maxSize: Int, crossinline sizeOf: (key: K, value: V) -> Int = { _, _ -> 1 }, crossinline create: (key: K) -> V? = { null as V? }, crossinline onEntryRemoved: (evicted: Boolean, key: K, oldValue: V, newValue: V?) -> Unit = { _, _, _, _ -> })

Cria um LruCache com os parâmetros fornecidos.

infix Range<T> T.rangeTo(that: T)

Cria um intervalo desse valor de Comparable para that.

androidx.core.view

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.view.Menu
operador Boolean Menu.contains(item: MenuItem)

Retorna true se o item for encontrado nesse menu.

Unit Menu.forEach(action: (item: MenuItem) -> Unit)

Executa a ação determinada em cada item nesse menu.

Unit Menu.forEachIndexed(action: (index: Int, item: MenuItem) -> Unit)

Executa a ação determinada em cada item desse menu, fornecendo o índice sequencial.

operador MenuItem Menu.get(index: Int)

Retorna o menu no index.

Boolean Menu.isEmpty()

Retorna verdadeiro se esse menu não tiver itens.

Boolean Menu.isNotEmpty()

Retorna verdadeiro se esse menu contém um ou mais itens.

operador MutableIterator<MenuItem> Menu.iterator()

Retorna um MutableIterator nos itens nesse menu.

operador Unit Menu.minusAssign(item: MenuItem)

Remove o item desse menu.

Para android.view.View
Unit View.doOnAttach(crossinline action: (view: View) -> Unit)

Executa a ação determinada quando a visualização está anexada a uma janela.

Unit View.doOnDetach(crossinline action: (view: View) -> Unit)

Executa a ação determinada quando a visualização é removida de uma janela.

Unit View.doOnLayout(crossinline action: (view: View) -> Unit)

Executa a ação determinada quando essa visualização é exibida.

Unit View.doOnNextLayout(crossinline action: (view: View) -> Unit)

Executa a ação determinada quando essa visualização é exibida em seguida.

OneShotPreDrawListener View.doOnPreDraw(crossinline action: (view: View) -> Unit)

Executa a ação determinada quando a árvore de visualização está prestes a ser desenhada.

Bitmap View.drawToBitmap(config: Config = Bitmap.Config.ARGB_8888)

Retorna uma representação Bitmap dessa View.

Runnable View.postDelayed(delayInMillis: Long, crossinline action: () -> Unit)

Versão de View.postDelayed que reordena os parâmetros, permitindo que a ação seja colocada fora dos parênteses.

Runnable View.postOnAnimationDelayed(delayInMillis: Long, crossinline action: () -> Unit)

Versão de View.postOnAnimationDelayed que reordena os parâmetros, permitindo que a ação seja colocada fora dos parênteses.

Unit View.setPadding(@Px size: Int)

Define o padding da visualização.

Unit View.updateLayoutParams(block: LayoutParams.() -> Unit)

Executa block com os layoutParams e reatribui os layoutParams com a versão atualizada.

Unit View.updateLayoutParams(block: T.() -> Unit)

Executa block com uma versão digitada dos layoutParams da visualização e reatribui os layoutParams com a versão atualizada.

Unit View.updatePadding(@Px left: Int = paddingLeft, @Px top: Int = paddingTop, @Px right: Int = paddingRight, @Px bottom: Int = paddingBottom)

Atualiza o preenchimento dessa visualização.

Unit View.updatePaddingRelative(@Px start: Int = paddingStart, @Px top: Int = paddingTop, @Px end: Int = paddingEnd, @Px bottom: Int = paddingBottom)

Atualiza o preenchimento relativo dessa visualização.

Para android.view.ViewGroup
operador Boolean ViewGroup.contains(view: View)

Retorna true se a View for encontrada nesse grupo de visualizações.

Unit ViewGroup.forEach(action: (view: View) -> Unit)

Executa a ação determinada em cada visualização desse grupo.

Unit ViewGroup.forEachIndexed(action: (index: Int, view: View) -> Unit)

Executa a ação determinada em cada visualização desse grupo de visualizações, fornecendo o índice sequencial.

operador View ViewGroup.get(index: Int)

Retorna a visualização no index.

Boolean ViewGroup.isEmpty()

Retorna verdadeiro se esse grupo de visualizações não tiver visualizações.

Boolean ViewGroup.isNotEmpty()

Retorna verdadeiro se esse grupo de visualizações contiver uma ou mais visualizações.

operador MutableIterator<View> ViewGroup.iterator()

Retorna um MutableIterator nas visualizações nesse grupo.

operador Unit ViewGroup.minusAssign(view: View)

Remove View desse grupo de visualizações.

operador Unit ViewGroup.plusAssign(view: View)

Adiciona View a esse grupo de visualizações.

Para android.view.ViewGroup.MarginLayoutParams
Unit MarginLayoutParams.setMargins(@Px size: Int)

Define as margens em MarginLayoutParams do ViewGroup.

Unit MarginLayoutParams.updateMargins(@Px left: Int = leftMargin, @Px top: Int = topMargin, @Px right: Int = rightMargin, @Px bottom: Int = bottomMargin)

Atualiza as margens nos ViewGroup.MarginLayoutParams do ViewGroup.

Unit MarginLayoutParams.updateMarginsRelative(@Px start: Int = marginStart, @Px top: Int = topMargin, @Px end: Int = marginEnd, @Px bottom: Int = bottomMargin)

Atualiza as margens relativas nos MarginLayoutParams do ViewGroup.

Propriedades de extensão

Para android.view.Menu
Sequence<MenuItem> Menu.children()

Retorna uma Sequence nos itens nesse menu.

Int Menu.size()

Retorna o número de itens nesse menu.

Para android.view.View
Boolean View.isGone()

Retorna verdadeiro quando a visibilidade dessa visualização é Visualizar.GONE. Caso contrário, será falso.

Boolean View.isInvisible()

Retorna verdadeiro quando a visibilidade dessa visualização é View.INVISIBLE. Caso contrário, será falso.

Boolean View.isVisible()

Retorna verdadeiro quando a visibilidade dessa visualização é View.VISIBLE. Caso contrário, será falso.

Int View.marginBottom()

Retorna a margem inferior se LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Int View.marginEnd()

Retorna a margem final se o LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Int View.marginLeft()

Retorna a margem esquerda se LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Int View.marginRight()

Retorna a margem direita se LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Int View.marginStart()

Retorna a margem inicial se LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Int View.marginTop()

Retorna a margem superior se LayoutParams dessa visualização for um ViewGroup.MarginLayoutParams. Caso contrário, será 0.

Para android.view.ViewGroup
Sequence<View> ViewGroup.children()

Retorna uma Sequence nas visualizações filhas nesse grupo de visualizações.

Int ViewGroup.size()

Retorna o número de visualizações nesse grupo de visualizações.

androidx.core.widget

Dependência

Groovy

dependencies {
    implementation "androidx.core:core-ktx:1.13.1"
}

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.13.1")
}

Funções da extensão

Para android.widget.TextView
TextWatcher TextView.addTextChangedListener(crossinline beforeTextChanged: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit = { _, _, _, _ -> }, crossinline onTextChanged: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit = { _, _, _, _ -> }, crossinline afterTextChanged: (text: Editable?) -> Unit = {})

Adiciona um listener de modificação de texto a esse TextView usando as ações fornecidas

TextWatcher TextView.doAfterTextChanged(crossinline action: (text: Editable?) -> Unit)

Adiciona uma ação que será invocada após a modificação do texto.

TextWatcher TextView.doBeforeTextChanged(crossinline action: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit)

Adiciona uma ação que será invocada antes da modificação do texto.

TextWatcher TextView.doOnTextChanged(crossinline action: (text: CharSequence?, start: Int, count: Int, after: Int) -> Unit)

Adiciona uma ação que será invocada quando o texto for modificado.

androidx.dynamicanimation.animation

Dependência

Groovy

dependencies {
    implementation "androidx.dynamicanimation:dynamicanimation-ktx:1.1.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.dynamicanimation:dynamicanimation-ktx:1.1.0-alpha03")
}

Funções da extensão

Para SpringAnimation
SpringAnimation SpringAnimation.withSpringForceProperties(func: SpringForce.() -> Unit)

Atualiza ou aplica propriedades de força de mola como SpringForce.mDampingRatio, SpringForce.mFinalPosition e rigidez em SpringAnimation.

Funções de nível superior

FlingAnimation flingAnimationOf(setter: (Float) -> Unit, getter: () -> Float)

Cria FlingAnimation para uma propriedade que pode ser acessada por meio do setter e do getter fornecidos.

SpringAnimation springAnimationOf(setter: (Float) -> Unit, getter: () -> Float, finalPosition: Float = Float.NaN)

Cria SpringAnimation para uma propriedade que pode ser acessada por meio do setter e do getter fornecidos.

androidx.fragment.app

Dependência

Groovy

dependencies {
    implementation "androidx.fragment:fragment-ktx:1.8.3"
}

Kotlin

dependencies {
    implementation("androidx.fragment:fragment-ktx:1.8.3")
}

Funções da extensão

Para android.view.View
S View.findFragment()

Encontra um Fragment associado a uma View.

Para Fragment
Lazy<VM> Fragment.activityViewModels(noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Retorna uma delegação de propriedade para acessar o ViewModel da atividade pai. Se factoryProducer for especificado, o ViewModelProvider.Factory retornado por ele será usado para criar ViewModel pela primeira vez.

Lazy<VM> Fragment.createViewModelLazy(viewModelClass: KClass<VM>, storeProducer: () -> ViewModelStore, factoryProducer: () -> ViewModelProvider.Factory = null)

Método auxiliar para criação de ViewModelLazy, que resolve null transmitido como factoryProducer para a configuração padrão.

Lazy<VM> Fragment.viewModels(noinline ownerProducer: () -> ViewModelStoreOwner = { this }, noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Retorna uma delegação de propriedade para acessar ViewModel por default com escopo definido como o Fragment:

Para FragmentTransaction
FragmentTransaction FragmentTransaction.add(@IdRes containerViewId: Int, tag: String? = null, args: Bundle? = null)

Adiciona um fragmento ao arquivo associado FragmentManager, inflando a visualização do fragmento para a visualização do contêiner especificada por containerViewId, para recuperar posteriormente via FragmentManager.findFragmentById.

FragmentTransaction FragmentTransaction.add(tag: String, args: Bundle? = null)

Adiciona um fragmento ao FragmentManager associado sem adicionar o fragmento a qualquer visualização de contêiner.

FragmentTransaction FragmentTransaction.replace(@IdRes containerViewId: Int, tag: String? = null, args: Bundle? = null)

Substitui um fragmento existente que foi adicionado a um contêiner.

Para FragmentManager
Unit FragmentManager.commit(allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Executa body em uma FragmentTransaction que será confirmada automaticamente se for concluída sem exceção.

Unit FragmentManager.commitNow(allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Executa body em uma FragmentTransaction que será confirmada automaticamente se for concluída sem exceção.

Unit FragmentManager.transaction(now: Boolean = false, allowStateLoss: Boolean = false, body: FragmentTransaction.() -> Unit)

Executa body em uma FragmentTransaction que será confirmada automaticamente se for concluída sem exceção.

androidx.fragment.app.testing

Dependência

Groovy

dependencies {
    implementation "androidx.fragment:fragment-testing:1.8.3"
}

Kotlin

dependencies {
    implementation("androidx.fragment:fragment-testing:1.8.3")
}

Funções de nível superior

FragmentScenario<F!> launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

Inicia um fragmento com argumentos hospedados por uma FragmentActivity vazia usando determinado FragmentFactory e espera até que ela atinja um estado retomado.

FragmentScenario<F!> launchFragment(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

Inicia um fragmento com argumentos hospedados por uma FragmentActivity vazia usando instatiate para criar o fragmento e espera até que ela alcance um estado retomado.

FragmentScenario<F!> launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, factory: FragmentFactory? = null)

Inicia um fragmento no contêiner de visualização raiz da atividade android.R.id.content, com determinados argumentos hospedados por uma FragmentActivity vazia, e espera até que ela alcance um estado retomado.

FragmentScenario<F!> launchFragmentInContainer(fragmentArgs: Bundle? = null, @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme, crossinline instantiate: () -> F)

Inicia um fragmento no android.R.id.content do contêiner de visualização raiz da atividade, com determinados argumentos hospedados por uma FragmentActivity vazia usando instanciar para criar o fragmento, e espera até que ela alcance um estado retomado.

androidx.lifecycle

Dependência

Groovy

dependencies {
    implementation "androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.8.7"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7"
}

Kotlin

dependencies {
    implementation("androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
}

Funções da extensão

Para kotlinx.coroutines.flow.Flow
LiveData<T> Flow<T>.asLiveData(context: CoroutineContext = EmptyCoroutineContext, timeoutInMs: Long = DEFAULT_TIMEOUT)

Cria um LiveData que tem valores coletados do Flow de origem.

LiveData<T> Flow<T>.asLiveData(context: CoroutineContext = EmptyCoroutineContext, timeout: Duration)

Cria um LiveData que tem valores coletados do Flow de origem.

Para org.reactivestreams.Publisher
LiveData<T> Publisher<T>.toLiveData()

Cria um stream de LiveData observável de um Publisher do ReactiveStreams.

Para LiveData
Flow<T> LiveData<T>.asFlow()

Cria um Flow contendo valores despachados originando LiveData: no início, um coletor de fluxo recebe o valor mais recente mantido por LiveData e observa as atualizações do LiveData.

LiveData<X> LiveData<X>.distinctUntilChanged()

Cria um novo objeto LiveData que não emite valores até que o valor LiveData this de origem tenha sido modificado.

LiveData<Y> LiveData<X>.map(crossinline transform: (X) -> Y)

Retorna um LiveData mapeado de this LiveData aplicando uma transformação a cada valor definido em this LiveData.

Observer<T> LiveData<T>.observe(owner: LifecycleOwner, crossinline onChanged: (T) -> Unit)

Adiciona o lambda onChanged determinado como um observador dentro da vida útil do proprietário especificado e retorna uma referência para o observador.

LiveData<Y> LiveData<X>.switchMap(crossinline transform: (X) -> LiveData<Y>)

Retorna um LiveData mapeado da entrada this LiveData aplicando um transform para cada valor definido em this.

Publisher<T> LiveData<T>.toPublisher(lifecycle: LifecycleOwner)

Adapta o stream LiveData fornecido para um Publisher do ReactiveStreams.

Para ViewModelProvider
VM ViewModelProvider.get()

Retorna um ViewModel existente ou cria um novo no escopo (geralmente um fragmento ou atividade), associado a esse ViewModelProvider.

Para LifecycleOwner
suspend T LifecycleOwner.whenCreated(block: suspend CoroutineScope.() -> T)

Executa o bloco determinado quando o Lifecycle do LifecycleOwner está pelo menos no estado Lifecycle.State.CREATED.

suspend T LifecycleOwner.whenResumed(block: suspend CoroutineScope.() -> T)

Executa o bloco determinado quando o Lifecycle do LifecycleOwner está pelo menos no estado Lifecycle.State.RESUMED.

suspend T LifecycleOwner.whenStarted(block: suspend CoroutineScope.() -> T)

Executa o bloco determinado quando o Lifecycle do LifecycleOwner está pelo menos no estado Lifecycle.State.STARTED.

Para Lifecycle
suspend T Lifecycle.whenCreated(block: suspend CoroutineScope.() -> T)

Executa o bloco especificado quando o Lifecycle está, pelo menos, no estado Lifecycle.State.CREATED.

suspend T Lifecycle.whenResumed(block: suspend CoroutineScope.() -> T)

Executa o bloco especificado quando o Lifecycle está, pelo menos, no estado Lifecycle.State.RESUMED.

suspend T Lifecycle.whenStarted(block: suspend CoroutineScope.() -> T)

Executa o bloco especificado quando o Lifecycle está, pelo menos, no estado Lifecycle.State.STARTED.

suspend T Lifecycle.whenStateAtLeast(minState: Lifecycle.State, block: suspend CoroutineScope.() -> T)

Executa determinado block em um CoroutineDispatcher que executa o block na linha de execução principal e suspende a execução, a menos que o estado do Lifecycle seja pelo menos minState.

Propriedades de extensão

Para Lifecycle
LifecycleCoroutineScope Lifecycle.coroutineScope()

CoroutineScope vinculado a esse Lifecycle.

Para LifecycleOwner
LifecycleCoroutineScope LifecycleOwner.lifecycleScope()

CoroutineScope vinculado a esse Lifecycle do LifecycleOwner.

Para ViewModel
CoroutineScope ViewModel.viewModelScope()

CoroutineScope vinculado a esse ViewModel.

Funções de nível superior

LiveData<T> liveData(context: CoroutineContext = EmptyCoroutineContext, timeoutInMs: Long = DEFAULT_TIMEOUT, block: suspend LiveDataScope<T>.() -> Unit)

Cria um LiveData que tem valores gerados do block determinado, que é executado em um LiveDataScope.

LiveData<T> liveData(context: CoroutineContext = EmptyCoroutineContext, timeout: Duration, block: suspend LiveDataScope<T>.() -> Unit)

Cria um LiveData que tem valores gerados do block determinado, que é executado em um LiveDataScope.

androidx.navigation

Dependência

Groovy

dependencies {
    implementation "androidx.navigation:navigation-runtime-ktx:2.8.1"
    implementation "androidx.navigation:navigation-fragment-ktx:2.8.1"
    implementation "androidx.navigation:navigation-ui-ktx:2.8.1"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-runtime-ktx:2.8.1")
    implementation("androidx.navigation:navigation-fragment-ktx:2.8.1")
    implementation("androidx.navigation:navigation-ui-ktx:2.8.1")
}

Funções da extensão

Para android.app.Activity
NavController Activity.findNavController(@IdRes viewId: Int)

Encontra um NavController considerando o código de uma visualização e a Activity que ela contém.

NavArgsLazy<Args> Activity.navArgs()

Retorna uma delegação de Lazy para acessar os extras da atividade como uma instância do Args.

Para android.view.View
NavController View.findNavController()

Encontra um NavController associado a uma View.

Para NavGraphBuilder
Unit NavGraphBuilder.activity(@IdRes id: Int, builder: ActivityNavigatorDestinationBuilder.() -> Unit)

Cria um novo ActivityNavigator.Destination

Unit NavGraphBuilder.navigation(@IdRes id: Int, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Construir um NavGraph aninhado

Para NavGraph
operador Boolean NavGraph.contains(@IdRes id: Int)

Retorna true se um destino com id for encontrado nesse gráfico de navegação.

operador NavDestination NavGraph.get(@IdRes id: Int)

Retorna o destino com id.

operador Unit NavGraph.minusAssign(node: NavDestination)

Remove node desse gráfico de navegação.

operador Unit NavGraph.plusAssign(node: NavDestination)

Adiciona um destino ao gráfico de navegação.

operador Unit NavGraph.plusAssign(other: NavGraph)

Adiciona todos os destinos de outra coleção a esta.

Para NavController
NavGraph NavController.createGraph(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Cria um novo NavGraph

Para NavHost
NavGraph NavHost.createGraph(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Cria um novo NavGraph

Para NavigatorProvider
operador T NavigatorProvider.get(name: String)

Recupera um Navigator registrado por nome.

operador T NavigatorProvider.get(clazz: KClass<T>)

Recupera um Navigator registrado usando o nome fornecido pela anotação Navigator.Name.

NavGraph NavigatorProvider.navigation(@IdRes id: Int = 0, @IdRes startDestination: Int, builder: NavGraphBuilder.() -> Unit)

Cria um novo NavGraph

operador Unit NavigatorProvider.plusAssign(navigator: Navigator<out NavDestination>)

Registra um navegador usando o nome fornecido pela anotação Navigator.Name.

operador Navigator<out NavDestination!>? NavigatorProvider.set(name: String, navigator: Navigator<out NavDestination>)

Registra um Navigator pelo nome.

Para Fragment
Lazy<VM> Fragment.navGraphViewModels(@IdRes navGraphId: Int, noinline factoryProducer: () -> ViewModelProvider.Factory = null)

Retorna uma delegação de propriedade para acessar um ViewModel delimitado a um gráfico de navegação presente na pilha de retorno de {@link NavController}:

Funções de nível superior

ActivityNavigator.Extras ActivityNavigatorExtras(activityOptions: ActivityOptionsCompat? = null, flags: Int = 0)

Crie uma nova instância de ActivityNavigator.Extras com uma instância ActivityOptionsCompat específica e/ou qualquer sinalização Intent.FLAG_ACTIVITY_.

NavOptions navOptions(optionsBuilder: NavOptionsBuilder.() -> Unit)

Cria um novo NavOptions

androidx.navigation.fragment

Dependência

Groovy

dependencies {
    implementation "androidx.navigation:navigation-fragment-ktx:2.8.0"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-fragment-ktx:2.8.0")
}

Funções da extensão

Para NavGraphBuilder
Unit NavGraphBuilder.dialog(@IdRes id: Int)

Cria um novo DialogFragmentNavigator.Destination

Unit NavGraphBuilder.dialog(@IdRes id: Int, builder: DialogFragmentNavigatorDestinationBuilder.() -> Unit)

Cria um novo DialogFragmentNavigator.Destination

Unit NavGraphBuilder.fragment(@IdRes id: Int)

Cria um novo FragmentNavigator.Destination

Unit NavGraphBuilder.fragment(@IdRes id: Int, builder: FragmentNavigatorDestinationBuilder.() -> Unit)

Cria um novo FragmentNavigator.Destination

Para Fragment
NavController Fragment.findNavController()

Encontra um NavController com um Fragment

NavArgsLazy<Args> Fragment.navArgs()

Retorna uma delegação de Lazy para acessar os argumentos do fragmento como uma instância do Args.

Funções de nível superior

FragmentNavigator.Extras FragmentNavigatorExtras(vararg sharedElements: Pair<View, String>)

Cria uma nova instância de FragmentNavigator.Extras com determinados elementos compartilhados

androidx.navigation.ui

Dependência

Groovy

dependencies {
    implementation "androidx.navigation:navigation-ui-ktx:2.8.1"
}

Kotlin

dependencies {
    implementation("androidx.navigation:navigation-ui-ktx:2.8.1")
}

Funções da extensão

Para android.view.MenuItem
Boolean MenuItem.onNavDestinationSelected(navController: NavController)

Faz uma tentativa de navegar para o NavDestination associado a esse MenuItem.

Para androidx.appcompat.app.AppCompatActivity
Unit AppCompatActivity.setupActionBarWithNavController(navController: NavController, drawerLayout: DrawerLayout?)

Configura o ActionBar retornado por AppCompatActivity.getSupportActionBar para uso com um NavController.

Unit AppCompatActivity.setupActionBarWithNavController(navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura o ActionBar retornado por AppCompatActivity.getSupportActionBar para uso com um NavController.

Para androidx.appcompat.widget.Toolbar
Unit Toolbar.setupWithNavController(navController: NavController, drawerLayout: DrawerLayout?)

Configura uma Toolbar para uso com NavController.

Unit Toolbar.setupWithNavController(navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura uma Toolbar para uso com NavController.

Para com.google.android.material.appbar.CollapsingToolbarLayout
Unit CollapsingToolbarLayout.setupWithNavController(toolbar: Toolbar, navController: NavController, drawerLayout: DrawerLayout?)

Configura uma CollapsingToolbarLayout e uma Toolbar para uso com um NavController.

Unit CollapsingToolbarLayout.setupWithNavController(toolbar: Toolbar, navController: NavController, configuration: AppBarConfiguration = AppBarConfiguration(navController.graph))

Configura uma CollapsingToolbarLayout e uma Toolbar para uso com um NavController.

Para com.google.android.material.bottomnavigation.BottomNavigationView
Unit BottomNavigationView.setupWithNavController(navController: NavController)

Configura um BottomNavigationView para uso com um NavController.

Para com.google.android.material.navigation.NavigationView
Unit NavigationView.setupWithNavController(navController: NavController)

Configura uma NavigationView para uso com um NavController.

Para NavController
Boolean NavController.navigateUp(drawerLayout: DrawerLayout?)

Gerencia o botão "Para cima" pela delegação do comportamento ao NavController determinado.

Boolean NavController.navigateUp(appBarConfiguration: AppBarConfiguration)

Gerencia o botão "Para cima" pela delegação do comportamento ao NavController determinado.

Funções de nível superior

AppBarConfiguration AppBarConfiguration(navGraph: NavGraph, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opções de configuração para métodos de NavigationUI que interagem com as implementações do padrão da barra de apps, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout e android.support.v7.app.ActionBar.

AppBarConfiguration AppBarConfiguration(topLevelMenu: Menu, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opções de configuração para métodos de NavigationUI que interagem com as implementações do padrão da barra de apps, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout e android.support.v7.app.ActionBar.

AppBarConfiguration AppBarConfiguration(topLevelDestinationIds: Set<Int>, drawerLayout: DrawerLayout? = null, noinline fallbackOnNavigateUpListener: () -> Boolean = { false })

Opções de configuração para métodos de NavigationUI que interagem com as implementações do padrão da barra de apps, como android.support.v7.widget.Toolbar, android.support.design.widget.CollapsingToolbarLayout e android.support.v7.app.ActionBar.

androidx.paging

Dependência

Groovy

dependencies {
    implementation "androidx.paging:paging-common-ktx:2.1.2"
    implementation "androidx.paging:paging-runtime-ktx:2.1.2"
    implementation "androidx.paging:paging-rxjava2-ktx:2.1.2"
}

Kotlin

dependencies {
    implementation("androidx.paging:paging-common-ktx:2.1.2")
    implementation("androidx.paging:paging-runtime-ktx:2.1.2")
    implementation("androidx.paging:paging-rxjava2-ktx:2.1.2")
}

Funções da extensão

Para Factory
Flowable<PagedList<Value>> DataSource.Factory<Key, Value>.toFlowable(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null, backpressureStrategy: BackpressureStrategy = BackpressureStrategy.LATEST)

Constrói um Flowable<PagedList>, desse DataSource.Factory, conveniência para RxPagedListBuilder.

Flowable<PagedList<Value>> DataSource.Factory<Key, Value>.toFlowable(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null, backpressureStrategy: BackpressureStrategy = BackpressureStrategy.LATEST)

Constrói um Flowable<PagedList>, desse DataSource.Factory, conveniência para RxPagedListBuilder.

LiveData<PagedList<Value>> DataSource.Factory<Key, Value>.toLiveData(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchExecutor: Executor = ArchTaskExecutor.getIOThreadExecutor())

Constrói um LiveData<PagedList>, desse DataSource.Factory, conveniência para LivePagedListBuilder.

LiveData<PagedList<Value>> DataSource.Factory<Key, Value>.toLiveData(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchExecutor: Executor = ArchTaskExecutor.getIOThreadExecutor())

Constrói um LiveData<PagedList>, desse DataSource.Factory, conveniência para LivePagedListBuilder.

Observable<PagedList<Value>> DataSource.Factory<Key, Value>.toObservable(config: PagedList.Config, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null)

Constrói um Observable<PagedList>, desse DataSource.Factory, conveniência para RxPagedListBuilder.

Observable<PagedList<Value>> DataSource.Factory<Key, Value>.toObservable(pageSize: Int, initialLoadKey: Key? = null, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, fetchScheduler: Scheduler? = null, notifyScheduler: Scheduler? = null)

Constrói um Observable<PagedList>, desse DataSource.Factory, conveniência para RxPagedListBuilder.

Funções de nível superior

PagedList.Config Config(pageSize: Int, prefetchDistance: Int = pageSize, enablePlaceholders: Boolean = true, initialLoadSizeHint: Int = pageSize * PagedList.Config.Builder.DEFAULT_INITIAL_PAGE_MULTIPLIER, maxSize: Int = PagedList.Config.MAX_SIZE_UNBOUNDED)

Constrói um PagedList.Config, conveniência para PagedList.Config.Builder.

PagedList<Value> PagedList(dataSource: DataSource<Key, Value>, config: PagedList.Config, notifyExecutor: Executor, fetchExecutor: Executor, boundaryCallback: PagedList.BoundaryCallback<Value>? = null, initialKey: Key? = null)

Constrói um PagedList, conveniência para PagedList.Builder.

androidx.palette.graphics

Dependência

Groovy

dependencies {
    implementation "androidx.palette:palette-ktx:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.palette:palette-ktx:1.0.0")
}

Funções da extensão

Para Palette
operador Palette.Swatch? Palette.get(target: Target)

Retorna a amostra selecionada para o destino especificado na paleta ou null se não for possível encontrá-la.

androidx.preference

Dependência

Groovy

dependencies {
    implementation "androidx.preference:preference-ktx:1.2.1"
}

Kotlin

dependencies {
    implementation("androidx.preference:preference-ktx:1.2.1")
}

Funções da extensão

Para PreferenceGroup
operador Boolean PreferenceGroup.contains(preference: Preference)

Retorna true se preference for encontrado nesse grupo de preferências.

Unit PreferenceGroup.forEach(action: (preference: Preference) -> Unit)

Executa a ação determinada em cada preferência desse grupo de preferências.

Unit PreferenceGroup.forEachIndexed(action: (index: Int, preference: Preference) -> Unit)

Executa a ação determinada em cada preferência desse grupo de preferências, fornecendo o índice sequencial.

operador T? PreferenceGroup.get(key: CharSequence)

Retorna a preferência com key ou null se nenhuma preferência com key for encontrada.

operador Preference PreferenceGroup.get(index: Int)

Retorna a preferência em index.

Boolean PreferenceGroup.isEmpty()

Retorna verdadeiro se esse grupo de preferências não contiver preferências.

Boolean PreferenceGroup.isNotEmpty()

Retorna verdadeiro se esse grupo de preferências tiver uma ou mais preferências.

operador MutableIterator<Preference> PreferenceGroup.iterator()

Retorna um MutableIterator nas preferências nesse grupo de preferências.

operador Unit PreferenceGroup.minusAssign(preference: Preference)

Remove preference desse grupo de preferências.

operador Unit PreferenceGroup.plusAssign(preference: Preference)

Adiciona preference a esse grupo de preferências.

Propriedades de extensão

Para PreferenceGroup
Sequence<Preference> PreferenceGroup.children()

Retorna uma Sequence nas preferências desse grupo de preferências.

Int PreferenceGroup.size()

Retorna o número de preferências nesse grupo de preferências.

androidx.room

Dependência

Groovy

dependencies {
    implementation "androidx.room:room-ktx:2.6.1"
}

Kotlin

dependencies {
    implementation("androidx.room:room-ktx:2.6.1")
}

Funções da extensão

Para RoomDatabase
suspend R RoomDatabase.withTransaction(block: suspend () -> R)

Chama o block de suspensão especificado em uma transação do banco de dados.

androidx.slice.builders

Dependência

Groovy

dependencies {
    implementation "androidx.slice:slice-builders-ktx:1.0.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.slice:slice-builders-ktx:1.0.0-alpha08")
}

Funções da extensão

Para GridRowBuilderDsl
GridRowBuilder GridRowBuilderDsl.cell(buildCell: CellBuilderDsl.() -> Unit)

GridRowBuilder GridRowBuilderDsl.seeMoreCell(buildCell: CellBuilderDsl.() -> Unit)

Para ListBuilderDsl
ListBuilder ListBuilderDsl.gridRow(buildGrid: GridRowBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.header(buildHeader: HeaderBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.inputRange(buildInputRange: InputRangeBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.range(buildRange: RangeBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.row(buildRow: RowBuilderDsl.() -> Unit)

ListBuilder ListBuilderDsl.seeMoreRow(buildRow: RowBuilderDsl.() -> Unit)

Funções de nível superior

Slice list(context: Context, uri: Uri, ttl: Long, addRows: ListBuilderDsl.() -> Unit)

Reduz o nível de detalhes necessário para criar um Slice no Kotlin.

SliceAction tapSliceAction(pendingIntent: PendingIntent, icon: IconCompat, imageMode: Int = ICON_IMAGE, title: CharSequence)

Método Factory para criar uma SliceAction que pode ser tocada.

SliceAction toggleSliceAction(pendingIntent: PendingIntent, icon: IconCompat? = null, title: CharSequence, isChecked: Boolean)

Método Factory para criar uma SliceAction alternável.

androidx.sqlite.db

Dependência

Groovy

dependencies {
    implementation "androidx.sqlite:sqlite-ktx:2.4.0"
}

Kotlin

dependencies {
    implementation("androidx.sqlite:sqlite-ktx:2.4.0")
}

Funções da extensão

Para SupportSQLiteDatabase
T SupportSQLiteDatabase.transaction(exclusive: Boolean = true, body: SupportSQLiteDatabase.() -> T)

Executa body em uma transação marcando-a como bem-sucedida se ela for concluída sem exceções.

androidx.work

Dependência

Funções da extensão

Para com.google.common.util.concurrent.ListenableFuture
suspend R ListenableFuture<R>.await()

Aguarda a conclusão de ListenableFuture sem bloquear uma linha de execução.

Para Operation
suspend Operation.State.SUCCESS! Operation.await()

Aguarda uma Operation sem bloquear uma linha de execução.

Para Data
Boolean Data.hasKeyWithValueOfType(key: String)

Retornará verdadeiro se a instância de Data tiver um valor correspondente à key especificada com um tipo esperado T.

Para Builder
OneTimeWorkRequest.Builder OneTimeWorkRequest.Builder.setInputMerger(@NonNull inputMerger: KClass<out InputMerger>)

Define um InputMerger em OneTimeWorkRequest.Builder.

Funções de nível superior

OneTimeWorkRequest.Builder OneTimeWorkRequestBuilder()

Cria um OneTimeWorkRequest com o ListenableWorker especificado.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Long, repeatIntervalTimeUnit: TimeUnit)

Cria um PeriodicWorkRequest.Builder com um determinado ListenableWorker.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Duration)

Cria um PeriodicWorkRequest.Builder com um determinado ListenableWorker.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Long, repeatIntervalTimeUnit: TimeUnit, flexTimeInterval: Long, flexTimeIntervalUnit: TimeUnit)

Cria um PeriodicWorkRequest.Builder com um determinado ListenableWorker.

PeriodicWorkRequest.Builder PeriodicWorkRequestBuilder(repeatInterval: Duration, flexTimeInterval: Duration)

Cria um PeriodicWorkRequest.Builder com um determinado ListenableWorker.

Data workDataOf(vararg pairs: Pair<String, Any?>)

Converte uma lista de pares em um objeto Data.

androidx.work.testing

Dependência

Groovy

dependencies {
    implementation "androidx.work:work-testing:2.9.1"
}

Kotlin

dependencies {
    implementation("androidx.work:work-testing:2.9.1")
}

Funções de nível superior

TestListenableWorkerBuilder<W> TestListenableWorkerBuilder(context: Context, inputData: Data = Data.EMPTY, tags: List<String> = emptyList(), runAttemptCount: Int = 1, triggeredContentUris: List<Uri> = emptyList(), triggeredContentAuthorities: List<String> = emptyList())

Cria uma instância de TestListenableWorkerBuilder.

TestWorkerBuilder<W> TestWorkerBuilder(context: Context, executor: Executor, inputData: Data = Data.EMPTY, tags: List<String> = emptyList(), runAttemptCount: Int = 1, triggeredContentUris: List<Uri> = emptyList(), triggeredContentAuthorities: List<String> = emptyList())

Cria uma instância de TestWorkerBuilder.

com.google.android.play.core.ktx

Dependência

Groovy

dependencies {
    implementation "com.google.android.play:core-ktx:1.8.1"
}

Kotlin

dependencies {
    implementation("com.google.android.play:core-ktx:1.8.1")
}

Funções da extensão

Para com.google.android.play.core.appupdate.AppUpdateManager
suspend AppUpdateInfo AppUpdateManager.requestAppUpdateInfo()

Solicita a atualização de disponibilidade do aplicativo atual

suspend Unit AppUpdateManager.requestCompleteUpdate()

Para um fluxo de atualização flexível, ela aciona a conclusão da atualização.

Flow<AppUpdateResult> AppUpdateManager.requestUpdateFlow()

Ponto de entrada para monitorar a disponibilidade e o progresso das atualizações.

Boolean AppUpdateManager.startUpdateFlowForResult(appUpdateInfo: AppUpdateInfo, appUpdateType: Int, fragment: Fragment, requestCode: Int)

Uma versão de AppUpdateManager.startUpdateFlowForResult que aceita um fragmento do AndroidX para retornar o resultado.

Para com.google.android.play.core.splitinstall.SplitInstallManager
suspend Unit SplitInstallManager.requestCancelInstall(sessionId: Int)

Suspende a versão de SplitInstallManager.cancelInstall

suspend Unit SplitInstallManager.requestDeferredInstall(moduleNames: List<String>)

Suspende a versão de SplitInstallManager.deferredInstall

suspend Unit SplitInstallManager.requestDeferredLanguageInstall(languages: List<Locale>)

Suspende a versão de SplitInstallManager.deferredLanguageInstall

suspend Unit SplitInstallManager.requestDeferredLanguageUninstall(languages: List<Locale>)

Suspende a versão de SplitInstallManager.deferredLanguageUninstall

suspend Unit SplitInstallManager.requestDeferredUninstall(moduleNames: List<String>)

Suspende a versão de SplitInstallManager.deferredUninstall

suspend Int SplitInstallManager.requestInstall(modules: List<String> = listOf(), languages: List<String> = listOf())

Inicia a instalação dos módulos/idiomas solicitados.

Flow<SplitInstallSessionState> SplitInstallManager.requestProgressFlow()

Cria e retorna um Flow armazenado em buffer que entregará todos os eventos de progresso para instalações divididas em andamento.

suspend SplitInstallSessionState SplitInstallManager.requestSessionState(sessionId: Int)

Suspende a versão de SplitInstallManager.getSessionState

suspend List<SplitInstallSessionState> SplitInstallManager.requestSessionStates()

Suspende a versão de SplitInstallManager.getSessionStates

Boolean SplitInstallManager.startConfirmationDialogForResult(sessionState: SplitInstallSessionState, fragment: Fragment, requestCode: Int)

Uma versão de SplitInstallManager.startConfirmationDialogForResult que aceita um fragmento de AndroidX para retornar o resultado.

Propriedades de extensão

Para com.google.android.play.core.appupdate.AppUpdateInfo
Int AppUpdateInfo.installStatus()

Retorna o status de progresso da atualização.

Boolean AppUpdateInfo.isFlexibleUpdateAllowed()

Retorna true se a atualização flexível for permitida.

Boolean AppUpdateInfo.isImmediateUpdateAllowed()

Retorna true se a atualização imediata for permitida.

Para com.google.android.play.core.install.InstallState
Boolean InstallState.hasTerminalStatus()

Isso significa que esse é um status terminal (não haverá mais atualizações) e precisa ser tratado adequadamente (sucesso, cancelamento ou falha).

Int InstallState.installErrorCode()

Retorna o código de erro de uma instalação ou {@link InstallErrorCode#NO_ERROR}.

Int InstallState.installStatus()

Retorna o status de uma instalação.

String! InstallState.packageName()

Retorna o nome do pacote do aplicativo que está sendo instalado.

Para com.google.android.play.core.splitinstall.SplitInstallSessionState
Long SplitInstallSessionState.bytesDownloaded()

Os bytes transferidos por download pela atualização.

Int SplitInstallSessionState.errorCode()

O código de erro dessa atualização.

Boolean SplitInstallSessionState.hasTerminalStatus()

Indica que essa atualização é terminal, o que significa que não haverá mais atualizações para a sessão.

List<String> SplitInstallSessionState.languages()

Os idiomas incluídos pela atualização.

List<String> SplitInstallSessionState.moduleNames()

Os módulos incluídos pela atualização.

Int SplitInstallSessionState.sessionId()

O código da sessão dessa atualização.

Int SplitInstallSessionState.status()

O código de status dessa atualização.

Long SplitInstallSessionState.totalBytesToDownload()

O total de bytes a serem tranferidos por download por essa atualização.

Funções de nível superior

SplitInstallStateUpdatedListener SplitInstallStateUpdatedListener(onRequiresConfirmation: (SplitInstallSessionState) -> Unit, onInstalled: (SplitInstallSessionState) -> Unit, onFailed: (SplitInstallSessionState) -> Unit = {}, onPending: (SplitInstallSessionState) -> Unit = {}, onDownloaded: (SplitInstallSessionState) -> Unit = {}, onDownloading: (SplitInstallSessionState) -> Unit = {}, onInstalling: (SplitInstallSessionState) -> Unit = {}, onCanceling: (SplitInstallSessionState) -> Unit = {}, onCanceled: (SplitInstallSessionState) -> Unit = {}, onNonTerminalStatus: (SplitInstallSessionState) -> Unit = {}, onTerminalStatus: (SplitInstallSessionState) -> Unit = {})

Uma função de conveniência para criar um SplitInstallStateUpdatedListener.