Clean up remaining preference keys.

This commit is contained in:
Jimmy Shih
2012-05-08 14:45:28 -07:00
parent 1de9fe67a3
commit 68487329d1
31 changed files with 172 additions and 200 deletions
+3 -3
View File
@@ -21,7 +21,7 @@ limitations under the License.
<string name="ant_cadence_sensor_id_key">antCadenceSensorId</string> <string name="ant_cadence_sensor_id_key">antCadenceSensorId</string>
<string name="ant_cadence_speed_sensor_id_key">antCadenceSpeedSensorId</string> <string name="ant_cadence_speed_sensor_id_key">antCadenceSpeedSensorId</string>
<string name="ant_heart_rate_sensor_id_key">antHeartRateSensorId</string> <string name="ant_heart_rate_sensor_id_key">antHeartRateSensorId</string>
<string name="ant_srm_bridge_sensor_id_key">antSRMBridgeSensorId</string> <string name="ant_srm_bridge_sensor_id_key">antSrmBridgeSensorId</string>
<string name="auto_resume_track_current_retry_key">autoResumeTrackCurrentRetry</string> <string name="auto_resume_track_current_retry_key">autoResumeTrackCurrentRetry</string>
<string name="auto_resume_track_timeout_key">autoResumeTrackTimeout</string> <string name="auto_resume_track_timeout_key">autoResumeTrackTimeout</string>
<string name="bluetooth_sensor_key">bluetoothSensor</string> <string name="bluetooth_sensor_key">bluetoothSensor</string>
@@ -62,9 +62,9 @@ limitations under the License.
<string name="track_color_mode_key">trackColorMode</string> <string name="track_color_mode_key">trackColorMode</string>
<string name="track_name_key">trackName</string> <string name="track_name_key">trackName</string>
<!-- Keys for non-persisted preferences. Sorted alphabetically. DO NOT TRANSLATE. --> <!-- Keys for non-persisted preferences. Sorted alphabetically. DO NOT TRANSLATE. -->
<string name="backup_to_sd_key">backupToSd</string>
<string name="restore_from_sd_key">restoreFromSd</string>
<string name="settings_backup_key">settingsBackup</string> <string name="settings_backup_key">settingsBackup</string>
<string name="settings_backup_now_key">settingsBackupNow</string>
<string name="settings_backup_restore_key">settingsBackupRestore</string>
<string name="settings_chart_key">settingsChart</string> <string name="settings_chart_key">settingsChart</string>
<string name="settings_map_key">settingsMap</string> <string name="settings_map_key">settingsMap</string>
<string name="settings_map_medium_display_key">settingsMapMediumDisplay</string> <string name="settings_map_medium_display_key">settingsMapMediumDisplay</string>
+5 -5
View File
@@ -1956,12 +1956,12 @@ limitations under the License.
<string name="settings_stats_rate_pace_imperial" <string name="settings_stats_rate_pace_imperial"
translation_description="In the 'Stats' settings, the option to display pace, with example in translation_description="In the 'Stats' settings, the option to display pace, with example in
imperial units."> imperial units.">
Pace (hr/mi). Pace (hr/mi)
</string> </string>
<string name="settings_stats_rate_pace_metric" <string name="settings_stats_rate_pace_metric"
translation_description="In the 'Stats' settings, the option to display pace, with example in translation_description="In the 'Stats' settings, the option to display pace, with example in
metric units."> metric units.">
Pace (hr/km). Pace (hr/km)
</string> </string>
<string name="settings_stats_rate_speed_imperial" <string name="settings_stats_rate_speed_imperial"
translation_description="In the 'Stats' settings, the option to display speed, with example in translation_description="In the 'Stats' settings, the option to display speed, with example in
@@ -1976,12 +1976,12 @@ limitations under the License.
<string name="settings_stats_rate_title" <string name="settings_stats_rate_title"
translation_description="In the 'Stats' settings, the option to change the preferred rate, translation_description="In the 'Stats' settings, the option to change the preferred rate,
either speed (mi/hr) or pace (hr/mi)."> either speed (mi/hr) or pace (hr/mi).">
Preferred Rate Preferred rate
</string> </string>
<string name="settings_stats_time_title" <string name="settings_stats_time_title"
translation_description="In the 'Stats' settings, the option to change the time measurement, translation_description="In the 'Stats' settings, the option to change the time measurement,
either total time or moving time."> either total time or moving time.">
Time Measurement Time measurement
</string> </string>
<string name="settings_stats_units_imperial" <string name="settings_stats_units_imperial"
translation_description="In the 'Stats' setttings, the option to use imperial units, with translation_description="In the 'Stats' setttings, the option to use imperial units, with
@@ -1996,7 +1996,7 @@ limitations under the License.
<string name="settings_stats_units_title" <string name="settings_stats_units_title"
translation_description="In the 'Stats' settings page, the option to change the preferred units, translation_description="In the 'Stats' settings page, the option to change the preferred units,
either metric (km) or imperial (mi)."> either metric (km) or imperial (mi).">
Preferred Units Preferred units
</string> </string>
<!-- Share Track --> <!-- Share Track -->
+2 -2
View File
@@ -17,11 +17,11 @@ limitations under the License.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/settings_backup" > android:title="@string/settings_backup" >
<Preference <Preference
android:key="@string/backup_to_sd_key" android:key="@string/settings_backup_now_key"
android:persistent="false" android:persistent="false"
android:title="@string/settings_backup_now" /> android:title="@string/settings_backup_now" />
<Preference <Preference
android:key="@string/restore_from_sd_key" android:key="@string/settings_backup_restore_key"
android:persistent="false" android:persistent="false"
android:title="@string/settings_backup_restore" /> android:title="@string/settings_backup_restore" />
</PreferenceScreen> </PreferenceScreen>
@@ -83,7 +83,8 @@ public class ImportAsyncTask extends AsyncTask<Void, Integer, Boolean> {
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(importActivity); myTracksProviderUtils = MyTracksProviderUtils.Factory.get(importActivity);
// Get the wake lock if not recording // Get the wake lock if not recording
if (PreferencesUtils.getLong(importActivity, R.string.recording_track_id_key) == -1L) { if (PreferencesUtils.getLong(importActivity, R.string.recording_track_id_key)
== PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
wakeLock = SystemUtils.acquireWakeLock(importActivity, wakeLock); wakeLock = SystemUtils.acquireWakeLock(importActivity, wakeLock);
} }
@@ -81,16 +81,17 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
* Note that sharedPreferenceChangeListener cannot be an anonymous inner * Note that sharedPreferenceChangeListener cannot be an anonymous inner
* class. Anonymous inner class will get garbage collected. * class. Anonymous inner class will get garbage collected.
*/ */
private final OnSharedPreferenceChangeListener sharedPreferenceChangeListener = private final OnSharedPreferenceChangeListener
new OnSharedPreferenceChangeListener() { sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
// Note that key can be null // Note that key can be null
if (PreferencesUtils.getKey(MarkerListActivity.this, R.string.recording_track_id_key).equals(key)) { if (PreferencesUtils.getKey(MarkerListActivity.this, R.string.recording_track_id_key)
updateMenu(); .equals(key)) {
} updateMenu();
} }
}; }
};
private long trackId = -1; private long trackId = -1;
private ResourceCursorAdapter resourceCursorAdapter; private ResourceCursorAdapter resourceCursorAdapter;
@@ -113,9 +114,8 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL); setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);
setContentView(R.layout.marker_list); setContentView(R.layout.marker_list);
SharedPreferences sharedPreferences = getSharedPreferences( getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
ListView listView = (ListView) findViewById(R.id.marker_list); ListView listView = (ListView) findViewById(R.id.marker_list);
listView.setEmptyView(findViewById(R.id.marker_list_empty)); listView.setEmptyView(findViewById(R.id.marker_list_empty));
@@ -188,7 +188,8 @@ public class MarkerListActivity extends AbstractMyTracksActivity {
private void updateMenu() { private void updateMenu() {
if (insertMarkerMenuItem != null) { if (insertMarkerMenuItem != null) {
insertMarkerMenuItem.setVisible(trackId == PreferencesUtils.getLong(this, R.string.recording_track_id_key)); insertMarkerMenuItem.setVisible(
trackId == PreferencesUtils.getLong(this, R.string.recording_track_id_key));
} }
} }
@@ -66,7 +66,8 @@ public class SaveAllAsyncTask extends AsyncTask<Void, Integer, Boolean> {
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(saveAllActivity); myTracksProviderUtils = MyTracksProviderUtils.Factory.get(saveAllActivity);
// Get the wake lock if not recording // Get the wake lock if not recording
if (PreferencesUtils.getLong(saveAllActivity, R.string.recording_track_id_key) == -1L) { if (PreferencesUtils.getLong(saveAllActivity, R.string.recording_track_id_key)
== PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
wakeLock = SystemUtils.acquireWakeLock(saveAllActivity, wakeLock); wakeLock = SystemUtils.acquireWakeLock(saveAllActivity, wakeLock);
} }
success = false; success = false;
@@ -83,10 +83,12 @@ public class SearchListActivity extends AbstractMyTracksActivity {
private final OnSharedPreferenceChangeListener private final OnSharedPreferenceChangeListener
sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (PreferencesUtils.getKey(SearchListActivity.this, R.string.recording_track_id_key).equals(key)) { if (PreferencesUtils.getKey(SearchListActivity.this, R.string.recording_track_id_key)
recordingTrackId = PreferencesUtils.getLong(SearchListActivity.this, R.string.recording_track_id_key); .equals(key)) {
recordingTrackId = PreferencesUtils.getLong(
SearchListActivity.this, R.string.recording_track_id_key);
arrayAdapter.notifyDataSetChanged(); arrayAdapter.notifyDataSetChanged();
} }
} }
@@ -123,9 +125,8 @@ public class SearchListActivity extends AbstractMyTracksActivity {
searchEngine = new SearchEngine(myTracksProviderUtils); searchEngine = new SearchEngine(myTracksProviderUtils);
searchRecentSuggestions = SearchEngineProvider.newHelper(this); searchRecentSuggestions = SearchEngineProvider.newHelper(this);
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
SharedPreferences sharedPreferences = getSharedPreferences( getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
recordingTrackId = PreferencesUtils.getLong(this, R.string.recording_track_id_key); recordingTrackId = PreferencesUtils.getLong(this, R.string.recording_track_id_key);
listView = (ListView) findViewById(R.id.search_list); listView = (ListView) findViewById(R.id.search_list);
@@ -71,7 +71,6 @@ public class TrackDetailActivity extends AbstractMyTracksActivity {
private static final String TAG = TrackDetailActivity.class.getSimpleName(); private static final String TAG = TrackDetailActivity.class.getSimpleName();
private static final String CURRENT_TAG_KEY = "tab"; private static final String CURRENT_TAG_KEY = "tab";
private SharedPreferences sharedPreferences;
private TrackDataHub trackDataHub; private TrackDataHub trackDataHub;
private TrackRecordingServiceConnection trackRecordingServiceConnection; private TrackRecordingServiceConnection trackRecordingServiceConnection;
private TabHost tabHost; private TabHost tabHost;
@@ -93,12 +92,13 @@ public class TrackDetailActivity extends AbstractMyTracksActivity {
* Note that sharedPreferenceChangeListener cannot be an anonymous inner * Note that sharedPreferenceChangeListener cannot be an anonymous inner
* class. Anonymous inner class will get garbage collected. * class. Anonymous inner class will get garbage collected.
*/ */
private final OnSharedPreferenceChangeListener sharedPreferenceChangeListener = private final OnSharedPreferenceChangeListener
new OnSharedPreferenceChangeListener() { sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() {
@Override @Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
// Note that key can be null // Note that key can be null
if (PreferencesUtils.getKey(TrackDetailActivity.this, R.string.recording_track_id_key).equals(key)) { if (PreferencesUtils.getKey(TrackDetailActivity.this, R.string.recording_track_id_key)
.equals(key)) {
updateMenu(); updateMenu();
} }
} }
@@ -128,9 +128,9 @@ public class TrackDetailActivity extends AbstractMyTracksActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
ApiAdapterFactory.getApiAdapter().hideTitle(this); ApiAdapterFactory.getApiAdapter().hideTitle(this);
setContentView(R.layout.track_detail); setContentView(R.layout.track_detail);
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
trackDataHub = ((MyTracksApplication) getApplication()).getTrackDataHub(); trackDataHub = ((MyTracksApplication) getApplication()).getTrackDataHub();
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null); trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, null);
@@ -178,9 +178,8 @@ public class TrackListActivity extends FragmentActivity {
trackRecordingServiceConnection = new TrackRecordingServiceConnection( trackRecordingServiceConnection = new TrackRecordingServiceConnection(
this, bindChangedCallback); this, bindChangedCallback);
SharedPreferences sharedPreferences = getSharedPreferences( getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
metricUnits = PreferencesUtils.getBoolean( metricUnits = PreferencesUtils.getBoolean(
this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT);
recordingTrackId = PreferencesUtils.getLong(this, R.string.recording_track_id_key); recordingTrackId = PreferencesUtils.getLong(this, R.string.recording_track_id_key);
@@ -280,14 +279,16 @@ public class TrackListActivity extends FragmentActivity {
EulaDialogFragment.newInstance(false) EulaDialogFragment.newInstance(false)
.show(getSupportFragmentManager(), EulaDialogFragment.EULA_DIALOG_TAG); .show(getSupportFragmentManager(), EulaDialogFragment.EULA_DIALOG_TAG);
} }
} else if (PreferencesUtils.getBoolean(this, R.string.show_welcome_dialog_key, true)) { } else if (PreferencesUtils.getBoolean(
this, R.string.show_welcome_dialog_key, PreferencesUtils.SHOW_WELCOME_DIALOG_DEFAULT)) {
Fragment fragment = getSupportFragmentManager() Fragment fragment = getSupportFragmentManager()
.findFragmentByTag(WelcomeDialogFragment.WELCOME_DIALOG_TAG); .findFragmentByTag(WelcomeDialogFragment.WELCOME_DIALOG_TAG);
if (fragment == null) { if (fragment == null) {
new WelcomeDialogFragment().show( new WelcomeDialogFragment().show(
getSupportFragmentManager(), WelcomeDialogFragment.WELCOME_DIALOG_TAG); getSupportFragmentManager(), WelcomeDialogFragment.WELCOME_DIALOG_TAG);
} }
} else if (PreferencesUtils.getBoolean(this, R.string.show_check_units_dialog_key, true)) { } else if (PreferencesUtils.getBoolean(this, R.string.show_check_units_dialog_key,
PreferencesUtils.SHOW_CHECK_UNITS_DIALOG_DEFAULT)) {
Fragment fragment = getSupportFragmentManager() Fragment fragment = getSupportFragmentManager()
.findFragmentByTag(CheckUnitsDialogFragment.CHECK_UNITS_DIALOG_TAG); .findFragmentByTag(CheckUnitsDialogFragment.CHECK_UNITS_DIALOG_TAG);
if (fragment == null) { if (fragment == null) {
@@ -369,7 +369,8 @@ public class TrackDataHub {
loadSharedPreferences(); loadSharedPreferences();
} }
long recordingTrackId = PreferencesUtils.getLong(context, R.string.recording_track_id_key); long recordingTrackId = PreferencesUtils.getLong(context, R.string.recording_track_id_key);
return recordingTrackId != -1L && recordingTrackId == selectedTrackId; return recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT
&& recordingTrackId == selectedTrackId;
} }
/** /**
@@ -97,8 +97,8 @@ public class MarkerAddDialogFragment extends DialogFragment {
dismiss(); dismiss();
} }
}); });
boolean pickStatisticsMarker = PreferencesUtils.getBoolean( boolean pickStatisticsMarker = PreferencesUtils.getBoolean(getActivity(),
getActivity(), R.string.pick_statistics_marker_key, true); R.string.pick_statistics_marker_key, PreferencesUtils.PICK_STATISTICS_MARKER_DEFAULT);
radioGroup.check(pickStatisticsMarker ? R.id.marker_add_statistics : R.id.marker_add_waypoint); radioGroup.check(pickStatisticsMarker ? R.id.marker_add_statistics : R.id.marker_add_waypoint);
return new AlertDialog.Builder(getActivity()) return new AlertDialog.Builder(getActivity())
.setNegativeButton(R.string.generic_cancel, null) .setNegativeButton(R.string.generic_cancel, null)
@@ -74,7 +74,8 @@ public class StatsFragment extends Fragment implements TrackDataListener {
@Override @Override
public void run() { public void run() {
Log.d(TAG, "UI update thread started"); Log.d(TAG, "UI update thread started");
while (PreferencesUtils.getLong(getActivity(), R.string.recording_track_id_key) != -1L) { while (PreferencesUtils.getLong(getActivity(), R.string.recording_track_id_key)
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
getActivity().runOnUiThread(updateTotalTime); getActivity().runOnUiThread(updateTotalTime);
try { try {
Thread.sleep(1000L); Thread.sleep(1000L);
@@ -24,8 +24,8 @@ import com.google.android.apps.mytracks.io.gdata.docs.SpreadsheetsClient;
import com.google.android.apps.mytracks.io.gdata.maps.MapsConstants; import com.google.android.apps.mytracks.io.gdata.maps.MapsConstants;
import com.google.android.apps.mytracks.io.maps.ChooseMapActivity; import com.google.android.apps.mytracks.io.maps.ChooseMapActivity;
import com.google.android.apps.mytracks.io.maps.SendMapsActivity; import com.google.android.apps.mytracks.io.maps.SendMapsActivity;
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
import com.google.android.apps.mytracks.util.IntentUtils; import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import android.accounts.Account; import android.accounts.Account;
@@ -37,11 +37,8 @@ import android.accounts.OperationCanceledException;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
@@ -93,8 +90,8 @@ public class AccountChooserActivity extends Activity {
return; return;
} }
SharedPreferences prefs = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); String preferredAccount = PreferencesUtils.getString(this, R.string.preferred_account_key,
String preferredAccount = prefs.getString(getString(R.string.preferred_account_key), ""); PreferencesUtils.PREFERRED_ACCOUNT_DEFAULT);
selectedAccountIndex = 0; selectedAccountIndex = 0;
for (int i = 0; i < accounts.length; i++) { for (int i = 0; i < accounts.length; i++) {
@@ -166,12 +163,8 @@ public class AccountChooserActivity extends Activity {
.setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() { .setPositiveButton(R.string.generic_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
Account account = accounts[selectedAccountIndex]; Account account = accounts[selectedAccountIndex];
SharedPreferences sharedPreferences = getSharedPreferences( PreferencesUtils.setString(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); AccountChooserActivity.this, R.string.preferred_account_key, account.name);
Editor editor = sharedPreferences.edit();
editor.putString(getString(R.string.preferred_account_key), account.name);
ApiAdapterFactory.getApiAdapter().applyPreferenceChanges(editor);
sendRequest.setAccount(account); sendRequest.setAccount(account);
getPermission(MapsConstants.SERVICE_NAME, sendRequest.isSendMaps(), mapsCallback); getPermission(MapsConstants.SERVICE_NAME, sendRequest.isSendMaps(), mapsCallback);
} }
@@ -15,21 +15,17 @@
*/ */
package com.google.android.apps.mytracks.io.sendtogoogle; package com.google.android.apps.mytracks.io.sendtogoogle;
import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.util.AnalyticsUtils; import com.google.android.apps.mytracks.util.AnalyticsUtils;
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
import com.google.android.apps.mytracks.util.IntentUtils; import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.CheckBox; import android.widget.CheckBox;
@@ -153,16 +149,18 @@ public class UploadServiceChooserActivity extends Activity {
*/ */
@VisibleForTesting @VisibleForTesting
void initState() { void initState() {
SharedPreferences prefs = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); boolean pickExistingMap = PreferencesUtils.getBoolean(
boolean pickExistingMap = prefs.getBoolean(getString(R.string.pick_existing_map_key), false); this, R.string.pick_existing_map_key, PreferencesUtils.PICK_EXISTING_MAP_DEFAULT);
newMapRadioButton.setChecked(!pickExistingMap); newMapRadioButton.setChecked(!pickExistingMap);
existingMapRadioButton.setChecked(pickExistingMap); existingMapRadioButton.setChecked(pickExistingMap);
mapsCheckBox.setChecked(prefs.getBoolean(getString(R.string.send_to_maps_key), true)); mapsCheckBox.setChecked(PreferencesUtils.getBoolean(
fusionTablesCheckBox.setChecked( this, R.string.send_to_maps_key, PreferencesUtils.SEND_TO_MAPS_DEFAULT));
prefs.getBoolean(getString(R.string.send_to_fusion_tables_key), true)); fusionTablesCheckBox.setChecked(PreferencesUtils.getBoolean(
docsCheckBox.setChecked(prefs.getBoolean(getString(R.string.send_to_docs_key), true)); this, R.string.send_to_fusion_tables_key, PreferencesUtils.SEND_TO_FUSION_TABLES_DEFAULT));
docsCheckBox.setChecked(PreferencesUtils.getBoolean(
this, R.string.send_to_docs_key, PreferencesUtils.SEND_TO_DOCS_DEFAULT));
} }
/** /**
@@ -195,16 +193,13 @@ public class UploadServiceChooserActivity extends Activity {
*/ */
@VisibleForTesting @VisibleForTesting
void saveState() { void saveState() {
SharedPreferences prefs = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); PreferencesUtils.setBoolean(
Editor editor = prefs.edit(); this, R.string.pick_existing_map_key, existingMapRadioButton.isChecked());
editor.putBoolean(
getString(R.string.pick_existing_map_key), existingMapRadioButton.isChecked());
if (sendRequest.isShowAll()) { if (sendRequest.isShowAll()) {
editor.putBoolean(getString(R.string.send_to_maps_key), sendMaps()); PreferencesUtils.setBoolean(this, R.string.send_to_maps_key, sendMaps());
editor.putBoolean(getString(R.string.send_to_fusion_tables_key), sendFusionTables()); PreferencesUtils.setBoolean(this, R.string.send_to_fusion_tables_key, sendFusionTables());
editor.putBoolean(getString(R.string.send_to_docs_key), sendDocs()); PreferencesUtils.setBoolean(this, R.string.send_to_docs_key, sendDocs());
} }
ApiAdapterFactory.getApiAdapter().applyPreferenceChanges(editor);
} }
/** /**
@@ -49,9 +49,8 @@ public class DynamicSpeedTrackPathDescriptor implements TrackPathDescriptor,
public DynamicSpeedTrackPathDescriptor(Context context) { public DynamicSpeedTrackPathDescriptor(Context context) {
this.context = context; this.context = context;
SharedPreferences prefs = context.getSharedPreferences(Constants.SETTINGS_NAME, context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(this);
prefs.registerOnSharedPreferenceChangeListener(this);
speedMargin = PreferencesUtils.getInt(context, R.string.track_color_mode_percentage_key, speedMargin = PreferencesUtils.getInt(context, R.string.track_color_mode_percentage_key,
PreferencesUtils.TRACK_COLOR_MODE_PERCENTAGE_DEFAULT); PreferencesUtils.TRACK_COLOR_MODE_PERCENTAGE_DEFAULT);
@@ -89,7 +88,7 @@ public class DynamicSpeedTrackPathDescriptor implements TrackPathDescriptor,
@Override @Override
public boolean needsRedraw() { public boolean needsRedraw() {
long selectedTrackId = PreferencesUtils.getLong(context, R.string.selected_track_id_key); long selectedTrackId = PreferencesUtils.getLong(context, R.string.selected_track_id_key);
if (selectedTrackId == -1L) { if (selectedTrackId == PreferencesUtils.SELECTED_TRACK_ID_DEFAULT) {
// Could not find track. // Could not find track.
return false; return false;
} }
@@ -38,9 +38,8 @@ public class FixedSpeedTrackPathDescriptor
public FixedSpeedTrackPathDescriptor(Context context) { public FixedSpeedTrackPathDescriptor(Context context) {
this.context = context; this.context = context;
SharedPreferences sharedPreferences = context.getSharedPreferences( context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(this);
sharedPreferences.registerOnSharedPreferenceChangeListener(this);
slowSpeed = PreferencesUtils.getInt(context, R.string.track_color_mode_slow_key, slowSpeed = PreferencesUtils.getInt(context, R.string.track_color_mode_slow_key,
PreferencesUtils.TRACK_COLOR_MODE_SLOW_DEFAULT); PreferencesUtils.TRACK_COLOR_MODE_SLOW_DEFAULT);
@@ -63,7 +63,7 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener {
* Only set the id if it is valid. Setting it to -1L should only happen * Only set the id if it is valid. Setting it to -1L should only happen
* in TrackRecordingService.endCurrentTrack() * in TrackRecordingService.endCurrentTrack()
*/ */
if (recordingTrackId != -1L) { if (recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
service.setRecordingTrackId(recordingTrackId); service.setRecordingTrackId(recordingTrackId);
} }
} }
@@ -18,10 +18,10 @@ package com.google.android.apps.mytracks.services.sensors;
import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.services.sensors.ant.AntDirectSensorManager; import com.google.android.apps.mytracks.services.sensors.ant.AntDirectSensorManager;
import com.google.android.apps.mytracks.services.sensors.ant.AntSrmBridgeSensorManager; import com.google.android.apps.mytracks.services.sensors.ant.AntSrmBridgeSensorManager;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log; import android.util.Log;
/** /**
@@ -53,17 +53,10 @@ public class SensorManagerFactory {
* @return The sensor manager that corresponds to the sensor type setting. * @return The sensor manager that corresponds to the sensor type setting.
*/ */
public SensorManager getSensorManager(Context context) { public SensorManager getSensorManager(Context context) {
SharedPreferences prefs = context.getSharedPreferences(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
if (prefs == null) {
return null;
}
context = context.getApplicationContext(); context = context.getApplicationContext();
String sensorTypeValueNone = context.getString(R.string.sensor_type_value_none); String sensorTypeValueNone = context.getString(R.string.sensor_type_value_none);
String sensorType = prefs.getString( String sensorType = PreferencesUtils.getString(
context.getString(R.string.sensor_type_key), sensorTypeValueNone); context, R.string.sensor_type_key, sensorTypeValueNone);
Log.i(Constants.TAG, "Creating sensor of type: " + sensorType); Log.i(Constants.TAG, "Creating sensor of type: " + sensorType);
if (sensorTypeValueNone.equals(sensorType)) { if (sensorTypeValueNone.equals(sensorType)) {
@@ -20,14 +20,12 @@ import static com.google.android.apps.mytracks.Constants.TAG;
import com.dsi.ant.AntDefine; import com.dsi.ant.AntDefine;
import com.dsi.ant.AntMesg; import com.dsi.ant.AntMesg;
import com.dsi.ant.exception.AntInterfaceException; import com.dsi.ant.exception.AntInterfaceException;
import com.google.android.apps.mytracks.Constants;
import com.google.android.apps.mytracks.content.Sensor; import com.google.android.apps.mytracks.content.Sensor;
import com.google.android.apps.mytracks.util.PreferencesUtils; import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.BuildConfig; import com.google.android.maps.mytracks.BuildConfig;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log; import android.util.Log;
/** /**
@@ -68,12 +66,8 @@ public class AntSrmBridgeSensorManager extends AntSensorManager {
deviceNumber = WILDCARD; deviceNumber = WILDCARD;
// First read the the device id that we will be pairing with. // First read the the device id that we will be pairing with.
SharedPreferences prefs = context.getSharedPreferences( deviceNumber = (short) PreferencesUtils.getInt(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); context, R.string.ant_srm_bridge_sensor_id_key, WILDCARD);
if (prefs != null) {
deviceNumber = (short) PreferencesUtils.getInt(
context, R.string.ant_srm_bridge_sensor_id_key, WILDCARD);
}
Log.i(TAG, "Will pair with device: " + deviceNumber); Log.i(TAG, "Will pair with device: " + deviceNumber);
} }
@@ -41,10 +41,10 @@ import android.preference.Preference.OnPreferenceClickListener;
*/ */
public class BackupSettingsActivity extends AbstractSettingsActivity { public class BackupSettingsActivity extends AbstractSettingsActivity {
private static final int DIALOG_CONFIRM_RESTORE_NOW_ID = 0; private static final int DIALOG_CONFIRM_RESTORE_ID = 0;
Preference backupNowPreference; Preference backupPreference;
Preference restoreNowPreference; Preference restorePreference;
/* /*
* Note that sharedPreferenceChangeListenr cannot be an anonymous inner class. * Note that sharedPreferenceChangeListenr cannot be an anonymous inner class.
@@ -66,13 +66,12 @@ public class BackupSettingsActivity extends AbstractSettingsActivity {
@Override @Override
protected void onCreate(Bundle bundle) { protected void onCreate(Bundle bundle) {
super.onCreate(bundle); super.onCreate(bundle);
SharedPreferences sharedPreferences = getSharedPreferences( getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
addPreferencesFromResource(R.xml.backup_settings); addPreferencesFromResource(R.xml.backup_settings);
backupNowPreference = findPreference(getString(R.string.backup_to_sd_key)); backupPreference = findPreference(getString(R.string.settings_backup_now_key));
backupNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { backupPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override @Override
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
Intent intent = IntentUtils.newIntent(BackupSettingsActivity.this, BackupActivity.class); Intent intent = IntentUtils.newIntent(BackupSettingsActivity.this, BackupActivity.class);
@@ -80,11 +79,11 @@ public class BackupSettingsActivity extends AbstractSettingsActivity {
return true; return true;
} }
}); });
restoreNowPreference = findPreference(getString(R.string.restore_from_sd_key)); restorePreference = findPreference(getString(R.string.settings_backup_restore_key));
restoreNowPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { restorePreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override @Override
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
showDialog(DIALOG_CONFIRM_RESTORE_NOW_ID); showDialog(DIALOG_CONFIRM_RESTORE_ID);
return true; return true;
} }
}); });
@@ -92,7 +91,7 @@ public class BackupSettingsActivity extends AbstractSettingsActivity {
@Override @Override
protected Dialog onCreateDialog(int id) { protected Dialog onCreateDialog(int id) {
if (id != DIALOG_CONFIRM_RESTORE_NOW_ID) { if (id != DIALOG_CONFIRM_RESTORE_ID) {
return null; return null;
} }
return DialogUtils.createConfirmationDialog(this, return DialogUtils.createConfirmationDialog(this,
@@ -118,11 +117,11 @@ public class BackupSettingsActivity extends AbstractSettingsActivity {
private void updateUi() { private void updateUi() {
boolean isRecording = PreferencesUtils.getLong(this, R.string.recording_track_id_key) boolean isRecording = PreferencesUtils.getLong(this, R.string.recording_track_id_key)
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT; != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
backupNowPreference.setEnabled(!isRecording); backupPreference.setEnabled(!isRecording);
restoreNowPreference.setEnabled(!isRecording); restorePreference.setEnabled(!isRecording);
backupNowPreference.setSummary(isRecording ? R.string.settings_not_while_recording backupPreference.setSummary(isRecording ? R.string.settings_not_while_recording
: R.string.settings_backup_now_summary); : R.string.settings_backup_now_summary);
restoreNowPreference.setSummary(isRecording ? R.string.settings_not_while_recording restorePreference.setSummary(isRecording ? R.string.settings_not_while_recording
: R.string.settings_backup_restore_summary); : R.string.settings_backup_restore_summary);
} }
} }
@@ -60,7 +60,6 @@ public class MapSettingsActivity extends AbstractSettingsActivity {
return true; return true;
} }
}); });
updateUiByTrackColorMode(trackColorModeListPreference.getValue());
slowEditTextPreference = (EditTextPreference) findPreference( slowEditTextPreference = (EditTextPreference) findPreference(
getString(R.string.settings_map_slow_display_key)); getString(R.string.settings_map_slow_display_key));
@@ -78,6 +77,8 @@ public class MapSettingsActivity extends AbstractSettingsActivity {
configureImeActionDone(slowEditTextPreference); configureImeActionDone(slowEditTextPreference);
configureImeActionDone(mediumEditTextPreference); configureImeActionDone(mediumEditTextPreference);
configureImeActionDone(percentageEditTextPreference); configureImeActionDone(percentageEditTextPreference);
updateUiByTrackColorMode(trackColorModeListPreference.getValue());
} }
/** /**
@@ -175,16 +176,14 @@ public class MapSettingsActivity extends AbstractSettingsActivity {
* *
* @param trackColorMode the track color mode * @param trackColorMode the track color mode
*/ */
@SuppressWarnings("deprecation")
private void updateUiByTrackColorMode(String trackColorMode) { private void updateUiByTrackColorMode(String trackColorMode) {
boolean isFixedValue = trackColorMode.equals( boolean isFixedValue = trackColorMode.equals(
getString(R.string.settings_map_track_color_mode_fixed_value)); getString(R.string.settings_map_track_color_mode_fixed_value));
boolean isDynamicValue = trackColorMode.equals( boolean isDynamicValue = trackColorMode.equals(
getString(R.string.settings_map_track_color_mode_dynamic_value)); getString(R.string.settings_map_track_color_mode_dynamic_value));
findPreference(getString(R.string.settings_map_slow_display_key)).setEnabled(isFixedValue); slowEditTextPreference.setEnabled(isFixedValue);
findPreference(getString(R.string.settings_map_medium_display_key)).setEnabled(isFixedValue); mediumEditTextPreference.setEnabled(isFixedValue);
findPreference(getString(R.string.settings_map_percentage_display_key)) percentageEditTextPreference.setEnabled(isDynamicValue);
.setEnabled(isDynamicValue);
} }
/** /**
@@ -55,9 +55,8 @@ public class StatsSettingsActivity extends AbstractSettingsActivity {
super.onCreate(bundle); super.onCreate(bundle);
addPreferencesFromResource(R.xml.stats_settings); addPreferencesFromResource(R.xml.stats_settings);
SharedPreferences sharedPreferences = getSharedPreferences( getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE)
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); .registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
} }
@Override @Override
@@ -65,10 +65,18 @@ public class PreferencesUtils {
public static final int MIN_REQUIRED_ACCURACY_POOR = 5000; public static final int MIN_REQUIRED_ACCURACY_POOR = 5000;
public static final int PERIODIC_TASK_OFF = 0; public static final int PERIODIC_TASK_OFF = 0;
public static final boolean PICK_EXISTING_MAP_DEFAULT = false;
public static final boolean PICK_STATISTICS_MARKER_DEFAULT = true;
public static final String PREFERRED_ACCOUNT_DEFAULT = "";
public static final long RECORDING_TRACK_ID_DEFAULT = -1L; public static final long RECORDING_TRACK_ID_DEFAULT = -1L;
public static final boolean REPORT_SPEED_DEFAULT = true; public static final boolean REPORT_SPEED_DEFAULT = true;
public static final long SELECTED_TRACK_ID_DEFAULT = -1L;
public static final boolean SEND_TO_DOCS_DEFAULT = true;
public static final boolean SEND_TO_FUSION_TABLES_DEFAULT = true;
public static final boolean SEND_TO_MAPS_DEFAULT = true;
public static final boolean SHARE_URL_ONLY_DEFAULT = false; public static final boolean SHARE_URL_ONLY_DEFAULT = false;
public static final boolean SHOW_CHECK_UNITS_DIALOG_DEFAULT = true;
public static final boolean SHOW_WELCOME_DIALOG_DEFAULT = true;
public static final int SPLIT_FREQUENCY_DEFAULT = 0; public static final int SPLIT_FREQUENCY_DEFAULT = 0;
public static final boolean STATS_SHOW_COORDINATE_DEFAULT = false; public static final boolean STATS_SHOW_COORDINATE_DEFAULT = false;
@@ -86,7 +86,8 @@ public class TrackRecordingServiceConnectionUtils {
Log.e(TAG, "Failed to check if service is recording", e); Log.e(TAG, "Failed to check if service is recording", e);
} }
} }
return PreferencesUtils.getLong(context, R.string.recording_track_id_key) != -1L; return PreferencesUtils.getLong(context, R.string.recording_track_id_key)
!= PreferencesUtils.RECORDING_TRACK_ID_DEFAULT;
} }
/** /**
@@ -108,7 +109,7 @@ public class TrackRecordingServiceConnectionUtils {
*/ */
long recordingTrackId = PreferencesUtils.getLong(context, R.string.recording_track_id_key); long recordingTrackId = PreferencesUtils.getLong(context, R.string.recording_track_id_key);
trackRecordingService.endCurrentTrack(); trackRecordingService.endCurrentTrack();
if (recordingTrackId != -1L) { if (recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT) {
Intent intent = IntentUtils.newIntent(context, TrackEditActivity.class) Intent intent = IntentUtils.newIntent(context, TrackEditActivity.class)
.putExtra(TrackEditActivity.EXTRA_TRACK_ID, recordingTrackId) .putExtra(TrackEditActivity.EXTRA_TRACK_ID, recordingTrackId)
.putExtra(TrackEditActivity.EXTRA_NEW_TRACK, true); .putExtra(TrackEditActivity.EXTRA_NEW_TRACK, true);
@@ -118,7 +119,8 @@ public class TrackRecordingServiceConnectionUtils {
Log.e(TAG, "Unable to stop recording.", e); Log.e(TAG, "Unable to stop recording.", e);
} }
} else { } else {
PreferencesUtils.setLong(context, R.string.recording_track_id_key, -1L); PreferencesUtils.setLong(
context, R.string.recording_track_id_key, PreferencesUtils.RECORDING_TRACK_ID_DEFAULT);
} }
trackRecordingServiceConnection.stop(); trackRecordingServiceConnection.stop();
} }
@@ -134,7 +136,8 @@ public class TrackRecordingServiceConnectionUtils {
Context context, TrackRecordingServiceConnection trackRecordingServiceConnection) { Context context, TrackRecordingServiceConnection trackRecordingServiceConnection) {
trackRecordingServiceConnection.bindIfRunning(); trackRecordingServiceConnection.bindIfRunning();
if (!isRecordingServiceRunning(context)) { if (!isRecordingServiceRunning(context)) {
PreferencesUtils.setLong(context, R.string.recording_track_id_key, -1L); PreferencesUtils.setLong(
context, R.string.recording_track_id_key, PreferencesUtils.RECORDING_TRACK_ID_DEFAULT);
} }
} }
@@ -81,7 +81,7 @@ public class TrackWidgetProvider
public TrackWidgetProvider() { public TrackWidgetProvider() {
super(); super();
contentHandler = new Handler(); contentHandler = new Handler();
selectedTrackId = -1; selectedTrackId = PreferencesUtils.SELECTED_TRACK_ID_DEFAULT;
} }
private void initialize(Context aContext) { private void initialize(Context aContext) {
@@ -134,7 +134,7 @@ public class TrackWidgetProvider
private void updateTrack(String action) { private void updateTrack(String action) {
Track track = null; Track track = null;
if (selectedTrackId != -1) { if (selectedTrackId != PreferencesUtils.SELECTED_TRACK_ID_DEFAULT) {
Log.d(TAG, "TrackWidgetProvider.updateTrack: Retrieving specified track."); Log.d(TAG, "TrackWidgetProvider.updateTrack: Retrieving specified track.");
track = providerUtils.getTrack(selectedTrackId); track = providerUtils.getTrack(selectedTrackId);
} else { } else {
@@ -71,7 +71,7 @@ public class TrackDataHubTest extends AndroidTestCase {
private TrackDataHub hub; private TrackDataHub hub;
private TrackDataListeners listeners; private TrackDataListeners listeners;
private DataSourcesWrapper dataSources; private DataSourcesWrapper dataSources;
private SharedPreferences prefs; private SharedPreferences sharedPreferences;
private TrackDataListener listener1; private TrackDataListener listener1;
private TrackDataListener listener2; private TrackDataListener listener2;
private Capture<OnSharedPreferenceChangeListener> preferenceListenerCapture = private Capture<OnSharedPreferenceChangeListener> preferenceListenerCapture =
@@ -88,12 +88,12 @@ public class TrackDataHubTest extends AndroidTestCase {
getContext(), getContext(), "test."); getContext(), getContext(), "test.");
context = new MockContext(mockContentResolver, targetContext); context = new MockContext(mockContentResolver, targetContext);
prefs = context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); sharedPreferences = context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
providerUtils = AndroidMock.createMock("providerUtils", MyTracksProviderUtils.class); providerUtils = AndroidMock.createMock("providerUtils", MyTracksProviderUtils.class);
dataSources = AndroidMock.createNiceMock("dataSources", DataSourcesWrapper.class); dataSources = AndroidMock.createNiceMock("dataSources", DataSourcesWrapper.class);
listeners = new TrackDataListeners(); listeners = new TrackDataListeners();
hub = new TrackDataHub(context, listeners, prefs, providerUtils, TARGET_POINTS) { hub = new TrackDataHub(context, listeners, sharedPreferences, providerUtils, TARGET_POINTS) {
@Override @Override
protected DataSourcesWrapper newDataSources() { protected DataSourcesWrapper newDataSources() {
return dataSources; return dataSources;
@@ -826,7 +826,7 @@ public class TrackDataHubTest extends AndroidTestCase {
PreferencesUtils.setBoolean(context, R.string.report_speed_key, false); PreferencesUtils.setBoolean(context, R.string.report_speed_key, false);
OnSharedPreferenceChangeListener listener = listenerCapture.getValue(); OnSharedPreferenceChangeListener listener = listenerCapture.getValue();
listener.onSharedPreferenceChanged( listener.onSharedPreferenceChanged(
prefs, PreferencesUtils.getKey(context, R.string.report_speed_key)); sharedPreferences, PreferencesUtils.getKey(context, R.string.report_speed_key));
AndroidMock.verify(dataSources, providerUtils, listener1, listener2); AndroidMock.verify(dataSources, providerUtils, listener1, listener2);
AndroidMock.reset(dataSources, providerUtils, listener1, listener2); AndroidMock.reset(dataSources, providerUtils, listener1, listener2);
@@ -838,7 +838,7 @@ public class TrackDataHubTest extends AndroidTestCase {
PreferencesUtils.setBoolean(context, R.string.metric_units_key, false); PreferencesUtils.setBoolean(context, R.string.metric_units_key, false);
listener.onSharedPreferenceChanged( listener.onSharedPreferenceChanged(
prefs, PreferencesUtils.getKey(context, R.string.metric_units_key)); sharedPreferences, PreferencesUtils.getKey(context, R.string.metric_units_key));
verifyAndReset(); verifyAndReset();
} }
@@ -15,14 +15,11 @@
*/ */
package com.google.android.apps.mytracks.io.sendtogoogle; package com.google.android.apps.mytracks.io.sendtogoogle;
import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R; import com.google.android.maps.mytracks.R;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.test.ActivityInstrumentationTestCase2; import android.test.ActivityInstrumentationTestCase2;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.RadioButton; import android.widget.RadioButton;
@@ -123,14 +120,10 @@ public class UploadServiceChooserActivityTest extends
public void testOnCreateDialog_initStateUnchecked() { public void testOnCreateDialog_initStateUnchecked() {
initialActivity(true, true, true); initialActivity(true, true, true);
// Initial all values to false in SharedPreferences. // Initial all values to false in SharedPreferences.
SharedPreferences prefs = uploadServiceChooserActivity.getSharedPreferences( PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_maps_key, false);
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); PreferencesUtils.setBoolean(
Editor editor = prefs.edit(); uploadServiceChooserActivity, R.string.send_to_fusion_tables_key, false);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), false); PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_docs_key, false);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_fusion_tables_key),
false);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_docs_key), false);
editor.commit();
uploadServiceChooserActivity.runOnUiThread(new Runnable() { uploadServiceChooserActivity.runOnUiThread(new Runnable() {
public void run() { public void run() {
uploadServiceChooserActivity.initState(); uploadServiceChooserActivity.initState();
@@ -150,15 +143,11 @@ public class UploadServiceChooserActivityTest extends
public void testOnCreateDialog_initStateChecked() { public void testOnCreateDialog_initStateChecked() {
initialActivity(true, true, true); initialActivity(true, true, true);
// Initial all values to true in SharedPreferences. // Initial all values to true in SharedPreferences.
SharedPreferences prefs = uploadServiceChooserActivity.getSharedPreferences( PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.pick_existing_map_key, true);
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_maps_key, true);
Editor editor = prefs.edit(); PreferencesUtils.setBoolean(
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), true); uploadServiceChooserActivity, R.string.send_to_fusion_tables_key, true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.pick_existing_map_key), true); PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_docs_key, true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_fusion_tables_key),
true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_docs_key), true);
editor.commit();
uploadServiceChooserActivity.runOnUiThread(new Runnable() { uploadServiceChooserActivity.runOnUiThread(new Runnable() {
public void run() { public void run() {
uploadServiceChooserActivity.initState(); uploadServiceChooserActivity.initState();
@@ -181,14 +170,10 @@ public class UploadServiceChooserActivityTest extends
public void testOnCreateDialog_saveState() { public void testOnCreateDialog_saveState() {
initialActivity(true, true, true); initialActivity(true, true, true);
// Initial all values to true in SharedPreferences. // Initial all values to true in SharedPreferences.
SharedPreferences prefs = uploadServiceChooserActivity.getSharedPreferences( PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_maps_key, true);
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); PreferencesUtils.setBoolean(
Editor editor = prefs.edit(); uploadServiceChooserActivity, R.string.send_to_fusion_tables_key, true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), true); PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_docs_key, true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_fusion_tables_key),
true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_docs_key), true);
editor.commit();
uploadServiceChooserActivity.runOnUiThread(new Runnable() { uploadServiceChooserActivity.runOnUiThread(new Runnable() {
public void run() { public void run() {
uploadServiceChooserActivity.initState(); uploadServiceChooserActivity.initState();
@@ -197,12 +182,13 @@ public class UploadServiceChooserActivityTest extends
instrumentation.waitForIdleSync(); instrumentation.waitForIdleSync();
uploadServiceChooserActivity.saveState(); uploadServiceChooserActivity.saveState();
// All values in SharedPreferences must be changed. // All values in SharedPreferences must be changed.
assertTrue(prefs.getBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), assertTrue(PreferencesUtils.getBoolean(uploadServiceChooserActivity, R.string.send_to_maps_key,
false)); PreferencesUtils.SEND_TO_MAPS_DEFAULT));
assertTrue(prefs.getBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), assertTrue(PreferencesUtils.getBoolean(
false)); uploadServiceChooserActivity, R.string.send_to_fusion_tables_key,
assertTrue(prefs.getBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), PreferencesUtils.SEND_TO_FUSION_TABLES_DEFAULT));
false)); assertTrue(PreferencesUtils.getBoolean(uploadServiceChooserActivity, R.string.send_to_docs_key,
PreferencesUtils.SEND_TO_DOCS_DEFAULT));
} }
/** /**
@@ -213,14 +199,10 @@ public class UploadServiceChooserActivityTest extends
public void testOnCreateDialog_startNextActivity() { public void testOnCreateDialog_startNextActivity() {
initialActivity(true, true, true); initialActivity(true, true, true);
// Initial all values to true or false in SharedPreferences. // Initial all values to true or false in SharedPreferences.
SharedPreferences prefs = uploadServiceChooserActivity.getSharedPreferences( PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_maps_key, true);
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); PreferencesUtils.setBoolean(uploadServiceChooserActivity, R.string.send_to_docs_key, true);
Editor editor = prefs.edit(); PreferencesUtils.setBoolean(
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_maps_key), true); uploadServiceChooserActivity, R.string.send_to_fusion_tables_key, false);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_docs_key), true);
editor.putBoolean(uploadServiceChooserActivity.getString(R.string.send_to_fusion_tables_key),
false);
editor.commit();
uploadServiceChooserActivity.runOnUiThread(new Runnable() { uploadServiceChooserActivity.runOnUiThread(new Runnable() {
public void run() { public void run() {
uploadServiceChooserActivity.initState(); uploadServiceChooserActivity.initState();
@@ -124,7 +124,8 @@ public class DynamicSpeedTrackPathDescriptorTest extends AndroidTestCase {
* id. * id.
*/ */
public void testNeedsRedraw_WrongTrackId() { public void testNeedsRedraw_WrongTrackId() {
PreferencesUtils.setLong(context, R.string.selected_track_id_key, -1L); PreferencesUtils.setLong(
context, R.string.selected_track_id_key, PreferencesUtils.SELECTED_TRACK_ID_DEFAULT);
DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor( DynamicSpeedTrackPathDescriptor dynamicSpeedTrackPathDescriptor = new DynamicSpeedTrackPathDescriptor(
context); context);
assertEquals(false, dynamicSpeedTrackPathDescriptor.needsRedraw()); assertEquals(false, dynamicSpeedTrackPathDescriptor.needsRedraw());
@@ -65,7 +65,6 @@ public class TrackRecordingServiceTest extends ServiceTestCase<TestRecordingServ
private Context context; private Context context;
private MyTracksProviderUtils providerUtils; private MyTracksProviderUtils providerUtils;
private SharedPreferences sharedPreferences;
/* /*
* In order to support starting and binding to the service in the same * In order to support starting and binding to the service in the same
@@ -159,14 +158,16 @@ public class TrackRecordingServiceTest extends ServiceTestCase<TestRecordingServ
providerUtils = MyTracksProviderUtils.Factory.get(context); providerUtils = MyTracksProviderUtils.Factory.get(context);
sharedPreferences = context.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE); SharedPreferences sharedPreferences = context.getSharedPreferences(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
// Let's use default values. // Let's use default values.
sharedPreferences.edit().clear().apply(); sharedPreferences.edit().clear().apply();
// Disable auto resume by default. // Disable auto resume by default.
updateAutoResumePrefs(PreferencesUtils.AUTO_RESUME_TRACK_CURRENT_RETRY_DEFAULT, 0); updateAutoResumePrefs(PreferencesUtils.AUTO_RESUME_TRACK_CURRENT_RETRY_DEFAULT, 0);
// No recording track. // No recording track.
PreferencesUtils.setLong(context, R.string.recording_track_id_key, -1L); PreferencesUtils.setLong(
context, R.string.recording_track_id_key, PreferencesUtils.RECORDING_TRACK_ID_DEFAULT);
} }
@SmallTest @SmallTest
@@ -438,8 +439,9 @@ public class TrackRecordingServiceTest extends ServiceTestCase<TestRecordingServ
// End the current track. // End the current track.
service.endCurrentTrack(); service.endCurrentTrack();
assertFalse(service.isRecording()); assertFalse(service.isRecording());
assertEquals(-1L, PreferencesUtils.getLong(context, R.string.recording_track_id_key)); assertEquals(PreferencesUtils.RECORDING_TRACK_ID_DEFAULT,
assertEquals(-1L, service.getRecordingTrackId()); PreferencesUtils.getLong(context, R.string.recording_track_id_key));
assertEquals(PreferencesUtils.RECORDING_TRACK_ID_DEFAULT, service.getRecordingTrackId());
// Verify that the stop broadcast was received. // Verify that the stop broadcast was received.
assertTrue(stopReceiver.waitUntilReceived(1)); assertTrue(stopReceiver.waitUntilReceived(1));
@@ -461,8 +463,9 @@ public class TrackRecordingServiceTest extends ServiceTestCase<TestRecordingServ
// Ending the current track when there is no recording should not result in any error. // Ending the current track when there is no recording should not result in any error.
service.endCurrentTrack(); service.endCurrentTrack();
assertEquals(-1L, PreferencesUtils.getLong(context, R.string.recording_track_id_key)); assertEquals(PreferencesUtils.RECORDING_TRACK_ID_DEFAULT,
assertEquals(-1L, service.getRecordingTrackId()); PreferencesUtils.getLong(context, R.string.recording_track_id_key));
assertEquals(PreferencesUtils.RECORDING_TRACK_ID_DEFAULT, service.getRecordingTrackId());
} }
@MediumTest @MediumTest
@@ -690,7 +693,8 @@ public class TrackRecordingServiceTest extends ServiceTestCase<TestRecordingServ
assertTrue(track.getId() >= 0); assertTrue(track.getId() >= 0);
providerUtils.insertTrack(track); providerUtils.insertTrack(track);
assertEquals(track.getId(), providerUtils.getTrack(track.getId()).getId()); assertEquals(track.getId(), providerUtils.getTrack(track.getId()).getId());
PreferencesUtils.setLong(context, R.string.recording_track_id_key, isRecording ? track.getId() : -1L); PreferencesUtils.setLong(context, R.string.recording_track_id_key, isRecording ? track.getId()
: PreferencesUtils.RECORDING_TRACK_ID_DEFAULT);
} }
private void fullRecordingSession() throws Exception { private void fullRecordingSession() throws Exception {
@@ -11,13 +11,11 @@ import android.test.suitebuilder.annotation.SmallTest;
public class SensorManagerFactoryTest extends AndroidTestCase { public class SensorManagerFactoryTest extends AndroidTestCase {
private SharedPreferences sharedPreferences;
@Override @Override
protected void setUp() throws Exception { protected void setUp() throws Exception {
super.setUp(); super.setUp();
sharedPreferences = getContext().getSharedPreferences( SharedPreferences sharedPreferences = getContext().getSharedPreferences(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
// Let's use default values. // Let's use default values.
sharedPreferences.edit().clear().apply(); sharedPreferences.edit().clear().apply();
@@ -28,7 +28,6 @@ import android.test.suitebuilder.annotation.SmallTest;
public class AntDirectSensorManagerTest extends AndroidTestCase { public class AntDirectSensorManagerTest extends AndroidTestCase {
private SharedPreferences sharedPreferences;
private AntSensorBase heartRateSensor; private AntSensorBase heartRateSensor;
private static final byte HEART_RATE_CHANNEL = 0; private static final byte HEART_RATE_CHANNEL = 0;
@@ -48,7 +47,7 @@ public class AntDirectSensorManagerTest extends AndroidTestCase {
private AntDirectSensorManager manager; private AntDirectSensorManager manager;
public void setUp() { public void setUp() {
sharedPreferences = getContext().getSharedPreferences( SharedPreferences sharedPreferences = getContext().getSharedPreferences(
Constants.SETTINGS_NAME, Context.MODE_PRIVATE); Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
// Let's use default values. // Let's use default values.
sharedPreferences.edit().clear().apply(); sharedPreferences.edit().clear().apply();