NTP-18357 | Sohan Reddy | SC Renderer Optimization (#659)
This commit is contained in:
committed by
GitHub
parent
e39e8b1ed4
commit
e5d4695c34
@@ -131,7 +131,21 @@ class ScratchCardRenderer(
|
||||
uiTronViewModel: UiTronViewModel,
|
||||
) {
|
||||
|
||||
var overlayImage by remember { mutableStateOf<ImageBitmap?>(null) }
|
||||
val uiTronProvider = remember { UiTronSdkManager.getDependencyProvider() }
|
||||
val isImagePresentLocally by
|
||||
remember(property.iconUrl) {
|
||||
mutableStateOf(uiTronProvider.getIconResourceId(property.iconUrl))
|
||||
}
|
||||
val context = LocalContext.current
|
||||
val localImageBitmap by remember {
|
||||
mutableStateOf(
|
||||
AppCompatResources.getDrawable(context, isImagePresentLocally ?: 0)
|
||||
?.toBitmap()
|
||||
?.copy(Bitmap.Config.ARGB_8888, true)
|
||||
?.asImageBitmap()
|
||||
)
|
||||
}
|
||||
var overlayImage by remember { mutableStateOf(localImageBitmap) }
|
||||
|
||||
fun updateOuterImageBitmap(state: AsyncImagePainter.State) {
|
||||
when (state) {
|
||||
@@ -145,28 +159,16 @@ class ScratchCardRenderer(
|
||||
else -> Unit
|
||||
}
|
||||
}
|
||||
val uiTronProvider = remember { UiTronSdkManager.getDependencyProvider() }
|
||||
val isImagePresentLocally by
|
||||
remember(property.iconUrl) {
|
||||
mutableStateOf(uiTronProvider.getIconResourceId(property.iconUrl))
|
||||
}
|
||||
isImagePresentLocally?.let {
|
||||
overlayImage =
|
||||
AppCompatResources.getDrawable(LocalContext.current, it)
|
||||
?.toBitmap()
|
||||
?.copy(Bitmap.Config.ARGB_8888, true)
|
||||
?.asImageBitmap()
|
||||
if (overlayImage == null) {
|
||||
rememberAsyncImagePainter(
|
||||
model =
|
||||
ImageRequest.Builder(LocalContext.current)
|
||||
.data(property.iconUrl)
|
||||
.size(Size.ORIGINAL)
|
||||
.build(),
|
||||
onState = ::updateOuterImageBitmap
|
||||
)
|
||||
}
|
||||
?: run {
|
||||
rememberAsyncImagePainter(
|
||||
model =
|
||||
ImageRequest.Builder(LocalContext.current)
|
||||
.data(property.iconUrl)
|
||||
.size(Size.ORIGINAL)
|
||||
.build(),
|
||||
onState = ::updateOuterImageBitmap
|
||||
)
|
||||
}
|
||||
|
||||
var imageScale by remember { mutableFloatStateOf(1f) }
|
||||
val imageScaleAnimation by
|
||||
@@ -237,9 +239,10 @@ class ScratchCardRenderer(
|
||||
ImageBitmap(width = scratchCardSize.width, height = scratchCardSize.height, it)
|
||||
}
|
||||
|
||||
val nativeCanvas = bitmap?.let { androidx.compose.ui.graphics.Canvas(it) }
|
||||
val nativeCanvas =
|
||||
remember(bitmap) { bitmap?.let { androidx.compose.ui.graphics.Canvas(it) } }
|
||||
|
||||
val totalArea = scratchCardSize.width * scratchCardSize.height
|
||||
val totalArea = remember { scratchCardSize.width * scratchCardSize.height }
|
||||
|
||||
val pathState = remember { mutableStateOf(ScratchPath(path = Path())) }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user