diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-02-20 11:08:19 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-02-22 12:46:59 +0100 |
| commit | 9f11130b9f15ef8c3036248d056c658d90bedabb (patch) | |
| tree | d2bdf5d8fba08009340fe0ec830bc016a134455b /main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java | |
| parent | 6e4235b1304060dce66d72dc9621e22929de0773 (diff) | |
| download | cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.zip cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.tar.gz cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.tar.bz2 | |
refactoring: factor out common code in preferences
Diffstat (limited to 'main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java index d3aae5c..9508c26 100644 --- a/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java +++ b/main/src/cgeo/geocaching/settings/AbstractCheckCredentialsPreference.java @@ -19,14 +19,8 @@ import android.os.Handler; import android.os.Message; import android.preference.Preference; import android.util.AttributeSet; -import android.view.View; -import android.view.ViewGroup; -public abstract class AbstractCheckCredentialsPreference extends Preference { - - public AbstractCheckCredentialsPreference(Context context) { - super(context); - } +public abstract class AbstractCheckCredentialsPreference extends AbstractClickablePreference { public AbstractCheckCredentialsPreference(Context context, AttributeSet attrs) { super(context, attrs); @@ -37,9 +31,8 @@ public abstract class AbstractCheckCredentialsPreference extends Preference { } @Override - protected View onCreateView(ViewGroup parent) { - setOnPreferenceClickListener(new LoginCheckClickListener()); - return super.onCreateView(parent); + protected OnPreferenceClickListener getOnPreferenceClickListener(final SettingsActivity activity) { + return new LoginCheckClickListener(activity); } protected abstract ImmutablePair<String, String> getCredentials(); @@ -47,8 +40,13 @@ public abstract class AbstractCheckCredentialsPreference extends Preference { protected abstract Object login(); private class LoginCheckClickListener implements OnPreferenceClickListener { - private Resources res; - private SettingsActivity activity; + final private Resources res; + final private SettingsActivity activity; + + LoginCheckClickListener(final SettingsActivity activity) { + this.activity = activity; + this.res = activity.getResources(); + } private ProgressDialog loginDialog; @SuppressLint("HandlerLeak") @@ -84,10 +82,7 @@ public abstract class AbstractCheckCredentialsPreference extends Preference { @Override public boolean onPreferenceClick(Preference preference) { - this.activity = (SettingsActivity) AbstractCheckCredentialsPreference.this.getContext(); - this.res = activity.getResources(); - - ImmutablePair<String, String> credentials = getCredentials(); + final ImmutablePair<String, String> credentials = getCredentials(); // check credentials for validity if (StringUtils.isBlank(credentials.getLeft()) |
