Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.serg.chuprin.tageditor.common.mvp.model;
- import android.content.SharedPreferences;
- import android.provider.MediaStore;
- import android.support.annotation.StringRes;
- import com.com.serg.chuprin.tageditor.R;
- import com.orhanobut.hawk.Hawk;
- import org.polaric.colorful.Colorful;
- import javax.inject.Inject;
- import static com.serg.chuprin.tageditor.common.mvp.model.PreferencesManager.Sorting.Albums.KEY;
- public class PreferencesManager {
- private final ResourcesManager mResourcesManager;
- private final SharedPreferences mDefaultPreferences;
- @Inject
- public PreferencesManager(ResourcesManager manager, SharedPreferences sharedPreferences) {
- mResourcesManager = manager;
- mDefaultPreferences = sharedPreferences;
- }
- public String getAlbumsSorting() {
- return mDefaultPreferences.getString(KEY, Sorting.Albums.NAME_ASC);
- }
- public void setAlbumsSorting(String sorting) {
- mDefaultPreferences.edit().putString(KEY, sorting).apply();
- }
- public String getSongsSorting() {
- return mDefaultPreferences.getString(Sorting.Songs.KEY, Sorting.Songs.TITLE_ASC);
- }
- public void setSongsSorting(String sorting) {
- mDefaultPreferences.edit().putString(Sorting.Songs.KEY, sorting).apply();
- }
- public String getArtistsSorting() {
- return mDefaultPreferences.getString(Sorting.Artists.KEY, Sorting.Artists.ARTIST_ASC);
- }
- public void setArtistsSorting(String sorting) {
- mDefaultPreferences.edit().putString(Sorting.Artists.KEY, sorting).apply();
- }
- public int getFoldersSorting() {
- return mDefaultPreferences.getInt(Sorting.Folders.KEY, Sorting.Folders.NAME_ASC);
- }
- public boolean showOnlyMusicFolders() {
- return mDefaultPreferences.getBoolean(getString(R.string.only_music_folders), false);
- }
- public String getLastDirectory() {
- return mDefaultPreferences.getString(FoldersPreferences.LAST_FOLDER, "");
- }
- public void setLastDirectory(String absolutePath) {
- mDefaultPreferences.edit().putString(FoldersPreferences.LAST_FOLDER, absolutePath).apply();
- }
- public String getPermissionPath() {
- return mDefaultPreferences.getString(Keys.KEY_STORAGE_PERMISSION_PATH, "");
- }
- public void savePermissionPath(String permissionPath) {
- mDefaultPreferences.edit().putString(Keys.KEY_STORAGE_PERMISSION_PATH, permissionPath).apply();
- }
- public void savePurchaseToken(String token) {
- mDefaultPreferences.edit().putString(Keys.KEY_PURCHASE_TOKEN, token).apply();
- }
- public String getEncoding() {
- return mDefaultPreferences.getString(Keys.KEY_ENCODING, "UTF-8");
- }
- public void setEncoding(String encoding) {
- mDefaultPreferences.edit().putString(Keys.KEY_ENCODING, encoding).apply();
- }
- public String getPurchaseToken() {
- return mDefaultPreferences.getString(Keys.KEY_PURCHASE_TOKEN, "");
- }
- public boolean isVerified() {
- return Hawk.get(Keys.KEY_V, 0) == 1;
- }
- public void setVerified(boolean verified) {
- Hawk.put(Keys.KEY_V, verified ? 1 : 0);
- }
- public boolean isFirstSongOpen() {
- return mDefaultPreferences.getBoolean(Keys.KEY_FIRST_OPEN_SONGS, true);
- }
- public boolean isGenresAutocompleteEnabled() {
- return mDefaultPreferences.getBoolean(getString(R.string.genres_autocomplete), true);
- }
- public boolean shouldAddLeadingZero() {
- return mDefaultPreferences.getBoolean(getString(R.string.leading_zero), true);
- }
- public void setSongsFirstOpened() {
- mDefaultPreferences.edit().putBoolean(Keys.KEY_FIRST_OPEN_SONGS, false).apply();
- }
- public int getTheme() {
- String defaultValue = getString(R.string.pref_theme_light);
- String themePref = mDefaultPreferences.getString(getString(R.string.theme), defaultValue);
- int resultTheme;
- if (themePref.equals(getString(R.string.pref_theme_dark))) {
- resultTheme = Colorful.Theme.DARK;
- } else if (themePref.equals(getString(R.string.pref_theme_black))) {
- resultTheme = Colorful.Theme.BLACK;
- } else {
- resultTheme = Colorful.Theme.LIGHT;
- }
- return resultTheme;
- }
- private String getString(@StringRes int res) {
- return mResourcesManager.getString(res);
- }
- public boolean albumArtistEnabled() {
- return mDefaultPreferences.getBoolean(getString(R.string.album_artist), false);
- }
- public void setAppCrashed() {
- mDefaultPreferences.edit().putBoolean(Keys.KEY_APP_CRASHED, true).apply();
- }
- public boolean isAppCrashed() {
- return mDefaultPreferences.getBoolean(Keys.KEY_APP_CRASHED, false);
- }
- public interface FoldersPreferences {
- String FOLDERS_FIRST = "is_folders_first";
- String REMEMBER_LAST_FOLDER = "remember_last_folder";
- String LAST_FOLDER = "last_folder";
- }
- public interface Sorting {
- interface Albums {
- String NAME_ASC = MediaStore.Audio.Albums.ALBUM + " ASC";
- String NAME_DESC = MediaStore.Audio.Albums.ALBUM + " DESC";
- String ARTIST_ASC = MediaStore.Audio.Albums.ARTIST + " ASC";
- String ARTIST_DESC = MediaStore.Audio.Albums.ARTIST + " DESC";
- String YEAR_ASC = MediaStore.Audio.Albums.FIRST_YEAR + " ASC";
- String YEAR_DESC = MediaStore.Audio.Albums.FIRST_YEAR + " DESC";
- String KEY = "albums_sorting";
- }
- interface Songs {
- String TITLE_ASC = MediaStore.Audio.Media.TITLE + " ASC";
- String TITLE_DESC = MediaStore.Audio.Media.TITLE + " DESC";
- String ARTIST_ASC = MediaStore.Audio.Media.ARTIST + " ASC";
- String ARTIST_DESC = MediaStore.Audio.Media.ARTIST + " DESC";
- String ALBUM_DESC = MediaStore.Audio.Media.ALBUM + " DESC";
- String ALBUM_ASC = MediaStore.Audio.Media.ALBUM + " ASC";
- String DATE_ASC = MediaStore.Audio.Media.DATE_ADDED + " ASC";
- String DATE_DESC = MediaStore.Audio.Media.DATE_ADDED + " DESC";
- String KEY = "songs_sorting";
- }
- interface Folders {
- int NAME_ASC = 1;
- int NAME_DESC = 2;
- int DATE_DESC = 3;
- int DATE_ASC = 4;
- String KEY = "folders_sorting";
- }
- interface Artists {
- String ARTIST_ASC = MediaStore.Audio.Artists.ARTIST + " ASC";
- String ARTIST_DESC = MediaStore.Audio.Artists.ARTIST + " DESC";
- String KEY = "artist_sorting";
- }
- }
- private interface Keys {
- String KEY_V = "key_v";
- String KEY_STORAGE_PERMISSION_PATH = "storage_permission";
- String KEY_PURCHASE_TOKEN = "key_purchase_token";
- String KEY_ENCODING = "save_encoding";
- String KEY_FIRST_OPEN_SONGS = "KEY_FIRST_OPEN_SONGS";
- String KEY_APP_CRASHED = "app_crashed";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement