That fuck shit the fascists are using
at master 45 lines 1.5 kB view raw
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}