That fuck shit the fascists are using
1package org.tm.archive.mediaoverview;
2
3import androidx.annotation.NonNull;
4import androidx.fragment.app.FragmentActivity;
5import androidx.lifecycle.LiveData;
6import androidx.lifecycle.MutableLiveData;
7import androidx.lifecycle.SavedStateHandle;
8import androidx.lifecycle.SavedStateViewModelFactory;
9import androidx.lifecycle.ViewModel;
10import androidx.lifecycle.ViewModelProvider;
11
12import org.tm.archive.database.MediaTable.Sorting;
13
14public class MediaOverviewViewModel extends ViewModel {
15
16 private final MutableLiveData<Sorting> sortOrder;
17 private final MutableLiveData<Boolean> detailLayout;
18
19 public MediaOverviewViewModel(@NonNull SavedStateHandle savedStateHandle) {
20 sortOrder = savedStateHandle.getLiveData("SORT_ORDER", Sorting.Newest);
21 detailLayout = savedStateHandle.getLiveData("DETAIL_LAYOUT", false);
22 }
23
24 public LiveData<Sorting> getSortOrder() {
25 return sortOrder;
26 }
27
28 public LiveData<Boolean> getDetailLayout() {
29 return detailLayout;
30 }
31
32 public void setSortOrder(@NonNull Sorting sortOrder) {
33 this.sortOrder.setValue(sortOrder);
34 }
35
36 public void setDetailLayout(boolean detailLayout) {
37 this.detailLayout.setValue(detailLayout);
38 }
39
40 static MediaOverviewViewModel getMediaOverviewViewModel(@NonNull FragmentActivity activity) {
41 SavedStateViewModelFactory savedStateViewModelFactory = new SavedStateViewModelFactory(activity.getApplication(), activity);
42
43 return new ViewModelProvider(activity, savedStateViewModelFactory).get(MediaOverviewViewModel.class);
44 }
45}