diff --git a/src/main/java/de/dennisguse/opentracks/AbstractListActivity.java b/src/main/java/de/dennisguse/opentracks/AbstractListActivity.java index 53975cf89..aa0de025e 100644 --- a/src/main/java/de/dennisguse/opentracks/AbstractListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/AbstractListActivity.java @@ -31,6 +31,8 @@ import android.widget.AbsListView; import android.widget.ListView; import android.widget.SearchView; +import androidx.annotation.NonNull; + import java.util.ArrayList; import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment; @@ -199,7 +201,7 @@ public abstract class AbstractListActivity extends AbstractActivity implements C } } if (stopRecording) { - TrackRecordingServiceConnection.stopRecording(this, getTrackRecordingServiceConnection(), false); + getTrackRecordingServiceConnection().stopRecording(this, false); } Intent intent = IntentUtils.newIntent(this, DeleteActivity.class); intent.putExtra(DeleteActivity.EXTRA_TRACK_IDS, trackIds); @@ -210,6 +212,7 @@ public abstract class AbstractListActivity extends AbstractActivity implements C * Gets the track recording service connection. For stopping the current * recording if need to delete the current recording track. */ + @NonNull abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection(); /** diff --git a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java index 48f1728e8..0b7ef193b 100644 --- a/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/MarkerEditActivity.java @@ -90,7 +90,7 @@ public class MarkerEditActivity extends AbstractActivity { @Override protected void onStart() { super.onStart(); - TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(this); } @Override @@ -167,7 +167,7 @@ public class MarkerEditActivity extends AbstractActivity { waypointDescription.getText().toString(), null, null); - TrackRecordingServiceConnection.addMarker(this, trackRecordingServiceConnection, waypointCreationRequest); + trackRecordingServiceConnection.addMarker(this, waypointCreationRequest); } /** diff --git a/src/main/java/de/dennisguse/opentracks/SearchListActivity.java b/src/main/java/de/dennisguse/opentracks/SearchListActivity.java index 0a983505c..da985f028 100644 --- a/src/main/java/de/dennisguse/opentracks/SearchListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/SearchListActivity.java @@ -231,7 +231,7 @@ public class SearchListActivity extends AbstractListActivity implements DeleteMa super.onStart(); sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null); - TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(this); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java index 973ea3370..5c4513217 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java @@ -110,7 +110,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA if (hasPhoto && photoUri != null) { hasPhoto = false; WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(WaypointType.WAYPOINT, false, null, null, null, null, photoUri.toString()); - long markerId = TrackRecordingServiceConnection.addMarker(TrackDetailActivity.this, trackRecordingServiceConnection, waypointCreationRequest); + long markerId = trackRecordingServiceConnection.addMarker(TrackDetailActivity.this, waypointCreationRequest); if (markerId != -1L) { //TODO: Make configurable. FileUtils.updateMediaScanner(TrackDetailActivity.this, photoUri); @@ -167,12 +167,12 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA if (recordingTrackPaused) { // Paused -> Resume updateMenuItems(false); - TrackRecordingServiceConnection.resumeTrack(trackRecordingServiceConnection); + trackRecordingServiceConnection.resumeTrack(); trackController.update(true, false); } else { // Recording -> Paused updateMenuItems(true); - TrackRecordingServiceConnection.pauseTrack(trackRecordingServiceConnection); + trackRecordingServiceConnection.pauseTrack(); trackController.update(true, true); } } @@ -181,7 +181,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA private final OnClickListener stopListener = new OnClickListener() { @Override public void onClick(View v) { - TrackRecordingServiceConnection.stopRecording(TrackDetailActivity.this, trackRecordingServiceConnection, true); + trackRecordingServiceConnection.stopRecording(TrackDetailActivity.this, true); updateMenuItems(true); } }; @@ -248,7 +248,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null); - TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(this); trackDataHub.start(); } diff --git a/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java b/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java index 0bd2caa2a..df4a918fd 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackEditActivity.java @@ -172,7 +172,7 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit @Override protected void onStart() { super.onStart(); - TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(this); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java index 56c1203ca..2658e8233 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackListActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackListActivity.java @@ -182,7 +182,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe @Override public void onClick(View v) { updateMenuItems(false, false); - TrackRecordingServiceConnection.stopRecording(TrackListActivity.this, trackRecordingServiceConnection, true); + trackRecordingServiceConnection.stopRecording(TrackListActivity.this, true); } }; @@ -241,12 +241,12 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe if (recordingTrackPaused) { // Paused -> Resume updateMenuItems(false, true); - TrackRecordingServiceConnection.resumeTrack(trackRecordingServiceConnection); + trackRecordingServiceConnection.resumeTrack(); trackController.update(true, false); } else { // Recording -> Paused updateMenuItems(false, true); - TrackRecordingServiceConnection.pauseTrack(trackRecordingServiceConnection); + trackRecordingServiceConnection.pauseTrack(); trackController.update(true, true); } } @@ -329,7 +329,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null); - TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(this); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java index f1c7da288..5bd57662d 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatsFragment.java @@ -95,7 +95,7 @@ public class StatsFragment extends Fragment implements TrackDataListener { super.onActivityCreated(savedInstanceState); handlerUpdateUI = new Handler(); trackRecordingServiceConnection = new TrackRecordingServiceConnection(getContext(), null); - TrackRecordingServiceConnection.startConnection(getContext(), trackRecordingServiceConnection); + trackRecordingServiceConnection.startConnection(getContext()); Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon); activityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), "")); diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java index aa6fdf675..24b482ebf 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingServiceConnection.java @@ -27,6 +27,8 @@ import android.os.RemoteException; import android.util.Log; import android.widget.Toast; +import androidx.annotation.NonNull; + import java.util.List; import de.dennisguse.opentracks.BuildConfig; @@ -195,11 +197,10 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death /** * Resumes the track recording service connection. * - * @param context the context - * @param trackRecordingServiceConnection the track recording service connection + * @param context the context */ - public static void startConnection(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection) { - trackRecordingServiceConnection.bindIfStarted(); + public void startConnection(@NonNull Context context) { + bindIfStarted(); if (!isRecordingServiceRunning(context)) { resetRecordingState(context); } @@ -207,11 +208,9 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death /** * Resumes the recording track. - * - * @param trackRecordingServiceConnection the track recording service */ - public static void resumeTrack(TrackRecordingServiceConnection trackRecordingServiceConnection) { - ITrackRecordingService service = trackRecordingServiceConnection.getServiceIfBound(); + public void resumeTrack() { + ITrackRecordingService service = getServiceIfBound(); if (service != null) { service.resumeCurrentTrack(); } @@ -219,12 +218,9 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death /** * Pauses the recording track. - * - * @param trackRecordingServiceConnection the track recording service - * connection */ - public static void pauseTrack(TrackRecordingServiceConnection trackRecordingServiceConnection) { - ITrackRecordingService service = trackRecordingServiceConnection.getServiceIfBound(); + public void pauseTrack() { + ITrackRecordingService service = getServiceIfBound(); if (service != null) { service.pauseCurrentTrack(); } @@ -233,12 +229,11 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death /** * Stops the recording. * - * @param context the context - * @param trackRecordingServiceConnection the track recording service connection - * @param showEditor true to show the editor + * @param context the context + * @param showEditor true to show the editor */ - public static void stopRecording(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection, boolean showEditor) { - ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound(); + public void stopRecording(@NonNull Context context, boolean showEditor) { + ITrackRecordingService trackRecordingService = getServiceIfBound(); if (trackRecordingService == null) { resetRecordingState(context); } else { @@ -261,7 +256,7 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death Log.e(TAG, "Unable to stop recording.", e); } } - trackRecordingServiceConnection.unbindAndStop(); + unbindAndStop(); } /** @@ -269,8 +264,8 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death * * @return the id of the marker or -1L if none could be created. */ - public static long addMarker(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection, WaypointCreationRequest waypointCreationRequest) { - ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound(); + public long addMarker(Context context, WaypointCreationRequest waypointCreationRequest) { + ITrackRecordingService trackRecordingService = getServiceIfBound(); if (trackRecordingService == null) { Log.d(TAG, "Unable to add marker, no track recording service"); } else {