From 79560635986a89516f80b853d459620a2c201405 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sun, 30 Nov 2025 08:39:00 +0100 Subject: [PATCH] Cleanup: Marker.icon was not used anymore. --- .../opentracks/content/data/TestDataUtil.java | 7 ++-- .../data/CustomContentProviderUtilsTest.java | 9 ------ .../io/file/importer/ExportImportTest.java | 4 --- .../opentracks/data/ContentProviderUtils.java | 3 -- .../data/CustomSQLiteOpenHelper.java | 32 ++++++++++++++++++- .../opentracks/data/models/Marker.java | 2 -- .../opentracks/data/models/MarkerBuilder.java | 16 ++-------- .../opentracks/data/tables/MarkerColumns.java | 3 -- .../io/file/importer/GPXTrackImporter.java | 2 -- .../io/file/importer/KMLTrackImporter.java | 2 -- .../io/file/importer/TrackImporter.java | 5 +-- .../services/TrackRecordingService.java | 2 -- .../ui/markers/MarkerEditViewModel.java | 2 -- src/main/res/values/do_not_translate.xml | 2 -- 14 files changed, 37 insertions(+), 54 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java b/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java index 97545eb53..396a48330 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/data/TestDataUtil.java @@ -91,9 +91,9 @@ public class TestDataUtil { ); List markers = List.of( - new Marker(null, trackId, "Marker 1", "Marker description 1", "Marker category 3", "", trackPoints.get(1).getPosition(),null), - new Marker(null, trackId, "Marker 2", "Marker description 2", "Marker category 3", "", trackPoints.get(4).getPosition(), null), - new Marker(null, trackId, "Marker 3", "Marker description 3", "Marker category 3", "", trackPoints.get(5).getPosition(), null) + new Marker(null, trackId, "Marker 1", "Marker description 1", "Marker category 3", trackPoints.get(1).getPosition(),null), + new Marker(null, trackId, "Marker 2", "Marker description 2", "Marker category 3", trackPoints.get(4).getPosition(), null), + new Marker(null, trackId, "Marker 3", "Marker description 3", "Marker category 3", trackPoints.get(5).getPosition(), null) ); return new TrackData(track, trackPoints, markers); @@ -163,7 +163,6 @@ public class TestDataUtil { "Marker name", description, "Marker category", - "", trackPoint.getPosition(), photoUri); } diff --git a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java index 1c72de4b1..69e0c047e 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/data/CustomContentProviderUtilsTest.java @@ -239,7 +239,6 @@ public class CustomContentProviderUtilsTest { "", "", "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -303,7 +302,6 @@ public class CustomContentProviderUtilsTest { "", "", "", - "", getLastValidTrackPoint(trackId1).getPosition(), null )); @@ -477,7 +475,6 @@ public class CustomContentProviderUtilsTest { "", TEST_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -558,7 +555,6 @@ public class CustomContentProviderUtilsTest { "", MOCK_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -568,7 +564,6 @@ public class CustomContentProviderUtilsTest { "", MOCK_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -596,7 +591,6 @@ public class CustomContentProviderUtilsTest { "", MOCK_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -621,7 +615,6 @@ public class CustomContentProviderUtilsTest { "", TEST_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -645,7 +638,6 @@ public class CustomContentProviderUtilsTest { "", TEST_DESC, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); @@ -657,7 +649,6 @@ public class CustomContentProviderUtilsTest { "", TEST_DESC_NEW, "", - "", getLastValidTrackPoint(trackId).getPosition(), null )); diff --git a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java index d1f343cd2..52a88e674 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/io/file/importer/ExportImportTest.java @@ -58,7 +58,6 @@ import de.dennisguse.opentracks.data.models.Cadence; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.HeartRate; import de.dennisguse.opentracks.data.models.Marker; -import de.dennisguse.opentracks.data.models.MarkerBuilder; import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Power; import de.dennisguse.opentracks.data.models.Speed; @@ -160,7 +159,6 @@ public class ExportImportTest { "Marker 1", "Marker 1 desc", "Marker 1 category", - null, service.getLastStoredTrackPointWithLocation().getPosition(), null )); @@ -184,7 +182,6 @@ public class ExportImportTest { "Marker 2", "Marker 2 desc", "Marker 2 category", - null, service.getLastStoredTrackPointWithLocation().getPosition(), null )); @@ -561,7 +558,6 @@ public class ExportImportTest { Marker importMarker = importedMarkers.get(i); assertEquals(marker.category(), importMarker.category()); assertEquals(marker.description(), importMarker.description()); - // assertEquals(marker.getIcon(), importMarker.getIcon()); // TODO for KML assertEquals(marker.name(), importMarker.name()); assertNull(importMarker.photoUrl()); diff --git a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java index 55db65e13..b4c109b79 100644 --- a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java @@ -312,7 +312,6 @@ public class ContentProviderUtils { int nameIndex = cursor.getColumnIndexOrThrow(MarkerColumns.NAME); int descriptionIndex = cursor.getColumnIndexOrThrow(MarkerColumns.DESCRIPTION); int categoryIndex = cursor.getColumnIndexOrThrow(MarkerColumns.CATEGORY); - int iconIndex = cursor.getColumnIndexOrThrow(MarkerColumns.ICON); int trackIdIndex = cursor.getColumnIndexOrThrow(MarkerColumns.TRACKID); int longitudeIndex = cursor.getColumnIndexOrThrow(MarkerColumns.LONGITUDE); int latitudeIndex = cursor.getColumnIndexOrThrow(MarkerColumns.LATITUDE); @@ -369,7 +368,6 @@ public class ContentProviderUtils { !cursor.isNull(nameIndex) ? cursor.getString(nameIndex) : "", !cursor.isNull(descriptionIndex) ? cursor.getString(descriptionIndex) : "", !cursor.isNull(categoryIndex) ? cursor.getString(categoryIndex) : "", - !cursor.isNull(iconIndex) ? cursor.getString(iconIndex) : "", position, photoUrl ); @@ -475,7 +473,6 @@ public class ContentProviderUtils { values.put(MarkerColumns.NAME, marker.name()); values.put(MarkerColumns.DESCRIPTION, marker.description()); values.put(MarkerColumns.CATEGORY, marker.category()); - values.put(MarkerColumns.ICON, marker.icon()); values.put(MarkerColumns.LONGITUDE, (int) (marker.position().longitude() * 1E6)); values.put(MarkerColumns.LATITUDE, (int) (marker.position().latitude() * 1E6)); diff --git a/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java b/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java index f7c9fbf82..29f1088ff 100644 --- a/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java +++ b/src/main/java/de/dennisguse/opentracks/data/CustomSQLiteOpenHelper.java @@ -29,7 +29,7 @@ class CustomSQLiteOpenHelper extends SQLiteOpenHelper { private static final String TAG = CustomSQLiteOpenHelper.class.getSimpleName(); - private static final int DATABASE_VERSION = 39; + private static final int DATABASE_VERSION = 40; private final Context context; @@ -83,6 +83,7 @@ class CustomSQLiteOpenHelper extends SQLiteOpenHelper { case 37 -> upgradeFrom36to37(db); case 38 -> upgradeFrom37to38(db); case 39 -> upgradeFrom38to39(db); + case 40 -> upgradeFrom39to40(db); default -> throw new RuntimeException("Not implemented: upgrade to " + toVersion); } } @@ -109,6 +110,7 @@ class CustomSQLiteOpenHelper extends SQLiteOpenHelper { case 36 -> downgradeFrom37to36(db); case 37 -> downgradeFrom38to37(db); case 38 -> downgradeFrom39to38(db); + case 39 -> downgradeFrom40to39(db); default -> throw new RuntimeException("Not implemented: downgrade to " + toVersion); } } @@ -704,4 +706,32 @@ class CustomSQLiteOpenHelper extends SQLiteOpenHelper { db.setTransactionSuccessful(); db.endTransaction(); } + + private void upgradeFrom39to40(SQLiteDatabase db) { + db.beginTransaction(); + + db.execSQL("ALTER TABLE markers RENAME TO markers_old"); + db.execSQL("CREATE TABLE markers (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, description TEXT, category TEXT, trackid INTEGER NOT NULL, longitude INTEGER, latitude INTEGER, time INTEGER, elevation FLOAT, accuracy FLOAT, bearing FLOAT, photoUrl TEXT, FOREIGN KEY (trackid) REFERENCES tracks(_id) ON UPDATE CASCADE ON DELETE CASCADE)"); + db.execSQL("INSERT INTO markers SELECT _id, name, description, category, trackid, longitude, latitude, time, elevation, accuracy, bearing, photoUrl FROM markers_old"); + db.execSQL("DROP TABLE markers_old"); + + db.execSQL("CREATE INDEX markers_trackid_index ON markers(trackid)"); + + db.setTransactionSuccessful(); + db.endTransaction(); + } + + private void downgradeFrom40to39(SQLiteDatabase db) { + db.beginTransaction(); + + db.execSQL("ALTER TABLE markers RENAME TO markers_old"); + db.execSQL("CREATE TABLE markers (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, description TEXT, category TEXT, icon TEXT, trackid INTEGER NOT NULL, longitude INTEGER, latitude INTEGER, time INTEGER, elevation FLOAT, accuracy FLOAT, bearing FLOAT, photoUrl TEXT, FOREIGN KEY (trackid) REFERENCES tracks(_id) ON UPDATE CASCADE ON DELETE CASCADE)"); + db.execSQL("INSERT INTO markers SELECT _id, name, description, category, 'http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png', trackid, longitude, latitude, time, elevation, accuracy, bearing, photoUrl FROM markers_old"); + db.execSQL("DROP TABLE markers_old"); + + db.execSQL("CREATE INDEX markers_trackid_index ON markers(trackid)"); + + db.setTransactionSuccessful(); + db.endTransaction(); + } } diff --git a/src/main/java/de/dennisguse/opentracks/data/models/Marker.java b/src/main/java/de/dennisguse/opentracks/data/models/Marker.java index 5a48adec5..48c5bddc5 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/Marker.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/Marker.java @@ -24,8 +24,6 @@ public record Marker( String description, @NonNull String category, - @NonNull - String icon, //Some data might not be used. Position position, diff --git a/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java b/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java index 8eb32a660..4c23cf522 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java @@ -22,9 +22,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; -import java.time.Instant; -import java.util.Objects; - /** * NOTE: A marker is indirectly (via it's {@link Position}) assigned to one {@link TrackPoint} via position.time. * @@ -38,13 +35,12 @@ public final class MarkerBuilder { private String name; private String description; private String category; - private String icon; private final Track.Id trackId; //Some data might not be used. private final Position position; - private Uri photoUrl = null; + private Uri photoUrl; @VisibleForTesting public MarkerBuilder(@Nullable Track.Id trackId, @NonNull TrackPoint trackPoint) { @@ -53,7 +49,6 @@ public final class MarkerBuilder { this.name = ""; this.description = ""; this.category = ""; - this.icon = ""; this.photoUrl = null; if (!trackPoint.hasLocation()) @@ -62,12 +57,11 @@ public final class MarkerBuilder { this.position = trackPoint.getPosition(); } - public MarkerBuilder(@Nullable Track.Id trackId, @NonNull TrackPoint trackPoint, String name, String description, String category, String icon, Uri photoUrl) { + public MarkerBuilder(@Nullable Track.Id trackId, @NonNull TrackPoint trackPoint, String name, String description, String category, Uri photoUrl) { this(trackId, trackPoint); this.name = name; this.description = description; this.category = category; - this.icon = icon; this.photoUrl = photoUrl; } @@ -77,7 +71,6 @@ public final class MarkerBuilder { this.name = marker.name(); this.description = marker.description(); this.category = marker.category(); - this.icon = marker.icon(); this.position = marker.position(); this.photoUrl = marker.photoUrl(); } @@ -113,10 +106,6 @@ public final class MarkerBuilder { this.category = category; } - public void setIcon(String icon) { - this.icon = icon; - } - public Track.Id getTrackId() { return trackId; } @@ -140,7 +129,6 @@ public final class MarkerBuilder { name, description, category, - icon, position, photoUrl ); diff --git a/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java b/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java index f9a4e5f8f..41628db0c 100644 --- a/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java +++ b/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java @@ -39,8 +39,6 @@ public interface MarkerColumns extends BaseColumns { String NAME = "name"; // marker name String DESCRIPTION = "description"; // marker description String CATEGORY = "category"; // marker category - @Deprecated //TODO Remove: it is always: position - String ICON = "icon"; // marker icon String TRACKID = "trackid"; // track id String LONGITUDE = "longitude"; // longitude String LATITUDE = "latitude"; // latitude @@ -56,7 +54,6 @@ public interface MarkerColumns extends BaseColumns { + NAME + " TEXT, " + DESCRIPTION + " TEXT, " + CATEGORY + " TEXT, " - + ICON + " TEXT, " + TRACKID + " INTEGER NOT NULL, " + LONGITUDE + " INTEGER, " + LATITUDE + " INTEGER, " diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/GPXTrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/GPXTrackImporter.java index 7f3ee85a2..b62639afb 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/GPXTrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/GPXTrackImporter.java @@ -34,7 +34,6 @@ import java.util.Locale; import de.dennisguse.opentracks.data.models.Altitude; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Marker; -import de.dennisguse.opentracks.data.models.MarkerBuilder; import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Speed; import de.dennisguse.opentracks.data.models.Track; @@ -436,7 +435,6 @@ public class GPXTrackImporter extends DefaultHandler implements XMLImporter.Trac name != null ? name : "", description != null ? description : "", markerType != null ? markerType : "", - null, trackPoint.getPosition(), photoUrl )); diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/KMLTrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/KMLTrackImporter.java index 07cd7fc98..1b204e06b 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/KMLTrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/KMLTrackImporter.java @@ -35,7 +35,6 @@ import java.util.Locale; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Marker; -import de.dennisguse.opentracks.data.models.MarkerBuilder; import de.dennisguse.opentracks.data.models.Position; import de.dennisguse.opentracks.data.models.Speed; import de.dennisguse.opentracks.data.models.Track; @@ -270,7 +269,6 @@ public class KMLTrackImporter extends DefaultHandler implements XMLImporter.Trac name != null ? name : "", description != null ? description : "", activityTypeLocalized != null ? activityTypeLocalized : "", - null, position, photoUrl )); diff --git a/src/main/java/de/dennisguse/opentracks/io/file/importer/TrackImporter.java b/src/main/java/de/dennisguse/opentracks/io/file/importer/TrackImporter.java index 0a733be68..db05c5d62 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/importer/TrackImporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/importer/TrackImporter.java @@ -227,11 +227,8 @@ public class TrackImporter { */ private void updateMarkers(Track.Id trackId) { markers.forEach(marker -> { - if (marker.hasPhoto()) { + if (marker.hasPhoto()) marker.setPhotoUrl(getInternalPhotoUrl(trackId, marker.getPhotoUrl())); - } - - marker.setIcon(context.getString(R.string.marker_icon_url)); //TODO Why? }); } diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 82ab0e41a..bd40a0018 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -37,7 +37,6 @@ import java.time.Duration; import de.dennisguse.opentracks.data.ContentProviderUtils; import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Marker; -import de.dennisguse.opentracks.data.models.MarkerBuilder; import de.dennisguse.opentracks.data.models.Track; import de.dennisguse.opentracks.data.models.TrackPoint; import de.dennisguse.opentracks.sensors.GpsStatusValue; @@ -256,7 +255,6 @@ public class TrackRecordingService extends Service implements TrackPointCreator. "", "", "", - "", trackPoint.getPosition(), null ); diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java index a6a55ff91..e22501517 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java +++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java @@ -143,14 +143,12 @@ public class MarkerEditViewModel extends AndroidViewModel { nextMarkerNumber = 1; } String name = getApplication().getString(R.string.marker_name_format, nextMarkerNumber + 1); - String icon = getApplication().getString(R.string.marker_icon_url); Marker marker = new Marker( null, trackId, name, "", - icon, "", trackPoint.getPosition(), null); diff --git a/src/main/res/values/do_not_translate.xml b/src/main/res/values/do_not_translate.xml index dd27dcbfb..cd066beea 100644 --- a/src/main/res/values/do_not_translate.xml +++ b/src/main/res/values/do_not_translate.xml @@ -37,8 +37,6 @@ limitations under the License. Material Components for Android (Apache License, Version 2.0) - http://maps.google.com/mapfiles/ms/micons/blue-pushpin.png - bpm rpm w