From 201f2d1b279a9005ede037ad5a6a3fbabdb36cd3 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Wed, 3 Dec 2025 17:49:14 +0100 Subject: [PATCH] Cleanup: renaming Marker.category to typeLocalized. --- .../opentracks/content/data/TestDataUtil.java | 8 ++++---- .../io/file/importer/ExportImportTest.java | 6 +++--- .../EspressoAggregatedFilterTest.java | 8 ++++---- .../opentracks/data/ContentProviderUtils.java | 8 ++++---- .../opentracks/data/models/Marker.java | 2 +- .../opentracks/data/models/MarkerBuilder.java | 16 ++++++++-------- .../opentracks/data/tables/MarkerColumns.java | 4 ++-- .../io/file/TrackFilenameGenerator.java | 2 +- .../io/file/exporter/GPXTrackExporter.java | 2 +- .../io/file/exporter/KMLTrackExporter.java | 6 +++--- .../io/file/importer/KMLTrackImporter.java | 2 +- .../settings/ActivityTypePreference.java | 4 ++-- .../ui/markers/MarkerDetailFragment.java | 2 +- .../ui/markers/MarkerEditActivity.java | 2 +- .../ui/markers/MarkerEditViewModel.java | 16 ++++++++-------- .../opentracks/ui/markers/MarkerListAdapter.java | 2 +- src/main/res/layout/marker_detail_fragment.xml | 2 +- src/main/res/layout/marker_list_item.xml | 6 +++--- 18 files changed, 49 insertions(+), 49 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 396a48330..6e92111f5 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 typeLocalized 3", trackPoints.get(1).getPosition(), null), + new Marker(null, trackId, "Marker 2", "Marker description 2", "Marker typeLocalized 3", trackPoints.get(4).getPosition(), null), + new Marker(null, trackId, "Marker 3", "Marker description 3", "Marker typeLocalized 3", trackPoints.get(5).getPosition(), null) ); return new TrackData(track, trackPoints, markers); @@ -162,7 +162,7 @@ public class TestDataUtil { trackId, "Marker name", description, - "Marker category", + "Marker typeLocalized", trackPoint.getPosition(), photoUri); } 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 e56e110f5..d12a62546 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 @@ -157,7 +157,7 @@ public class ExportImportTest { trackId, "Marker 1", "Marker 1 desc", - "Marker 1 category", + "Marker 1 typeLocalized", service.getLastStoredTrackPointWithLocation().getPosition(), null )); @@ -180,7 +180,7 @@ public class ExportImportTest { trackId, "Marker 2", "Marker 2 desc", - "Marker 2 category", + "Marker 2 typeLocalized", service.getLastStoredTrackPointWithLocation().getPosition(), null )); @@ -555,7 +555,7 @@ public class ExportImportTest { for (int i = 0; i < markers.size(); i++) { Marker marker = markers.get(i); Marker importMarker = importedMarkers.get(i); - assertEquals(marker.category(), importMarker.category()); + assertEquals(marker.typeLocalized(), importMarker.typeLocalized()); assertEquals(marker.description(), importMarker.description()); assertEquals(marker.name(), importMarker.name()); assertNull(importMarker.photoUrl()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java index 79d76b6a7..ed0d1f4f6 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/ui/aggregatedStatistics/EspressoAggregatedFilterTest.java @@ -41,7 +41,7 @@ import de.dennisguse.opentracks.data.models.TrackPoint; @RunWith(AndroidJUnit4.class) public class EspressoAggregatedFilterTest { - private final String CATEGORY = "category"; + private final String ACTIVITY_TYPE_LOCALIZED = "activityTypeLocalized"; @Rule public ActivityScenarioRule mActivityTestRule = new ActivityScenarioRule<>(TrackListActivity.class); @@ -53,7 +53,7 @@ public class EspressoAggregatedFilterTest { public void setUp() { Pair> pair = TestDataUtil.createTrack(new Track.Id(System.currentTimeMillis()), 20); TrackBuilder trackBuilder = new TrackBuilder(pair.first); - trackBuilder.setActivityTypeLocalized(CATEGORY); + trackBuilder.setActivityTypeLocalized(ACTIVITY_TYPE_LOCALIZED); TestDataUtil.insertTrackWithLocations(new ContentProviderUtils(ApplicationProvider.getApplicationContext()), trackBuilder.getTrack(), pair.second); } @@ -69,9 +69,9 @@ public class EspressoAggregatedFilterTest { onView(withId(R.id.bottom_app_bar)).check(matches(hasDescendant(withId(R.id.aggregated_statistics_filter)))); onView(withId(R.id.aggregated_statistics_filter)).perform(click()); - // check there's a checkbox with CATEGORY text + // check there's a checkbox with ACTIVITY_TYPE_LOCALIZED text ViewInteraction checkBox = onView( - allOf(withId(R.id.filter_dialog_check_button), withText(CATEGORY), + allOf(withId(R.id.filter_dialog_check_button), withText(ACTIVITY_TYPE_LOCALIZED), withParent(allOf(withId(R.id.filter_items), withParent(IsInstanceOf.instanceOf(android.view.ViewGroup.class)))), isDisplayed())); diff --git a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java index b4c109b79..1d23af37f 100644 --- a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java @@ -311,7 +311,7 @@ public class ContentProviderUtils { int idIndex = cursor.getColumnIndexOrThrow(MarkerColumns._ID); int nameIndex = cursor.getColumnIndexOrThrow(MarkerColumns.NAME); int descriptionIndex = cursor.getColumnIndexOrThrow(MarkerColumns.DESCRIPTION); - int categoryIndex = cursor.getColumnIndexOrThrow(MarkerColumns.CATEGORY); + int typeLocalizedIndex = cursor.getColumnIndexOrThrow(MarkerColumns.TYPE_LOCALIZED); int trackIdIndex = cursor.getColumnIndexOrThrow(MarkerColumns.TRACKID); int longitudeIndex = cursor.getColumnIndexOrThrow(MarkerColumns.LONGITUDE); int latitudeIndex = cursor.getColumnIndexOrThrow(MarkerColumns.LATITUDE); @@ -367,7 +367,7 @@ public class ContentProviderUtils { new Track.Id(cursor.getLong(trackIdIndex)), !cursor.isNull(nameIndex) ? cursor.getString(nameIndex) : "", !cursor.isNull(descriptionIndex) ? cursor.getString(descriptionIndex) : "", - !cursor.isNull(categoryIndex) ? cursor.getString(categoryIndex) : "", + !cursor.isNull(typeLocalizedIndex) ? cursor.getString(typeLocalizedIndex) : "", position, photoUrl ); @@ -472,7 +472,7 @@ public class ContentProviderUtils { values.put(MarkerColumns.NAME, marker.name()); values.put(MarkerColumns.DESCRIPTION, marker.description()); - values.put(MarkerColumns.CATEGORY, marker.category()); + values.put(MarkerColumns.TYPE_LOCALIZED, marker.typeLocalized()); values.put(MarkerColumns.LONGITUDE, (int) (marker.position().longitude() * 1E6)); values.put(MarkerColumns.LATITUDE, (int) (marker.position().latitude() * 1E6)); @@ -521,7 +521,7 @@ public class ContentProviderUtils { } else { selection = MarkerColumns.NAME + " LIKE ? OR " + MarkerColumns.DESCRIPTION + " LIKE ? OR " + - MarkerColumns.CATEGORY + " LIKE ?"; + MarkerColumns.TYPE_LOCALIZED + " LIKE ?"; selectionArgs = new String[]{"%" + query + "%", "%" + query + "%", "%" + query + "%"}; sortOrder = MarkerColumns.DEFAULT_SORT_ORDER + " DESC"; } 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 48c5bddc5..65beb70a1 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/Marker.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/Marker.java @@ -23,7 +23,7 @@ public record Marker( @NonNull String description, @NonNull - String category, + String typeLocalized, //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 4c23cf522..05a8eb38e 100644 --- a/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java +++ b/src/main/java/de/dennisguse/opentracks/data/models/MarkerBuilder.java @@ -34,7 +34,7 @@ public final class MarkerBuilder { private Marker.Id id; private String name; private String description; - private String category; + private String typeLocalized; private final Track.Id trackId; //Some data might not be used. @@ -48,7 +48,7 @@ public final class MarkerBuilder { this.trackId = trackId; this.name = ""; this.description = ""; - this.category = ""; + this.typeLocalized = ""; this.photoUrl = null; if (!trackPoint.hasLocation()) @@ -57,11 +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, Uri photoUrl) { + public MarkerBuilder(@Nullable Track.Id trackId, @NonNull TrackPoint trackPoint, String name, String description, String typeLocalized, Uri photoUrl) { this(trackId, trackPoint); this.name = name; this.description = description; - this.category = category; + this.typeLocalized = typeLocalized; this.photoUrl = photoUrl; } @@ -70,7 +70,7 @@ public final class MarkerBuilder { this.trackId = marker.trackId(); this.name = marker.name(); this.description = marker.description(); - this.category = marker.category(); + this.typeLocalized = marker.typeLocalized(); this.position = marker.position(); this.photoUrl = marker.photoUrl(); } @@ -102,8 +102,8 @@ public final class MarkerBuilder { this.description = description; } - public void setCategory(String category) { - this.category = category; + public void setTypeLocalized(String typeLocalized) { + this.typeLocalized = typeLocalized; } public Track.Id getTrackId() { @@ -128,7 +128,7 @@ public final class MarkerBuilder { trackId, name, description, - category, + typeLocalized, 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 41628db0c..cdc882c39 100644 --- a/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java +++ b/src/main/java/de/dennisguse/opentracks/data/tables/MarkerColumns.java @@ -38,7 +38,7 @@ public interface MarkerColumns extends BaseColumns { // Columns String NAME = "name"; // marker name String DESCRIPTION = "description"; // marker description - String CATEGORY = "category"; // marker category + String TYPE_LOCALIZED = "category"; String TRACKID = "trackid"; // track id String LONGITUDE = "longitude"; // longitude String LATITUDE = "latitude"; // latitude @@ -53,7 +53,7 @@ public interface MarkerColumns extends BaseColumns { + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + NAME + " TEXT, " + DESCRIPTION + " TEXT, " - + CATEGORY + " TEXT, " + + TYPE_LOCALIZED + " TEXT, " + TRACKID + " INTEGER NOT NULL, " + LONGITUDE + " INTEGER, " + LATITUDE + " INTEGER, " diff --git a/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java b/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java index f4334573d..37f8725f1 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/TrackFilenameGenerator.java @@ -20,7 +20,7 @@ public class TrackFilenameGenerator { public static final String UUID_KEY = "{uuid}"; public static final String TRACKNAME_KEY = "{name}"; - public static final String ACTIVITY_TYPE_KEY = "{category}"; + public static final String ACTIVITY_TYPE_KEY = "{typeLocalized}"; public static final String STARTTIME_TIME_KEY = "{time}"; public static final String STARTTIME_DATE_KEY = "{date}"; diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java index 8523c8d06..37587e6eb 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/GPXTrackExporter.java @@ -256,7 +256,7 @@ public class GPXTrackExporter implements TrackExporter { printWriter.println(""); printWriter.println("" + StringUtils.formatCData(marker.name()) + ""); printWriter.println("" + StringUtils.formatCData(marker.description()) + ""); - printWriter.println("" + StringUtils.formatCData(marker.category()) + ""); //TODO This is localized; may be better to export in English only. See #1608 + printWriter.println("" + StringUtils.formatCData(marker.typeLocalized()) + ""); //TODO This is localized; may be better to export in English only. See #1608 printWriter.println(""); } diff --git a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java index ce911cb9f..88ee42772 100644 --- a/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java +++ b/src/main/java/de/dennisguse/opentracks/io/file/exporter/KMLTrackExporter.java @@ -266,10 +266,10 @@ public class KMLTrackExporter implements TrackExporter { private void writeMarker(Marker marker, ZoneOffset zoneOffset) { boolean existsPhoto = MarkerUtils.buildInternalPhotoFile(context, marker.trackId(), marker.photoUrl()) != null; - if (marker.photoUrl() != null && exportPhotos && existsPhoto) { + if (exportPhotos && existsPhoto) { writePhotoOverlay(marker, zoneOffset); } else { - writePlacemark(marker.name(), marker.category(), marker.description(), marker.position(), marker.position().time(), zoneOffset); + writePlacemark(marker.name(), marker.typeLocalized(), marker.description(), marker.position(), marker.position().time(), zoneOffset); } } @@ -437,7 +437,7 @@ public class KMLTrackExporter implements TrackExporter { printWriter.println(""); printWriter.println("" + getTime(zoneOffset, marker.position().time()) + ""); printWriter.println("#" + MARKER_STYLE + ""); - writeTypeLocalized(marker.category()); + writeTypeLocalized(marker.typeLocalized()); if (exportPhotos) { printWriter.println("" + KMZTrackExporter.buildKmzImageFilePath(marker) + ""); 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 1b204e06b..59a3666b7 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 @@ -142,7 +142,7 @@ public class KMLTrackImporter extends DefaultHandler implements XMLImporter.Trac public void startElement(String uri, String localName, String tag, Attributes attributes) throws SAXException { switch (tag) { case TAG_PLACEMARK, TAG_PHOTO_OVERLAY -> - // Note that a track is contained in a Placemark, calling onMarkerStart will clear various track variables like name, category, and description. + // Note that a track is contained in a Placemark, calling onMarkerStart will clear various track variables like name, typeLocalized, and description. onMarkerStart(); case TAG_MULTI_TRACK, TAG_KML22_MULTI_TRACK -> trackImporter.newTrack(); case TAG_TRACK, TAG_KML22_TRACK -> { diff --git a/src/main/java/de/dennisguse/opentracks/settings/ActivityTypePreference.java b/src/main/java/de/dennisguse/opentracks/settings/ActivityTypePreference.java index 088874e92..24f038336 100644 --- a/src/main/java/de/dennisguse/opentracks/settings/ActivityTypePreference.java +++ b/src/main/java/de/dennisguse/opentracks/settings/ActivityTypePreference.java @@ -101,8 +101,8 @@ public class ActivityTypePreference extends DialogPreference { } private void showIconSelectDialog() { - String category = PreferencesUtils.getDefaultActivityTypeLocalized(); - ChooseActivityTypeDialogFragment.showDialog(getActivity().getSupportFragmentManager(), getContext(), category); + String activityTypeLocalized = PreferencesUtils.getDefaultActivityTypeLocalized(); + ChooseActivityTypeDialogFragment.showDialog(getActivity().getSupportFragmentManager(), getContext(), activityTypeLocalized); } @Override diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailFragment.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailFragment.java index 1021f5b8b..c1846576c 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailFragment.java +++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerDetailFragment.java @@ -186,7 +186,7 @@ public class MarkerDetailFragment extends Fragment { viewBinding.markerDetailMarkerPhoto.setImageDrawable(MarkerUtils.getDefaultPhoto(getContext())); } - viewBinding.markerDetailMarkerCategory.setText(marker.category()); + viewBinding.markerDetailMarkerTypeLocalized.setText(marker.typeLocalized()); viewBinding.markerDetailMarkerDescription.setText(marker.description()); viewBinding.markerDetailMarkerLocation.setText(StringUtils.formatCoordinate(getContext(), marker.position())); diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java index 772cf7587..897b1a26d 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditActivity.java @@ -178,7 +178,7 @@ public class MarkerEditActivity extends AbstractActivity { private void loadMarkerData(Marker data) { marker = data; viewBinding.markerEditName.setText(marker.name()); - viewBinding.markerEditMarkerType.setText(marker.category()); + viewBinding.markerEditMarkerType.setText(marker.typeLocalized()); viewBinding.markerEditDescription.setText(marker.description()); if (marker.photoUrl() != null) { setMarkerImageView(marker.photoUrl()); 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 e22501517..0753c04fe 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java +++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerEditViewModel.java @@ -76,7 +76,7 @@ public class MarkerEditViewModel extends AndroidViewModel { } } - public void onPhotoDelete(String name, String category, String description) { + public void onPhotoDelete(String name, String typeLocalized, String description) { MarkerBuilder marker = new MarkerBuilder(getMarker()); if (marker.hasPhoto()) { if (!marker.getPhotoUrl().equals(photoOriginalUri)) { @@ -84,22 +84,22 @@ public class MarkerEditViewModel extends AndroidViewModel { } marker.setPhotoUrl(null); marker.setName(name); - marker.setCategory(category); + marker.setTypeLocalized(typeLocalized); marker.setDescription(description); markerData.postValue(marker.getMarker()); } } - public void onNewCameraPhoto(@NonNull Uri photoUri, String name, String category, String description) { + public void onNewCameraPhoto(@NonNull Uri photoUri, String name, String typeLocalized, String description) { MarkerBuilder marker = new MarkerBuilder(getMarker()); marker.setPhotoUrl(photoUri); marker.setName(name); - marker.setCategory(category); + marker.setTypeLocalized(typeLocalized); marker.setDescription(description); markerData.postValue(marker.getMarker()); } - public void onNewGalleryPhoto(@NonNull Uri srcUri, String name, String category, String description) { + public void onNewGalleryPhoto(@NonNull Uri srcUri, String name, String typeLocalized, String description) { MarkerBuilder marker = new MarkerBuilder(getMarker()); try (ParcelFileDescriptor parcelFd = getApplication().getContentResolver().openFileDescriptor(srcUri, "r")) { @@ -110,7 +110,7 @@ public class MarkerEditViewModel extends AndroidViewModel { Uri photoUri = FileUtils.getUriForFile(getApplication(), dstFile); marker.setPhotoUrl(photoUri); marker.setName(name); - marker.setCategory(category); + marker.setTypeLocalized(typeLocalized); marker.setDescription(description); markerData.postValue(marker.getMarker()); @@ -120,11 +120,11 @@ public class MarkerEditViewModel extends AndroidViewModel { } } - public void onDone(String name, String category, String description) { + public void onDone(String name, String typeLocalized, String description) { MarkerBuilder marker = new MarkerBuilder(getMarker()); marker.setName(name); - marker.setCategory(category); + marker.setTypeLocalized(typeLocalized); marker.setDescription(description); if (marker.getId() == null) { new ContentProviderUtils(getApplication()).insertMarker(marker.getMarker()); diff --git a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListAdapter.java b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListAdapter.java index 388f31596..d31960037 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListAdapter.java +++ b/src/main/java/de/dennisguse/opentracks/ui/markers/MarkerListAdapter.java @@ -196,7 +196,7 @@ public class MarkerListAdapter extends RecyclerView.Adapter diff --git a/src/main/res/layout/marker_list_item.xml b/src/main/res/layout/marker_list_item.xml index fd84e7a9c..f2ddc485d 100644 --- a/src/main/res/layout/marker_list_item.xml +++ b/src/main/res/layout/marker_list_item.xml @@ -44,7 +44,7 @@ @@ -82,7 +82,7 @@ app:barrierDirection="bottom" app:layout_constraintTop_toBottomOf="@+id/marker_list_item_description" - app:constraint_referenced_ids="marker_list_item_photo,marker_list_item_name,marker_list_item_date,marker_list_item_category" /> + app:constraint_referenced_ids="marker_list_item_photo,marker_list_item_name,marker_list_item_date,marker_list_item_type_localized" />