aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/settings
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/settings')
-rw-r--r--main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java4
-rw-r--r--main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java4
-rw-r--r--main/src/cgeo/geocaching/settings/Settings.java74
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java104
-rw-r--r--main/src/cgeo/geocaching/settings/TemplateTextPreference.java2
5 files changed, 109 insertions, 79 deletions
diff --git a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
index 917c9c4..b209a70 100644
--- a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
+++ b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java
@@ -70,7 +70,7 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
public ImmutablePair<StatusCode, ? extends Drawable> call() {
return login();
}
- })).subscribe(new Action1<ImmutablePair<StatusCode, ? extends Drawable>>() {
+ })).subscribeOn(Schedulers.io()).subscribe(new Action1<ImmutablePair<StatusCode, ? extends Drawable>>() {
@Override
public void call(final ImmutablePair<StatusCode, ? extends Drawable> loginInfo) {
loginDialog.dismiss();
@@ -86,7 +86,7 @@ public abstract class AbstractCheckCredentialsPreference extends AbstractClickab
}
activity.initBasicMemberPreferences();
}
- }, Schedulers.io());
+ });
return false; // no shared preference has to be changed
}
diff --git a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
index cc2de9f..e899be9 100644
--- a/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
+++ b/main/src/cgeo/geocaching/settings/RegisterSend2CgeoPreference.java
@@ -75,7 +75,7 @@ public class RegisterSend2CgeoPreference extends AbstractClickablePreference {
return Observable.empty();
}
- }).firstOrDefault(0)).subscribe(new Action1<Integer>() {
+ }).firstOrDefault(0)).subscribeOn(Schedulers.io()).subscribe(new Action1<Integer>() {
@Override
public void call(final Integer pin) {
progressDialog.dismiss();
@@ -87,7 +87,7 @@ public class RegisterSend2CgeoPreference extends AbstractClickablePreference {
Dialogs.message(activity, R.string.init_sendToCgeo, R.string.init_sendToCgeo_register_fail);
}
}
- }, Schedulers.io());
+ });
return true;
}
diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java
index 7a4dfdd..0ed5aef 100644
--- a/main/src/cgeo/geocaching/settings/Settings.java
+++ b/main/src/cgeo/geocaching/settings/Settings.java
@@ -39,6 +39,7 @@ import android.preference.PreferenceManager;
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@@ -47,6 +48,7 @@ import java.util.Locale;
*/
public class Settings {
+ private static final char HISTORY_SEPARATOR = ',';
public static final int SHOW_WP_THRESHOLD_DEFAULT = 10;
public static final int SHOW_WP_THRESHOLD_MAX = 50;
private static final int MAP_SOURCE_DEFAULT = GoogleMapProvider.GOOGLE_MAP_ID.hashCode();
@@ -63,7 +65,7 @@ public class Settings {
Min,
Sec;
- public static CoordInputFormatEnum fromInt(int id) {
+ public static CoordInputFormatEnum fromInt(final int id) {
final CoordInputFormatEnum[] values = CoordInputFormatEnum.values();
if (id < 0 || id >= values.length) {
return Min;
@@ -91,7 +93,7 @@ public class Settings {
private static void migrateSettings() {
// migrate from non standard file location and integer based boolean types
- int oldVersion = getInt(R.string.pref_settingsversion, 0);
+ final int oldVersion = getInt(R.string.pref_settingsversion, 0);
if (oldVersion < 1) {
final String oldPreferencesName = "cgeo.pref";
final SharedPreferences old = CgeoApplication.getInstance().getSharedPreferences(oldPreferencesName, Context.MODE_PRIVATE);
@@ -173,13 +175,13 @@ public class Settings {
e.putInt(getKey(R.string.pref_showwaypointsthreshold), wpThreshold);
// KEY_MAP_SOURCE must be string, because it is the key for a ListPreference now
- int ms = sharedPrefs.getInt(getKey(R.string.pref_mapsource), MAP_SOURCE_DEFAULT);
+ final int ms = sharedPrefs.getInt(getKey(R.string.pref_mapsource), MAP_SOURCE_DEFAULT);
e.remove(getKey(R.string.pref_mapsource));
e.putString(getKey(R.string.pref_mapsource), String.valueOf(ms));
// navigation tool ids must be string, because ListPreference uses strings as keys
- int dnt1 = sharedPrefs.getInt(getKey(R.string.pref_defaultNavigationTool), NavigationAppsEnum.COMPASS.id);
- int dnt2 = sharedPrefs.getInt(getKey(R.string.pref_defaultNavigationTool2), NavigationAppsEnum.INTERNAL_MAP.id);
+ final int dnt1 = sharedPrefs.getInt(getKey(R.string.pref_defaultNavigationTool), NavigationAppsEnum.COMPASS.id);
+ final int dnt2 = sharedPrefs.getInt(getKey(R.string.pref_defaultNavigationTool2), NavigationAppsEnum.INTERNAL_MAP.id);
e.remove(getKey(R.string.pref_defaultNavigationTool));
e.remove(getKey(R.string.pref_defaultNavigationTool2));
e.putString(getKey(R.string.pref_defaultNavigationTool), String.valueOf(dnt1));
@@ -258,7 +260,7 @@ public class Settings {
return sharedPrefs.contains(getKey(prefKeyId));
}
- public static void setLanguage(boolean useEnglish) {
+ public static void setLanguage(final boolean useEnglish) {
final Configuration config = new Configuration();
config.locale = useEnglish ? Locale.ENGLISH : Locale.getDefault();
final Resources resources = CgeoApplication.getInstance().getResources();
@@ -346,11 +348,11 @@ public class Settings {
}
}
- public static boolean isOCConnectorActive(int isActivePrefKeyId) {
+ public static boolean isOCConnectorActive(final int isActivePrefKeyId) {
return getBoolean(isActivePrefKeyId, false);
}
- public static boolean hasOCAuthorization(int tokenPublicPrefKeyId, int tokenSecretPrefKeyId) {
+ public static boolean hasOCAuthorization(final int tokenPublicPrefKeyId, final int tokenSecretPrefKeyId) {
return StringUtils.isNotBlank(getString(tokenPublicPrefKeyId, ""))
&& StringUtils.isNotBlank(getString(tokenSecretPrefKeyId, ""));
}
@@ -374,7 +376,7 @@ public class Settings {
}
public static String getSignature() {
- return getString(R.string.pref_signature, null);
+ return getString(R.string.pref_signature, StringUtils.EMPTY);
}
public static boolean setCookieStore(final String cookies) {
@@ -424,7 +426,7 @@ public class Settings {
}
public static boolean setMapFile(final String mapFile) {
- boolean result = putString(R.string.pref_mapfile, mapFile);
+ final boolean result = putString(R.string.pref_mapfile, mapFile);
if (mapFile != null) {
setMapFileDirectory(new File(mapFile).getParent());
}
@@ -444,7 +446,7 @@ public class Settings {
}
public static boolean setMapFileDirectory(final String mapFileDirectory) {
- boolean result = putString(R.string.pref_mapDirectory, mapFileDirectory);
+ final boolean result = putString(R.string.pref_mapDirectory, mapFileDirectory);
MapsforgeMapProvider.getInstance().updateOfflineMaps();
return result;
}
@@ -624,6 +626,7 @@ public class Settings {
private final static int MAPNIK = 1;
private final static int CYCLEMAP = 3;
private final static int OFFLINE = 4;
+ private static final int HISTORY_SIZE = 10;
/**
* convert old preference ids for maps (based on constant values) into new hash based ids
@@ -676,8 +679,8 @@ public class Settings {
public static Geopoint getAnyCoordinates() {
if (contains(R.string.pref_anylatitude) && contains(R.string.pref_anylongitude)) {
- float lat = getFloat(R.string.pref_anylatitude, 0);
- float lon = getFloat(R.string.pref_anylongitude, 0);
+ final float lat = getFloat(R.string.pref_anylatitude, 0);
+ final float lon = getFloat(R.string.pref_anylongitude, 0);
return new Geopoint(lat, lon);
}
return null;
@@ -760,7 +763,7 @@ public class Settings {
}
public static void setTwitterTokens(@Nullable final String tokenPublic,
- @Nullable final String tokenSecret, boolean enableTwitter) {
+ @Nullable final String tokenSecret, final boolean enableTwitter) {
putString(R.string.pref_twitter_token_public, tokenPublic);
putString(R.string.pref_twitter_token_secret, tokenSecret);
if (tokenPublic != null) {
@@ -777,8 +780,8 @@ public class Settings {
}
public static ImmutablePair<String, String> getTempToken() {
- String tokenPublic = getString(R.string.pref_temp_twitter_token_public, null);
- String tokenSecret = getString(R.string.pref_temp_twitter_token_secret, null);
+ final String tokenPublic = getString(R.string.pref_temp_twitter_token_public, null);
+ final String tokenSecret = getString(R.string.pref_temp_twitter_token_secret, null);
return new ImmutablePair<String, String>(tokenPublic, tokenSecret);
}
@@ -889,8 +892,8 @@ public class Settings {
}
public static File[] getMapThemeFiles() {
- File directory = new File(Settings.getCustomRenderThemeBaseFolder());
- List<File> result = new ArrayList<File>();
+ final File directory = new File(Settings.getCustomRenderThemeBaseFolder());
+ final List<File> result = new ArrayList<File>();
FileUtils.listDir(result, directory, new ExtensionsBasedFileSelector(new String[] { "xml" }), null);
return result.toArray(new File[result.size()]);
@@ -898,13 +901,13 @@ public class Settings {
private static class ExtensionsBasedFileSelector extends FileSelector {
private final String[] extensions;
- public ExtensionsBasedFileSelector(String[] extensions) {
+ public ExtensionsBasedFileSelector(final String[] extensions) {
this.extensions = extensions;
}
@Override
- public boolean isSelected(File file) {
- String filename = file.getName();
- for (String ext : extensions) {
+ public boolean isSelected(final File file) {
+ final String filename = file.getName();
+ for (final String ext : extensions) {
if (StringUtils.endsWithIgnoreCase(filename, ext)) {
return true;
}
@@ -970,7 +973,7 @@ public class Settings {
putLong(R.string.pref_fieldNoteExportDate, date);
}
- public static boolean isUseNavigationApp(NavigationAppsEnum navApp) {
+ public static boolean isUseNavigationApp(final NavigationAppsEnum navApp) {
return getBoolean(navApp.preferenceKey, true);
}
@@ -979,7 +982,7 @@ public class Settings {
*
* @param upload
*/
- public static void setFieldNoteExportUpload(boolean upload) {
+ public static void setFieldNoteExportUpload(final boolean upload) {
putBoolean(R.string.pref_fieldNoteExportUpload, upload);
}
@@ -992,7 +995,7 @@ public class Settings {
*
* @param onlyNew
*/
- public static void setFieldNoteExportOnlyNew(boolean onlyNew) {
+ public static void setFieldNoteExportOnlyNew(final boolean onlyNew) {
putBoolean(R.string.pref_fieldNoteExportOnlyNew, onlyNew);
}
@@ -1004,4 +1007,25 @@ public class Settings {
return getString(R.string.pref_ec_icons, "1");
}
+ /* Store last checksum of changelog for changelog display */
+ public static long getLastChangelogChecksum() {
+ return getLong(R.string.pref_changelog_last_checksum, 0);
+ }
+
+ public static void setLastChangelogChecksum(final long checksum) {
+ putLong(R.string.pref_changelog_last_checksum, checksum);
+ }
+
+ public static List<String> getLastOpenedCaches() {
+ final List<String> history = Arrays.asList(StringUtils.split(getString(R.string.pref_caches_history, StringUtils.EMPTY), HISTORY_SEPARATOR));
+ return history.subList(0, Math.min(HISTORY_SIZE, history.size()));
+ }
+
+ public static void addCacheToHistory(@NonNull final String geocode) {
+ final ArrayList<String> history = new ArrayList<String>(getLastOpenedCaches());
+ // bring entry to front, if it already existed
+ history.remove(geocode);
+ history.add(0, geocode);
+ putString(R.string.pref_caches_history, StringUtils.join(history, HISTORY_SEPARATOR));
+ }
}
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index dc1a39d..8f64d77 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -9,11 +9,11 @@ import cgeo.geocaching.activity.ActivityMixin;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory;
import cgeo.geocaching.apps.cache.navi.NavigationAppFactory.NavigationAppsEnum;
import cgeo.geocaching.connector.gc.GCConnector;
-import cgeo.geocaching.connector.gc.GCLogin;
import cgeo.geocaching.files.SimpleDirChooser;
import cgeo.geocaching.maps.MapProviderFactory;
import cgeo.geocaching.maps.interfaces.MapSource;
import cgeo.geocaching.utils.DatabaseBackupUtils;
+import cgeo.geocaching.utils.DebugUtils;
import cgeo.geocaching.utils.Log;
import org.apache.commons.lang3.StringUtils;
@@ -62,7 +62,7 @@ public class SettingsActivity extends PreferenceActivity {
* directory and preference key in onActivityResult() easily just by knowing
* the result code.
*/
- private enum DirChooserType {
+ private static enum DirChooserType {
GPX_IMPORT_DIR(1, R.string.pref_gpxImportDir,
Environment.getExternalStorageDirectory().getPath() + "/gpx", false),
GPX_EXPORT_DIR(2, R.string.pref_gpxExportDir,
@@ -90,21 +90,21 @@ public class SettingsActivity extends PreferenceActivity {
SettingsActivity.addPreferencesFromResource(this, R.xml.preferences);
initPreferences();
- Intent intent = getIntent();
+ final Intent intent = getIntent();
openInitialScreen(intent.getIntExtra(INTENT_OPEN_SCREEN, 0));
}
- private void openInitialScreen(int initialScreen) {
+ private void openInitialScreen(final int initialScreen) {
if (initialScreen == 0) {
return;
}
- PreferenceScreen screen = (PreferenceScreen) getPreference(initialScreen);
+ final PreferenceScreen screen = (PreferenceScreen) getPreference(initialScreen);
if (screen == null) {
return;
}
try {
setPreferenceScreen(screen);
- } catch (RuntimeException e) {
+ } catch (final RuntimeException e) {
Log.e("could not open preferences " + initialScreen, e);
}
}
@@ -129,7 +129,7 @@ public class SettingsActivity extends PreferenceActivity {
initNavigationMenuPreferences();
initMaintenanceButtons();
- for (int k : new int[] { R.string.pref_username, R.string.pref_password,
+ for (final int k : new int[] { R.string.pref_username, R.string.pref_password,
R.string.pref_pass_vote, R.string.pref_signature,
R.string.pref_mapsource, R.string.pref_renderthemepath,
R.string.pref_gpxExportDir, R.string.pref_gpxImportDir,
@@ -143,7 +143,7 @@ public class SettingsActivity extends PreferenceActivity {
}
private void initNavigationMenuPreferences() {
- for (NavigationAppsEnum appEnum : NavigationAppsEnum.values()) {
+ for (final NavigationAppsEnum appEnum : NavigationAppsEnum.values()) {
if (appEnum.app.isInstalled()) {
getPreference(appEnum.preferenceKey).setEnabled(true);
}
@@ -154,7 +154,7 @@ public class SettingsActivity extends PreferenceActivity {
}
private void initServicePreferences() {
- for (OCPreferenceKeys key : OCPreferenceKeys.values()) {
+ for (final OCPreferenceKeys key : OCPreferenceKeys.values()) {
getPreference(key.isActivePrefId).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER);
setWebsite(key.websitePrefId, key.authParams.host);
setServiceScreenSummary(getPreferenceManager(), key.isActivePrefId);
@@ -173,7 +173,7 @@ public class SettingsActivity extends PreferenceActivity {
}
private void setWebsite(final int preferenceKey, final String host) {
- Preference preference = getPreference(preferenceKey);
+ final Preference preference = getPreference(preferenceKey);
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
@@ -183,13 +183,13 @@ public class SettingsActivity extends PreferenceActivity {
});
}
- private static String getServiceSummary(boolean status) {
+ private static String getServiceSummary(final boolean status) {
return status ? CgeoApplication.getInstance().getString(R.string.settings_service_active) : StringUtils.EMPTY;
}
- private static void setServiceScreenSummary(PreferenceManager preferenceManager, final int preferenceKey) {
+ private static void setServiceScreenSummary(final PreferenceManager preferenceManager, final int preferenceKey) {
- String summary = StringUtils.EMPTY;
+ String summary;
switch (preferenceKey) {
case R.string.pref_connectorGCActive:
@@ -206,7 +206,7 @@ public class SettingsActivity extends PreferenceActivity {
break;
default:
if (OCPreferenceKeys.isOCPreference(preferenceKey)) {
- OCPreferenceKeys prefKey = OCPreferenceKeys.getById(preferenceKey);
+ final OCPreferenceKeys prefKey = OCPreferenceKeys.getById(preferenceKey);
summary = getServiceSummary(Settings.isOCConnectorActive(prefKey.isActivePrefId));
preferenceManager.findPreference(getKey(prefKey.prefScreenId)).setSummary(summary);
}
@@ -225,11 +225,11 @@ public class SettingsActivity extends PreferenceActivity {
* Fill the choice list for map sources.
*/
private void initMapSourcePreference() {
- ListPreference pref = (ListPreference) getPreference(R.string.pref_mapsource);
+ final ListPreference pref = (ListPreference) getPreference(R.string.pref_mapsource);
- List<MapSource> mapSources = MapProviderFactory.getMapSources();
- CharSequence[] entries = new CharSequence[mapSources.size()];
- CharSequence[] values = new CharSequence[mapSources.size()];
+ final List<MapSource> mapSources = MapProviderFactory.getMapSources();
+ final CharSequence[] entries = new CharSequence[mapSources.size()];
+ final CharSequence[] values = new CharSequence[mapSources.size()];
for (int i = 0; i < mapSources.size(); ++i) {
entries[i] = mapSources.get(i).getName();
values[i] = String.valueOf(mapSources.get(i).getNumericalId());
@@ -245,8 +245,8 @@ public class SettingsActivity extends PreferenceActivity {
final List<NavigationAppsEnum> apps = NavigationAppFactory.getInstalledDefaultNavigationApps();
- CharSequence[] entries = new CharSequence[apps.size()];
- CharSequence[] values = new CharSequence[apps.size()];
+ final CharSequence[] entries = new CharSequence[apps.size()];
+ final CharSequence[] values = new CharSequence[apps.size()];
for (int i = 0; i < apps.size(); ++i) {
entries[i] = apps.get(i).toString();
values[i] = String.valueOf(apps.get(i).id);
@@ -277,7 +277,7 @@ public class SettingsActivity extends PreferenceActivity {
new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
- Intent i = new Intent(SettingsActivity.this,
+ final Intent i = new Intent(SettingsActivity.this,
SelectMapfileActivity.class);
startActivityForResult(i, R.string.pref_mapDirectory);
return false;
@@ -307,7 +307,7 @@ public class SettingsActivity extends PreferenceActivity {
dirChooser.putExtra(FileManagerIntents.EXTRA_BUTTON_TEXT,
getString(android.R.string.ok));
startActivityForResult(dirChooser, dct.requestCode);
- } catch (android.content.ActivityNotFoundException ex) {
+ } catch (final android.content.ActivityNotFoundException ex) {
// OI file manager not available
final Intent dirChooser = new Intent(this, SimpleDirChooser.class);
dirChooser.putExtra(Intents.EXTRA_START_DIR, startDirectory);
@@ -319,7 +319,7 @@ public class SettingsActivity extends PreferenceActivity {
private void setChosenDirectory(final DirChooserType dct, final Intent data) {
final String directory = new File(data.getData().getPath()).getAbsolutePath();
if (StringUtils.isNotBlank(directory)) {
- Preference p = getPreference(dct.keyId);
+ final Preference p = getPreference(dct.keyId);
if (p == null) {
return;
}
@@ -329,7 +329,7 @@ public class SettingsActivity extends PreferenceActivity {
}
public void initBackupButtons() {
- Preference backup = getPreference(R.string.pref_fakekey_preference_backup);
+ final Preference backup = getPreference(R.string.pref_fakekey_preference_backup);
backup.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
@@ -343,7 +343,7 @@ public class SettingsActivity extends PreferenceActivity {
}
});
- Preference restore = getPreference(R.string.pref_fakekey_preference_restore);
+ final Preference restore = getPreference(R.string.pref_fakekey_preference_restore);
restore.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
@@ -354,14 +354,14 @@ public class SettingsActivity extends PreferenceActivity {
}
public void initMaintenanceButtons() {
- Preference dirMaintenance = getPreference(R.string.pref_fakekey_preference_maintenance_directories);
+ final Preference dirMaintenance = getPreference(R.string.pref_fakekey_preference_maintenance_directories);
dirMaintenance.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(final Preference preference) {
// disable the button, as the cleanup runs in background and should not be invoked a second time
preference.setEnabled(false);
- Resources res = getResources();
+ final Resources res = getResources();
final SettingsActivity activity = SettingsActivity.this;
final ProgressDialog dialog = ProgressDialog.show(activity, res.getString(R.string.init_maintenance), res.getString(R.string.init_maintenance_directories), true, false);
new Thread() {
@@ -380,10 +380,19 @@ public class SettingsActivity extends PreferenceActivity {
return true;
}
});
+ final Preference memoryDumpPref = getPreference(R.string.pref_memory_dump);
+ memoryDumpPref
+ .setOnPreferenceClickListener(new OnPreferenceClickListener() {
+ @Override public boolean onPreferenceClick(
+ final Preference preference) {
+ DebugUtils.createMemoryDump(SettingsActivity.this);
+ return true;
+ }
+ });
}
private void initDbLocationPreference() {
- Preference p = getPreference(R.string.pref_dbonsdcard);
+ final Preference p = getPreference(R.string.pref_dbonsdcard);
p.setPersistent(false);
p.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
@@ -396,7 +405,7 @@ public class SettingsActivity extends PreferenceActivity {
}
private void initDebugPreference() {
- Preference p = getPreference(R.string.pref_debug);
+ final Preference p = getPreference(R.string.pref_debug);
p.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(final Preference preference, final Object newValue) {
@@ -434,7 +443,7 @@ public class SettingsActivity extends PreferenceActivity {
return;
}
final PreferenceScreen screen = (PreferenceScreen) preference;
- ListAdapter adapter = screen.getRootAdapter();
+ final ListAdapter adapter = screen.getRootAdapter();
if (adapter instanceof BaseAdapter) {
((BaseAdapter) adapter).notifyDataSetChanged();
}
@@ -444,7 +453,7 @@ public class SettingsActivity extends PreferenceActivity {
Settings.putString(R.string.pref_webDeviceName, Settings.getWebDeviceName());
}
- public void setAuthTitle(int prefKeyId) {
+ public void setAuthTitle(final int prefKeyId) {
switch (prefKeyId) {
case R.string.pref_fakekey_ocde_authorization:
case R.string.pref_fakekey_ocpl_authorization:
@@ -490,7 +499,7 @@ public class SettingsActivity extends PreferenceActivity {
return;
}
- for (DirChooserType dct : DirChooserType.values()) {
+ for (final DirChooserType dct : DirChooserType.values()) {
if (requestCode == dct.requestCode) {
setChosenDirectory(dct, data);
return;
@@ -501,7 +510,7 @@ public class SettingsActivity extends PreferenceActivity {
case R.string.pref_mapDirectory:
if (data.hasExtra(Intents.EXTRA_MAP_FILE)) {
final String mapFile = data.getStringExtra(Intents.EXTRA_MAP_FILE);
- File file = new File(mapFile);
+ final File file = new File(mapFile);
if (!file.isDirectory()) {
Settings.setMapFile(mapFile);
if (!Settings.isValidMapFile(Settings.getMapFile())) {
@@ -509,8 +518,8 @@ public class SettingsActivity extends PreferenceActivity {
} else {
// Ensure map source preference is updated accordingly.
// TODO: There should be a better way to find and select the map source for a map file
- Integer mapSourceId = mapFile.hashCode();
- ListPreference mapSource = (ListPreference) getPreference(R.string.pref_mapsource);
+ final Integer mapSourceId = mapFile.hashCode();
+ final ListPreference mapSource = (ListPreference) getPreference(R.string.pref_mapsource);
mapSource.setValue(mapSourceId.toString());
VALUE_CHANGE_LISTENER.onPreferenceChange(mapSource, mapSourceId);
}
@@ -526,7 +535,7 @@ public class SettingsActivity extends PreferenceActivity {
case R.string.pref_fakekey_ocnl_authorization:
case R.string.pref_fakekey_ocus_authorization:
case R.string.pref_fakekey_ocro_authorization:
- OCPreferenceKeys key = OCPreferenceKeys.getByAuthId(requestCode);
+ final OCPreferenceKeys key = OCPreferenceKeys.getByAuthId(requestCode);
if (key != null) {
setOCAuthTitle(key);
redrawScreen(key.prefScreenId);
@@ -548,7 +557,7 @@ public class SettingsActivity extends PreferenceActivity {
private static final Preference.OnPreferenceChangeListener VALUE_CHANGE_LISTENER = new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(final Preference preference, final Object value) {
- String stringValue = value.toString();
+ final String stringValue = value.toString();
if (isPreference(preference, R.string.pref_mapsource)) {
// reset the cached map source
@@ -582,10 +591,10 @@ public class SettingsActivity extends PreferenceActivity {
|| isPreference(preference, R.string.pref_connectorOXActive)
|| isPreference(preference, R.string.pref_connectorECActive)) {
// update summary
- boolean boolVal = ((Boolean) value).booleanValue();
- String summary = getServiceSummary(boolVal);
+ final boolean boolVal = (Boolean) value;
+ final String summary = getServiceSummary(boolVal);
if (OCPreferenceKeys.isOCPreference(preference.getKey())) {
- OCPreferenceKeys prefKey = OCPreferenceKeys.getByKey(preference.getKey());
+ final OCPreferenceKeys prefKey = OCPreferenceKeys.getByKey(preference.getKey());
preference.getPreferenceManager().findPreference(getKey(prefKey.prefScreenId)).setSummary(summary);
} else if (isPreference(preference, R.string.pref_connectorGCActive)) {
preference.getPreferenceManager().findPreference(getKey(R.string.preference_screen_gc)).setSummary(summary);
@@ -600,8 +609,8 @@ public class SettingsActivity extends PreferenceActivity {
} else if (preference instanceof ListPreference) {
// For list preferences, look up the correct display value in
// the preference's 'entries' list.
- ListPreference listPreference = (ListPreference) preference;
- int index = listPreference.findIndexOfValue(stringValue);
+ final ListPreference listPreference = (ListPreference) preference;
+ final int index = listPreference.findIndexOfValue(stringValue);
// Set the summary to reflect the new value.
preference.setSummary(
@@ -625,9 +634,6 @@ public class SettingsActivity extends PreferenceActivity {
// TODO: do not special case geocaching.com here
if ((isPreference(preference, R.string.pref_username) && !stringValue.equals(Settings.getUsername())) || (isPreference(preference, R.string.pref_password) && !stringValue.equals(Settings.getGcCredentials().getRight()))) {
// reset log-in if gc user or password is changed
- if (GCLogin.getInstance().isActualLoginStatus()) {
- GCLogin.getInstance().logout();
- }
CgeoApplication.getInstance().forceRelog();
}
return true;
@@ -662,12 +668,12 @@ public class SettingsActivity extends PreferenceActivity {
*/
private void bindSummaryToStringValue(final int key) {
- Preference pref = getPreference(key);
+ final Preference pref = getPreference(key);
if (pref == null) {
return;
}
- String value = PreferenceManager
+ final String value = PreferenceManager
.getDefaultSharedPreferences(pref.getContext())
.getString(pref.getKey(), "");
@@ -686,7 +692,7 @@ public class SettingsActivity extends PreferenceActivity {
@SuppressWarnings("deprecation")
@Override
- public void setPreferenceScreen(PreferenceScreen preferenceScreen) {
+ public void setPreferenceScreen(final PreferenceScreen preferenceScreen) {
// TODO replace with fragment based code
super.setPreferenceScreen(preferenceScreen);
}
@@ -698,7 +704,7 @@ public class SettingsActivity extends PreferenceActivity {
return super.getPreferenceManager();
}
- private static boolean isPreference(final Preference preference, int preferenceKeyId) {
+ private static boolean isPreference(final Preference preference, final int preferenceKeyId) {
return getKey(preferenceKeyId).equals(preference.getKey());
}
}
diff --git a/main/src/cgeo/geocaching/settings/TemplateTextPreference.java b/main/src/cgeo/geocaching/settings/TemplateTextPreference.java
index 667b02b..1f420ef 100644
--- a/main/src/cgeo/geocaching/settings/TemplateTextPreference.java
+++ b/main/src/cgeo/geocaching/settings/TemplateTextPreference.java
@@ -58,7 +58,7 @@ public class TemplateTextPreference extends DialogPreference {
public void onClick(View button) {
AlertDialog.Builder alert = new AlertDialog.Builder(TemplateTextPreference.this.getContext());
alert.setTitle(R.string.init_signature_template_button);
- final ArrayList<LogTemplate> templates = LogTemplateProvider.getTemplates();
+ final ArrayList<LogTemplate> templates = LogTemplateProvider.getTemplatesWithoutSignature();
String[] items = new String[templates.size()];
for (int i = 0; i < templates.size(); i++) {
items[i] = settingsActivity.getResources().getString(templates.get(i).getResourceId());