From 4673418d9584933ae63c156c83e772ccd7d330c9 Mon Sep 17 00:00:00 2001 From: Harry Cheng Date: Sat, 11 Jun 2022 13:11:33 +0800 Subject: [PATCH] android: Fix list updating for image and QR code --- .../os/ui/compose/componment/KeyItem.kt | 19 ++++++++++--------- .../os/ui/compose/componment/MessageItem.kt | 17 +++++++++++------ 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/KeyItem.kt b/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/KeyItem.kt index b3780b6..64154ee 100644 --- a/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/KeyItem.kt +++ b/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/KeyItem.kt @@ -136,15 +136,16 @@ fun KeyItem(key: PushKey, requestHolder: RequestHolder) { ) { AndroidView( factory = { - ImageView(it).apply { - this.setImageBitmap( - QRCodeGenerator( - key.key, - 400.dp.value.toInt(), - 400.dp.value.toInt() - ).qrCode - ) - } + ImageView(it) + }, + update = { view -> + view.setImageBitmap( + QRCodeGenerator( + key.key, + 400.dp.value.toInt(), + 400.dp.value.toInt() + ).qrCode + ) }, modifier = Modifier.align(alignment = Alignment.Center) ) diff --git a/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/MessageItem.kt b/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/MessageItem.kt index 7c9b6ab..ee04069 100644 --- a/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/MessageItem.kt +++ b/android/app/src/main/java/com/pushdeer/os/ui/compose/componment/MessageItem.kt @@ -137,12 +137,17 @@ fun ImageMessageItem(message: MessageEntity, requestHolder: RequestHolder) { ) } Card(modifier = Modifier.fillMaxWidth()) { - AndroidView(factory = { - ImageView(it).apply { - scaleType = ImageView.ScaleType.FIT_CENTER - load(message.text, requestHolder.coilImageLoader) - } - }, modifier = Modifier.fillMaxWidth()) + AndroidView( + factory = { + ImageView(it).apply { + scaleType = ImageView.ScaleType.FIT_CENTER + } + }, + update = { view -> + view.load(message.text, requestHolder.coilImageLoader) + }, + modifier = Modifier.fillMaxWidth() + ) } } }