diff options
author | Stefan Niedermann <info@niedermann.it> | 2024-01-13 15:21:55 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2024-01-13 15:21:55 +0300 |
commit | 7976b3292f424a6fec745f34ef199b51e00e8173 (patch) | |
tree | 06308a6ef39e1747f94a0857e5aad13d35760c43 /app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java | |
parent | 2d62de809df626ae5601a70016681d8a7c4358df (diff) |
feat(done): Display done state and adjust colors
Refs: #1556
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java index 697b21e1e..bad539918 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/AbstractCardViewHolder.java @@ -21,6 +21,7 @@ import com.nextcloud.android.common.ui.theme.utils.ColorRole; import org.jetbrains.annotations.Contract; +import java.time.Instant; import java.time.ZoneId; import java.util.List; import java.util.stream.Collectors; @@ -65,8 +66,8 @@ public abstract class AbstractCardViewHolder extends RecyclerView.ViewHolder { getNotSyncedYet().setVisibility(DBStatus.LOCAL_EDITED.equals(fullCard.getStatusEnum()) ? View.VISIBLE : View.GONE); - if (fullCard.getCard().getDueDate() != null) { - setupDueDate(getCardDueDate(), fullCard.getCard()); + if (fullCard.getCard().getDueDate() != null || fullCard.getCard().getDone() != null) { + setupTemporalChip(getCardDueDate(), fullCard.getCard()); getCardDueDate().setVisibility(View.VISIBLE); } else { getCardDueDate().setVisibility(View.GONE); @@ -112,9 +113,15 @@ public abstract class AbstractCardViewHolder extends RecyclerView.ViewHolder { return getCard(); } - private static void setupDueDate(@NonNull TextView cardDueDate, @NonNull Card card) { - cardDueDate.setText(DateUtil.getRelativeDateTimeString(cardDueDate.getContext(), card.getDueDate().toEpochMilli())); - DeckViewThemeUtils.themeDueDate(cardDueDate, card.getDueDate().atZone(ZoneId.systemDefault()).toLocalDate()); + /** + * Sets up a temporal information, e. g. {@link Card#getDone()} or {@link Card#getDueDate()} + */ + private static void setupTemporalChip(@NonNull TextView cardDueDate, @NonNull Card card) { + final boolean isDone = card.getDone() != null; + final Instant temporalInformation = isDone ? card.getDone() : card.getDueDate(); + + cardDueDate.setText(DateUtil.getRelativeDateTimeString(cardDueDate.getContext(), temporalInformation.toEpochMilli())); + DeckViewThemeUtils.themeTemporalChip(cardDueDate, temporalInformation.atZone(ZoneId.systemDefault()).toLocalDate(), isDone); } protected static void setupCoverImages(@NonNull Account account, @NonNull ViewGroup coverImagesHolder, @NonNull FullCard fullCard, int maxCoverImagesCount) { |