aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/settings/SettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/settings/SettingsActivity.java')
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java43
1 files changed, 33 insertions, 10 deletions
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 7c0da1e..daef9af 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -46,6 +46,7 @@ import android.widget.ListAdapter;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
/**
* A {@link PreferenceActivity} that presents a set of application settings. On
@@ -64,10 +65,6 @@ public class SettingsActivity extends PreferenceActivity {
private static final String INTENT_GOTO = "GOTO";
private static final int INTENT_GOTO_SERVICES = 1;
- private static final int DIR_CHOOSER_MAPS_DIRECTORY_REQUEST = 4;
- static final int OAUTH_OCDE_REQUEST = 5;
- static final int OAUTH_TWITTER_REQUEST = 6;
-
private EditText signatureText;
/**
@@ -140,6 +137,7 @@ public class SettingsActivity extends PreferenceActivity {
private void initServicePreferences() {
getPreference(R.string.pref_connectorOCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER);
+ getPreference(R.string.pref_connectorOCPLActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER);
getPreference(R.string.pref_connectorGCActive).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER);
}
@@ -247,7 +245,7 @@ public class SettingsActivity extends PreferenceActivity {
public boolean onPreferenceClick(final Preference preference) {
Intent i = new Intent(SettingsActivity.this,
SelectMapfileActivity.class);
- startActivityForResult(i, DIR_CHOOSER_MAPS_DIRECTORY_REQUEST);
+ startActivityForResult(i, R.string.pref_mapDirectory);
return false;
}
});
@@ -398,13 +396,34 @@ public class SettingsActivity extends PreferenceActivity {
Settings.putString(R.string.pref_webDeviceName, Settings.getWebDeviceName());
}
+ public void setOcAuthTitle(int prefKeyId) {
+ //TODO: Generalize!
+ switch (prefKeyId) {
+ case R.string.pref_fakekey_ocde_authorization:
+ setOCDEAuthTitle();
+ break;
+ case R.string.pref_fakekey_ocpl_authorization:
+ setOCPLAuthTitle();
+ break;
+ default:
+ Log.e(String.format(Locale.ENGLISH, "Invalid key %d in SettingsActivity.setTitle()", prefKeyId));
+ }
+ }
+
void setOCDEAuthTitle() {
getPreference(R.string.pref_fakekey_ocde_authorization)
- .setTitle(getString(Settings.hasOCDEAuthorization()
+ .setTitle(getString(Settings.hasOCAuthorization(R.string.pref_ocde_tokenpublic, R.string.pref_ocde_tokensecret)
? R.string.init_reregister_oc_de
: R.string.init_register_oc_de));
}
+ void setOCPLAuthTitle() {
+ getPreference(R.string.pref_fakekey_ocpl_authorization)
+ .setTitle(getString(Settings.hasOCAuthorization(R.string.pref_ocpl_tokenpublic, R.string.pref_ocpl_tokensecret)
+ ? R.string.init_reregister_oc_pl
+ : R.string.init_register_oc_pl));
+ }
+
void setTwitterAuthTitle() {
getPreference(R.string.pref_fakekey_twitter_authorization)
.setTitle(getString(Settings.hasTwitterAuthorization()
@@ -433,7 +452,7 @@ public class SettingsActivity extends PreferenceActivity {
}
switch (requestCode) {
- case DIR_CHOOSER_MAPS_DIRECTORY_REQUEST:
+ case R.string.pref_mapDirectory:
if (data.hasExtra(Intents.EXTRA_MAP_FILE)) {
final String mapFile = data.getStringExtra(Intents.EXTRA_MAP_FILE);
Settings.setMapFile(mapFile);
@@ -445,11 +464,15 @@ public class SettingsActivity extends PreferenceActivity {
getPreference(R.string.pref_mapDirectory).setSummary(
Settings.getMapFileDirectory());
break;
- case OAUTH_OCDE_REQUEST:
+ case R.string.pref_fakekey_ocde_authorization:
setOCDEAuthTitle();
redrawScreen(R.string.pref_fakekey_services_screen);
break;
- case OAUTH_TWITTER_REQUEST:
+ case R.string.pref_fakekey_ocpl_authorization:
+ setOCPLAuthTitle();
+ redrawScreen(R.string.pref_fakekey_services_screen);
+ break;
+ case R.string.pref_fakekey_twitter_authorization:
setTwitterAuthTitle();
redrawScreen(R.string.pref_fakekey_services_screen);
break;
@@ -508,7 +531,7 @@ public class SettingsActivity extends PreferenceActivity {
cgeoapplication.getInstance().checkLogin = true;
}
// reset log-in status if connector activation was changed
- if (isPreference(preference, R.string.pref_connectorOCActive) || isPreference(preference, R.string.pref_connectorGCActive)) {
+ if (isPreference(preference, R.string.pref_connectorOCActive) || isPreference(preference, R.string.pref_connectorOCPLActive) || isPreference(preference, R.string.pref_connectorGCActive)) {
cgeoapplication.getInstance().checkLogin = true;
}
return true;