Track list: split activity type localized and description into two fields.

This commit is contained in:
Dennis Guse
2025-12-03 16:48:02 +01:00
parent 5bb5b3b344
commit 888f59133d
2 changed files with 22 additions and 8 deletions
@@ -2,6 +2,7 @@ package de.dennisguse.opentracks.ui;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.text.TextUtils;
import android.util.SparseBooleanArray; import android.util.SparseBooleanArray;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
@@ -33,7 +34,6 @@ import de.dennisguse.opentracks.settings.UnitSystem;
import de.dennisguse.opentracks.ui.util.ActivityUtils; import de.dennisguse.opentracks.ui.util.ActivityUtils;
import de.dennisguse.opentracks.ui.util.ListItemUtils; import de.dennisguse.opentracks.ui.util.ListItemUtils;
import de.dennisguse.opentracks.util.IntentUtils; import de.dennisguse.opentracks.util.IntentUtils;
import de.dennisguse.opentracks.util.StringUtils;
public class TrackListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements ActionMode.Callback { public class TrackListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements ActionMode.Callback {
@@ -232,9 +232,11 @@ public class TrackListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHold
viewBinding.trackListItemTime.setText(null); viewBinding.trackListItemTime.setText(null);
} }
String categoryDescription = StringUtils.getCategoryDescription(activityTypeLocalized, description); viewBinding.trackListItemActivityTypeLocalized.setText(activityTypeLocalized);
viewBinding.trackListItemCategoryDescription.setText(categoryDescription); viewBinding.trackListItemActivityTypeLocalized.setVisibility(TextUtils.isEmpty(activityTypeLocalized) ? View.GONE : View.VISIBLE);
viewBinding.trackListItemCategoryDescription.setVisibility(categoryDescription.isEmpty() ? View.GONE : View.VISIBLE);
viewBinding.trackListItemDescription.setText(description);
viewBinding.trackListItemDescription.setVisibility(TextUtils.isEmpty(description) ? View.GONE : View.VISIBLE);
setSelected(selection.get((int) trackId.id())); setSelected(selection.get((int) trackId.id()));
} }
+16 -4
View File
@@ -97,15 +97,27 @@
<!-- Category and description --> <!-- Category and description -->
<TextView <TextView
android:id="@+id/track_list_item_category_description" android:id="@+id/track_list_item_activity_type_localized"
style="?attr/textAppearanceBodySmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/track_list_item_name"
app:layout_constraintTop_toBottomOf="@id/track_list_item_barrier"
tools:text="Cycling" />
<TextView
android:id="@+id/track_list_item_description"
style="?attr/textAppearanceBodySmall" style="?attr/textAppearanceBodySmall"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="2" android:maxLines="2"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/track_list_item_name" app:layout_constraintStart_toStartOf="@id/track_list_item_activity_type_localized"
app:layout_constraintTop_toBottomOf="@id/track_list_item_barrier" app:layout_constraintTop_toBottomOf="@id/track_list_item_activity_type_localized"
tools:text="Description" /> tools:text="Description" />
<!-- Bottom Line --> <!-- Bottom Line -->
@@ -115,6 +127,6 @@
android:layout_marginBottom="0dp" android:layout_marginBottom="0dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/track_list_item_category_description" /> app:layout_constraintTop_toBottomOf="@+id/track_list_item_description" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>