From 5430169830ee984a821a3ae15cc03d0c81d48199 Mon Sep 17 00:00:00 2001 From: Joshua Soberg Date: Sun, 16 Feb 2025 15:37:49 -0500 Subject: [PATCH] Add an animation to user node list items to animate on details expansion (#1590) --- app/src/main/java/com/geeksville/mesh/ui/NodeItem.kt | 3 ++- app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/NodeItem.kt b/app/src/main/java/com/geeksville/mesh/ui/NodeItem.kt index f5e5c9a5..09d511bb 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/NodeItem.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/NodeItem.kt @@ -79,6 +79,7 @@ fun NodeItem( gpsFormat: Int, distanceUnits: Int, tempInFahrenheit: Boolean, + modifier: Modifier = Modifier, onAction: (NodeMenuAction) -> Unit = {}, expanded: Boolean = false, currentTimeMillis: Long, @@ -114,7 +115,7 @@ fun NodeItem( val (detailsShown, showDetails) = remember { mutableStateOf(expanded) } Card( - modifier = Modifier + modifier = modifier .fillMaxWidth() .padding(horizontal = 8.dp, vertical = 4.dp) .defaultMinSize(minHeight = 80.dp), diff --git a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt index 426c5395..150c8db1 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/UsersFragment.kt @@ -21,6 +21,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.compose.animation.animateContentSize import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.fillMaxSize @@ -130,6 +131,7 @@ fun NodesScreen( items(nodes, key = { it.num }) { node -> NodeItem( + modifier = Modifier.animateContentSize(), thisNode = ourNode, thatNode = node, gpsFormat = state.gpsFormat,