From 022d8146fec8aa702af40f58b07b8063f55af2de Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 9 Jan 2021 20:55:02 +0100 Subject: [PATCH] TrackDataHub always sends via handler. --- .../services/TrackRecordingServiceTest.java | 4 +-- .../viewmodels/AggregatedStatisticsTest.java | 7 ----- .../opentracks/content/TrackDataHub.java | 26 ++++--------------- 3 files changed, 6 insertions(+), 31 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java index b47553532..024588219 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java @@ -390,7 +390,7 @@ public class TrackRecordingServiceTest { * Inserts a location and waits for 200ms. */ private static void newTrackPoint(TrackRecordingServiceInterface trackRecordingService, double latitude, double longitude, float accuracy, long speed, long time) throws InterruptedException { - Location location = new Location("gps"); + Location location = new Location(""); location.setLongitude(longitude); location.setLatitude(latitude); location.setAccuracy(accuracy); @@ -400,7 +400,5 @@ public class TrackRecordingServiceTest { TrackPoint trackPoint = new TrackPoint(location); int prefAccuracy = PreferencesUtils.getRecordingGPSAccuracy(ApplicationProvider.getApplicationContext()); trackRecordingService.newTrackPoint(trackPoint, prefAccuracy); - //TODO Needed? - Thread.sleep(200); } } diff --git a/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java b/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java index e43596290..e90be4647 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/viewmodels/AggregatedStatisticsTest.java @@ -25,13 +25,6 @@ public class AggregatedStatisticsTest { private final Context context = ApplicationProvider.getApplicationContext(); - /** - * Create a TrackStatistics object. - * - * @param totalDistance distance in meters. - * @param totalTime total time in milliseconds. //TODO Duration - * @return TrackStatistics object. - */ private static Track createTrack(Context context, long totalDistance, long totalTime, String category) { TrackStatistics statistics = new TrackStatistics(); statistics.setStartTime(Instant.ofEpochMilli(1000L)); // Resulting start time diff --git a/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java b/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java index 9a0da7fa4..ac2b56750 100644 --- a/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java +++ b/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java @@ -142,7 +142,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL PreferencesUtils.register(context, this); onSharedPreferenceChanged(null, null); - runInHandlerThread(() -> { + handler.post(() -> { if (started) { loadDataForAll(); } @@ -173,7 +173,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL } public void loadTrack(final @NonNull Track.Id trackId) { - runInHandlerThread(() -> { + handler.post(() -> { if (trackId.equals(selectedTrackId)) { Log.i(TAG, "Not reloading track " + trackId.getId()); return; @@ -189,7 +189,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL * @param trackDataListener the track data listener */ public void registerTrackDataListener(final TrackDataListener trackDataListener, final boolean tracksTable, final boolean markersTable, final boolean trackPointsTable_SampleIn, final boolean trackPointsTable_SampleOut) { - runInHandlerThread(() -> { + handler.post(() -> { trackDataManager.registerTrackDataListener(trackDataListener, tracksTable, markersTable, trackPointsTable_SampleIn, trackPointsTable_SampleOut); if (started) { loadDataForListener(trackDataListener); @@ -203,7 +203,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL * @param trackDataListener the track data listener */ public void unregisterTrackDataListener(final TrackDataListener trackDataListener) { - runInHandlerThread(() -> trackDataManager.unregisterTrackDataListener(trackDataListener)); + handler.post(() -> trackDataManager.unregisterTrackDataListener(trackDataListener)); } /** @@ -222,7 +222,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, final String key) { - runInHandlerThread(() -> { + handler.post(() -> { if (PreferencesUtils.isKey(context, R.string.recording_track_id_key, key)) { recordingTrackId = PreferencesUtils.getRecordingTrackId(context); } @@ -421,20 +421,4 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL firstSeenTrackPointId = null; lastSeenTrackPointId = null; } - - /** - * Run in the handler thread. - * - * @param runnable the runnable - */ - @Deprecated //TODO: Why actually catch this problem: I guess it would be better to fail hard. - @VisibleForTesting - private void runInHandlerThread(Runnable runnable) { - if (handler == null) { - // Use a Throwable to ensure the stack trace is logged. - Log.d(TAG, "handler is null.", new Throwable()); - return; - } - handler.post(runnable); - } } \ No newline at end of file