diff --git a/MyTracks/src/com/google/android/apps/mytracks/AbstractMyTracksActivity.java b/MyTracks/src/com/google/android/apps/mytracks/AbstractMyTracksActivity.java index 71634bdc4..fe9ea52c1 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/AbstractMyTracksActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/AbstractMyTracksActivity.java @@ -51,15 +51,6 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity { */ protected abstract int getLayoutResId(); - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() != android.R.id.home) { - return super.onOptionsItemSelected(item); - } - onHomeSelected(); - return true; - } - /** * Returns true to hide the title. Be default, do not hide the title. */ @@ -73,4 +64,13 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity { protected void onHomeSelected() { finish(); } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() != android.R.id.home) { + return super.onOptionsItemSelected(item); + } + onHomeSelected(); + return true; + } } diff --git a/MyTracks/src/com/google/android/apps/mytracks/MarkerEditActivity.java b/MyTracks/src/com/google/android/apps/mytracks/MarkerEditActivity.java index c1045f396..803cd36a8 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/MarkerEditActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/MarkerEditActivity.java @@ -90,6 +90,18 @@ public class MarkerEditActivity extends AbstractMyTracksActivity { updateUiByMarkerId(); } + @Override + protected void onStart() { + super.onStart(); + TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); + } + + @Override + protected void onStop() { + super.onStop(); + trackRecordingServiceConnection.unbind(); + } + @Override protected int getLayoutResId() { return R.layout.marker_edit; @@ -100,7 +112,7 @@ public class MarkerEditActivity extends AbstractMyTracksActivity { */ private void updateUiByMarkerId() { final boolean newMarker = markerId == -1L; - + setTitle(newMarker ? R.string.menu_insert_marker : R.string.menu_edit); done.setText(newMarker ? R.string.generic_add : R.string.generic_save); done.setOnClickListener(new View.OnClickListener() { @@ -114,7 +126,7 @@ public class MarkerEditActivity extends AbstractMyTracksActivity { finish(); } }); - + if (newMarker) { statisticsSection.setVisibility(View.GONE); waypointSection.setVisibility(View.VISIBLE); @@ -147,18 +159,6 @@ public class MarkerEditActivity extends AbstractMyTracksActivity { } } - @Override - protected void onResume() { - super.onResume(); - TrackRecordingServiceConnectionUtils.resumeConnection(this, trackRecordingServiceConnection); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - trackRecordingServiceConnection.unbind(); - } - /** * Adds a marker. */ diff --git a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java index b6f467d1f..99f755fca 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SearchListActivity.java @@ -202,23 +202,33 @@ public class SearchListActivity extends AbstractMyTracksActivity implements Dele } @Override - protected int getLayoutResId() { - return R.layout.search_list; + protected void onStart() { + super.onStart(); + TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); } - + @Override protected void onResume() { super.onResume(); - TrackRecordingServiceConnectionUtils.resumeConnection(this, trackRecordingServiceConnection); metricUnits = PreferencesUtils.getBoolean( this, R.string.metric_units_key, PreferencesUtils.METRIC_UNITS_DEFAULT); } + @Override + protected void onStop() { + super.onStop(); + trackRecordingServiceConnection.unbind(); + } + @Override protected void onDestroy() { super.onDestroy(); myTracksLocationManager.close(); - trackRecordingServiceConnection.unbind(); + } + + @Override + protected int getLayoutResId() { + return R.layout.search_list; } @Override diff --git a/MyTracks/src/com/google/android/apps/mytracks/SensorStateActivity.java b/MyTracks/src/com/google/android/apps/mytracks/SensorStateActivity.java index 60f2ef71d..5edb7c59d 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/SensorStateActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/SensorStateActivity.java @@ -96,14 +96,14 @@ public class SensorStateActivity extends AbstractMyTracksActivity { } @Override - protected int getLayoutResId() { - return R.layout.sensor_state; + protected void onStart() { + super.onStart(); + TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); } @Override protected void onResume() { super.onResume(); - TrackRecordingServiceConnectionUtils.resumeConnection(this, trackRecordingServiceConnection); isVisible = true; timer = new Timer(); timer.schedule(new UpdateTimerTask(), 0, REFRESH_PERIOD_MS); @@ -120,11 +120,16 @@ public class SensorStateActivity extends AbstractMyTracksActivity { } @Override - protected void onDestroy() { - super.onDestroy(); + protected void onStop() { + super.onStop(); trackRecordingServiceConnection.unbind(); } + @Override + protected int getLayoutResId() { + return R.layout.sensor_state; + } + /** * Stops the temp sensor manager. */ diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java index 1ab5c72be..e8619b649 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -204,23 +204,21 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del showMarker(); } - @Override - protected int getLayoutResId() { - return R.layout.track_detail; - } - - @Override - protected boolean hideTitle() { - return true; - } - @Override protected void onStart() { super.onStart(); + TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); trackDataHub.start(); AnalyticsUtils.sendPageViews(this, "/page/track_detail"); } + @Override + protected void onResume() { + super.onResume(); + trackDataHub.loadTrack(trackId); + trackController.update(trackId == recordingTrackId, recordingTrackPaused); + } + @Override protected void onPause() { super.onPause(); @@ -228,11 +226,11 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del } @Override - protected void onResume() { - super.onResume(); - trackDataHub.loadTrack(trackId); - TrackRecordingServiceConnectionUtils.resumeConnection(this, trackRecordingServiceConnection); - trackController.update(trackId == recordingTrackId, recordingTrackPaused); + protected void onStop() { + super.onStop(); + trackRecordingServiceConnection.unbind(); + trackDataHub.stop(); + AnalyticsUtils.dispatch(); } @Override @@ -242,16 +240,13 @@ public class TrackDetailActivity extends AbstractMyTracksActivity implements Del } @Override - protected void onStop() { - super.onStop(); - trackDataHub.stop(); - AnalyticsUtils.dispatch(); + protected int getLayoutResId() { + return R.layout.track_detail; } @Override - protected void onDestroy() { - super.onDestroy(); - trackRecordingServiceConnection.unbind(); + protected boolean hideTitle() { + return true; } @Override diff --git a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java index d66e57cd2..e22248082 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java +++ b/MyTracks/src/com/google/android/apps/mytracks/TrackListActivity.java @@ -422,7 +422,7 @@ public class TrackListActivity extends FragmentActivity implements DeleteOneTrac sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null); // Update track recording service connection - TrackRecordingServiceConnectionUtils.resumeConnection(this, trackRecordingServiceConnection); + TrackRecordingServiceConnectionUtils.startConnection(this, trackRecordingServiceConnection); trackDataHub.start(); diff --git a/MyTracks/src/com/google/android/apps/mytracks/util/TrackRecordingServiceConnectionUtils.java b/MyTracks/src/com/google/android/apps/mytracks/util/TrackRecordingServiceConnectionUtils.java index ac94dc8fa..c4ec688c9 100644 --- a/MyTracks/src/com/google/android/apps/mytracks/util/TrackRecordingServiceConnectionUtils.java +++ b/MyTracks/src/com/google/android/apps/mytracks/util/TrackRecordingServiceConnectionUtils.java @@ -145,7 +145,7 @@ public class TrackRecordingServiceConnectionUtils { * @param trackRecordingServiceConnection the track recording service * connection */ - public static void resumeConnection( + public static void startConnection( Context context, TrackRecordingServiceConnection trackRecordingServiceConnection) { trackRecordingServiceConnection.bindIfStarted(); if (!isRecordingServiceRunning(context)) {