aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/Settings.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/Settings.java')
-rw-r--r--main/src/cgeo/geocaching/Settings.java1494
1 files changed, 0 insertions, 1494 deletions
diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java
deleted file mode 100644
index 7a5db12..0000000
--- a/main/src/cgeo/geocaching/Settings.java
+++ /dev/null
@@ -1,1494 +0,0 @@
-package cgeo.geocaching;
-
-import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum;
-import cgeo.geocaching.connector.gc.GCConstants;
-import cgeo.geocaching.connector.gc.Login;
-import cgeo.geocaching.enumerations.CacheType;
-import cgeo.geocaching.enumerations.LiveMapStrategy.Strategy;
-import cgeo.geocaching.enumerations.LogType;
-import cgeo.geocaching.geopoint.Geopoint;
-import cgeo.geocaching.maps.MapProviderFactory;
-import cgeo.geocaching.maps.google.GoogleMapProvider;
-import cgeo.geocaching.maps.interfaces.GeoPointImpl;
-import cgeo.geocaching.maps.interfaces.MapProvider;
-import cgeo.geocaching.maps.interfaces.MapSource;
-import cgeo.geocaching.maps.mapsforge.MapsforgeMapProvider;
-import cgeo.geocaching.maps.mapsforge.MapsforgeMapProvider.OfflineMapSource;
-import cgeo.geocaching.utils.CryptUtils;
-import cgeo.geocaching.utils.FileUtils;
-import cgeo.geocaching.utils.FileUtils.FileSelector;
-import cgeo.geocaching.utils.Log;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.os.Environment;
-import android.preference.PreferenceManager;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-/**
- * General c:geo preferences/settings set by the user
- */
-public final class Settings {
-
- private static final String KEY_TEMP_TWITTER_TOKEN_SECRET = "temp-token-secret";
- private static final String KEY_TEMP_TWITTER_TOKEN_PUBLIC = "temp-token-public";
- private static final String KEY_HELP_SHOWN = "helper";
- private static final String KEY_ANYLONGITUDE = "anylongitude";
- private static final String KEY_ANYLATITUDE = "anylatitude";
- private static final String KEY_USE_OFFLINEMAPS = "offlinemaps";
- private static final String KEY_USE_OFFLINEWPMAPS = "offlinewpmaps";
- private static final String KEY_WEB_DEVICE_CODE = "webDeviceCode";
- private static final String KEY_WEBDEVICE_NAME = "webDeviceName";
- private static final String KEY_MAP_LIVE = "maplive";
- private static final String KEY_MAP_SOURCE = "mapsource";
- private static final String KEY_USE_TWITTER = "twitter";
- private static final String KEY_SHOW_ADDRESS = "showaddress";
- private static final String KEY_SHOW_CAPTCHA = "showcaptcha";
- private static final String KEY_MAP_TRAIL = "maptrail";
- private static final String KEY_LAST_MAP_ZOOM = "mapzoom";
- private static final String KEY_LAST_MAP_LAT = "maplat";
- private static final String KEY_LAST_MAP_LON = "maplon";
- private static final String KEY_LIVE_LIST = "livelist";
- private static final String KEY_METRIC_UNITS = "units";
- private static final String KEY_SKIN = "skin";
- private static final String KEY_LAST_USED_LIST = "lastlist";
- private static final String KEY_CACHE_TYPE = "cachetype";
- private static final String KEY_TWITTER_TOKEN_SECRET = "tokensecret";
- private static final String KEY_TWITTER_TOKEN_PUBLIC = "tokenpublic";
- private static final String KEY_VERSION = "version";
- private static final String KEY_LOAD_DESCRIPTION = "autoloaddesc";
- private static final String KEY_RATING_WANTED = "ratingwanted";
- private static final String KEY_ELEVATION_WANTED = "elevationwanted";
- private static final String KEY_FRIENDLOGS_WANTED = "friendlogswanted";
- private static final String KEY_USE_ENGLISH = "useenglish";
- private static final String KEY_USE_COMPASS = "usecompass";
- private static final String KEY_AUTO_VISIT_TRACKABLES = "trackautovisit";
- private static final String KEY_AUTO_INSERT_SIGNATURE = "sigautoinsert";
- private static final String KEY_ALTITUDE_CORRECTION = "altcorrection";
- private static final String KEY_STORE_LOG_IMAGES = "logimages";
- private static final String KEY_EXCLUDE_DISABLED = "excludedisabled";
- private static final String KEY_EXCLUDE_OWN = "excludemine";
- private static final String KEY_MAPFILE = "mfmapfile";
- private static final String KEY_SIGNATURE = "signature";
- private static final String KEY_GCVOTE_PASSWORD = "pass-vote";
- private static final String KEY_PASSWORD = "password";
- private static final String KEY_USERNAME = "username";
- private static final String KEY_MEMBER_STATUS = "memberstatus";
- private static final String KEY_COORD_INPUT_FORMAT = "coordinputformat";
- private static final String KEY_LOG_OFFLINE = "log_offline";
- private static final String KEY_CHOOSE_LIST = "choose_list";
- private static final String KEY_LOAD_DIRECTION_IMG = "loaddirectionimg";
- private static final String KEY_GC_CUSTOM_DATE = "gccustomdate";
- private static final String KEY_SHOW_WAYPOINTS_THRESHOLD = "gcshowwaypointsthreshold";
- private static final String KEY_COOKIE_STORE = "cookiestore";
- private static final String KEY_OPEN_LAST_DETAILS_PAGE = "opendetailslastpage";
- private static final String KEY_LAST_DETAILS_PAGE = "lastdetailspage";
- private static final String KEY_DEFAULT_NAVIGATION_TOOL = "defaultNavigationTool";
- private static final String KEY_DEFAULT_NAVIGATION_TOOL_2 = "defaultNavigationTool2";
- private static final String KEY_LIVE_MAP_STRATEGY = "livemapstrategy";
- private static final String KEY_DEBUG = "debug";
- private static final String KEY_HIDE_LIVE_MAP_HINT = "hidelivemaphint";
- private static final String KEY_LIVE_MAP_HINT_SHOW_COUNT = "livemaphintshowcount";
- private static final String KEY_SETTINGS_VERSION = "settingsversion";
- private static final String KEY_DB_ON_SDCARD = "dbonsdcard";
- private static final String KEY_LAST_TRACKABLE_ACTION = "trackableaction";
- private static final String KEY_SHARE_AFTER_EXPORT = "shareafterexport";
- private static final String KEY_GPX_EXPORT_DIR = "gpxExportDir";
- private static final String KEY_RENDER_THEME_BASE_FOLDER = "renderthemepath";
- private static final String KEY_RENDER_THEME_FILE_PATH = "renderthemefile";
- private static final String KEY_GPX_IMPORT_DIR = "gpxImportDir";
- private static final String KEY_PLAIN_LOGS = "plainLogs";
- private static final String KEY_NATIVE_UA = "nativeUa";
- private static final String KEY_MAP_DIRECTORY = "mapDirectory";
- private static final String KEY_CONNECTOR_GC_ACTIVE = "connectorGCActive";
- private static final String KEY_CONNECTOR_OC_ACTIVE = "connectorOCActive";
- private static final String KEY_LOG_IMAGE_SCALE = "logImageScale";
- private static final String KEY_OCDE_TOKEN_SECRET = "ocde_tokensecret";
- private static final String KEY_OCDE_TOKEN_PUBLIC = "ocde_tokenpublic";
- private static final String KEY_TEMP_OCDE_TOKEN_SECRET = "ocde-temp-token-secret";
- private static final String KEY_TEMP_OCDE_TOKEN_PUBLIC = "ocde-temp-token-public";
-
-
- private final static int unitsMetric = 1;
-
- // twitter api keys
- private final static String keyConsumerPublic = CryptUtils.rot13("ESnsCvAv3kEupF1GCR3jGj");
- private final static String keyConsumerSecret = CryptUtils.rot13("7vQWceACV9umEjJucmlpFe9FCMZSeqIqfkQ2BnhV9x");
-
- private interface PrefRunnable {
- void edit(final Editor edit);
- }
-
- public enum coordInputFormatEnum {
- Plain,
- Deg,
- Min,
- Sec;
-
- public static coordInputFormatEnum fromInt(int id) {
- final coordInputFormatEnum[] values = coordInputFormatEnum.values();
- if (id < 0 || id >= values.length) {
- return Min;
- }
- return values[id];
- }
- }
-
- private static String username = null;
- private static String password = null;
-
- private static final SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(cgeoapplication.getInstance().getBaseContext());
- static {
- migrateSettings();
- Log.setDebugUnsaved(sharedPrefs.getBoolean(KEY_DEBUG, false));
- }
-
- // maps
- private static MapProvider mapProvider = null;
- private static String cacheTwitterMessage = "I found [NAME] ([URL])";
-
- private Settings() {
- // this class is not to be instantiated;
- }
-
- private static void migrateSettings() {
- // migrate from non standard file location and integer based boolean types
- if (sharedPrefs.getInt(KEY_SETTINGS_VERSION, 0) < 1) {
- final String oldPreferencesName = "cgeo.pref";
- final SharedPreferences old = cgeoapplication.getInstance().getSharedPreferences(oldPreferencesName, Context.MODE_PRIVATE);
- final Editor e = sharedPrefs.edit();
-
- e.putString(KEY_TEMP_TWITTER_TOKEN_SECRET, old.getString(KEY_TEMP_TWITTER_TOKEN_SECRET, null));
- e.putString(KEY_TEMP_TWITTER_TOKEN_PUBLIC, old.getString(KEY_TEMP_TWITTER_TOKEN_PUBLIC, null));
- e.putBoolean(KEY_HELP_SHOWN, old.getInt(KEY_HELP_SHOWN, 0) != 0);
- e.putFloat(KEY_ANYLONGITUDE, old.getFloat(KEY_ANYLONGITUDE, 0));
- e.putFloat(KEY_ANYLATITUDE, old.getFloat(KEY_ANYLATITUDE, 0));
- e.putBoolean(KEY_USE_OFFLINEMAPS, 0 != old.getInt(KEY_USE_OFFLINEMAPS, 1));
- e.putBoolean(KEY_USE_OFFLINEWPMAPS, 0 != old.getInt(KEY_USE_OFFLINEWPMAPS, 0));
- e.putString(KEY_WEB_DEVICE_CODE, old.getString(KEY_WEB_DEVICE_CODE, null));
- e.putString(KEY_WEBDEVICE_NAME, old.getString(KEY_WEBDEVICE_NAME, null));
- e.putBoolean(KEY_MAP_LIVE, old.getInt(KEY_MAP_LIVE, 1) != 0);
- e.putInt(KEY_MAP_SOURCE, old.getInt(KEY_MAP_SOURCE, 0));
- e.putBoolean(KEY_USE_TWITTER, 0 != old.getInt(KEY_USE_TWITTER, 0));
- e.putBoolean(KEY_SHOW_ADDRESS, 0 != old.getInt(KEY_SHOW_ADDRESS, 1));
- e.putBoolean(KEY_SHOW_CAPTCHA, old.getBoolean(KEY_SHOW_CAPTCHA, false));
- e.putBoolean(KEY_MAP_TRAIL, old.getInt(KEY_MAP_TRAIL, 1) != 0);
- e.putInt(KEY_LAST_MAP_ZOOM, old.getInt(KEY_LAST_MAP_ZOOM, 14));
- e.putBoolean(KEY_LIVE_LIST, 0 != old.getInt(KEY_LIVE_LIST, 1));
- e.putBoolean(KEY_METRIC_UNITS, old.getInt(KEY_METRIC_UNITS, unitsMetric) == unitsMetric);
- e.putBoolean(KEY_SKIN, old.getInt(KEY_SKIN, 0) != 0);
- e.putInt(KEY_LAST_USED_LIST, old.getInt(KEY_LAST_USED_LIST, StoredList.STANDARD_LIST_ID));
- e.putString(KEY_CACHE_TYPE, old.getString(KEY_CACHE_TYPE, CacheType.ALL.id));
- e.putString(KEY_TWITTER_TOKEN_SECRET, old.getString(KEY_TWITTER_TOKEN_SECRET, null));
- e.putString(KEY_TWITTER_TOKEN_PUBLIC, old.getString(KEY_TWITTER_TOKEN_PUBLIC, null));
- e.putInt(KEY_VERSION, old.getInt(KEY_VERSION, 0));
- e.putBoolean(KEY_LOAD_DESCRIPTION, 0 != old.getInt(KEY_LOAD_DESCRIPTION, 1));
- e.putBoolean(KEY_RATING_WANTED, old.getBoolean(KEY_RATING_WANTED, true));
- e.putBoolean(KEY_ELEVATION_WANTED, old.getBoolean(KEY_ELEVATION_WANTED, false));
- e.putBoolean(KEY_FRIENDLOGS_WANTED, old.getBoolean(KEY_FRIENDLOGS_WANTED, true));
- e.putBoolean(KEY_USE_ENGLISH, old.getBoolean(KEY_USE_ENGLISH, false));
- e.putBoolean(KEY_USE_COMPASS, 0 != old.getInt(KEY_USE_COMPASS, 1));
- e.putBoolean(KEY_AUTO_VISIT_TRACKABLES, old.getBoolean(KEY_AUTO_VISIT_TRACKABLES, false));
- e.putBoolean(KEY_AUTO_INSERT_SIGNATURE, old.getBoolean(KEY_AUTO_INSERT_SIGNATURE, false));
- e.putInt(KEY_ALTITUDE_CORRECTION, old.getInt(KEY_ALTITUDE_CORRECTION, 0));
- e.putBoolean(KEY_STORE_LOG_IMAGES, old.getBoolean(KEY_STORE_LOG_IMAGES, false));
- e.putBoolean(KEY_EXCLUDE_DISABLED, 0 != old.getInt(KEY_EXCLUDE_DISABLED, 0));
- e.putBoolean(KEY_EXCLUDE_OWN, 0 != old.getInt(KEY_EXCLUDE_OWN, 0));
- e.putString(KEY_MAPFILE, old.getString(KEY_MAPFILE, null));
- e.putString(KEY_SIGNATURE, old.getString(KEY_SIGNATURE, null));
- e.putString(KEY_GCVOTE_PASSWORD, old.getString(KEY_GCVOTE_PASSWORD, null));
- e.putString(KEY_PASSWORD, old.getString(KEY_PASSWORD, null));
- e.putString(KEY_USERNAME, old.getString(KEY_USERNAME, null));
- e.putString(KEY_MEMBER_STATUS, old.getString(KEY_MEMBER_STATUS, ""));
- e.putInt(KEY_COORD_INPUT_FORMAT, old.getInt(KEY_COORD_INPUT_FORMAT, 0));
- e.putBoolean(KEY_LOG_OFFLINE, old.getBoolean(KEY_LOG_OFFLINE, false));
- e.putBoolean(KEY_CHOOSE_LIST, old.getBoolean(KEY_CHOOSE_LIST, false));
- e.putBoolean(KEY_LOAD_DIRECTION_IMG, old.getBoolean(KEY_LOAD_DIRECTION_IMG, true));
- e.putString(KEY_GC_CUSTOM_DATE, old.getString(KEY_GC_CUSTOM_DATE, null));
- e.putInt(KEY_SHOW_WAYPOINTS_THRESHOLD, old.getInt(KEY_SHOW_WAYPOINTS_THRESHOLD, 0));
- e.putString(KEY_COOKIE_STORE, old.getString(KEY_COOKIE_STORE, null));
- e.putBoolean(KEY_OPEN_LAST_DETAILS_PAGE, old.getBoolean(KEY_OPEN_LAST_DETAILS_PAGE, false));
- e.putInt(KEY_LAST_DETAILS_PAGE, old.getInt(KEY_LAST_DETAILS_PAGE, 1));
- e.putInt(KEY_DEFAULT_NAVIGATION_TOOL, old.getInt(KEY_DEFAULT_NAVIGATION_TOOL, NavigationAppsEnum.COMPASS.id));
- e.putInt(KEY_DEFAULT_NAVIGATION_TOOL_2, old.getInt(KEY_DEFAULT_NAVIGATION_TOOL_2, NavigationAppsEnum.INTERNAL_MAP.id));
- e.putInt(KEY_LIVE_MAP_STRATEGY, old.getInt(KEY_LIVE_MAP_STRATEGY, Strategy.AUTO.id));
- e.putBoolean(KEY_DEBUG, old.getBoolean(KEY_DEBUG, false));
- e.putBoolean(KEY_HIDE_LIVE_MAP_HINT, old.getInt(KEY_HIDE_LIVE_MAP_HINT, 0) != 0);
- e.putInt(KEY_LIVE_MAP_HINT_SHOW_COUNT, old.getInt(KEY_LIVE_MAP_HINT_SHOW_COUNT, 0));
-
- e.putInt(KEY_SETTINGS_VERSION, 1); // mark migrated
- e.commit();
- }
- }
-
- public static void setLanguage(boolean useEnglish) {
- final Configuration config = new Configuration();
- config.locale = useEnglish ? new Locale("en") : Locale.getDefault();
- final Resources resources = cgeoapplication.getInstance().getResources();
- resources.updateConfiguration(config, resources.getDisplayMetrics());
- }
-
- public static boolean isLogin() {
- final String preUsername = sharedPrefs.getString(KEY_USERNAME, null);
- final String prePassword = sharedPrefs.getString(KEY_PASSWORD, null);
-
- return !StringUtils.isBlank(preUsername) && !StringUtils.isBlank(prePassword);
- }
-
- /**
- * Get login and password information.
- *
- * @return a pair (login, password) or null if no valid information is stored
- */
- public static ImmutablePair<String, String> getLogin() {
- if (username == null || password == null) {
- final String preUsername = sharedPrefs.getString(KEY_USERNAME, null);
- final String prePassword = sharedPrefs.getString(KEY_PASSWORD, null);
-
- if (preUsername == null || prePassword == null) {
- return null;
- }
-
- username = preUsername;
- password = prePassword;
- }
- return new ImmutablePair<String, String>(username, password);
- }
-
- public static String getUsername() {
- return username != null ? username : sharedPrefs.getString(KEY_USERNAME, null);
- }
-
- public static boolean setLogin(final String username, final String password) {
- Settings.username = username;
- Settings.password = password;
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
- // erase username and password
- edit.remove(KEY_USERNAME);
- edit.remove(KEY_PASSWORD);
- } else {
- // save username and password
- edit.putString(KEY_USERNAME, username);
- edit.putString(KEY_PASSWORD, password);
- }
- }
- });
- }
-
- public static boolean isGCConnectorActive() {
- return sharedPrefs.getBoolean(KEY_CONNECTOR_GC_ACTIVE, true);
- }
-
- public static boolean setGCConnectorActive(final boolean isActive) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_CONNECTOR_GC_ACTIVE, isActive);
- }
- });
- }
-
- public static boolean isPremiumMember() {
- // Basic Member, Premium Member, ???
- String memberStatus = Settings.getMemberStatus();
- if (memberStatus == null) {
- return false;
- }
- return GCConstants.MEMBER_STATUS_PM.equalsIgnoreCase(memberStatus);
- }
-
- public static String getMemberStatus() {
- return sharedPrefs.getString(KEY_MEMBER_STATUS, "");
- }
-
- public static boolean setMemberStatus(final String memberStatus) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- if (StringUtils.isBlank(memberStatus)) {
- edit.remove(KEY_MEMBER_STATUS);
- } else {
- edit.putString(KEY_MEMBER_STATUS, memberStatus);
- }
- }
- });
- }
-
- public static boolean isOCConnectorActive() {
- return sharedPrefs.getBoolean(KEY_CONNECTOR_OC_ACTIVE, false);
- }
-
- public static boolean setOCConnectorActive(final boolean isActive) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_CONNECTOR_OC_ACTIVE, isActive);
- }
- });
- }
-
- public static String getOCDETokenPublic() {
- return sharedPrefs.getString(KEY_OCDE_TOKEN_PUBLIC, "");
- }
-
- public static String getOCDETokenSecret() {
- return sharedPrefs.getString(KEY_OCDE_TOKEN_SECRET, "");
- }
-
- public static void setOCDETokens(final String tokenPublic, final String tokenSecret, boolean enableOcDe) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_OCDE_TOKEN_PUBLIC, tokenPublic);
- edit.putString(KEY_OCDE_TOKEN_SECRET, tokenSecret);
- if (tokenPublic != null) {
- edit.remove(KEY_TEMP_OCDE_TOKEN_PUBLIC);
- edit.remove(KEY_TEMP_OCDE_TOKEN_SECRET);
- }
- }
- });
- setOCConnectorActive(enableOcDe);
- }
-
- public static void setOCDETempTokens(final String tokenPublic, final String tokenSecret) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_TEMP_OCDE_TOKEN_PUBLIC, tokenPublic);
- edit.putString(KEY_TEMP_OCDE_TOKEN_SECRET, tokenSecret);
- }
- });
- }
-
- public static ImmutablePair<String, String> getTempOCDEToken() {
- String tokenPublic = sharedPrefs.getString(KEY_TEMP_OCDE_TOKEN_PUBLIC, null);
- String tokenSecret = sharedPrefs.getString(KEY_TEMP_OCDE_TOKEN_SECRET, null);
- return new ImmutablePair<String, String>(tokenPublic, tokenSecret);
- }
-
- public static boolean isGCvoteLogin() {
- final String preUsername = sharedPrefs.getString(KEY_USERNAME, null);
- final String prePassword = sharedPrefs.getString(KEY_GCVOTE_PASSWORD, null);
-
- return !StringUtils.isBlank(preUsername) && !StringUtils.isBlank(prePassword);
- }
-
- public static boolean setGCvoteLogin(final String password) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- if (StringUtils.isBlank(password)) {
- // erase password
- edit.remove(KEY_GCVOTE_PASSWORD);
- } else {
- // save password
- edit.putString(KEY_GCVOTE_PASSWORD, password);
- }
- }
- });
- }
-
- public static ImmutablePair<String, String> getGCvoteLogin() {
- final String username = sharedPrefs.getString(KEY_USERNAME, null);
- final String password = sharedPrefs.getString(KEY_GCVOTE_PASSWORD, null);
-
- if (StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
- return null;
- }
-
- return new ImmutablePair<String, String>(username, password);
- }
-
- public static boolean setSignature(final String signature) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- if (StringUtils.isBlank(signature)) {
- // erase signature
- edit.remove(KEY_SIGNATURE);
- } else {
- // save signature
- edit.putString(KEY_SIGNATURE, signature);
- }
- }
- });
- }
-
- public static String getSignature() {
- return sharedPrefs.getString(KEY_SIGNATURE, null);
- }
-
- public static boolean setCookieStore(final String cookies) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(final Editor edit) {
- if (StringUtils.isBlank(cookies)) {
- // erase cookies
- edit.remove(KEY_COOKIE_STORE);
- } else {
- // save cookies
- edit.putString(KEY_COOKIE_STORE, cookies);
- }
- }
- });
- }
-
- public static String getCookieStore() {
- return sharedPrefs.getString(KEY_COOKIE_STORE, null);
- }
-
- /**
- * @param cacheType
- * The cache type used for future filtering
- */
- public static void setCacheType(final CacheType cacheType) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- if (cacheType == null) {
- edit.remove(KEY_CACHE_TYPE);
- } else {
- edit.putString(KEY_CACHE_TYPE, cacheType.id);
- }
- }
- });
- }
-
- public static void setLiveMap(final boolean live) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_MAP_LIVE, live);
- }
- });
- }
-
- public static int getLastList() {
- return sharedPrefs.getInt(KEY_LAST_USED_LIST, StoredList.STANDARD_LIST_ID);
- }
-
- public static void saveLastList(final int listId) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LAST_USED_LIST, listId);
- }
- });
- }
-
- public static void setWebNameCode(final String name, final String code) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
-
- edit.putString(KEY_WEBDEVICE_NAME, name);
- edit.putString(KEY_WEB_DEVICE_CODE, code);
- }
- });
- }
-
- public static MapProvider getMapProvider() {
- if (mapProvider == null) {
- mapProvider = getMapSource().getMapProvider();
- }
- return mapProvider;
- }
-
- public static String getMapFile() {
- return sharedPrefs.getString(KEY_MAPFILE, null);
- }
-
- public static boolean setMapFile(final String mapFile) {
- boolean result = editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_MAPFILE, mapFile);
- }
- });
- if (mapFile != null) {
- setMapFileDirectory(new File(mapFile).getParent());
- }
- return result;
- }
-
- public static String getMapFileDirectory() {
- final String mapDir = sharedPrefs.getString(KEY_MAP_DIRECTORY, null);
- if (mapDir != null) {
- return mapDir;
- }
- final String mapFile = getMapFile();
- if (mapFile != null) {
- return new File(mapFile).getParent();
- }
- return null;
- }
-
- public static boolean setMapFileDirectory(final String mapFileDirectory) {
- return editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_MAP_DIRECTORY, mapFileDirectory);
- MapsforgeMapProvider.getInstance().updateOfflineMaps();
- }
- });
- }
-
- public static boolean isValidMapFile() {
- return isValidMapFile(getMapFile());
- }
-
- public static boolean isValidMapFile(final String mapFileIn) {
- return MapsforgeMapProvider.isValidMapFile(mapFileIn);
- }
-
- public static coordInputFormatEnum getCoordInputFormat() {
- return coordInputFormatEnum.fromInt(sharedPrefs.getInt(KEY_COORD_INPUT_FORMAT, 0));
- }
-
- public static void setCoordInputFormat(final coordInputFormatEnum format) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_COORD_INPUT_FORMAT, format.ordinal());
- }
- });
- }
-
- static void setLogOffline(final boolean offline) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_LOG_OFFLINE, offline);
- }
- });
- }
-
- public static boolean getLogOffline() {
- return sharedPrefs.getBoolean(KEY_LOG_OFFLINE, false);
- }
-
- static void setChooseList(final boolean choose) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_CHOOSE_LIST, choose);
- }
- });
- }
-
- public static boolean getChooseList() {
- return sharedPrefs.getBoolean(KEY_CHOOSE_LIST, false);
- }
-
- static void setLoadDirImg(final boolean value) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_LOAD_DIRECTION_IMG, value);
- }
- });
- }
-
- public static boolean getLoadDirImg() {
- return !isPremiumMember() && sharedPrefs.getBoolean(KEY_LOAD_DIRECTION_IMG, true);
- }
-
- public static void setGcCustomDate(final String format) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_GC_CUSTOM_DATE, format);
- }
- });
- }
-
- /**
- * @return User selected date format on GC.com
- * @see Login#gcCustomDateFormats
- */
- public static String getGcCustomDate() {
- return sharedPrefs.getString(KEY_GC_CUSTOM_DATE, null);
- }
-
- public static boolean isExcludeMyCaches() {
- return sharedPrefs.getBoolean(KEY_EXCLUDE_OWN, false);
- }
-
- /**
- * edit some settings without knowing how to get the settings editor or how to commit
- *
- * @param runnable
- * @return
- */
- private static boolean editSharedSettings(final PrefRunnable runnable) {
- final SharedPreferences.Editor prefsEdit = sharedPrefs.edit();
- runnable.edit(prefsEdit);
- return prefsEdit.commit();
- }
-
- public static void setExcludeMine(final boolean exclude) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_EXCLUDE_OWN, exclude);
- }
- });
- }
-
- public static void setUseEnglish(final boolean english) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_USE_ENGLISH, english);
- setLanguage(english);
- }
- });
- }
-
- public static boolean isUseEnglish() {
- return sharedPrefs.getBoolean(KEY_USE_ENGLISH, false);
- }
-
- public static boolean isShowAddress() {
- return sharedPrefs.getBoolean(KEY_SHOW_ADDRESS, true);
- }
-
- public static void setShowAddress(final boolean showAddress) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_SHOW_ADDRESS, showAddress);
- }
- });
- }
-
- public static boolean isShowCaptcha() {
- return !isPremiumMember() && sharedPrefs.getBoolean(KEY_SHOW_CAPTCHA, false);
- }
-
- public static void setShowCaptcha(final boolean showCaptcha) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_SHOW_CAPTCHA, showCaptcha);
- }
- });
- }
-
- public static boolean isExcludeDisabledCaches() {
- return sharedPrefs.getBoolean(KEY_EXCLUDE_DISABLED, false);
- }
-
- public static void setExcludeDisabledCaches(final boolean exclude) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_EXCLUDE_DISABLED, exclude);
- }
- });
- }
-
- public static boolean isStoreOfflineMaps() {
- return sharedPrefs.getBoolean(KEY_USE_OFFLINEMAPS, true);
- }
-
- public static void setStoreOfflineMaps(final boolean offlineMaps) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_USE_OFFLINEMAPS, offlineMaps);
- }
- });
- }
-
- public static boolean isStoreOfflineWpMaps() {
- return sharedPrefs.getBoolean(KEY_USE_OFFLINEWPMAPS, false);
- }
-
- public static void setStoreOfflineWpMaps(final boolean offlineMaps) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_USE_OFFLINEWPMAPS, offlineMaps);
- }
- });
- }
-
- public static boolean isStoreLogImages() {
- return sharedPrefs.getBoolean(KEY_STORE_LOG_IMAGES, false);
- }
-
- public static void setStoreLogImages(final boolean storeLogImages) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_STORE_LOG_IMAGES, storeLogImages);
- }
- });
- }
-
- public static boolean isAutoLoadDescription() {
- return sharedPrefs.getBoolean(KEY_LOAD_DESCRIPTION, true);
- }
-
- public static void setAutoLoadDesc(final boolean autoLoad) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_LOAD_DESCRIPTION, autoLoad);
- }
- });
- }
-
- public static boolean isRatingWanted() {
- return sharedPrefs.getBoolean(KEY_RATING_WANTED, true);
- }
-
- public static void setRatingWanted(final boolean ratingWanted) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_RATING_WANTED, ratingWanted);
- }
- });
- }
-
- public static boolean isElevationWanted() {
- return sharedPrefs.getBoolean(KEY_ELEVATION_WANTED, false);
- }
-
- public static void setElevationWanted(final boolean elevationWanted) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_ELEVATION_WANTED, elevationWanted);
- }
- });
- }
-
- public static boolean isFriendLogsWanted() {
- if (!isLogin()) {
- // don't show a friends log if the user is anonymous
- return false;
- }
- return sharedPrefs.getBoolean(KEY_FRIENDLOGS_WANTED, true);
- }
-
- public static void setFriendLogsWanted(final boolean friendLogsWanted) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_FRIENDLOGS_WANTED, friendLogsWanted);
- }
- });
- }
-
- public static boolean isLiveList() {
- return sharedPrefs.getBoolean(KEY_LIVE_LIST, true);
- }
-
- public static void setLiveList(final boolean liveList) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_LIVE_LIST, liveList);
- }
- });
- }
-
- public static boolean isTrackableAutoVisit() {
- return sharedPrefs.getBoolean(KEY_AUTO_VISIT_TRACKABLES, false);
- }
-
- public static void setTrackableAutoVisit(final boolean autoVisit) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_AUTO_VISIT_TRACKABLES, autoVisit);
- }
- });
- }
-
- public static boolean isAutoInsertSignature() {
- return sharedPrefs.getBoolean(KEY_AUTO_INSERT_SIGNATURE, false);
- }
-
- public static void setAutoInsertSignature(final boolean autoInsert) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_AUTO_INSERT_SIGNATURE, autoInsert);
- }
- });
- }
-
- public static boolean isUseMetricUnits() {
- return sharedPrefs.getBoolean(KEY_METRIC_UNITS, true);
- }
-
- public static void setUseMetricUnits(final boolean metric) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_METRIC_UNITS, metric);
- }
- });
- }
-
- public static boolean isLiveMap() {
- return sharedPrefs.getBoolean(KEY_MAP_LIVE, true);
- }
-
- public static boolean isMapTrail() {
- return sharedPrefs.getBoolean(KEY_MAP_TRAIL, true);
- }
-
- public static void setMapTrail(final boolean showTrail) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_MAP_TRAIL, showTrail);
- }
- });
- }
-
- public static int getMapZoom() {
- return sharedPrefs.getInt(KEY_LAST_MAP_ZOOM, 14);
- }
-
- public static void setMapZoom(final int mapZoomLevel) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LAST_MAP_ZOOM, mapZoomLevel);
- }
- });
- }
-
- public static GeoPointImpl getMapCenter() {
- return getMapProvider().getMapItemFactory()
- .getGeoPointBase(new Geopoint(sharedPrefs.getInt(KEY_LAST_MAP_LAT, 0) / 1e6,
- sharedPrefs.getInt(KEY_LAST_MAP_LON, 0) / 1e6));
- }
-
- public static void setMapCenter(final GeoPointImpl mapViewCenter) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LAST_MAP_LAT, mapViewCenter.getLatitudeE6());
- edit.putInt(KEY_LAST_MAP_LON, mapViewCenter.getLongitudeE6());
- }
- });
- }
-
- public static MapSource getMapSource() {
- final int id = getConvertedMapId();
- final MapSource map = MapProviderFactory.getMapSource(id);
- if (map != null) {
- // don't use offline maps if the map file is not valid
- if ((!(map instanceof OfflineMapSource)) || (isValidMapFile())) {
- return map;
- }
- }
- // fallback to first available map
- return MapProviderFactory.getDefaultSource();
- }
-
- private final static int GOOGLEMAP_BASEID = 30;
- private final static int MAP = 1;
- private final static int SATELLITE = 2;
-
- private final static int MFMAP_BASEID = 40;
- private final static int MAPNIK = 1;
- private final static int CYCLEMAP = 3;
- private final static int OFFLINE = 4;
-
- /**
- * convert old preference ids for maps (based on constant values) into new hash based ids
- *
- * @return
- */
- private static int getConvertedMapId() {
- final int id = sharedPrefs.getInt(KEY_MAP_SOURCE, 0);
- switch (id) {
- case GOOGLEMAP_BASEID + MAP:
- return GoogleMapProvider.GOOGLE_MAP_ID.hashCode();
- case GOOGLEMAP_BASEID + SATELLITE:
- return GoogleMapProvider.GOOGLE_SATELLITE_ID.hashCode();
- case MFMAP_BASEID + MAPNIK:
- return MapsforgeMapProvider.MAPSFORGE_MAPNIK_ID.hashCode();
- case MFMAP_BASEID + CYCLEMAP:
- return MapsforgeMapProvider.MAPSFORGE_CYCLEMAP_ID.hashCode();
- case MFMAP_BASEID + OFFLINE: {
- final String mapFile = Settings.getMapFile();
- if (StringUtils.isNotEmpty(mapFile)) {
- return mapFile.hashCode();
- }
- break;
- }
- default:
- break;
- }
- return id;
- }
-
- public static void setMapSource(final MapSource newMapSource) {
- if (!MapProviderFactory.isSameActivity(getMapSource(), newMapSource)) {
- mapProvider = null;
- }
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_MAP_SOURCE, newMapSource.getNumericalId());
- }
- });
- if (newMapSource instanceof OfflineMapSource) {
- setMapFile(((OfflineMapSource) newMapSource).getFileName());
- }
- }
-
- public static void setAnyCoordinates(final Geopoint coords) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- if (null != coords) {
- edit.putFloat(KEY_ANYLATITUDE, (float) coords.getLatitude());
- edit.putFloat(KEY_ANYLONGITUDE, (float) coords.getLongitude());
- } else {
- edit.remove(KEY_ANYLATITUDE);
- edit.remove(KEY_ANYLONGITUDE);
- }
- }
- });
-
- }
-
- public static Geopoint getAnyCoordinates() {
- if (sharedPrefs.contains(KEY_ANYLATITUDE) && sharedPrefs.contains(KEY_ANYLONGITUDE)) {
- float lat = sharedPrefs.getFloat(KEY_ANYLATITUDE, 0);
- float lon = sharedPrefs.getFloat(KEY_ANYLONGITUDE, 0);
- return new Geopoint(lat, lon);
- }
- return null;
- }
-
- public static boolean isUseCompass() {
- return sharedPrefs.getBoolean(KEY_USE_COMPASS, true);
- }
-
- public static void setUseCompass(final boolean useCompass) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_USE_COMPASS, useCompass);
- }
- });
- }
-
- public static boolean isHelpShown() {
- return sharedPrefs.getBoolean(KEY_HELP_SHOWN, false);
- }
-
- public static void setHelpShown() {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_HELP_SHOWN, true);
- }
- });
- }
-
- public static boolean isLightSkin() {
- return sharedPrefs.getBoolean(KEY_SKIN, false);
- }
-
- public static void setLightSkin(final boolean lightSkin) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_SKIN, lightSkin);
- }
- });
- }
-
- public static String getKeyConsumerPublic() {
- return keyConsumerPublic;
- }
-
- public static String getKeyConsumerSecret() {
- return keyConsumerSecret;
- }
-
- public static int getAltCorrection() {
- return sharedPrefs.getInt(KEY_ALTITUDE_CORRECTION, 0);
- }
-
- public static boolean setAltCorrection(final int altitude) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_ALTITUDE_CORRECTION, altitude);
- }
- });
- }
-
- public static String getWebDeviceCode() {
- return sharedPrefs.getString(KEY_WEB_DEVICE_CODE, null);
- }
-
- public static String getWebDeviceName() {
- return sharedPrefs.getString(KEY_WEBDEVICE_NAME, null);
- }
-
- /**
- * @return The cache type used for filtering or ALL if no filter is active. Returns never null
- */
- public static CacheType getCacheType() {
- return CacheType.getById(sharedPrefs.getString(KEY_CACHE_TYPE, CacheType.ALL.id));
- }
-
- /**
- * The Threshold for the showing of child waypoints
- *
- * @return
- */
-
- public static int getWayPointsThreshold() {
- return sharedPrefs.getInt(KEY_SHOW_WAYPOINTS_THRESHOLD, 0);
- }
-
- public static void setShowWaypointsThreshold(final int threshold) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_SHOW_WAYPOINTS_THRESHOLD, threshold);
- }
- });
- }
-
- public static boolean isUseTwitter() {
- return sharedPrefs.getBoolean(KEY_USE_TWITTER, false);
- }
-
- public static void setUseTwitter(final boolean useTwitter) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_USE_TWITTER, useTwitter);
- }
- });
- }
-
- public static boolean isTwitterLoginValid() {
- return !StringUtils.isBlank(getTokenPublic()) && !StringUtils.isBlank(getTokenSecret());
- }
-
- public static String getTokenPublic() {
- return sharedPrefs.getString(KEY_TWITTER_TOKEN_PUBLIC, null);
- }
-
- public static String getTokenSecret() {
- return sharedPrefs.getString(KEY_TWITTER_TOKEN_SECRET, null);
-
- }
-
- public static int getVersion() {
- return sharedPrefs.getInt(KEY_VERSION, 0);
- }
-
- public static void setTwitterTokens(final String tokenPublic, final String tokenSecret, boolean enableTwitter) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_TWITTER_TOKEN_PUBLIC, tokenPublic);
- edit.putString(KEY_TWITTER_TOKEN_SECRET, tokenSecret);
- if (tokenPublic != null) {
- edit.remove(KEY_TEMP_TWITTER_TOKEN_PUBLIC);
- edit.remove(KEY_TEMP_TWITTER_TOKEN_SECRET);
- }
- }
- });
- setUseTwitter(enableTwitter);
- }
-
- public static void setTwitterTempTokens(final String tokenPublic, final String tokenSecret) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_TEMP_TWITTER_TOKEN_PUBLIC, tokenPublic);
- edit.putString(KEY_TEMP_TWITTER_TOKEN_SECRET, tokenSecret);
- }
- });
- }
-
- public static ImmutablePair<String, String> getTempToken() {
- String tokenPublic = sharedPrefs.getString(KEY_TEMP_TWITTER_TOKEN_PUBLIC, null);
- String tokenSecret = sharedPrefs.getString(KEY_TEMP_TWITTER_TOKEN_SECRET, null);
- return new ImmutablePair<String, String>(tokenPublic, tokenSecret);
- }
-
- public static void setVersion(final int version) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_VERSION, version);
- }
- });
- }
-
- public static boolean isOpenLastDetailsPage() {
- return sharedPrefs.getBoolean(KEY_OPEN_LAST_DETAILS_PAGE, false);
- }
-
- public static void setOpenLastDetailsPage(final boolean openLastPage) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_OPEN_LAST_DETAILS_PAGE, openLastPage);
- }
- });
- }
-
- public static int getLastDetailsPage() {
- return sharedPrefs.getInt(KEY_LAST_DETAILS_PAGE, 1);
- }
-
- public static void setLastDetailsPage(final int index) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LAST_DETAILS_PAGE, index);
- }
- });
- }
-
- public static int getDefaultNavigationTool() {
- return sharedPrefs.getInt(KEY_DEFAULT_NAVIGATION_TOOL, NavigationAppsEnum.COMPASS.id);
- }
-
- public static void setDefaultNavigationTool(final int defaultNavigationTool) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_DEFAULT_NAVIGATION_TOOL, defaultNavigationTool);
- }
- });
- }
-
- public static int getDefaultNavigationTool2() {
- return sharedPrefs.getInt(KEY_DEFAULT_NAVIGATION_TOOL_2, NavigationAppsEnum.INTERNAL_MAP.id);
- }
-
- public static void setDefaultNavigationTool2(final int defaultNavigationTool) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_DEFAULT_NAVIGATION_TOOL_2, defaultNavigationTool);
- }
- });
- }
-
- public static Strategy getLiveMapStrategy() {
- return Strategy.getById(sharedPrefs.getInt(KEY_LIVE_MAP_STRATEGY, Strategy.AUTO.id));
- }
-
- public static void setLiveMapStrategy(final Strategy strategy) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LIVE_MAP_STRATEGY, strategy.id);
- }
- });
- }
-
- public static boolean isDebug() {
- return Log.isDebug();
- }
-
- public static void setDebug(final boolean debug) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_DEBUG, debug);
- }
- });
- Log.setDebugUnsaved(debug);
- }
-
- public static boolean getHideLiveMapHint() {
- return sharedPrefs.getBoolean(KEY_HIDE_LIVE_MAP_HINT, false);
- }
-
- public static void setHideLiveHint(final boolean hide) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_HIDE_LIVE_MAP_HINT, hide);
- }
- });
- }
-
- public static int getLiveMapHintShowCount() {
- return sharedPrefs.getInt(KEY_LIVE_MAP_HINT_SHOW_COUNT, 0);
- }
-
- public static void setLiveMapHintShowCount(final int showCount) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LIVE_MAP_HINT_SHOW_COUNT, showCount);
- }
- });
- }
-
- public static boolean isDbOnSDCard() {
- return sharedPrefs.getBoolean(KEY_DB_ON_SDCARD, false);
- }
-
- public static void setDbOnSDCard(final boolean dbOnSDCard) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_DB_ON_SDCARD, dbOnSDCard);
- }
- });
- }
-
- public static String getGpxExportDir() {
- return sharedPrefs.getString(KEY_GPX_EXPORT_DIR, Environment.getExternalStorageDirectory().getPath() + "/gpx");
- }
-
- public static void setGpxExportDir(final String gpxExportDir) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_GPX_EXPORT_DIR, gpxExportDir);
- }
- });
- }
-
- public static String getGpxImportDir() {
- return sharedPrefs.getString(KEY_GPX_IMPORT_DIR, Environment.getExternalStorageDirectory().getPath() + "/gpx");
- }
-
- public static void setGpxImportDir(final String gpxImportDir) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_GPX_IMPORT_DIR, gpxImportDir);
- }
- });
- }
-
- public static boolean getShareAfterExport() {
- return sharedPrefs.getBoolean(KEY_SHARE_AFTER_EXPORT, true);
- }
-
- public static void setShareAfterExport(final boolean shareAfterExport) {
- editSharedSettings(new PrefRunnable() {
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_SHARE_AFTER_EXPORT, shareAfterExport);
- }
- });
- }
-
- public static int getTrackableAction() {
- return sharedPrefs.getInt(KEY_LAST_TRACKABLE_ACTION, LogType.RETRIEVED_IT.id);
- }
-
- public static void setTrackableAction(final int trackableAction) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LAST_TRACKABLE_ACTION, trackableAction);
- }
- });
- }
-
- public static String getCustomRenderThemeBaseFolder() {
- return sharedPrefs.getString(KEY_RENDER_THEME_BASE_FOLDER, "");
- }
-
- public static boolean setCustomRenderThemeBaseFolder(final String customRenderThemeBaseFolder) {
- return editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_RENDER_THEME_BASE_FOLDER, customRenderThemeBaseFolder);
- }
- });
- }
-
- public static String getCustomRenderThemeFilePath() {
- return sharedPrefs.getString(KEY_RENDER_THEME_FILE_PATH, "");
- }
-
- public static void setCustomRenderThemeFile(final String customRenderThemeFile) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putString(KEY_RENDER_THEME_FILE_PATH, customRenderThemeFile);
- }
- });
- }
-
- public static File[] getMapThemeFiles() {
-
- File directory = new File(Settings.getCustomRenderThemeBaseFolder());
-
- List<File> result = new ArrayList<File>();
-
- FileUtils.listDir(result, directory, new ExtensionsBasedFileSelector(new String[] { "xml" }), null);
-
- return result.toArray(new File[result.size()]);
- }
-
- private static class ExtensionsBasedFileSelector extends FileSelector {
-
- private final String[] extensions;
-
- public ExtensionsBasedFileSelector(String[] extensions) {
- this.extensions = extensions;
- }
-
- @Override
- public boolean isSelected(File file) {
- String filename = file.getName();
- for (String ext : extensions) {
- if (StringUtils.endsWithIgnoreCase(filename, ext)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public boolean shouldEnd() {
- return false;
- }
- }
-
- public static boolean getPlainLogs() {
- return sharedPrefs.getBoolean(KEY_PLAIN_LOGS, false);
- }
-
- public static void setPlainLogs(final boolean plainLogs) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_PLAIN_LOGS, plainLogs);
- }
- });
- }
-
- public static boolean getUseNativeUa() {
- return sharedPrefs.getBoolean(KEY_NATIVE_UA, false);
- }
-
- public static void setUseNativeUa(final boolean useNativeUa) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putBoolean(KEY_NATIVE_UA, useNativeUa);
- }
- });
- }
-
- public static String getCacheTwitterMessage() {
- // TODO make customizable from UI
- return cacheTwitterMessage;
- }
-
- public static String getTrackableTwitterMessage() {
- // TODO make customizable from UI
- return "I touched [NAME] ([URL])!";
- }
-
- public static void setCacheTwitterMessage(final String message) {
- cacheTwitterMessage = message;
- }
-
- public static int getLogImageScale() {
- return sharedPrefs.getInt(KEY_LOG_IMAGE_SCALE, -1);
- }
-
- public static void setLogImageScale(final int scale) {
- editSharedSettings(new PrefRunnable() {
-
- @Override
- public void edit(Editor edit) {
- edit.putInt(KEY_LOG_IMAGE_SCALE, scale);
- }
- });
- }
-}