package com.sabdroidex.utils;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class Preferences {
public static final String SABNZBD_URL = "sabnzbd_url";
public static final String SABNZBD_PORT = "sabnzbd_port";
public static final String SABNZBD_URL_EXTENTION = "sabnzbd_url_extention";
public static final String SABNZBD_SSL = "sabnzbd_ssl";
public static final String SABNZBD_RATE = "sabnzbd_rate";
public static final String SABNZBD_HTTP_AUTH = "sabnzbd_auth";
public static final String SABNZBD_USERNAME = "sabnzbd_auth_username";
public static final String SABNZBD_PASSWORD = "sabnzbd_auth_password";
public static final String SABNZBD_API_KEY = "sabnzbd_api_key";
public static final String SERVER_MISC = "misc";
public static final String SERVER_BANDWITH = "bandwidth_limit";
public static final String SERVER_CACHE_DIR = "cache_dir";
public static final String SERVER_CACHE_LIMIT = "cache_limit";
public static final String SERVER_DIRSCAN_DIR = "dirscan_dir";
public static final String SERVER_DIRSCAN_SPEED = "dirscan_speed";
public static final String SERVER_DOWNLOAD_DIR = "download_dir";
public static final String SERVER_COMPLETE_DIR = "complete_dir";
public static final String SICKBEARD = "sickbeard";
public static final String SICKBEARD_URL = "sickbeard_url";
public static final String SICKBEARD_PORT = "sickbeard_port";
public static final String SICKBEARD_URL_EXTENTION = "sickbeard_url_extention";
public static final String SICKBEARD_SSL = "sickbeard_ssl";
public static final String SICKBEARD_RATE = "sickbeard_rate";
public static final String SICKBEARD_HTTP_AUTH = "sickbeard_auth";
public static final String SICKBEARD_USERNAME = "sickbeard_auth_username";
public static final String SICKBEARD_PASSWORD = "sickbeard_auth_password";
public static final String SICKBEARD_API_KEY = "sickbeard_api_key";
public static final String COUCHPOTATO = "couchpotato";
public static final String COUCHPOTATO_URL = "couchpotato_url";
public static final String COUCHPOTATO_PORT = "couchpotato_port";
public static final String COUCHPOTATO_URL_EXTENTION = "couchpotato_url_extention";
public static final String COUCHPOTATO_SSL = "couchpotato_ssl";
public static final String COUCHPOTATO_API_KEY = "couchpotato_api_key";
public static final String COUCHPOTATO_AUTH = "couchpotato_auth";
public static final String COUCHPOTATO_PROFILE = "couchpotato_profile";
public static final String COUCHPOTATO_USERNAME = "couchpotato_auth_username";
public static final String COUCHPOTATO_PASSWORD = "couchpotato_auth_password";
public static final String MOVIE_AVAILABLE_FILES = "movie_available_files";
public static final String MOVIE_READD = "movie_readd";
public static final String MOVIE_CHANGE_MOVIE_INFO = "movie_change_movie_info";
public static final String MOVIE_REMOVE = "movie_remove";
public static final String MOVIE_DOWLOAD_BEST = "movie_dowload_best";
public static final String MOVIE_PICK_RELEASE = "movie_pick_release";
public static final String MOVIE_MARK_DONE = "movie_mark_done";
public static final String WANTED = "wanted";
public static final String APACHE = "apache";
public static final String APACHE_USERNAME = "apache_auth_username";
public static final String APACHE_PASSWORD = "apache_auth_password";
public static final String NZBS_ORG_UID = "nzbs_org_uid";
public static final String NZBS_ORG_HASH = "nzbs_org_hash";
public static final String NZBMATRIX_UID = "nzbmatrix_uid";
public static final String NZBMATRIX_HASH = "nzbmatrix_hash";
public static final String DATA_CACHE = "data_cache";
public static final String DATA_IMAGE_CACHE = "data_image_cache";
public static final String DATA_IMAGE_LOWRES = "data_image_lowres";
public static final String DATA_NO_MEDIA = "data_nomedia";
public static final String BACKUP = "backup_preferences";
public static final String RESTORE = "restore_preferences";
public static final String BACKUP_FILE = "preferences.json";
public static final String VERSION = "data_version";
private static SharedPreferences preferences;
private static Editor editor;
public static void update(SharedPreferences preferences) {
Preferences.preferences = preferences;
Preferences.editor = preferences.edit();
}
public static String get(String key) {
return preferences.getString(key, "");
}
public static void put(String key, String value) {
editor.putString(key, value);
editor.commit();
}
public static void put(String key, Boolean value) {
editor.putBoolean(key, value);
editor.commit();
}
public static String get(String key, String defaultValue) {
return preferences.getString(key, defaultValue);
}
public static Boolean isEnabled(String key) {
return preferences.getBoolean(key, Boolean.FALSE);
}
public static Boolean isEnabled(String key, Boolean defaultValue) {
return preferences.getBoolean(key, defaultValue);
}
public static boolean isSet(String key) {
if (preferences == null) {
return false;
}
if (preferences.getString(key, null) == null) {
return false;
}
if (preferences.getString(key, "").trim().equals("")) {
return false;
}
return true;
}
/**
* This method is used to migrate preferences.
* It is highly un-elegant but it does it's job pretty well
*/
public static void setUpNewVersion() {
if ("2.4.0".compareTo(get(VERSION)) < 0) {
put(DATA_IMAGE_CACHE, true);
put(DATA_IMAGE_LOWRES, true);
put(DATA_NO_MEDIA, true);
}
}
}