diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-09-15 09:15:53 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-09-15 09:15:53 +0200 |
| commit | 1965b3eebd7db9919b1244d90d64b61b14d1a133 (patch) | |
| tree | 001646b1e0881b908b17de6f8f4006d053e1a7be /main | |
| parent | aa43aab80fd3b34a7a0d7a9478de86507c6ecc5a (diff) | |
| download | cgeo-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.xml | 6 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/settings/AuthorizeTwitterPreference.java | 46 | ||||
| -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.java | 3 |
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)); } |
