diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-03-03 23:44:04 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-03-03 23:44:04 +0300 |
commit | cdc5c46549e6ac49d8c3f2c6a53bd9a360420f10 (patch) | |
tree | 506e1cace54426ffb95fa59b7d762b5104b207b2 /app/src/main/java/it/niedermann/nextcloud/deck/util | |
parent | 93c05134ae6d02cdec050e0056169789dd5a7b2c (diff) |
#854 Add due date and tags to shared content
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/util')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java b/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java index 1ed8044be..4dab1eb4b 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/util/CardUtil.java @@ -1,9 +1,21 @@ package it.niedermann.nextcloud.deck.util; +import android.content.Context; +import android.text.TextUtils; + import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.format.FormatStyle; import java.util.regex.Pattern; +import java.util.stream.Collectors; + +import it.niedermann.nextcloud.deck.R; +import it.niedermann.nextcloud.deck.model.Card; +import it.niedermann.nextcloud.deck.model.Label; +import it.niedermann.nextcloud.deck.model.full.FullCard; public class CardUtil { private static final Pattern pLists = Pattern.compile("^\\s*[*+-]\\s+", Pattern.MULTILINE); @@ -17,6 +29,28 @@ public class CardUtil { // You shall not pass } + /** + * @return a human readable String containing the description, due date and tags of the given {@param fullCard} + */ + @NonNull + public static String getCardContentAsString(@NonNull Context context, @NonNull FullCard fullCard) { + final Card card = fullCard.getCard(); + String text = card.getDescription(); + if(card.getDueDate() != null) { + if(!TextUtils.isEmpty(text)) { + text += "\n"; + } + text += context.getString(R.string.share_content_duedate, card.getDueDate().atZone(ZoneId.systemDefault()).format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM))); + } + if(fullCard.getLabels() != null && !fullCard.getLabels().isEmpty()) { + if(!TextUtils.isEmpty(text)) { + text += "\n"; + } + text += context.getString(R.string.share_content_labels, fullCard.getLabels().stream().map(Label::getTitle).collect(Collectors.joining(", "))); + } + return text; + } + @NonNull public static String generateTitleFromDescription(@Nullable String description) { if(description == null) return ""; |