From 8538c79dd89764a9961cf970435089cf000c6c75 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Wed, 21 Aug 2019 22:20:18 +0200 Subject: [PATCH] Extracted content uri definition. --- .../opentracks/content/TrackDataHubTest.java | 8 ++++---- .../opentracks/content/ContentProviderUtils.java | 11 ++++++++--- .../opentracks/content/CustomContentProvider.java | 12 ++++++------ .../dennisguse/opentracks/content/SearchEngine.java | 11 +++++++---- .../opentracks/content/ShareContentProvider.java | 4 ++-- .../opentracks/content/TrackPointsColumns.java | 2 +- .../dennisguse/opentracks/content/TracksColumns.java | 2 +- .../opentracks/content/WaypointsColumns.java | 2 +- 8 files changed, 30 insertions(+), 22 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/TrackDataHubTest.java b/src/androidTest/java/de/dennisguse/opentracks/content/TrackDataHubTest.java index 4a1cfbd87..ab6247a3a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/TrackDataHubTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/TrackDataHubTest.java @@ -183,7 +183,7 @@ public class TrackDataHubTest { // .thenReturn(waypoint2) // .thenReturn(waypoint1) // .thenReturn(waypoint2); -// dataSource.registerContentObserver(eq(WaypointsColumns.CONTENT_URI), contentObserverCapture.capture()); +// dataSource.registerContentObserver(eq(WaypointsColumns.CONTENT_BASE_URI), contentObserverCapture.capture()); // trackDataListener1.clearWaypoints(); // trackDataListener2.clearWaypoints(); // trackDataListener1.onNewWaypoint(waypoint1); @@ -417,7 +417,7 @@ public class TrackDataHubTest { // @Test // public void testTrackPointsTableUpdate_largeTrackSampling() { // ArgumentCaptor contentObserverCapture = ArgumentCaptor.forClass(ContentObserver.class); -// dataSource.registerContentObserver(eq(TrackPointsColumns.CONTENT_URI), contentObserverCapture.capture()); +// dataSource.registerContentObserver(eq(TrackPointsColumns.CONTENT_BASE_URI), contentObserverCapture.capture()); // // when(contentProviderUtils.getLastTrackPointId(TRACK_ID)).thenReturn(200L); // AndroidMock.expectLastCall().anyTimes(); @@ -565,7 +565,7 @@ public class TrackDataHubTest { // @Test // public void testRegisterTracksTableListener() { // ArgumentCaptor observerCapture = ArgumentCaptor.forClass(ContentObserver.class); -// dataSource.registerContentObserver(eq(TracksColumns.CONTENT_URI), observerCapture.capture()); +// dataSource.registerContentObserver(eq(TracksColumns.CONTENT_BASE_URI), observerCapture.capture()); // Track track = TrackStubUtils.createTrack(1); // // when(contentProviderUtils.getTrack(capture(new Capture())).thenReturn(track); @@ -585,7 +585,7 @@ public class TrackDataHubTest { // @Test // public void testRegisterWaypointsTableListener() { // ArgumentCaptor observerCapture = ArgumentCaptor.forClass(ContentObserver.class); -// dataSource.registerContentObserver(eq(WaypointsColumns.CONTENT_URI), observerCapture.capture()); +// dataSource.registerContentObserver(eq(WaypointsColumns.CONTENT_BASE_URI), observerCapture.capture()); // when(contentProviderUtils.getWaypointCursor( // capture(new Capture()), capture(new Capture()), // capture(new Capture()))).thenReturn(null); diff --git a/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java index 8bb9ce082..8987475c6 100644 --- a/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/content/ContentProviderUtils.java @@ -36,10 +36,15 @@ import de.dennisguse.opentracks.content.Waypoint.WaypointType; public interface ContentProviderUtils { /** - * The authority (the first part of the URI) for the app's content - * provider. + * The authority (the first part of the URI) for the app's content provider. */ - String AUTHORITY = BuildConfig.APPLICATION_ID + ".content"; + String AUTHORITY_PACKAGE = BuildConfig.APPLICATION_ID + ".content"; + + /** + * The base URI for the app's content provider. + */ + String CONTENT_BASE_URI = "content://" + AUTHORITY_PACKAGE; + /** * The default {@link LocationFactory} which creates a location each time. */ diff --git a/src/main/java/de/dennisguse/opentracks/content/CustomContentProvider.java b/src/main/java/de/dennisguse/opentracks/content/CustomContentProvider.java index f599c3cc0..76148eee9 100644 --- a/src/main/java/de/dennisguse/opentracks/content/CustomContentProvider.java +++ b/src/main/java/de/dennisguse/opentracks/content/CustomContentProvider.java @@ -52,12 +52,12 @@ public abstract class CustomContentProvider extends ContentProvider { public CustomContentProvider() { uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, TrackPointsColumns.TABLE_NAME, UrlType.TRACKPOINTS.ordinal()); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, TrackPointsColumns.TABLE_NAME + "/#", UrlType.TRACKPOINTS_ID.ordinal()); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, TracksColumns.TABLE_NAME, UrlType.TRACKS.ordinal()); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, TracksColumns.TABLE_NAME + "/#", UrlType.TRACKS_ID.ordinal()); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, WaypointsColumns.TABLE_NAME, UrlType.WAYPOINTS.ordinal()); - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, WaypointsColumns.TABLE_NAME + "/#", UrlType.WAYPOINTS_ID.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TrackPointsColumns.TABLE_NAME, UrlType.TRACKPOINTS.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TrackPointsColumns.TABLE_NAME + "/#", UrlType.TRACKPOINTS_ID.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME, UrlType.TRACKS.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/#", UrlType.TRACKS_ID.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, WaypointsColumns.TABLE_NAME, UrlType.WAYPOINTS.ordinal()); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, WaypointsColumns.TABLE_NAME + "/#", UrlType.WAYPOINTS_ID.ordinal()); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/content/SearchEngine.java b/src/main/java/de/dennisguse/opentracks/content/SearchEngine.java index 4771cc47d..24771de7d 100644 --- a/src/main/java/de/dennisguse/opentracks/content/SearchEngine.java +++ b/src/main/java/de/dennisguse/opentracks/content/SearchEngine.java @@ -20,10 +20,6 @@ import android.location.Location; import androidx.annotation.NonNull; -import de.dennisguse.opentracks.stats.TripStatistics; -import de.dennisguse.opentracks.util.LocationUtils; -import de.dennisguse.opentracks.util.UnitConversions; - import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; @@ -31,6 +27,10 @@ import java.util.Locale; import java.util.SortedSet; import java.util.TreeSet; +import de.dennisguse.opentracks.stats.TripStatistics; +import de.dennisguse.opentracks.util.LocationUtils; +import de.dennisguse.opentracks.util.UnitConversions; + /** * Engine for searching for tracks and waypoints by text. * @@ -381,6 +381,7 @@ public class SearchEngine { public final Location currentLocation; public final long currentTrackId; public final long currentTimestamp; + public SearchQuery(String textQuery, Location currentLocation, long currentTrackId, long currentTimestamp) { this.textQuery = textQuery.toLowerCase(Locale.getDefault()); @@ -397,11 +398,13 @@ public class SearchEngine { public final Track track; public final Waypoint waypoint; public final double score; + ScoredResult(Track track, double score) { this.track = track; this.waypoint = null; this.score = score; } + ScoredResult(Waypoint waypoint, double score) { this.track = null; this.waypoint = waypoint; diff --git a/src/main/java/de/dennisguse/opentracks/content/ShareContentProvider.java b/src/main/java/de/dennisguse/opentracks/content/ShareContentProvider.java index a931dcb33..83f55497a 100644 --- a/src/main/java/de/dennisguse/opentracks/content/ShareContentProvider.java +++ b/src/main/java/de/dennisguse/opentracks/content/ShareContentProvider.java @@ -59,12 +59,12 @@ public class ShareContentProvider extends CustomContentProvider implements ICont } builder.deleteCharAt(builder.lastIndexOf(",")); - return Uri.parse("content://" + ContentProviderUtils.AUTHORITY + "/" + TracksColumns.TABLE_NAME + "/kml/" + builder + ".kml"); + return Uri.parse(ContentProviderUtils.CONTENT_BASE_URI + "/" + TracksColumns.TABLE_NAME + "/kml/" + builder + ".kml"); } @Override public boolean onCreate() { - uriMatcher.addURI(ContentProviderUtils.AUTHORITY, TracksColumns.TABLE_NAME + "/kml/*", URI_KML); + uriMatcher.addURI(ContentProviderUtils.AUTHORITY_PACKAGE, TracksColumns.TABLE_NAME + "/kml/*", URI_KML); return super.onCreate(); } diff --git a/src/main/java/de/dennisguse/opentracks/content/TrackPointsColumns.java b/src/main/java/de/dennisguse/opentracks/content/TrackPointsColumns.java index 4a4bee190..38b26a11c 100644 --- a/src/main/java/de/dennisguse/opentracks/content/TrackPointsColumns.java +++ b/src/main/java/de/dennisguse/opentracks/content/TrackPointsColumns.java @@ -27,7 +27,7 @@ import android.provider.BaseColumns; public interface TrackPointsColumns extends BaseColumns { String TABLE_NAME = "trackpoints"; - Uri CONTENT_URI = Uri.parse("content://" + ContentProviderUtils.AUTHORITY + "/trackpoints"); + Uri CONTENT_URI = Uri.parse(ContentProviderUtils.CONTENT_BASE_URI + "/trackpoints"); String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.de.dennisguse.trackpoint"; String CONTENT_ITEMTYPE = "vnd.android.cursor.item/vnd.de.dennisguse.trackpoint"; String DEFAULT_SORT_ORDER = "_id"; diff --git a/src/main/java/de/dennisguse/opentracks/content/TracksColumns.java b/src/main/java/de/dennisguse/opentracks/content/TracksColumns.java index 9d21b0446..308181a37 100644 --- a/src/main/java/de/dennisguse/opentracks/content/TracksColumns.java +++ b/src/main/java/de/dennisguse/opentracks/content/TracksColumns.java @@ -31,7 +31,7 @@ public interface TracksColumns extends BaseColumns { /** * Tracks provider uri. */ - Uri CONTENT_URI = Uri.parse("content://" + ContentProviderUtils.AUTHORITY + "/tracks"); + Uri CONTENT_URI = Uri.parse(ContentProviderUtils.CONTENT_BASE_URI + "/tracks"); /** * Track content type. diff --git a/src/main/java/de/dennisguse/opentracks/content/WaypointsColumns.java b/src/main/java/de/dennisguse/opentracks/content/WaypointsColumns.java index 4bd2a3dbc..54d5aa694 100644 --- a/src/main/java/de/dennisguse/opentracks/content/WaypointsColumns.java +++ b/src/main/java/de/dennisguse/opentracks/content/WaypointsColumns.java @@ -27,7 +27,7 @@ import android.provider.BaseColumns; public interface WaypointsColumns extends BaseColumns { String TABLE_NAME = "waypoints"; - Uri CONTENT_URI = Uri.parse("content://" + ContentProviderUtils.AUTHORITY + "/waypoints"); + Uri CONTENT_URI = Uri.parse(ContentProviderUtils.CONTENT_BASE_URI + "/waypoints"); String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.de.dennisguse.waypoint"; String CONTENT_ITEMTYPE = "vnd.android.cursor.item/vnd.de.dennisguse.waypoint"; String DEFAULT_SORT_ORDER = "_id";