Merge pull request #1382 from codeall9/bug/entry-list-group-selection

Remember group selection after screen rotate
This commit is contained in:
Alexander Bakker 2024-05-28 20:32:47 +02:00 committed by GitHub
commit d6468420ee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -59,6 +59,7 @@ import com.google.common.base.Strings;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@ -169,6 +170,29 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener {
_preloadSizeProvider.setView(view);
}
@Override
public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
if (savedInstanceState == null) {
return;
}
HashSet<UUID> filter = (HashSet<UUID>) savedInstanceState.getSerializable("prefGroupFilter");
if (filter != null) {
_prefGroupFilter = filter;
}
}
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
// user can apply _groupFilter without saving
// restore _groupFilter as _prefGroupFilter in order to reapply correct filter after screen rotate
if (_groupFilter != null) {
outState.putSerializable("prefGroupFilter", new HashSet<>(_groupFilter));
}
}
@Override
public void onDestroyView() {
_refresher.destroy();