diff --git a/MyTracks/res/values/strings.xml b/MyTracks/res/values/strings.xml index 5d4dc3a45..8132d3ee2 100644 --- a/MyTracks/res/values/strings.xml +++ b/MyTracks/res/values/strings.xml @@ -880,14 +880,14 @@ limitations under the License. Use a number as the default track name + translation_description="In the Recording settings, the option to specify a new track's default + activity type."> Default activity type - Default type of the recorded activity + option explaining that it sets the default activity type for a new track."> + Default activity type for a new track. diff --git a/MyTracks/src/com/google/android/apps/mytracks/AutoCompleteTextPreference.java b/MyTracks/src/com/google/android/apps/mytracks/AutoCompleteTextPreference.java index 903af09fe..0096b1815 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/AutoCompleteTextPreference.java +++ b/MyTracks/src/com/google/android/apps/mytracks/AutoCompleteTextPreference.java @@ -23,7 +23,7 @@ import android.widget.AutoCompleteTextView; */ public class AutoCompleteTextPreference extends EditTextPreference { - private static AutoCompleteTextView mEditText = null; + private AutoCompleteTextView mEditText = null; public AutoCompleteTextPreference(Context context, AttributeSet attrs) { super(context, attrs); diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/DefaultCategoryFactory.java b/MyTracks/src/com/google/android/apps/mytracks/services/DefaultCategoryFactory.java deleted file mode 100644 index 36ca894ca..000000000 --- a/MyTracks/src/com/google/android/apps/mytracks/services/DefaultCategoryFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.android.apps.mytracks.services; - -import com.google.android.apps.mytracks.Constants; -import com.google.android.maps.mytracks.R; - -import android.content.Context; -import android.content.SharedPreferences; - -/** - * Creates a default track category (activity type) based on current default - * category settings. - * - * @author Rimas Trumpa - */ -class DefaultCategoryFactory { - private final Context context; - - DefaultCategoryFactory(Context context) { - this.context = context; - } - - /** - * Creates a new track category (activity type). - * - * @return The new track category. - */ - String newTrackCategory() { - if (getDefaultCategory() != null) { - return getDefaultCategory(); - } else { - return ""; - } - } - - protected String getDefaultCategory() { - SharedPreferences prefs = context.getSharedPreferences(Constants.SETTINGS_NAME, 0); - return prefs.getString(context.getString(R.string.default_category_key), null); - } -} diff --git a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java index 39994b421..c266cf26b 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java +++ b/MyTracks/src/com/google/android/apps/mytracks/services/TrackRecordingService.java @@ -559,6 +559,11 @@ public class TrackRecordingService extends Service { Log.d(TAG, "Location listener now unregistered w/ TrackRecordingService."); } + + private String getDefaultActivityType(Context context) { + SharedPreferences prefs = context.getSharedPreferences(Constants.SETTINGS_NAME, 0); + return prefs.getString(context.getString(R.string.default_category_key), ""); + } /* * Recording lifecycle. @@ -582,7 +587,7 @@ public class TrackRecordingService extends Service { track.setId(recordingTrackId); track.setName(new DefaultTrackNameFactory(this).newTrackName( recordingTrackId, startTime)); - track.setCategory(new DefaultCategoryFactory(this).newTrackCategory()); + track.setCategory(getDefaultActivityType(this)); isRecording = true; isMoving = true; diff --git a/MyTracksTest/src/com/google/android/apps/mytracks/services/DefaultCategoryFactoryTest.java b/MyTracksTest/src/com/google/android/apps/mytracks/services/DefaultCategoryFactoryTest.java deleted file mode 100644 index f8f4c4781..000000000 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/DefaultCategoryFactoryTest.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.android.apps.mytracks.services; - -import android.content.Context; -import android.test.AndroidTestCase; - -/** - * Tests {@link DefaultCategoryFactory} - * - * @author Rimas Trumpa - */ -public class DefaultCategoryFactoryTest extends AndroidTestCase { - /** - * A version of the factory which allows us to supply our own default activity - * type. - */ - private static class MockDefaultCategoryFactory extends DefaultCategoryFactory { - private final String defaultCategory; - - MockDefaultCategoryFactory(Context context, String defaultCategory) { - super(context); - this.defaultCategory = defaultCategory; - } - - @Override - protected String getDefaultCategory() { - return defaultCategory; - } - } - - public void testCategoryName() { - DefaultCategoryFactory factory = new MockDefaultCategoryFactory(getContext(), "foo"); - assertEquals("foo", factory.newTrackCategory()); - } - - public void testNoDefaultCategoryName() { - DefaultCategoryFactory factory = new MockDefaultCategoryFactory(getContext(), null); - assertEquals("", factory.newTrackCategory()); - } -} 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 16b7af12a..71fe422d1 100644 --- a/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java +++ b/MyTracksTest/src/com/google/android/apps/mytracks/services/TrackRecordingServiceTest.java @@ -382,6 +382,8 @@ public class TrackRecordingServiceTest Track track = providerUtils.getTrack(id); assertNotNull(track); assertEquals(id, track.getId()); + assertEquals(sharedPreferences.getString(context.getString(R.string.default_category_key), ""), + track.getCategory()); assertEquals(id, sharedPreferences.getLong( context.getString(R.string.recording_track_key), -1)); assertEquals(id, service.getRecordingTrackId());