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.database.Cursor;
import android.text.TextUtils;
import android.util.SparseBooleanArray;
import android.view.LayoutInflater;
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.ListItemUtils;
import de.dennisguse.opentracks.util.IntentUtils;
import de.dennisguse.opentracks.util.StringUtils;
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);
}
String categoryDescription = StringUtils.getCategoryDescription(activityTypeLocalized, description);
viewBinding.trackListItemCategoryDescription.setText(categoryDescription);
viewBinding.trackListItemCategoryDescription.setVisibility(categoryDescription.isEmpty() ? View.GONE : View.VISIBLE);
viewBinding.trackListItemActivityTypeLocalized.setText(activityTypeLocalized);
viewBinding.trackListItemActivityTypeLocalized.setVisibility(TextUtils.isEmpty(activityTypeLocalized) ? View.GONE : View.VISIBLE);
viewBinding.trackListItemDescription.setText(description);
viewBinding.trackListItemDescription.setVisibility(TextUtils.isEmpty(description) ? View.GONE : View.VISIBLE);
setSelected(selection.get((int) trackId.id()));
}
+16 -4
View File
@@ -97,15 +97,27 @@
<!-- Category and description -->
<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"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/track_list_item_name"
app:layout_constraintTop_toBottomOf="@id/track_list_item_barrier"
app:layout_constraintStart_toStartOf="@id/track_list_item_activity_type_localized"
app:layout_constraintTop_toBottomOf="@id/track_list_item_activity_type_localized"
tools:text="Description" />
<!-- Bottom Line -->
@@ -115,6 +127,6 @@
android:layout_marginBottom="0dp"
app:layout_constraintEnd_toEndOf="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>