diff --git a/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt index 56a1ffe69..b32fc5846 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/DebugFragment.kt @@ -20,7 +20,9 @@ import androidx.compose.material.Surface import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.colorResource @@ -79,9 +81,12 @@ class DebugFragment : Fragment() { val listState = rememberLazyListState() val logs by model.meshLog.collectAsStateWithLifecycle() - LaunchedEffect(logs) { - if (listState.firstVisibleItemIndex < 3 && !listState.isScrollInProgress) { - listState.scrollToItem(0) + val shouldAutoScroll by remember { derivedStateOf { listState.firstVisibleItemIndex < 3 } } + if (shouldAutoScroll) { + LaunchedEffect(logs) { + if (!listState.isScrollInProgress) { + listState.scrollToItem(0) + } } }