diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-06-11 20:22:39 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-06-11 20:22:39 +0200 |
| commit | 971fa59aec0bc53f32896cfff8f83196a26cf209 (patch) | |
| tree | 092ce248e4e7b8b518e4e1506b243adad11e9c62 /main/src/cgeo/geocaching/settings/SettingsActivity.java | |
| parent | 1e1ecc4c9514fbb2eb6fe273968ec9b57aa8f614 (diff) | |
| download | cgeo-971fa59aec0bc53f32896cfff8f83196a26cf209.zip cgeo-971fa59aec0bc53f32896cfff8f83196a26cf209.tar.gz cgeo-971fa59aec0bc53f32896cfff8f83196a26cf209.tar.bz2 | |
fix #3855: remove overflow menu option
Diffstat (limited to 'main/src/cgeo/geocaching/settings/SettingsActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/SettingsActivity.java | 99 |
1 files changed, 44 insertions, 55 deletions
diff --git a/main/src/cgeo/geocaching/settings/SettingsActivity.java b/main/src/cgeo/geocaching/settings/SettingsActivity.java index b8c298b..8f64d77 100644 --- a/main/src/cgeo/geocaching/settings/SettingsActivity.java +++ b/main/src/cgeo/geocaching/settings/SettingsActivity.java @@ -90,32 +90,21 @@ public class SettingsActivity extends PreferenceActivity { SettingsActivity.addPreferencesFromResource(this, R.xml.preferences); initPreferences(); - /* Remove the show overflow preference on Android version where the platform always or never - * shows the overflow menu and the app cannot influence the behaviour - */ - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB || Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) { - Preference pref = findPreference(this, getString(R.string.pref_alwaysshowoverflowmenu)); - PreferenceScreen appearence = (PreferenceScreen) findPreference(this, getString(R.string.pref_appearance)); - appearence.removePreference(pref); - - } - Intent intent = getIntent(); + final Intent intent = getIntent(); openInitialScreen(intent.getIntExtra(INTENT_OPEN_SCREEN, 0)); - - } - private void openInitialScreen(int initialScreen) { + private void openInitialScreen(final int initialScreen) { if (initialScreen == 0) { return; } - PreferenceScreen screen = (PreferenceScreen) getPreference(initialScreen); + final PreferenceScreen screen = (PreferenceScreen) getPreference(initialScreen); if (screen == null) { return; } try { setPreferenceScreen(screen); - } catch (RuntimeException e) { + } catch (final RuntimeException e) { Log.e("could not open preferences " + initialScreen, e); } } @@ -140,7 +129,7 @@ public class SettingsActivity extends PreferenceActivity { initNavigationMenuPreferences(); initMaintenanceButtons(); - for (int k : new int[] { R.string.pref_username, R.string.pref_password, + for (final int k : new int[] { R.string.pref_username, R.string.pref_password, R.string.pref_pass_vote, R.string.pref_signature, R.string.pref_mapsource, R.string.pref_renderthemepath, R.string.pref_gpxExportDir, R.string.pref_gpxImportDir, @@ -154,7 +143,7 @@ public class SettingsActivity extends PreferenceActivity { } private void initNavigationMenuPreferences() { - for (NavigationAppsEnum appEnum : NavigationAppsEnum.values()) { + for (final NavigationAppsEnum appEnum : NavigationAppsEnum.values()) { if (appEnum.app.isInstalled()) { getPreference(appEnum.preferenceKey).setEnabled(true); } @@ -165,7 +154,7 @@ public class SettingsActivity extends PreferenceActivity { } private void initServicePreferences() { - for (OCPreferenceKeys key : OCPreferenceKeys.values()) { + for (final OCPreferenceKeys key : OCPreferenceKeys.values()) { getPreference(key.isActivePrefId).setOnPreferenceChangeListener(VALUE_CHANGE_LISTENER); setWebsite(key.websitePrefId, key.authParams.host); setServiceScreenSummary(getPreferenceManager(), key.isActivePrefId); @@ -184,7 +173,7 @@ public class SettingsActivity extends PreferenceActivity { } private void setWebsite(final int preferenceKey, final String host) { - Preference preference = getPreference(preferenceKey); + final Preference preference = getPreference(preferenceKey); preference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { @@ -194,11 +183,11 @@ public class SettingsActivity extends PreferenceActivity { }); } - private static String getServiceSummary(boolean status) { + private static String getServiceSummary(final boolean status) { return status ? CgeoApplication.getInstance().getString(R.string.settings_service_active) : StringUtils.EMPTY; } - private static void setServiceScreenSummary(PreferenceManager preferenceManager, final int preferenceKey) { + private static void setServiceScreenSummary(final PreferenceManager preferenceManager, final int preferenceKey) { String summary; @@ -217,7 +206,7 @@ public class SettingsActivity extends PreferenceActivity { break; default: if (OCPreferenceKeys.isOCPreference(preferenceKey)) { - OCPreferenceKeys prefKey = OCPreferenceKeys.getById(preferenceKey); + final OCPreferenceKeys prefKey = OCPreferenceKeys.getById(preferenceKey); summary = getServiceSummary(Settings.isOCConnectorActive(prefKey.isActivePrefId)); preferenceManager.findPreference(getKey(prefKey.prefScreenId)).setSummary(summary); } @@ -236,11 +225,11 @@ public class SettingsActivity extends PreferenceActivity { * Fill the choice list for map sources. */ private void initMapSourcePreference() { - ListPreference pref = (ListPreference) getPreference(R.string.pref_mapsource); + final ListPreference pref = (ListPreference) getPreference(R.string.pref_mapsource); - List<MapSource> mapSources = MapProviderFactory.getMapSources(); - CharSequence[] entries = new CharSequence[mapSources.size()]; - CharSequence[] values = new CharSequence[mapSources.size()]; + final List<MapSource> mapSources = MapProviderFactory.getMapSources(); + final CharSequence[] entries = new CharSequence[mapSources.size()]; + final CharSequence[] values = new CharSequence[mapSources.size()]; for (int i = 0; i < mapSources.size(); ++i) { entries[i] = mapSources.get(i).getName(); values[i] = String.valueOf(mapSources.get(i).getNumericalId()); @@ -256,8 +245,8 @@ public class SettingsActivity extends PreferenceActivity { final List<NavigationAppsEnum> apps = NavigationAppFactory.getInstalledDefaultNavigationApps(); - CharSequence[] entries = new CharSequence[apps.size()]; - CharSequence[] values = new CharSequence[apps.size()]; + final CharSequence[] entries = new CharSequence[apps.size()]; + final CharSequence[] values = new CharSequence[apps.size()]; for (int i = 0; i < apps.size(); ++i) { entries[i] = apps.get(i).toString(); values[i] = String.valueOf(apps.get(i).id); @@ -288,7 +277,7 @@ public class SettingsActivity extends PreferenceActivity { new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { - Intent i = new Intent(SettingsActivity.this, + final Intent i = new Intent(SettingsActivity.this, SelectMapfileActivity.class); startActivityForResult(i, R.string.pref_mapDirectory); return false; @@ -318,7 +307,7 @@ public class SettingsActivity extends PreferenceActivity { dirChooser.putExtra(FileManagerIntents.EXTRA_BUTTON_TEXT, getString(android.R.string.ok)); startActivityForResult(dirChooser, dct.requestCode); - } catch (android.content.ActivityNotFoundException ex) { + } catch (final android.content.ActivityNotFoundException ex) { // OI file manager not available final Intent dirChooser = new Intent(this, SimpleDirChooser.class); dirChooser.putExtra(Intents.EXTRA_START_DIR, startDirectory); @@ -330,7 +319,7 @@ public class SettingsActivity extends PreferenceActivity { private void setChosenDirectory(final DirChooserType dct, final Intent data) { final String directory = new File(data.getData().getPath()).getAbsolutePath(); if (StringUtils.isNotBlank(directory)) { - Preference p = getPreference(dct.keyId); + final Preference p = getPreference(dct.keyId); if (p == null) { return; } @@ -340,7 +329,7 @@ public class SettingsActivity extends PreferenceActivity { } public void initBackupButtons() { - Preference backup = getPreference(R.string.pref_fakekey_preference_backup); + final Preference backup = getPreference(R.string.pref_fakekey_preference_backup); backup.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { @@ -354,7 +343,7 @@ public class SettingsActivity extends PreferenceActivity { } }); - Preference restore = getPreference(R.string.pref_fakekey_preference_restore); + final Preference restore = getPreference(R.string.pref_fakekey_preference_restore); restore.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { @@ -365,14 +354,14 @@ public class SettingsActivity extends PreferenceActivity { } public void initMaintenanceButtons() { - Preference dirMaintenance = getPreference(R.string.pref_fakekey_preference_maintenance_directories); + final Preference dirMaintenance = getPreference(R.string.pref_fakekey_preference_maintenance_directories); dirMaintenance.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { // disable the button, as the cleanup runs in background and should not be invoked a second time preference.setEnabled(false); - Resources res = getResources(); + final Resources res = getResources(); final SettingsActivity activity = SettingsActivity.this; final ProgressDialog dialog = ProgressDialog.show(activity, res.getString(R.string.init_maintenance), res.getString(R.string.init_maintenance_directories), true, false); new Thread() { @@ -391,11 +380,11 @@ public class SettingsActivity extends PreferenceActivity { return true; } }); - Preference memoryDumpPref = getPreference(R.string.pref_memory_dump); + final Preference memoryDumpPref = getPreference(R.string.pref_memory_dump); memoryDumpPref .setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick( - Preference preference) { + final Preference preference) { DebugUtils.createMemoryDump(SettingsActivity.this); return true; } @@ -403,7 +392,7 @@ public class SettingsActivity extends PreferenceActivity { } private void initDbLocationPreference() { - Preference p = getPreference(R.string.pref_dbonsdcard); + final Preference p = getPreference(R.string.pref_dbonsdcard); p.setPersistent(false); p.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override @@ -416,7 +405,7 @@ public class SettingsActivity extends PreferenceActivity { } private void initDebugPreference() { - Preference p = getPreference(R.string.pref_debug); + final Preference p = getPreference(R.string.pref_debug); p.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object newValue) { @@ -454,7 +443,7 @@ public class SettingsActivity extends PreferenceActivity { return; } final PreferenceScreen screen = (PreferenceScreen) preference; - ListAdapter adapter = screen.getRootAdapter(); + final ListAdapter adapter = screen.getRootAdapter(); if (adapter instanceof BaseAdapter) { ((BaseAdapter) adapter).notifyDataSetChanged(); } @@ -464,7 +453,7 @@ public class SettingsActivity extends PreferenceActivity { Settings.putString(R.string.pref_webDeviceName, Settings.getWebDeviceName()); } - public void setAuthTitle(int prefKeyId) { + public void setAuthTitle(final int prefKeyId) { switch (prefKeyId) { case R.string.pref_fakekey_ocde_authorization: case R.string.pref_fakekey_ocpl_authorization: @@ -510,7 +499,7 @@ public class SettingsActivity extends PreferenceActivity { return; } - for (DirChooserType dct : DirChooserType.values()) { + for (final DirChooserType dct : DirChooserType.values()) { if (requestCode == dct.requestCode) { setChosenDirectory(dct, data); return; @@ -521,7 +510,7 @@ public class SettingsActivity extends PreferenceActivity { case R.string.pref_mapDirectory: if (data.hasExtra(Intents.EXTRA_MAP_FILE)) { final String mapFile = data.getStringExtra(Intents.EXTRA_MAP_FILE); - File file = new File(mapFile); + final File file = new File(mapFile); if (!file.isDirectory()) { Settings.setMapFile(mapFile); if (!Settings.isValidMapFile(Settings.getMapFile())) { @@ -529,8 +518,8 @@ public class SettingsActivity extends PreferenceActivity { } else { // Ensure map source preference is updated accordingly. // TODO: There should be a better way to find and select the map source for a map file - Integer mapSourceId = mapFile.hashCode(); - ListPreference mapSource = (ListPreference) getPreference(R.string.pref_mapsource); + final Integer mapSourceId = mapFile.hashCode(); + final ListPreference mapSource = (ListPreference) getPreference(R.string.pref_mapsource); mapSource.setValue(mapSourceId.toString()); VALUE_CHANGE_LISTENER.onPreferenceChange(mapSource, mapSourceId); } @@ -546,7 +535,7 @@ public class SettingsActivity extends PreferenceActivity { case R.string.pref_fakekey_ocnl_authorization: case R.string.pref_fakekey_ocus_authorization: case R.string.pref_fakekey_ocro_authorization: - OCPreferenceKeys key = OCPreferenceKeys.getByAuthId(requestCode); + final OCPreferenceKeys key = OCPreferenceKeys.getByAuthId(requestCode); if (key != null) { setOCAuthTitle(key); redrawScreen(key.prefScreenId); @@ -568,7 +557,7 @@ public class SettingsActivity extends PreferenceActivity { private static final Preference.OnPreferenceChangeListener VALUE_CHANGE_LISTENER = new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(final Preference preference, final Object value) { - String stringValue = value.toString(); + final String stringValue = value.toString(); if (isPreference(preference, R.string.pref_mapsource)) { // reset the cached map source @@ -603,9 +592,9 @@ public class SettingsActivity extends PreferenceActivity { || isPreference(preference, R.string.pref_connectorECActive)) { // update summary final boolean boolVal = (Boolean) value; - String summary = getServiceSummary(boolVal); + final String summary = getServiceSummary(boolVal); if (OCPreferenceKeys.isOCPreference(preference.getKey())) { - OCPreferenceKeys prefKey = OCPreferenceKeys.getByKey(preference.getKey()); + final OCPreferenceKeys prefKey = OCPreferenceKeys.getByKey(preference.getKey()); preference.getPreferenceManager().findPreference(getKey(prefKey.prefScreenId)).setSummary(summary); } else if (isPreference(preference, R.string.pref_connectorGCActive)) { preference.getPreferenceManager().findPreference(getKey(R.string.preference_screen_gc)).setSummary(summary); @@ -620,8 +609,8 @@ public class SettingsActivity extends PreferenceActivity { } else if (preference instanceof ListPreference) { // For list preferences, look up the correct display value in // the preference's 'entries' list. - ListPreference listPreference = (ListPreference) preference; - int index = listPreference.findIndexOfValue(stringValue); + final ListPreference listPreference = (ListPreference) preference; + final int index = listPreference.findIndexOfValue(stringValue); // Set the summary to reflect the new value. preference.setSummary( @@ -679,12 +668,12 @@ public class SettingsActivity extends PreferenceActivity { */ private void bindSummaryToStringValue(final int key) { - Preference pref = getPreference(key); + final Preference pref = getPreference(key); if (pref == null) { return; } - String value = PreferenceManager + final String value = PreferenceManager .getDefaultSharedPreferences(pref.getContext()) .getString(pref.getKey(), ""); @@ -703,7 +692,7 @@ public class SettingsActivity extends PreferenceActivity { @SuppressWarnings("deprecation") @Override - public void setPreferenceScreen(PreferenceScreen preferenceScreen) { + public void setPreferenceScreen(final PreferenceScreen preferenceScreen) { // TODO replace with fragment based code super.setPreferenceScreen(preferenceScreen); } @@ -715,7 +704,7 @@ public class SettingsActivity extends PreferenceActivity { return super.getPreferenceManager(); } - private static boolean isPreference(final Preference preference, int preferenceKeyId) { + private static boolean isPreference(final Preference preference, final int preferenceKeyId) { return getKey(preferenceKeyId).equals(preference.getKey()); } } |
