TrackRecordingServiceConnection: use a callback instead of a Runnable.

This commit is contained in:
Dennis Guse
2022-01-10 22:44:38 +01:00
parent 522d8b41d8
commit 46cf7f9acf
8 changed files with 68 additions and 145 deletions
@@ -1,7 +1,6 @@
package de.dennisguse.opentracks.settings;
import android.os.Bundle;
import android.util.Log;
import androidx.fragment.app.DialogFragment;
import androidx.preference.Preference;
@@ -17,20 +16,9 @@ public class MainSettingsFragment extends PreferenceFragmentCompat {
private TrackRecordingService.RecordingStatus recordingStatus = TrackRecordingService.STATUS_DEFAULT;
private TrackRecordingServiceConnection trackRecordingServiceConnection;
private final Runnable bindServiceCallback = new Runnable() {
@Override
public void run() {
TrackRecordingService service = trackRecordingServiceConnection.getServiceIfBound();
if (service == null) {
Log.w(TAG, "could not get TrackRecordingService");
return;
}
service.getRecordingStatusObservable()
.observe(MainSettingsFragment.this, status -> onRecordingStatusChanged(status));
}
};
private final TrackRecordingServiceConnection.Callback bindServiceCallback =
service -> service.getRecordingStatusObservable()
.observe(MainSettingsFragment.this, this::onRecordingStatusChanged);
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {