diff --git a/MyTracks/res/values/do_not_translate.xml b/MyTracks/res/values/do_not_translate.xml index 3f8a69c29..e6e472948 100644 --- a/MyTracks/res/values/do_not_translate.xml +++ b/MyTracks/res/values/do_not_translate.xml @@ -49,4 +49,5 @@ limitations under the License. android.intent.action.SAVE + android.intent.action.settings.OPEN diff --git a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java index cd39e2d31..0aeef0697 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java +++ b/MyTracks/src/com/google/android/apps/mytracks/CheckUnits.java @@ -80,7 +80,8 @@ class CheckUnits { private static void accept(Context context, SharedPreferences preferences) { recordCheckPerformed(preferences); Intent startIntent = new Intent(context, SettingsActivity.class); - startIntent.putExtra("Open", context.getString(R.string.settings_display)); + startIntent.putExtra(context.getString(R.string.open_settings_screen), + context.getString(R.string.settings_display)); context.startActivity(startIntent); } diff --git a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java index 7d3f1b600..4d455e70a 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java @@ -58,7 +58,6 @@ public class SettingsActivity extends PreferenceActivity { private BackupPreferencesListener backupListener; private SharedPreferences preferences; - private boolean displaySettingsOnly = false; /** Called when the activity is first created. */ @Override @@ -83,8 +82,6 @@ public class SettingsActivity extends PreferenceActivity { // Load the preferences to be displayed addPreferencesFromResource(R.xml.preferences); - - processIntent(); // Disable TTS announcement preference if not available if (!apiFeatures.hasTextToSpeech()) { @@ -96,9 +93,10 @@ public class SettingsActivity extends PreferenceActivity { announcementFrequency.setSummary( R.string.settings_not_available_summary); } - - if (displaySettingsOnly) - return; + + // If we only need the display setting screen nothing else needs to load. + if (processIntent()) + return; // Hook up switching of displayed list entries between metric and imperial // units @@ -128,18 +126,24 @@ public class SettingsActivity extends PreferenceActivity { return true; } }); + } - private void processIntent() { + private boolean processIntent() { + boolean showDisplaySettings = false; Bundle bundle = getIntent().getExtras(); PreferenceScreen preferenceScreen; + String intentString = getString(R.string.open_settings_screen); + if (bundle != null) { - preferenceScreen = (PreferenceScreen)findPreference(bundle.getString("Open")); + preferenceScreen = (PreferenceScreen) findPreference(bundle.getString(intentString)); if (preferenceScreen != null) { - displaySettingsOnly = true; + showDisplaySettings = true; setPreferenceScreen(preferenceScreen); } } + + return showDisplaySettings; } private void customizeSensorOptionsPreferences() { @@ -194,7 +198,7 @@ public class SettingsActivity extends PreferenceActivity { super.onResume(); // If we only need the display setting screen nothing else needs to load. - if (displaySettingsOnly) + if (processIntent()) return; configureBluetoothPreferences();