From db1167ead53bddaeb81c29f9e57d2c1ead2a36ae Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 20 Jul 2020 20:32:16 +0200 Subject: [PATCH] Find track by UUID. --- .../provider/ContentProviderUtils.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java index d403b8d1d..2c358302a 100644 --- a/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/provider/ContentProviderUtils.java @@ -30,6 +30,7 @@ import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.UUID; import de.dennisguse.opentracks.BuildConfig; import de.dennisguse.opentracks.android.ContentResolverWrapper; @@ -205,11 +206,6 @@ public class ContentProviderUtils { contentResolver.delete(WaypointsColumns.CONTENT_URI, WaypointsColumns.TRACKID + "=?", new String[]{Long.toString(trackId)}); } - /** - * Gets all the tracks. - * - * @return the tracks do not have any trackPoints attached. - */ @VisibleForTesting public List getAllTracks() { ArrayList tracks = new ArrayList<>(); @@ -236,7 +232,6 @@ public class ContentProviderUtils { /** * @param trackId the track id. - * @return the track doesn't have any trackPoints attached */ public Track getTrack(long trackId) { if (trackId < 0) { @@ -250,6 +245,18 @@ public class ContentProviderUtils { return null; } + /** + * @param uuid the UUID of a track. + */ + public Track getTrack(UUID uuid) { + try (Cursor cursor = getTrackCursor(TracksColumns.UUID + "=?", new String[]{uuid.toString()}, TracksColumns._ID)) { + if (cursor != null && cursor.moveToNext()) { + return createTrack(cursor); + } + } + return null; + } + /** * Gets a track cursor. * The caller owns the returned cursor and is responsible for closing it.