Log Android gallery selections and finish image gestures safely

This commit is contained in:
evgeny committed 2026-10-06 20:04:40 +02:00
1 parent cdc5474279
commit 17dd06221a
2 files changed
+7

No files matched your search

@@ -72,7 +72,9 @@ fun ZoomableImage(bitmap: Bitmap, modifier: Modifier = Modifier, contentScale: C
var swipe=0f; var swiped=false; var canSwipe=zoomScale==1f
do {
val event=awaitPointerEvent()
if (event.changes.none { it.pressed }) break
val centroid=event.calculateCentroid(useCurrent=false)
if (!centroid.x.isFinite() || !centroid.y.isFinite()) continue
val pan=event.calculatePan(); val zoom=event.calculateZoom()
if (event.changes.count { it.pressed }!=1 || zoom!=1f) canSwipe=false
if (canSwipe && !swiped && navigate!=null && kotlin.math.abs(pan.x)>kotlin.math.abs(pan.y)) {
@@ -31,6 +31,10 @@ fun AvatarViewerScreen(group: String?, owner: Long, name: String, onClose: () ->
val members by repository.members.collectAsState()
val revision by repository.revision.collectAsState()
val account=repository.accountId
DisposableEffect(group,owner,account) {
LogManager.addLog("INFO","Avatar","Viewer opened group=$group owner=$owner account=$account")
onDispose { LogManager.addLog("INFO","Avatar","Viewer closed group=$group owner=$owner") }
}
val source=remember(members,group,owner) { repository.gallerySource(group,owner) }
var files by remember(group,owner,account) { mutableStateOf(emptyList<String>()) }
var selected by rememberSaveable(group,owner,account) { mutableStateOf("") }
@@ -59,6 +63,7 @@ fun AvatarViewerScreen(group: String?, owner: Long, name: String, onClose: () ->
original=null; failed=false
val (channel,member)=source ?: return@LaunchedEffect
if (selected.isEmpty()) return@LaunchedEffect
LogManager.addLog("INFO","Avatar","Viewer selected group=$channel owner=$owner server=${member.avatarServer} file=$selected")
coroutineScope {
launch {
try { previews=previews+(selected to repository.loadAvatar(channel,member.copy(avatarFile=selected),false)) }