diff options
author | Stefan Niedermann <info@niedermann.it> | 2024-01-16 09:58:11 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2024-01-16 09:58:11 +0300 |
commit | b8d1a2a2a90df0c7f08de51076d9f6c3a1015f67 (patch) | |
tree | 7d7bba5ded0eda23d60348fbc959341cf030b261 /app/src/main/java | |
parent | 8405834a5db1701120e65d17997b14e91853626b (diff) |
chore(done): Support compact mode
Refs: #1556
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/view/DueDateChip.java | 36 |
1 files changed, 23 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; |