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