StatsFragment: need to reconnect to TrackRecordingService in onResume as it is unbound in onStop.

Fixed #50.
This commit is contained in:
Dennis Guse
2019-10-30 19:42:36 +01:00
parent 3bb9edb009
commit 501e899b27
@@ -93,8 +93,6 @@ public class StatsFragment extends Fragment implements TrackDataListener {
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
handlerUpdateUI = new Handler(); handlerUpdateUI = new Handler();
trackRecordingServiceConnection = new TrackRecordingServiceConnection(getContext(), null);
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(), ""));
@@ -122,6 +120,10 @@ public class StatsFragment extends Fragment implements TrackDataListener {
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
resumeTrackDataHub(); resumeTrackDataHub();
trackRecordingServiceConnection = new TrackRecordingServiceConnection(getContext(), null);
trackRecordingServiceConnection.startConnection(getContext());
updateUi(getActivity()); updateUi(getActivity());
if (isSelectedTrackRecording()) { if (isSelectedTrackRecording()) {
handlerUpdateUI.post(updateUIeachSecond); handlerUpdateUI.post(updateUIeachSecond);
@@ -139,6 +141,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
public void onStop() { public void onStop() {
super.onStop(); super.onStop();
trackRecordingServiceConnection.unbind(); trackRecordingServiceConnection.unbind();
trackRecordingServiceConnection = null;
} }
@Override @Override
@@ -297,7 +300,7 @@ public class StatsFragment extends Fragment implements TrackDataListener {
} }
/** /**
* Tries to fetch most recent {@link SensorDataSet} {@link RemoteSensorManager}. * Tries to fetch most recent {@link SensorDataSet} {@link de.dennisguse.opentracks.services.sensors.BluetoothRemoteSensorManager}.
*/ */
private void updateSensorDataUI() { private void updateSensorDataUI() {
ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound(); ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();