From 3aa898f8ea73a31804cd115a0145b8407f686cff Mon Sep 17 00:00:00 2001 From: Maarten Vercruysse <67873169+MV-GH@users.noreply.github.com> Date: Fri, 21 Jul 2023 02:00:59 +0200 Subject: [PATCH] Retain scroll position after swapping navigation (#1072) --- app/src/main/java/com/jerboa/model/HomeViewModel.kt | 3 +++ .../main/java/com/jerboa/ui/components/home/HomeActivity.kt | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/jerboa/model/HomeViewModel.kt b/app/src/main/java/com/jerboa/model/HomeViewModel.kt index 9f4cd2bdd..55f957447 100644 --- a/app/src/main/java/com/jerboa/model/HomeViewModel.kt +++ b/app/src/main/java/com/jerboa/model/HomeViewModel.kt @@ -1,6 +1,7 @@ package com.jerboa.model import android.content.Context +import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf @@ -44,6 +45,8 @@ class HomeViewModel : ViewModel(), Initializable { private var blockCommunityRes: ApiState by mutableStateOf(ApiState.Empty) private var blockPersonRes: ApiState by mutableStateOf(ApiState.Empty) + val lazyListState = LazyListState() + var sortType by mutableStateOf(SortType.Active) private set var listingType by mutableStateOf(ListingType.Local) diff --git a/app/src/main/java/com/jerboa/ui/components/home/HomeActivity.kt b/app/src/main/java/com/jerboa/ui/components/home/HomeActivity.kt index c4a2804b4..8de238a30 100644 --- a/app/src/main/java/com/jerboa/ui/components/home/HomeActivity.kt +++ b/app/src/main/java/com/jerboa/ui/components/home/HomeActivity.kt @@ -7,7 +7,6 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.lazy.LazyListState -import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add @@ -95,7 +94,7 @@ fun HomeActivity( val transferCreatePostDepsViaRoot = appState.rootChannel() val scope = rememberCoroutineScope() - val postListState = rememberLazyListState() + val postListState = homeViewModel.lazyListState val snackbarHostState = remember { SnackbarHostState() } val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior(rememberTopAppBarState()) val ctx = LocalContext.current