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.java32
1 files changed, 25 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java
index 23ae7bd..1fc2ba4 100644
--- a/main/src/cgeo/geocaching/settings/SettingsActivity.java
+++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java
@@ -38,7 +38,9 @@ import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View;
+import android.widget.BaseAdapter;
import android.widget.EditText;
+import android.widget.ListAdapter;
import java.io.File;
import java.util.ArrayList;
@@ -156,7 +158,7 @@ public class SettingsActivity extends PreferenceActivity {
}
};
- // workaround, because OnContextItemSelected nor onMenuItemSelected is never called
+ // workaround, because OnContextItemSelected and onMenuItemSelected are never called
void setSignatureTextView(final EditText view) {
this.signatureText = view;
}
@@ -364,18 +366,34 @@ public class SettingsActivity extends PreferenceActivity {
});
}
- private void initBasicMemberPreferences() {
- SettingsActivity.findPreference(this, getKey(R.string.pref_loaddirectionimg)).setEnabled(
- !Settings.isPremiumMember());
- SettingsActivity.findPreference(this, getKey(R.string.pref_showcaptcha)).setEnabled(
- !Settings.isPremiumMember());
+ void initBasicMemberPreferences() {
+ SettingsActivity.findPreference(this, getKey(R.string.pref_fakekey_basicmembers_screen))
+ .setEnabled(!Settings.isPremiumMember());
+ SettingsActivity.findPreference(this, getKey(R.string.pref_loaddirectionimg))
+ .setEnabled(!Settings.isPremiumMember());
+ SettingsActivity.findPreference(this, getKey(R.string.pref_showcaptcha))
+ .setEnabled(!Settings.isPremiumMember());
+
+ redrawScreen(R.string.pref_fakekey_services_screen);
+ }
+
+ private void redrawScreen(int key) {
+ PreferenceScreen screen = (PreferenceScreen) SettingsActivity
+ .findPreference(this, getKey(key));
+ if (screen == null) {
+ return;
+ }
+ ListAdapter adapter = screen.getRootAdapter();
+ if (adapter instanceof BaseAdapter) {
+ ((BaseAdapter) adapter).notifyDataSetChanged();
+ }
}
private static void initSend2CgeoPreferences() {
Settings.putString(R.string.pref_webDeviceName, Settings.getWebDeviceName());
}
- public static void startWithServicesPage(final Context fromActivity) {
+ public static void jumpToServicesPage(final Context fromActivity) {
final Intent intent = new Intent(fromActivity, SettingsActivity.class);
intent.putExtra(INTENT_GOTO, INTENT_GOTO_SERVICES);
fromActivity.startActivity(intent);