forked from upstream-mirrors/OpenTracks
Refactored TrackRecordingServiceConnection: made static methods object methods.
This commit is contained in:
@@ -31,6 +31,8 @@ import android.widget.AbsListView;
|
|||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.SearchView;
|
import android.widget.SearchView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
|
import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment;
|
||||||
@@ -199,7 +201,7 @@ public abstract class AbstractListActivity extends AbstractActivity implements C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (stopRecording) {
|
if (stopRecording) {
|
||||||
TrackRecordingServiceConnection.stopRecording(this, getTrackRecordingServiceConnection(), false);
|
getTrackRecordingServiceConnection().stopRecording(this, false);
|
||||||
}
|
}
|
||||||
Intent intent = IntentUtils.newIntent(this, DeleteActivity.class);
|
Intent intent = IntentUtils.newIntent(this, DeleteActivity.class);
|
||||||
intent.putExtra(DeleteActivity.EXTRA_TRACK_IDS, trackIds);
|
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
|
* Gets the track recording service connection. For stopping the current
|
||||||
* recording if need to delete the current recording track.
|
* recording if need to delete the current recording track.
|
||||||
*/
|
*/
|
||||||
|
@NonNull
|
||||||
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class MarkerEditActivity extends AbstractActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -167,7 +167,7 @@ public class MarkerEditActivity extends AbstractActivity {
|
|||||||
waypointDescription.getText().toString(),
|
waypointDescription.getText().toString(),
|
||||||
null,
|
null,
|
||||||
null);
|
null);
|
||||||
TrackRecordingServiceConnection.addMarker(this, trackRecordingServiceConnection, waypointCreationRequest);
|
trackRecordingServiceConnection.addMarker(this, waypointCreationRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ public class SearchListActivity extends AbstractListActivity implements DeleteMa
|
|||||||
super.onStart();
|
super.onStart();
|
||||||
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||||
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
||||||
TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
if (hasPhoto && photoUri != null) {
|
if (hasPhoto && photoUri != null) {
|
||||||
hasPhoto = false;
|
hasPhoto = false;
|
||||||
WaypointCreationRequest waypointCreationRequest = new WaypointCreationRequest(WaypointType.WAYPOINT, false, null, null, null, null, photoUri.toString());
|
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) {
|
if (markerId != -1L) {
|
||||||
//TODO: Make configurable.
|
//TODO: Make configurable.
|
||||||
FileUtils.updateMediaScanner(TrackDetailActivity.this, photoUri);
|
FileUtils.updateMediaScanner(TrackDetailActivity.this, photoUri);
|
||||||
@@ -167,12 +167,12 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
if (recordingTrackPaused) {
|
if (recordingTrackPaused) {
|
||||||
// Paused -> Resume
|
// Paused -> Resume
|
||||||
updateMenuItems(false);
|
updateMenuItems(false);
|
||||||
TrackRecordingServiceConnection.resumeTrack(trackRecordingServiceConnection);
|
trackRecordingServiceConnection.resumeTrack();
|
||||||
trackController.update(true, false);
|
trackController.update(true, false);
|
||||||
} else {
|
} else {
|
||||||
// Recording -> Paused
|
// Recording -> Paused
|
||||||
updateMenuItems(true);
|
updateMenuItems(true);
|
||||||
TrackRecordingServiceConnection.pauseTrack(trackRecordingServiceConnection);
|
trackRecordingServiceConnection.pauseTrack();
|
||||||
trackController.update(true, true);
|
trackController.update(true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -181,7 +181,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
private final OnClickListener stopListener = new OnClickListener() {
|
private final OnClickListener stopListener = new OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
TrackRecordingServiceConnection.stopRecording(TrackDetailActivity.this, trackRecordingServiceConnection, true);
|
trackRecordingServiceConnection.stopRecording(TrackDetailActivity.this, true);
|
||||||
updateMenuItems(true);
|
updateMenuItems(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -248,7 +248,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||||
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
||||||
|
|
||||||
TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(this);
|
||||||
trackDataHub.start();
|
trackDataHub.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
|
|||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
updateMenuItems(false, false);
|
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) {
|
if (recordingTrackPaused) {
|
||||||
// Paused -> Resume
|
// Paused -> Resume
|
||||||
updateMenuItems(false, true);
|
updateMenuItems(false, true);
|
||||||
TrackRecordingServiceConnection.resumeTrack(trackRecordingServiceConnection);
|
trackRecordingServiceConnection.resumeTrack();
|
||||||
trackController.update(true, false);
|
trackController.update(true, false);
|
||||||
} else {
|
} else {
|
||||||
// Recording -> Paused
|
// Recording -> Paused
|
||||||
updateMenuItems(false, true);
|
updateMenuItems(false, true);
|
||||||
TrackRecordingServiceConnection.pauseTrack(trackRecordingServiceConnection);
|
trackRecordingServiceConnection.pauseTrack();
|
||||||
trackController.update(true, true);
|
trackController.update(true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -329,7 +329,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
|
|
||||||
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||||
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
sharedPreferenceChangeListener.onSharedPreferenceChanged(null, null);
|
||||||
TrackRecordingServiceConnection.startConnection(this, trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
|
|||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
handlerUpdateUI = new Handler();
|
handlerUpdateUI = new Handler();
|
||||||
trackRecordingServiceConnection = new TrackRecordingServiceConnection(getContext(), null);
|
trackRecordingServiceConnection = new TrackRecordingServiceConnection(getContext(), null);
|
||||||
TrackRecordingServiceConnection.startConnection(getContext(), trackRecordingServiceConnection);
|
trackRecordingServiceConnection.startConnection(getContext());
|
||||||
|
|
||||||
Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon);
|
Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon);
|
||||||
activityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), ""));
|
activityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), ""));
|
||||||
|
|||||||
+16
-21
@@ -27,6 +27,8 @@ import android.os.RemoteException;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.BuildConfig;
|
import de.dennisguse.opentracks.BuildConfig;
|
||||||
@@ -195,11 +197,10 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death
|
|||||||
/**
|
/**
|
||||||
* Resumes the track recording service connection.
|
* Resumes the track recording service connection.
|
||||||
*
|
*
|
||||||
* @param context the context
|
* @param context the context
|
||||||
* @param trackRecordingServiceConnection the track recording service connection
|
|
||||||
*/
|
*/
|
||||||
public static void startConnection(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection) {
|
public void startConnection(@NonNull Context context) {
|
||||||
trackRecordingServiceConnection.bindIfStarted();
|
bindIfStarted();
|
||||||
if (!isRecordingServiceRunning(context)) {
|
if (!isRecordingServiceRunning(context)) {
|
||||||
resetRecordingState(context);
|
resetRecordingState(context);
|
||||||
}
|
}
|
||||||
@@ -207,11 +208,9 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Resumes the recording track.
|
* Resumes the recording track.
|
||||||
*
|
|
||||||
* @param trackRecordingServiceConnection the track recording service
|
|
||||||
*/
|
*/
|
||||||
public static void resumeTrack(TrackRecordingServiceConnection trackRecordingServiceConnection) {
|
public void resumeTrack() {
|
||||||
ITrackRecordingService service = trackRecordingServiceConnection.getServiceIfBound();
|
ITrackRecordingService service = getServiceIfBound();
|
||||||
if (service != null) {
|
if (service != null) {
|
||||||
service.resumeCurrentTrack();
|
service.resumeCurrentTrack();
|
||||||
}
|
}
|
||||||
@@ -219,12 +218,9 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Pauses the recording track.
|
* Pauses the recording track.
|
||||||
*
|
|
||||||
* @param trackRecordingServiceConnection the track recording service
|
|
||||||
* connection
|
|
||||||
*/
|
*/
|
||||||
public static void pauseTrack(TrackRecordingServiceConnection trackRecordingServiceConnection) {
|
public void pauseTrack() {
|
||||||
ITrackRecordingService service = trackRecordingServiceConnection.getServiceIfBound();
|
ITrackRecordingService service = getServiceIfBound();
|
||||||
if (service != null) {
|
if (service != null) {
|
||||||
service.pauseCurrentTrack();
|
service.pauseCurrentTrack();
|
||||||
}
|
}
|
||||||
@@ -233,12 +229,11 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death
|
|||||||
/**
|
/**
|
||||||
* Stops the recording.
|
* Stops the recording.
|
||||||
*
|
*
|
||||||
* @param context the context
|
* @param context the context
|
||||||
* @param trackRecordingServiceConnection the track recording service connection
|
* @param showEditor true to show the editor
|
||||||
* @param showEditor true to show the editor
|
|
||||||
*/
|
*/
|
||||||
public static void stopRecording(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection, boolean showEditor) {
|
public void stopRecording(@NonNull Context context, boolean showEditor) {
|
||||||
ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
|
ITrackRecordingService trackRecordingService = getServiceIfBound();
|
||||||
if (trackRecordingService == null) {
|
if (trackRecordingService == null) {
|
||||||
resetRecordingState(context);
|
resetRecordingState(context);
|
||||||
} else {
|
} else {
|
||||||
@@ -261,7 +256,7 @@ public class TrackRecordingServiceConnection implements ServiceConnection, Death
|
|||||||
Log.e(TAG, "Unable to stop recording.", e);
|
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.
|
* @return the id of the marker or -1L if none could be created.
|
||||||
*/
|
*/
|
||||||
public static long addMarker(Context context, TrackRecordingServiceConnection trackRecordingServiceConnection, WaypointCreationRequest waypointCreationRequest) {
|
public long addMarker(Context context, WaypointCreationRequest waypointCreationRequest) {
|
||||||
ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
|
ITrackRecordingService trackRecordingService = getServiceIfBound();
|
||||||
if (trackRecordingService == null) {
|
if (trackRecordingService == null) {
|
||||||
Log.d(TAG, "Unable to add marker, no track recording service");
|
Log.d(TAG, "Unable to add marker, no track recording service");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user