LemmyNet / jerboa

A native android app for Lemmy
GNU Affero General Public License v3.0
1.17k stars 168 forks source link

LazyColumn's scroll position resets on system-initiated process death #1679

Open nicolarevelant opened 2 months ago

nicolarevelant commented 2 months ago

This article explains why it matters: Save UI State - Android Developers

Problem: when I perform this sequence of events the LazyColumn's scroll position resets:

  1. From homepage, swipe up
  2. background/foreground app with "Don't Keep Activities" option enabled

or:

  1. From a community page, swipe up
  2. background/foreground app with "Don't Keep Activities" option enabled

Possible solution:

save the posts list using SavedStateHandle and declare the postListState using rememberLazyListState() in a Composable instead of using a ViewModel

Screenshots:

Version:

0.0.66 - not fixed in 0.0.75

MV-GH commented 2 months ago

declare the postListState using rememberLazyListState() in a Composable instead of using a ViewModel

Not possible, it used to be like this. But if you switch between home and any other tab (inbox/profile...). You will lose the position.

Thats why HomeViewmodel doesn't follow the lifecycle of HomeScreen and why it keeps the state.