From 5329ccd37f89e58c4170fb38f9157b4df0e58b91 Mon Sep 17 00:00:00 2001 From: Jimmy Shih Date: Mon, 20 May 2013 12:39:22 -0700 Subject: [PATCH] In TrackListActivity, use MyTracksLocationManager to check if gps is enabled. --- .../apps/mytracks/TrackListActivity.java | 23 +++++++++++-------- .../apps/mytracks/content/TrackDataHub.java | 4 ---- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index 0205516b6..0acc51704 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -37,6 +37,7 @@ import com.google.android.apps.mytracks.io.file.TrackFileFormat; import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest; import com.google.android.apps.mytracks.io.sync.SyncUtils; import com.google.android.apps.mytracks.services.ITrackRecordingService; +import com.google.android.apps.mytracks.services.MyTracksLocationManager; import com.google.android.apps.mytracks.services.RemoveTempFilesService; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.settings.SettingsActivity; @@ -66,6 +67,7 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.database.Cursor; import android.location.Location; import android.os.Bundle; +import android.os.Looper; import android.os.Parcelable; import android.provider.Settings; import android.support.v4.app.Fragment; @@ -563,21 +565,24 @@ public class TrackListActivity extends AbstractSendToGoogleActivity case R.id.track_list_search: return ApiAdapterFactory.getApiAdapter().handleSearchMenuSelection(this); case R.id.track_list_start_gps: - if (!trackDataHub.isGpsProviderEnabled()) { + MyTracksLocationManager myTracksLocationManager = new MyTracksLocationManager( + this, Looper.myLooper()); + if (!myTracksLocationManager.isGpsProviderEnabled()) { intent = GoogleLocationUtils.isAvailable(TrackListActivity.this) ? new Intent( GoogleLocationUtils.ACTION_GOOGLE_LOCATION_SETTINGS) : new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); - return true; + } else { + startGps = !startGps; + Toast toast = Toast.makeText( + this, startGps ? R.string.gps_starting : R.string.gps_stopping, Toast.LENGTH_SHORT); + toast.setGravity(Gravity.CENTER, 0, 0); + toast.show(); + handleStartGps(); + updateMenuItems(recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT); } - startGps = !startGps; - Toast toast = Toast.makeText( - this, startGps ? R.string.gps_starting : R.string.gps_stopping, Toast.LENGTH_SHORT); - toast.setGravity(Gravity.CENTER, 0, 0); - toast.show(); - handleStartGps(); - updateMenuItems(recordingTrackId != PreferencesUtils.RECORDING_TRACK_ID_DEFAULT); + myTracksLocationManager.close(); return true; case R.id.track_list_import_all: FileTypeDialogFragment.newInstance(R.id.track_list_import_all, diff --git a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java index 1a7d929c3..07fbadb9d 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java +++ b/MyTracks/src/com/google/android/apps/mytracks/content/TrackDataHub.java @@ -252,10 +252,6 @@ public class TrackDataHub implements DataSourceListener { } } - public boolean isGpsProviderEnabled() { - return dataSource.isGpsProviderEnabled(); - } - /** * Returns true if the selected track is recording. */