aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-09-15 09:15:53 +0200
committerBananeweizen <bananeweizen@gmx.de>2013-09-15 09:15:53 +0200
commit1965b3eebd7db9919b1244d90d64b61b14d1a133 (patch)
tree001646b1e0881b908b17de6f8f4006d053e1a7be /main
parentaa43aab80fd3b34a7a0d7a9478de86507c6ecc5a (diff)
downloadcgeo-1965b3eebd7db9919b1244d90d64b61b14d1a133.zip
cgeo-1965b3eebd7db9919b1244d90d64b61b14d1a133.tar.gz
cgeo-1965b3eebd7db9919b1244d90d64b61b14d1a133.tar.bz2
refactoring: remove duplicated code
* AuthorizeTwitterPreference and AuthorizeOcPreference do the same
Diffstat (limited to 'main')
-rw-r--r--main/res/xml/preferences.xml6
-rw-r--r--main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java46
-rw-r--r--main/src/cgeo/geocaching/settings/OAuthPreference.java (renamed from main/src/cgeo/geocaching/settings/AuthorizeOcPreference.java)38
-rw-r--r--main/src/cgeo/geocaching/settings/SettingsActivity.java3
4 files changed, 26 insertions, 67 deletions
diff --git a/main/res/xml/preferences.xml b/main/res/xml/preferences.xml
index 4773acf..6001783 100644
--- a/main/res/xml/preferences.xml
+++ b/main/res/xml/preferences.xml
@@ -82,7 +82,7 @@
android:layout="@layout/text_preference"
android:text="@string/init_oc_de_description" />
- <cgeo.geocaching.settings.AuthorizeOcPreference
+ <cgeo.geocaching.settings.OAuthPreference
android:dependency="@string/pref_connectorOCActive"
android:key="@string/pref_fakekey_ocde_authorization" />
</PreferenceCategory>
@@ -104,7 +104,7 @@
android:layout="@layout/text_preference"
android:text="@string/init_oc_pl_description" />
- <cgeo.geocaching.settings.AuthorizeOcPreference
+ <cgeo.geocaching.settings.OAuthPreference
android:dependency="@string/pref_connectorOCPLActive"
android:key="@string/pref_fakekey_ocpl_authorization" />
</PreferenceCategory>
@@ -167,7 +167,7 @@
android:layout="@layout/text_preference"
android:text="@string/about_twitter" />
- <cgeo.geocaching.settings.AuthorizeTwitterPreference
+ <cgeo.geocaching.settings.OAuthPreference
android:dependency="@string/pref_twitter"
android:key="@string/pref_fakekey_twitter_authorization" />
</PreferenceScreen>
diff --git a/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java b/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java
deleted file mode 100644
index 1fdd0de..0000000
--- a/main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package cgeo.geocaching.settings;
-
-import cgeo.geocaching.R;
-import cgeo.geocaching.twitter.TwitterAuthorizationActivity;
-
-import android.content.Context;
-import android.content.Intent;
-import android.preference.Preference;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewGroup;
-
-public class AuthorizeTwitterPreference extends Preference {
-
- public AuthorizeTwitterPreference(Context context) {
- super(context);
- }
-
- public AuthorizeTwitterPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- }
-
- public AuthorizeTwitterPreference(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- }
-
- @Override
- protected View onCreateView(ViewGroup parent) {
- final SettingsActivity activity = (SettingsActivity) getContext();
-
- setOnPreferenceClickListener(new OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
- Intent authIntent = new Intent(preference.getContext(),
- TwitterAuthorizationActivity.class);
- activity.startActivityForResult(authIntent,
- R.string.pref_fakekey_twitter_authorization);
-
- return false; // no shared preference has to be changed
- }
- });
-
- activity.setTwitterAuthTitle();
- return super.onCreateView(parent);
- }
-}
diff --git a/main/src/cgeo/geocaching/settings/AuthorizeOcPreference.java b/main/src/cgeo/geocaching/settings/OAuthPreference.java
index ddf349e..3550947 100644
--- a/main/src/cgeo/geocaching/settings/AuthorizeOcPreference.java
+++ b/main/src/cgeo/geocaching/settings/OAuthPreference.java
@@ -4,6 +4,7 @@ import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.R;
import cgeo.geocaching.connector.oc.OCDEAuthorizationActivity;
import cgeo.geocaching.connector.oc.OCPLAuthorizationActivity;
+import cgeo.geocaching.twitter.TwitterAuthorizationActivity;
import android.content.Context;
import android.content.Intent;
@@ -12,49 +13,50 @@ import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
-public class AuthorizeOcPreference extends Preference {
+public class OAuthPreference extends Preference {
private static final int NO_KEY = -1;
- private enum OCAuthorizations {
+ private enum OAuthActivityMapping {
NONE(NO_KEY, null),
OCDE(R.string.pref_fakekey_ocde_authorization, OCDEAuthorizationActivity.class),
- OCPL(R.string.pref_fakekey_ocpl_authorization, OCPLAuthorizationActivity.class);
+ OCPL(R.string.pref_fakekey_ocpl_authorization, OCPLAuthorizationActivity.class),
+ TWITTER(R.string.pref_fakekey_twitter_authorization, TwitterAuthorizationActivity.class);
public int prefKeyId;
public Class<?> authActivity;
- OCAuthorizations(int prefKeyId, Class<?> clazz) {
+ OAuthActivityMapping(int prefKeyId, Class<?> clazz) {
this.prefKeyId = prefKeyId;
this.authActivity = clazz;
}
}
- private final OCAuthorizations ocAuth;
+ private final OAuthActivityMapping oAuthMapping;
- private OCAuthorizations getAuthorization() {
+ private OAuthActivityMapping getAuthorization() {
final String prefKey = getKey();
- for (OCAuthorizations auth : OCAuthorizations.values()) {
+ for (OAuthActivityMapping auth : OAuthActivityMapping.values()) {
if (auth.prefKeyId != NO_KEY && prefKey.equals(CgeoApplication.getInstance().getString(auth.prefKeyId))) {
return auth;
}
}
- return OCAuthorizations.NONE;
+ return OAuthActivityMapping.NONE;
}
- public AuthorizeOcPreference(Context context) {
+ public OAuthPreference(Context context) {
super(context);
- this.ocAuth = getAuthorization();
+ this.oAuthMapping = getAuthorization();
}
- public AuthorizeOcPreference(Context context, AttributeSet attrs) {
+ public OAuthPreference(Context context, AttributeSet attrs) {
super(context, attrs);
- this.ocAuth = getAuthorization();
+ this.oAuthMapping = getAuthorization();
}
- public AuthorizeOcPreference(Context context, AttributeSet attrs, int defStyle) {
+ public OAuthPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
- this.ocAuth = getAuthorization();
+ this.oAuthMapping = getAuthorization();
}
@Override
@@ -64,17 +66,17 @@ public class AuthorizeOcPreference extends Preference {
setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
- if (ocAuth.authActivity != null) {
+ if (oAuthMapping.authActivity != null) {
Intent authIntent = new Intent(preference.getContext(),
- ocAuth.authActivity);
+ oAuthMapping.authActivity);
activity.startActivityForResult(authIntent,
- ocAuth.prefKeyId);
+ oAuthMapping.prefKeyId);
}
return false; // no shared preference has to be changed
}
});
- activity.setOcAuthTitle(ocAuth.prefKeyId);
+ activity.setOcAuthTitle(oAuthMapping.prefKeyId);
return super.onCreateView(parent);
}
}
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index e2b9b9b..df9e36f 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -407,6 +407,9 @@ public class SettingsActivity extends PreferenceActivity {
case R.string.pref_fakekey_ocpl_authorization:
setOCPLAuthTitle();
break;
+ case R.string.pref_fakekey_twitter_authorization:
+ setTwitterAuthTitle();
+ break;
default:
Log.e(String.format(Locale.ENGLISH, "Invalid key %d in SettingsActivity.setTitle()", prefKeyId));
}