diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java index 5e7a53348..f269a763a 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java @@ -191,7 +191,7 @@ public class TrackListActivity extends AbstractTrackDeleteActivity implements Co startActivity(newIntent); connection.unbind(this); - }).startAndBind(this, true); + }).startAndBind(this); }); viewBinding.trackListFabAction.setOnLongClickListener((view) -> { if (!recordingStatus.isRecording()) { diff --git a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java index c6d9364e2..5127f6e47 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackRecordedActivity.java @@ -211,7 +211,7 @@ public class TrackRecordedActivity extends AbstractTrackDeleteActivity implement connection.unbind(this); finish(); - }).startAndBind(this, true); + }).startAndBind(this); return true; } diff --git a/src/main/java/de/dennisguse/opentracks/TrackStoppedActivity.java b/src/main/java/de/dennisguse/opentracks/TrackStoppedActivity.java index 03ddd5fc4..6cfce7898 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackStoppedActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackStoppedActivity.java @@ -146,7 +146,7 @@ public class TrackStoppedActivity extends AbstractTrackDeleteActivity implements connection.unbind(this); finish(); - }).startAndBind(this, true); + }).startAndBind(this); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/publicapi/AbstractAPIActivity.java b/src/main/java/de/dennisguse/opentracks/publicapi/AbstractAPIActivity.java index 5684e0bcf..98b6b83ec 100644 --- a/src/main/java/de/dennisguse/opentracks/publicapi/AbstractAPIActivity.java +++ b/src/main/java/de/dennisguse/opentracks/publicapi/AbstractAPIActivity.java @@ -38,7 +38,7 @@ public abstract class AbstractAPIActivity extends AppCompatActivity { if (PreferencesUtils.isPublicAPIenabled()) { Log.i(TAG, "Received and trying to execute requested action."); new TrackRecordingServiceConnection(serviceConnectedCallback) - .startAndBind(this, isStartServiceForeground()); + .startAndBind(this); } else { Toast.makeText(this, getString(R.string.settings_public_api_disabled_toast), Toast.LENGTH_LONG).show(); Log.w(TAG, "Public API is disabled; ignoring request."); @@ -46,10 +46,6 @@ public abstract class AbstractAPIActivity extends AppCompatActivity { } } - protected boolean isStartServiceForeground() { - return false; - } - protected abstract void execute(TrackRecordingService service); protected abstract boolean isPostExecuteStopService(); diff --git a/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java b/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java index a40d83ae5..ff778a94a 100644 --- a/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java +++ b/src/main/java/de/dennisguse/opentracks/publicapi/StartRecording.java @@ -62,9 +62,4 @@ public class StartRecording extends AbstractAPIActivity { protected boolean isPostExecuteStopService() { return false; } - - @Override - protected boolean isStartServiceForeground() { - return true; - } } diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java index 43cbf4ed1..d2a631de8 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java @@ -82,23 +82,13 @@ public class TrackRecordingServiceConnection { this.callback = callback; } - /** - * Starts and binds the service. - * - * @param foreground is the service expected to call `startForeground()`? - */ - public void startAndBind(Context context, boolean foreground) { + public void startAndBind(Context context) { if (trackRecordingService != null) { // Service is already started and bound. return; } - Log.i(TAG, "Starting the service."); - if (foreground) { - ContextCompat.startForegroundService(context, new Intent(context, TrackRecordingService.class)); - } else { - context.startService(new Intent(context, TrackRecordingService.class)); - } + ContextCompat.startForegroundService(context, new Intent(context, TrackRecordingService.class)); startConnection(context); } @@ -112,7 +102,7 @@ public class TrackRecordingServiceConnection { @Deprecated public void startAndBindWithCallback(Context context) { if (trackRecordingService == null) { - startAndBind(context, false); + startAndBind(context); return; } if (callback != null) { @@ -151,13 +141,12 @@ public class TrackRecordingServiceConnection { private void setTrackRecordingService(TrackRecordingService value) { trackRecordingService = value; - if (callback != null) { - if (value != null) { + if (callback != null && value != null) { callback.onConnected(value, this); - } } } + //TODO Move to some other place; not needed here. @Nullable public Marker.Id addMarker(Context context, String name, String category, String description, String photoUrl) { if (trackRecordingService == null) {