Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-03-03 23:44:04 +0300
committerStefan Niedermann <info@niedermann.it>2021-03-03 23:44:04 +0300
commitcdc5c46549e6ac49d8c3f2c6a53bd9a360420f10 (patch)
tree506e1cace54426ffb95fa59b7d762b5104b207b2 /app/src/main/java/it/niedermann/nextcloud/deck/util
parent93c05134ae6d02cdec050e0056169789dd5a7b2c (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.java34
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 "";