That fuck shit the fascists are using
1package org.tm.archive.preferences;
2
3import android.content.Context;
4
5import androidx.annotation.NonNull;
6import androidx.core.content.ContextCompat;
7import androidx.fragment.app.FragmentActivity;
8import androidx.lifecycle.LiveData;
9import androidx.lifecycle.MutableLiveData;
10import androidx.lifecycle.ViewModel;
11import androidx.lifecycle.ViewModelProvider;
12
13import org.signal.core.util.concurrent.SignalExecutors;
14import org.tm.archive.R;
15import org.tm.archive.database.MediaTable;
16import org.tm.archive.database.SignalDatabase;
17import org.tm.archive.preferences.widgets.StorageGraphView;
18
19import java.util.Arrays;
20
21public class ApplicationPreferencesViewModel extends ViewModel {
22
23 private final MutableLiveData<StorageGraphView.StorageBreakdown> storageBreakdown = new MutableLiveData<>();
24
25 LiveData<StorageGraphView.StorageBreakdown> getStorageBreakdown() {
26 return storageBreakdown;
27 }
28
29 static ApplicationPreferencesViewModel getApplicationPreferencesViewModel(@NonNull FragmentActivity activity) {
30 return new ViewModelProvider(activity).get(ApplicationPreferencesViewModel.class);
31 }
32
33 void refreshStorageBreakdown(@NonNull Context context) {
34 SignalExecutors.BOUNDED.execute(() -> {
35 MediaTable.StorageBreakdown breakdown = SignalDatabase.media().getStorageBreakdown();
36
37 StorageGraphView.StorageBreakdown latestStorageBreakdown = new StorageGraphView.StorageBreakdown(Arrays.asList(
38 new StorageGraphView.Entry(ContextCompat.getColor(context, R.color.storage_color_photos), breakdown.getPhotoSize()),
39 new StorageGraphView.Entry(ContextCompat.getColor(context, R.color.storage_color_videos), breakdown.getVideoSize()),
40 new StorageGraphView.Entry(ContextCompat.getColor(context, R.color.storage_color_files), breakdown.getDocumentSize()),
41 new StorageGraphView.Entry(ContextCompat.getColor(context, R.color.storage_color_audio), breakdown.getAudioSize())
42 ));
43
44 storageBreakdown.postValue(latestStorageBreakdown);
45 });
46 }
47}