Refactor code to support AGP 9.0

This commit is contained in:
2025-12-20 20:53:13 +03:00
Unverified
parent 8151e0ca0d
commit b18af36b3e
133 changed files with 255 additions and 125 deletions
@@ -0,0 +1,42 @@
@file:Suppress("NOTHING_TO_INLINE")
package com.pr0gramm3r101.components
import android.widget.ImageView
import androidx.annotation.DrawableRes
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.ColorFilter
import androidx.compose.ui.graphics.DefaultAlpha
import androidx.compose.ui.graphics.asAndroidColorFilter
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.viewinterop.AndroidView
import com.pr0gramm3r101.utils.asAndroidScaleType
@Composable
inline fun Mipmap(
@DrawableRes id: Int,
contentDescription: String?,
modifier: Modifier = Modifier,
contentScale: ContentScale = ContentScale.Fit,
alpha: Float = DefaultAlpha,
colorFilter: ColorFilter? = null
) {
val update: (ImageView) -> Unit = {
it.setImageResource(id)
it.contentDescription = contentDescription
it.alpha = alpha
it.colorFilter = colorFilter?.asAndroidColorFilter()
it.scaleType = contentScale.asAndroidScaleType()
}
AndroidView(
modifier = modifier,
factory = {
ImageView(it).apply {
update(this)
}
},
update = update
)
}