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>2024-01-16 09:58:11 +0300
committerStefan Niedermann <info@niedermann.it>2024-01-16 09:58:11 +0300
commitb8d1a2a2a90df0c7f08de51076d9f6c3a1015f67 (patch)
tree7d7bba5ded0eda23d60348fbc959341cf030b261
parent8405834a5db1701120e65d17997b14e91853626b (diff)
chore(done): Support compact mode
Refs: #1556 Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java36
-rw-r--r--app/src/main/res/layout/item_card_compact.xml1
-rw-r--r--app/src/main/res/values/attrs.xml3
3 files changed, 27 insertions, 13 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
index 568dfb053..88b86daf3 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java
@@ -27,24 +27,30 @@ import it.niedermann.nextcloud.deck.util.DateUtil;
public class DueDateChip extends Chip {
- protected @ColorInt int colorOnSurface;
+ @ColorInt
+ protected final int colorOnSurface;
+ protected final boolean compactMode;
public DueDateChip(Context context) {
- super(context);
- initialize();
+ this(context, null);
}
public DueDateChip(Context context, AttributeSet attrs) {
- super(context, attrs);
- initialize();
+ this(context, attrs, R.attr.chipStyle);
}
public DueDateChip(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- initialize();
- }
- private void initialize() {
+ final var typedValue = new TypedValue();
+ final var theme = getContext().getTheme();
+ theme.resolveAttribute(R.attr.colorOnSurface, typedValue, true);
+ this.colorOnSurface = typedValue.data;
+
+ final var styles = context.obtainStyledAttributes(attrs, R.styleable.DueDateChip, defStyleAttr, 0);
+ this.compactMode = styles.getBoolean(R.styleable.DueDateChip_compactMode, false);
+ styles.recycle();
+
setEnsureMinTouchTargetSize(false);
setMinHeight(0);
setChipMinHeight(0);
@@ -52,14 +58,18 @@ public class DueDateChip extends Chip {
setPadding(padding, padding, padding, padding);
setClickable(false);
- final var typedValue = new TypedValue();
- final var theme = getContext().getTheme();
- theme.resolveAttribute(R.attr.colorOnSurface, typedValue, true);
- this.colorOnSurface = typedValue.data;
+ if (compactMode) {
+ setChipEndPadding(0);
+ setTextEndPadding(0);
+ }
}
public void setDueDate(@NonNull Instant date, boolean isDone) {
- setText(DateUtil.getRelativeDateTimeString(getContext(), date.toEpochMilli()));
+ if (compactMode) {
+ setText(null);
+ } else {
+ setText(DateUtil.getRelativeDateTimeString(getContext(), date.toEpochMilli()));
+ }
@DrawableRes final int chipIconRes;
@Nullable @ColorRes final Integer textColorRes;
diff --git a/app/src/main/res/layout/item_card_compact.xml b/app/src/main/res/layout/item_card_compact.xml
index 16336d4d4..75d95f796 100644
--- a/app/src/main/res/layout/item_card_compact.xml
+++ b/app/src/main/res/layout/item_card_compact.xml
@@ -56,6 +56,7 @@
android:id="@+id/card_due_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ app:compactMode="true"
tools:chipIcon="@drawable/ic_time_24"
tools:text="tomorrow" />
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 715f8b814..8e70e68ea 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -8,4 +8,7 @@
<attr name="description" format="string" />
<attr name="image" format="reference" />
</declare-styleable>
+ <declare-styleable name="DueDateChip">
+ <attr name="compactMode" format="boolean" />
+ </declare-styleable>
</resources> \ No newline at end of file