diff --git a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java index 615161fdd..b611d2636 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SettingsActivity.java @@ -31,6 +31,7 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; @@ -618,7 +619,9 @@ public class SettingsActivity extends PreferenceActivity { Log.i(TAG, "Resetting all settings"); // Actually wipe preferences (and save synchronously). - preferences.edit().clear().commit(); + Editor editor = preferences.edit(); + editor.clear(); + editor.commit(); // Give UI feedback in the UI thread. runOnUiThread(new Runnable() { @@ -682,7 +685,9 @@ public class SettingsActivity extends PreferenceActivity { metricspeed = newValue; } SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); - prefs.edit().putString(getString(id), metricspeed).commit(); + Editor editor = prefs.edit(); + editor.putString(getString(id), metricspeed); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } /** diff --git a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java index f20e693e6..4a3cc2738 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java +++ b/MyTracks/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelper.java @@ -16,6 +16,7 @@ package com.google.android.apps.mytracks.io.backup; import com.google.android.apps.mytracks.content.ContentTypeIds; +import com.google.android.apps.mytracks.util.ApiFeatures; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; @@ -77,15 +78,14 @@ class PreferenceBackupHelper { * * @param data the byte array to read preferences from * @param preferences the shared preferences to edit - * @return whether the preference change was successful * @throws IOException if there are any errors while reading */ - public boolean importPreferences(byte[] data, SharedPreferences preferences) + public void importPreferences(byte[] data, SharedPreferences preferences) throws IOException { ByteArrayInputStream bufStream = new ByteArrayInputStream(data); DataInputStream reader = new DataInputStream(bufStream); - return importPreferences(reader, preferences); + importPreferences(reader, preferences); } /** @@ -93,10 +93,9 @@ class PreferenceBackupHelper { * * @param reader the stream to read from * @param preferences the shared preferences to edit - * @return whether the preference change was successful * @throws IOException if there are any errors while reading */ - public boolean importPreferences(DataInputStream reader, + public void importPreferences(DataInputStream reader, SharedPreferences preferences) throws IOException { Editor editor = preferences.edit(); editor.clear(); @@ -107,8 +106,7 @@ class PreferenceBackupHelper { byte typeId = reader.readByte(); readAndSetPreference(name, typeId, reader, editor); } - - return editor.commit(); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } /** diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java index a703af4dd..88e931216 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/PreferenceManager.java @@ -16,9 +16,11 @@ package com.google.android.apps.mytracks.services; import com.google.android.apps.mytracks.Constants; +import com.google.android.apps.mytracks.util.ApiFeatures; import com.google.android.maps.mytracks.R; import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.util.Log; @@ -169,24 +171,21 @@ public class PreferenceManager implements OnSharedPreferenceChangeListener { } public void setAutoResumeTrackCurrentRetry(int retryAttempts) { - sharedPreferences - .edit() - .putInt(autoResumeTrackCurrentRetryKey, retryAttempts) - .commit(); + Editor editor = sharedPreferences.edit(); + editor.putInt(autoResumeTrackCurrentRetryKey, retryAttempts); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } public void setRecordingTrack(long id) { - sharedPreferences - .edit() - .putLong(recordingTrackKey, id) - .commit(); + Editor editor = sharedPreferences.edit(); + editor.putLong(recordingTrackKey, id); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } public void setSelectedTrack(long id) { - sharedPreferences - .edit() - .putLong(selectedTrackKey, id) - .commit(); + Editor editor = sharedPreferences.edit(); + editor.putLong(selectedTrackKey, id); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } public void shutdown() { diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManager.java index c8cc2c1ed..dc31e45a8 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManager.java @@ -17,13 +17,13 @@ package com.google.android.apps.mytracks.services.sensors.ant; import static com.google.android.apps.mytracks.Constants.TAG; -import com.google.android.apps.mytracks.Constants; -import com.google.android.apps.mytracks.content.Sensor; -import com.google.android.maps.mytracks.R; - import com.dsi.ant.AntDefine; import com.dsi.ant.AntMesg; 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.util.ApiFeatures; +import com.google.android.maps.mytracks.R; import android.content.Context; import android.content.SharedPreferences; @@ -135,7 +135,7 @@ public class AntDirectSensorManager extends AntSensorManager { Constants.SETTINGS_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putInt(context.getString(R.string.ant_heart_rate_sensor_id_key), deviceNumberHRM); - editor.commit(); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } private void handleMessageResponse(byte[] rawMessage) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSRMSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSRMSensorManager.java index 632080697..98c7d5655 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSRMSensorManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSRMSensorManager.java @@ -23,6 +23,7 @@ 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.services.sensors.SensorUtils; +import com.google.android.apps.mytracks.util.ApiFeatures; import com.google.android.maps.mytracks.R; import android.content.Context; @@ -135,7 +136,7 @@ public class AntSRMSensorManager extends AntSensorManager { Constants.SETTINGS_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putInt(context.getString(R.string.ant_srm_bridge_sensor_id_key), deviceId); - editor.commit(); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } private void handleMessageResponse(byte[] antMessage) { diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java index 56d48a2b4..d380c2ba1 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/sensors/ant/AntSrmBridgeSensorManager.java @@ -22,6 +22,7 @@ import com.dsi.ant.AntMesg; 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.util.ApiFeatures; import com.google.android.apps.mytracks.util.SystemUtils; import com.google.android.maps.mytracks.R; @@ -197,7 +198,7 @@ public class AntSrmBridgeSensorManager extends AntSensorManager { Constants.SETTINGS_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); editor.putInt(context.getString(R.string.ant_srm_bridge_sensor_id_key), deviceNumber); - editor.commit(); + ApiFeatures.getInstance().getApiAdapter().applyPreferenceChanges(editor); } private void handleMessageResponse(byte[] rawMessage) { diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksTest.java index 1b7a04837..589aa2b37 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/MyTracksTest.java @@ -223,7 +223,7 @@ public class MyTracksTest extends ActivityInstrumentationTestCase2{ editor.putLong(getActivity().getString(R.string.recording_track_key), -1); editor.clear(); - editor.commit(); + editor.apply(); } /** diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java index ce77bb917..3a440a013 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/content/TrackDataHubTest.java @@ -138,7 +138,7 @@ public class TrackDataHubTest extends AndroidTestCase { Capture observerCapture = new Capture(); Track track = new Track(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expect(providerUtils.getTrack(TRACK_ID)).andStubReturn(track); expectStart(); dataSources.registerContentObserver( @@ -297,7 +297,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testWaypointListen() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); Waypoint wpt1 = new Waypoint(), wpt2 = new Waypoint(), @@ -411,7 +411,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testPointsListen() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expectStart(); dataSources.registerContentObserver( @@ -498,7 +498,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testPointsListen_reRegister() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expectStart(); dataSources.registerContentObserver( @@ -570,7 +570,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testPointsListen_reRegisterTrackChanged() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expectStart(); dataSources.registerContentObserver( @@ -628,7 +628,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testPointsListen_largeTrackSampling() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expectStart(); dataSources.registerContentObserver( @@ -661,7 +661,7 @@ public class TrackDataHubTest extends AndroidTestCase { public void testPointsListen_resampling() { Capture observerCapture = new Capture(); prefs.edit().putLong("recordingTrack", TRACK_ID) - .putLong("selectedTrack", TRACK_ID).commit(); + .putLong("selectedTrack", TRACK_ID).apply(); expectStart(); dataSources.registerContentObserver( @@ -814,7 +814,7 @@ public class TrackDataHubTest extends AndroidTestCase { prefs.edit() .putBoolean(metricUnitsKey, true) .putBoolean(speedKey, true) - .commit(); + .apply(); Capture listenerCapture = new Capture(); @@ -840,7 +840,7 @@ public class TrackDataHubTest extends AndroidTestCase { prefs.edit() .putBoolean(speedKey, false) - .commit(); + .apply(); OnSharedPreferenceChangeListener listener = listenerCapture.getValue(); listener.onSharedPreferenceChanged(prefs, speedKey); @@ -854,7 +854,7 @@ public class TrackDataHubTest extends AndroidTestCase { prefs.edit() .putBoolean(metricUnitsKey, false) - .commit(); + .apply(); listener.onSharedPreferenceChanged(prefs, metricUnitsKey); verifyAndReset(); diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelperTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelperTest.java index 25a6c2504..4a3af7f5a 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelperTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/io/backup/PreferenceBackupHelperTest.java @@ -48,13 +48,13 @@ public class PreferenceBackupHelperTest extends TestCase { @Override public boolean commit() { - preferenceValues = newPreferences; + apply(); return true; } @Override public void apply() { - commit(); + preferenceValues = newPreferences; } @Override @@ -185,7 +185,7 @@ public class PreferenceBackupHelperTest extends TestCase { editor.putInt("int1", 42); editor.putLong("long1", 123456789L); editor.putString("str1", "lolcat"); - editor.commit(); + editor.apply(); // Export it byte[] exported = preferenceBackupHelper.exportPreferences(preferences); @@ -195,7 +195,7 @@ public class PreferenceBackupHelperTest extends TestCase { editor.clear(); editor.putString("str2", "Shouldn't be there after restore"); editor.putBoolean("bool2", true); - editor.commit(); + editor.apply(); // Import it back preferenceBackupHelper.importPreferences(exported, preferences); diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/maps/TrackPathPainterFactoryTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/maps/TrackPathPainterFactoryTest.java index 0e654a1fa..2562b5c12 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/maps/TrackPathPainterFactoryTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/maps/TrackPathPainterFactoryTest.java @@ -57,7 +57,7 @@ public class TrackPathPainterFactoryTest extends TrackPathPainterTestCase { private void testTrackPathPainterFactorySpecific(Context context, SharedPreferences prefs, int track_color_mode, Class c) { prefs.edit().putString(context.getString(R.string.track_color_mode_key), - context.getString(track_color_mode)).commit(); + context.getString(track_color_mode)).apply(); int startLocationIdx = 0; Boolean alwaysVisible = true; diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java index d6a9ea709..c05357e72 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java @@ -154,14 +154,14 @@ public class TrackRecordingServiceTest sharedPreferences = context.getSharedPreferences( Constants.SETTINGS_NAME, 0); // Let's use default values. - sharedPreferences.edit().clear().commit(); + sharedPreferences.edit().clear().apply(); // Disable auto resume by default. updateAutoResumePrefs(0, -1); // No recording track. Editor editor = sharedPreferences.edit(); editor.putLong(context.getString(R.string.recording_track_key), -1); - editor.commit(); + editor.apply(); } @SmallTest @@ -654,7 +654,7 @@ public class TrackRecordingServiceTest R.string.auto_resume_track_current_retry_key), attempts); editor.putInt(context.getString( R.string.auto_resume_track_timeout_key), timeoutMins); - editor.commit(); + editor.apply(); } private Intent createStartIntent() { @@ -673,7 +673,7 @@ public class TrackRecordingServiceTest private void setRecordingTrack(long id) { Editor editor = sharedPreferences.edit(); editor.putLong(context.getString(R.string.recording_track_key), id); - editor.commit(); + editor.apply(); } // TODO: We support multiple values for readability, however this test's @@ -697,7 +697,7 @@ public class TrackRecordingServiceTest } else if (value == null) { // Do nothing, as clear above has already removed this property. } - editor.commit(); + editor.apply(); fullRecordingSession(); } diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java index 2be7fa2f5..96a2fff3d 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/SensorManagerFactoryTest.java @@ -20,7 +20,7 @@ public class SensorManagerFactoryTest extends AndroidTestCase { sharedPreferences = getContext().getSharedPreferences( Constants.SETTINGS_NAME, 0); // Let's use default values. - sharedPreferences.edit().clear().commit(); + sharedPreferences.edit().clear().apply(); } @SmallTest @@ -47,7 +47,7 @@ public class SensorManagerFactoryTest extends AndroidTestCase { sharedPreferences.edit() .putString(getContext().getString(R.string.sensor_type_key), getContext().getString(i)) - .commit(); + .apply(); SensorManager sm = SensorManagerFactory.getSensorManager(getContext()); assertNotNull(sm); assertTrue(c.isInstance(sm)); diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManagerTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManagerTest.java index 0b0cf33e7..1609a77e1 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManagerTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/sensors/ant/AntDirectSensorManagerTest.java @@ -18,7 +18,6 @@ package com.google.android.apps.mytracks.services.sensors.ant; import com.dsi.ant.AntMesg; import com.google.android.apps.mytracks.Constants; import com.google.android.apps.mytracks.content.Sensor; -import com.google.android.apps.mytracks.services.sensors.ant.AntDirectSensorManager; import com.google.android.maps.mytracks.R; import android.content.SharedPreferences; @@ -34,7 +33,7 @@ public class AntDirectSensorManagerTest extends AndroidTestCase { sharedPreferences = getContext().getSharedPreferences( Constants.SETTINGS_NAME, 0); // Let's use default values. - sharedPreferences.edit().clear().commit(); + sharedPreferences.edit().clear().apply(); manager = new AntDirectSensorManager(getContext()); }