From 7d09348abc8e7f6f542ffd05b7bbfa0e30376af5 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Tue, 8 May 2012 09:27:45 -0700 Subject: [PATCH] Clean up the root level settings. --- MyTracks/res/values/keys.xml | 2 +- .../res/xml/{preferences.xml => settings.xml} | 4 +- .../mytracks/settings/SettingsActivity.java | 88 +++++++++---------- 3 files changed, 43 insertions(+), 51 deletions(-) rename MyTracks/res/xml/{preferences.xml => settings.xml} (93%) diff --git a/MyTracks/res/values/keys.xml b/MyTracks/res/values/keys.xml index 0551ee3ab..ac28ec497 100644 --- a/MyTracks/res/values/keys.xml +++ b/MyTracks/res/values/keys.xml @@ -58,7 +58,6 @@ limitations under the License. backupToSd - resetToDefaults restoreFromSd settingsBackup settingsMap @@ -66,6 +65,7 @@ limitations under the License. settingsMapPercentageDisplay settingsMapSlowDisplay settingsRecording + settingsReset settingsSensor settingsSensorAnt settingsSensorBluetooth diff --git a/MyTracks/res/xml/preferences.xml b/MyTracks/res/xml/settings.xml similarity index 93% rename from MyTracks/res/xml/preferences.xml rename to MyTracks/res/xml/settings.xml index e22615a37..57e8361c0 100644 --- a/MyTracks/res/xml/preferences.xml +++ b/MyTracks/res/xml/settings.xml @@ -40,10 +40,8 @@ limitations under the License. android:key="@string/settings_backup_key" android:persistent="false" android:title="@string/settings_backup" /> - \ No newline at end of file diff --git a/MyTracks/src/com/google/android/apps/mytracks/settings/SettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/settings/SettingsActivity.java index f34d2bdc8..8f4db81f6 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/settings/SettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/settings/SettingsActivity.java @@ -16,8 +16,6 @@ package com.google.android.apps.mytracks.settings; -import static com.google.android.apps.mytracks.Constants.TAG; - import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.util.DialogUtils; import com.google.android.apps.mytracks.util.IntentUtils; @@ -43,13 +41,16 @@ import android.widget.Toast; */ public class SettingsActivity extends AbstractSettingsActivity { + private static final String TAG = SettingsActivity.class.getSimpleName(); private static final int DIALOG_CONFIRM_RESET_ID = 0; + private Preference resetPreference; + @SuppressWarnings("deprecation") @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); - addPreferencesFromResource(R.xml.preferences); + addPreferencesFromResource(R.xml.settings); Preference mapPreference = findPreference(getString(R.string.settings_map_key)); mapPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @@ -81,10 +82,10 @@ public class SettingsActivity extends AbstractSettingsActivity { return true; } }); - + Preference sharingPreference = findPreference(getString(R.string.settings_sharing_key)); sharingPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override + @Override public boolean onPreferenceClick(Preference preference) { Intent intent = IntentUtils.newIntent(SettingsActivity.this, SharingSettingsActivity.class); startActivity(intent); @@ -94,28 +95,27 @@ public class SettingsActivity extends AbstractSettingsActivity { Preference sensorPreference = findPreference(getString(R.string.settings_sensor_key)); sensorPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override + @Override public boolean onPreferenceClick(Preference preference) { Intent intent = IntentUtils.newIntent(SettingsActivity.this, SensorSettingsActivity.class); startActivity(intent); return true; } }); - + Preference backupPreference = findPreference(getString(R.string.settings_backup_key)); backupPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override + @Override public boolean onPreferenceClick(Preference preference) { Intent intent = IntentUtils.newIntent(SettingsActivity.this, BackupSettingsActivity.class); startActivity(intent); return true; } }); - - // Hook up action for resetting all settings - Preference resetPreference = findPreference(getString(R.string.reset_key)); + + resetPreference = findPreference(getString(R.string.settings_reset_key)); resetPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override + @Override public boolean onPreferenceClick(Preference arg0) { showDialog(DIALOG_CONFIRM_RESET_ID); return true; @@ -124,56 +124,50 @@ public class SettingsActivity extends AbstractSettingsActivity { } @Override - protected Dialog onCreateDialog(int id) { - switch (id) { - case DIALOG_CONFIRM_RESET_ID: - return DialogUtils.createConfirmationDialog( - this, R.string.settings_reset_confirm_message, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int button) { - onResetPreferencesConfirmed(); - } - }); - default: - return null; - } + protected void onResume() { + super.onResume(); + boolean isRecording = PreferencesUtils.getLong(this, R.string.recording_track_id_key) + != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; + resetPreference.setEnabled(!isRecording); + resetPreference.setSummary(isRecording ? R.string.settings_not_while_recording + : R.string.settings_reset_summary); } @Override - protected void onResume() { - super.onResume(); - Preference resetPreference = findPreference(getString(R.string.reset_key)); - boolean recording = PreferencesUtils.getLong(this, R.string.recording_track_id_key) != -1; - resetPreference.setEnabled(!recording); - resetPreference.setSummary( - recording ? R.string.settings_not_while_recording - : R.string.settings_reset_summary); + protected Dialog onCreateDialog(int id) { + if (id != DIALOG_CONFIRM_RESET_ID) { + return null; + } + return DialogUtils.createConfirmationDialog( + this, R.string.settings_reset_confirm_message, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int button) { + onResetPreferencesConfirmed(); + } + }); } - /** Callback for when user confirms resetting all settings. */ + /** + * Callback when the user confirms resetting all settings. + */ private void onResetPreferencesConfirmed() { - // Change preferences in a separate thread. + // Change preferences in a separate thread new Thread() { - @Override + @Override public void run() { Log.i(TAG, "Resetting all settings"); - SharedPreferences sharedPreferences = getSharedPreferences( Constants.SETTINGS_NAME, Context.MODE_PRIVATE); - // Actually wipe preferences (and save synchronously). + // Actually wipe preferences and save synchronously sharedPreferences.edit().clear().commit(); - // Give UI feedback in the UI thread. + // Give UI feedback in the UI thread runOnUiThread(new Runnable() { - @Override + @Override public void run() { - // Give feedback to the user. - Toast.makeText( - SettingsActivity.this, - R.string.settings_reset_done, - Toast.LENGTH_SHORT).show(); - - // Restart the settings activity so all changes are loaded. + Toast.makeText(SettingsActivity.this, R.string.settings_reset_done, Toast.LENGTH_SHORT) + .show(); + // Restart the settings activity so all changes are loaded Intent intent = getIntent() .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);