From f084c6f56fa0d1636465b17039a3b88dfcfe0e5c Mon Sep 17 00:00:00 2001 From: PhilKes Date: Sat, 26 Oct 2024 16:27:51 +0200 Subject: [PATCH 1/4] Sort by preference controls which date is displayed --- .../activity/ConfigureWidgetActivity.kt | 1 + .../activity/main/fragment/NotallyFragment.kt | 1 + .../activity/note/EditActivity.kt | 15 +++++++++++-- .../presentation/view/main/BaseNoteAdapter.kt | 8 ++++++- .../presentation/view/main/BaseNoteVH.kt | 11 +++++++--- .../presentation/view/misc/ListInfo.kt | 2 +- .../com/philkes/notallyx/utils/Extensions.kt | 21 ++++++++----------- .../philkes/notallyx/utils/backup/Import.kt | 4 ++-- app/src/main/res/layout/activity_edit.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-in/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ja/strings.xml | 2 +- app/src/main/res/values-my/strings.xml | 2 +- app/src/main/res/values-nb/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 6 +++--- app/src/main/res/values-nn/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-pt-rPT/strings.xml | 2 +- app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 2 +- app/src/main/res/values-vi/strings.xml | 2 +- app/src/main/res/values-zh-rCN/strings.xml | 2 +- app/src/main/res/values/strings.xml | 6 +++--- 30 files changed, 68 insertions(+), 47 deletions(-) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt index e414632a..11d62d50 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt @@ -50,6 +50,7 @@ class ConfigureWidgetActivity : LockedActivity() BaseNoteAdapter( Collections.emptySet(), dateFormat.value, + notesSorting.value.first, textSize.value, maxItems, maxLines, diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt index 631e5ce6..d328ae3c 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt @@ -131,6 +131,7 @@ abstract class NotallyFragment : Fragment(), ListItemListener { BaseNoteAdapter( model.actionMode.selectedIds, dateFormat.value, + notesSorting.value.first, textSize.value, maxItems, maxLines, diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt index f5c7a887..f97ef972 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt @@ -35,6 +35,7 @@ import com.philkes.notallyx.databinding.ActivityEditBinding import com.philkes.notallyx.databinding.DialogProgressBinding import com.philkes.notallyx.presentation.activity.LockedActivity import com.philkes.notallyx.presentation.view.Constants +import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByModifiedDate import com.philkes.notallyx.presentation.view.misc.TextSize import com.philkes.notallyx.presentation.view.note.ErrorAdapter import com.philkes.notallyx.presentation.view.note.audio.AudioAdapter @@ -249,7 +250,17 @@ abstract class EditActivity(private val type: Type) : LockedActivity Pair(model.modifiedTimestamp, R.string.modified_date) + else -> Pair(model.timestamp, R.string.creation_date) + } + binding.Date.displayFormattedTimestamp( + date, + preferences.dateFormat.value, + prefixResId = datePrefixResId, + ) + updateEnterTitle() Operations.bindLabels(binding.LabelGroup, model.labels, model.textSize) @@ -594,7 +605,7 @@ abstract class EditActivity(private val type: Type) : LockedActivity, private val dateFormat: String, + private val sortedBy: String, private val textSize: String, private val maxItems: Int, private val maxLines: Int, @@ -48,7 +49,12 @@ class BaseNoteAdapter( when (val item = list[position]) { is Header -> (holder as HeaderVH).bind(item) is BaseNote -> - (holder as BaseNoteVH).bind(item, imageRoot, selectedIds.contains(item.id)) + (holder as BaseNoteVH).bind( + item, + imageRoot, + selectedIds.contains(item.id), + sortedBy, + ) } } diff --git a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt index 2109e14f..3ae10e78 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt @@ -24,6 +24,7 @@ import com.philkes.notallyx.data.model.ListItem import com.philkes.notallyx.data.model.SpanRepresentation import com.philkes.notallyx.data.model.Type import com.philkes.notallyx.databinding.RecyclerBaseNoteBinding +import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByModifiedDate import com.philkes.notallyx.presentation.view.misc.TextSize import com.philkes.notallyx.presentation.view.note.listitem.ListItemListener import com.philkes.notallyx.utils.Operations @@ -73,15 +74,19 @@ class BaseNoteVH( binding.root.isChecked = checked } - fun bind(baseNote: BaseNote, imageRoot: File?, checked: Boolean) { + fun bind(baseNote: BaseNote, imageRoot: File?, checked: Boolean, sortingKey: String) { updateCheck(checked) when (baseNote.type) { Type.NOTE -> bindNote(baseNote.body, baseNote.spans) Type.LIST -> bindList(baseNote.items) } - - binding.Date.displayFormattedTimestamp(baseNote.timestamp, dateFormat) + val (date, datePrefixResId) = + when (sortingKey) { + autoSortByModifiedDate -> Pair(baseNote.modifiedTimestamp, R.string.modified_date) + else -> Pair(baseNote.timestamp, R.string.creation_date) + } + binding.Date.displayFormattedTimestamp(date, dateFormat, prefixResId = datePrefixResId) setColor(baseNote.color) setImages(baseNote.images, imageRoot) setFiles(baseNote.files) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/view/misc/ListInfo.kt b/app/src/main/java/com/philkes/notallyx/presentation/view/misc/ListInfo.kt index 94c932a0..927f0295 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/view/misc/ListInfo.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/view/misc/ListInfo.kt @@ -63,7 +63,7 @@ object DateFormat : ListInfo { const val relative = "relative" const val absolute = "absolute" - override val title = R.string.creation_date_format + override val title = R.string.date_format override val key = "dateFormat" override val defaultValue = relative diff --git a/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt b/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt index 176657df..38b8a052 100644 --- a/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt +++ b/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt @@ -29,7 +29,6 @@ import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.RadioButton import android.widget.RadioGroup -import android.widget.RemoteViews import android.widget.TextView import androidx.appcompat.app.AppCompatActivity.INPUT_METHOD_SERVICE import androidx.appcompat.app.AppCompatActivity.KEYGUARD_SERVICE @@ -183,20 +182,18 @@ fun Menu.add( return menuItem } -fun TextView.displayFormattedTimestamp(timestamp: Long, dateFormat: String) { +fun TextView.displayFormattedTimestamp( + timestamp: Long, + dateFormat: String, + prefixResId: Int? = null, +) { if (dateFormat != DateFormat.none) { visibility = View.VISIBLE - text = formatTimestamp(timestamp, dateFormat) + text = + "${prefixResId?.let { getString(it) } ?: ""} ${formatTimestamp(timestamp, dateFormat)}" } else visibility = View.GONE } -fun RemoteViews.displayFormattedTimestamp(id: Int, timestamp: Long, dateFormat: String) { - if (dateFormat != DateFormat.none) { - setViewVisibility(id, View.VISIBLE) - setTextViewText(id, formatTimestamp(timestamp, dateFormat)) - } else setViewVisibility(id, View.GONE) -} - val Int.dp: Int get() = (this / Resources.getSystem().displayMetrics.density).roundToInt() @@ -264,8 +261,8 @@ fun EditText.createTextWatcherWithHistory( fun Editable.clone(): Editable = Editable.Factory.getInstance().newEditable(this) -fun View.getQuantityString(id: Int, quantity: Int): String { - return context.resources.getQuantityString(id, quantity, quantity) +fun View.getString(id: Int, vararg formatArgs: String): String { + return context.resources.getString(id, *formatArgs) } fun View.getQuantityString(id: Int, quantity: Int, vararg formatArgs: Any): String { diff --git a/app/src/main/java/com/philkes/notallyx/utils/backup/Import.kt b/app/src/main/java/com/philkes/notallyx/utils/backup/Import.kt index cc0b59e1..371cae42 100644 --- a/app/src/main/java/com/philkes/notallyx/utils/backup/Import.kt +++ b/app/src/main/java/com/philkes/notallyx/utils/backup/Import.kt @@ -37,8 +37,8 @@ import net.lingala.zip4j.exception.ZipException object Import { /** - * We only import the images/files referenced in notes. e.g If someone has added garbage to the ZIP - * file, like a 100 MB image, ignore it. + * We only import the images/files referenced in notes. e.g If someone has added garbage to the + * ZIP file, like a 100 MB image, ignore it. */ suspend fun importZip( app: Application, diff --git a/app/src/main/res/layout/activity_edit.xml b/app/src/main/res/layout/activity_edit.xml index 0d2a85a9..446619b0 100644 --- a/app/src/main/res/layout/activity_edit.xml +++ b/app/src/main/res/layout/activity_edit.xml @@ -77,7 +77,7 @@ android:textAppearance="?attr/textAppearanceHeadline6" /> Světlé Podle systému - Formát data + Formát data Žádné Velikost písma diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 962dc142..93de2ff4 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -91,7 +91,7 @@ Hell Systemeinstellung folgen - Datumsformat + Datumsformat Keines Textgröße diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 07552df0..b672394c 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -79,7 +79,7 @@ Φωτεινό Ακολούθηση συστήματος - Μορφή ημερομηνίας + Μορφή ημερομηνίας Καμία Πυκνότητα περιεχομένου diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 72a0a1d2..c6ee15f6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -79,7 +79,7 @@ Lista Cuadrícula - Formato de fecha + Formato de fecha Ninguno Tamaño de texto diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 0d2e0835..9b01e86c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -89,7 +89,7 @@ Lumineux En fonction du système - Format de la date + Format de la date Aucun Taille du texte diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index e1e8ff80..c9520622 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -83,7 +83,7 @@ Terang Ikuti sistem - Format tanggal + Format tanggal Tidak ada Kerapatan konten diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 68f542a7..83e3ef3d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -83,7 +83,7 @@ Chiaro Tema di Sistema - Formato data + Formato data Nessuno Densità del contenuto diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 8b1eac26..0044c792 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -80,7 +80,7 @@ ライト システムのテーマを使用 - 日付の表示 + 日付の表示 表示しない プレビュー diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml index 29b11907..2663edf5 100644 --- a/app/src/main/res/values-my/strings.xml +++ b/app/src/main/res/values-my/strings.xml @@ -89,7 +89,7 @@ အလင်း ဖုန်းအတိုင်း - နေ့ရက်ပုံစံ + နေ့ရက်ပုံစံ ဘာမှမရှိ စာလလုံးအရွယ်အစား diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 41e2394f..cb35b7ce 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -88,7 +88,7 @@ Lyst Følg systemet - Datoformat + Datoformat Ikke vis Skriftstørrelse diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 85fefb55..7dd78c17 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -123,7 +123,7 @@ Licht Volg systeeminstellingen - Datumformaat + Datumformaat Geen Tekstgrootte @@ -136,8 +136,8 @@ Automatisch sorteren op geselecteerde items Notities gesorteerd op - Gemaakt op - Laatst gewijzigd op + Gemaakt + Gewijzigd Oplopend Aflopend Sorteer volgorde diff --git a/app/src/main/res/values-nn/strings.xml b/app/src/main/res/values-nn/strings.xml index 19c1a2fc..42701b95 100644 --- a/app/src/main/res/values-nn/strings.xml +++ b/app/src/main/res/values-nn/strings.xml @@ -88,7 +88,7 @@ Lyst Følg systemet - Datoformat + Datoformat Ikkje vis Skriftstorleik diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 271a31d3..0446c5e2 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -89,7 +89,7 @@ Jasny Systemowy - Format daty + Format daty Brak Rozmiar tekstu diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 26362ae0..6cb62793 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -78,7 +78,7 @@ Claro Seguir o sistema - Formato da data + Formato da data Nenhum Densidade do conteúdo diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 13d2fd61..3e835cd1 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -90,7 +90,7 @@ Luminos Urmează sistemul - Formatul datei + Formatul datei Nici unul Mărimea textului diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 36b12d19..9393616a 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -81,7 +81,7 @@ Светлая Как в системе - Формат даты + Формат даты Отсутствует Плотность контента diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 63646440..a53f0293 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -90,7 +90,7 @@ Svetlo Privzeto v sistemu - Zapis datuma + Zapis datuma Brez Velikost pisave diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 50797b36..ad7972b9 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -80,7 +80,7 @@ Açık Sistem varsayılanı - Zaman biçimi + Zaman biçimi Hiçbiri İçerik yoğunluğu diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index de37137a..2efb4a63 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -89,7 +89,7 @@ Sáng Mặc định hệ thống - Định dạng ngày tháng + Định dạng ngày tháng Không Cỡ chữ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 97658737..f7a82701 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -86,7 +86,7 @@ 系统主题 - 日期格式 + 日期格式 文本大小 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 39b4daed..cc9b868c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -129,7 +129,7 @@ Light Follow system - Creation Date format + Date format None Text size @@ -142,8 +142,8 @@ Autosort by checked items Notes sorted by - Created At - Last Modified At + Created + Modified Ascending Descending Sort Direction From dd0998f91f3a01e6d739550d0b547d0c8df52ebe Mon Sep 17 00:00:00 2001 From: PhilKes Date: Sat, 26 Oct 2024 16:28:17 +0200 Subject: [PATCH 2/4] ConfigureWidgetActivity also uses sorting preference --- .../notallyx/presentation/activity/ConfigureWidgetActivity.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt index 11d62d50..355e0946 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/ConfigureWidgetActivity.kt @@ -84,6 +84,10 @@ class ConfigureWidgetActivity : LockedActivity() adapter.submitList(notes) } } + + preferences.notesSorting.observe(this) { (sortBy, sortDirection) -> + adapter.setSorting(sortBy, sortDirection) + } } override fun onClick(position: Int) { From b939f7e42831ae49df9c21479e34ce2ee5c3b96b Mon Sep 17 00:00:00 2001 From: PhilKes Date: Sat, 26 Oct 2024 16:28:30 +0200 Subject: [PATCH 3/4] Remove date display from Widget --- .../notallyx/presentation/widget/WidgetFactory.kt | 9 --------- app/src/main/res/layout/widget_list_header.xml | 10 ---------- app/src/main/res/layout/widget_note.xml | 8 -------- 3 files changed, 27 deletions(-) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/widget/WidgetFactory.kt b/app/src/main/java/com/philkes/notallyx/presentation/widget/WidgetFactory.kt index 41d0f9f6..5d178ee9 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/widget/WidgetFactory.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/widget/WidgetFactory.kt @@ -15,7 +15,6 @@ import com.philkes.notallyx.data.model.BaseNote import com.philkes.notallyx.data.model.Type import com.philkes.notallyx.presentation.view.misc.TextSize import com.philkes.notallyx.presentation.widget.WidgetProvider.Companion.getSelectNoteIntent -import com.philkes.notallyx.utils.displayFormattedTimestamp class WidgetFactory(private val app: Application, private val id: Long, private val widgetId: Int) : RemoteViewsService.RemoteViewsFactory { @@ -71,9 +70,6 @@ class WidgetFactory(private val app: Application, private val id: Long, private val bodyTextSize = TextSize.getDisplayBodySize(preferences.textSize.value) - setTextViewTextSize(R.id.Date, TypedValue.COMPLEX_UNIT_SP, bodyTextSize) - displayFormattedTimestamp(R.id.Date, note.timestamp, preferences.dateFormat.value) - setTextViewTextSize(R.id.Note, TypedValue.COMPLEX_UNIT_SP, bodyTextSize) if (note.body.isNotEmpty()) { setTextViewText(R.id.Note, note.body) @@ -96,11 +92,6 @@ class WidgetFactory(private val app: Application, private val id: Long, private ) setTextViewText(R.id.Title, list.title) - val bodyTextSize = TextSize.getDisplayBodySize(preferences.textSize.value) - - setTextViewTextSize(R.id.Date, TypedValue.COMPLEX_UNIT_SP, bodyTextSize) - displayFormattedTimestamp(R.id.Date, list.timestamp, preferences.dateFormat.value) - val intent = Intent(WidgetProvider.ACTION_OPEN_LIST) setOnClickFillInIntent(R.id.LinearLayout, intent) diff --git a/app/src/main/res/layout/widget_list_header.xml b/app/src/main/res/layout/widget_list_header.xml index e7ac57cf..fb854c41 100644 --- a/app/src/main/res/layout/widget_list_header.xml +++ b/app/src/main/res/layout/widget_list_header.xml @@ -35,14 +35,4 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/widget_note.xml b/app/src/main/res/layout/widget_note.xml index 6377add0..2cd85116 100644 --- a/app/src/main/res/layout/widget_note.xml +++ b/app/src/main/res/layout/widget_note.xml @@ -33,14 +33,6 @@ android:drawableLeft="@drawable/document_scanner" /> - - Date: Sun, 27 Oct 2024 11:12:26 +0100 Subject: [PATCH 4/4] Hide date if sorted by title --- .../presentation/activity/note/EditActivity.kt | 10 ++++------ .../presentation/view/main/BaseNoteVH.kt | 16 +++++++++------- .../com/philkes/notallyx/utils/Extensions.kt | 4 ++-- app/src/main/res/layout/recycler_base_note.xml | 6 ++++-- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt index f97ef972..b3cba620 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/note/EditActivity.kt @@ -35,6 +35,7 @@ import com.philkes.notallyx.databinding.ActivityEditBinding import com.philkes.notallyx.databinding.DialogProgressBinding import com.philkes.notallyx.presentation.activity.LockedActivity import com.philkes.notallyx.presentation.view.Constants +import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByCreationDate import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByModifiedDate import com.philkes.notallyx.presentation.view.misc.TextSize import com.philkes.notallyx.presentation.view.note.ErrorAdapter @@ -252,14 +253,11 @@ abstract class EditActivity(private val type: Type) : LockedActivity Pair(model.timestamp, R.string.creation_date) autoSortByModifiedDate -> Pair(model.modifiedTimestamp, R.string.modified_date) - else -> Pair(model.timestamp, R.string.creation_date) + else -> Pair(null, null) } - binding.Date.displayFormattedTimestamp( - date, - preferences.dateFormat.value, - prefixResId = datePrefixResId, - ) + binding.Date.displayFormattedTimestamp(date, preferences.dateFormat.value, datePrefixResId) updateEnterTitle() Operations.bindLabels(binding.LabelGroup, model.labels, model.textSize) diff --git a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt index 3ae10e78..795fc5d7 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/view/main/BaseNoteVH.kt @@ -24,6 +24,7 @@ import com.philkes.notallyx.data.model.ListItem import com.philkes.notallyx.data.model.SpanRepresentation import com.philkes.notallyx.data.model.Type import com.philkes.notallyx.databinding.RecyclerBaseNoteBinding +import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByCreationDate import com.philkes.notallyx.presentation.view.misc.NotesSorting.autoSortByModifiedDate import com.philkes.notallyx.presentation.view.misc.TextSize import com.philkes.notallyx.presentation.view.note.listitem.ListItemListener @@ -74,7 +75,7 @@ class BaseNoteVH( binding.root.isChecked = checked } - fun bind(baseNote: BaseNote, imageRoot: File?, checked: Boolean, sortingKey: String) { + fun bind(baseNote: BaseNote, imageRoot: File?, checked: Boolean, sortBy: String) { updateCheck(checked) when (baseNote.type) { @@ -82,11 +83,13 @@ class BaseNoteVH( Type.LIST -> bindList(baseNote.items) } val (date, datePrefixResId) = - when (sortingKey) { + when (sortBy) { + autoSortByCreationDate -> Pair(baseNote.timestamp, R.string.creation_date) autoSortByModifiedDate -> Pair(baseNote.modifiedTimestamp, R.string.modified_date) - else -> Pair(baseNote.timestamp, R.string.creation_date) + else -> Pair(null, null) } - binding.Date.displayFormattedTimestamp(date, dateFormat, prefixResId = datePrefixResId) + binding.Date.displayFormattedTimestamp(date, dateFormat, datePrefixResId) + setColor(baseNote.color) setImages(baseNote.images, imageRoot) setFiles(baseNote.files) @@ -225,7 +228,7 @@ class BaseNoteVH( private fun setFiles(files: List) { binding.apply { if (files.isNotEmpty()) { - FileView.visibility = View.VISIBLE + FileViewLayout.visibility = View.VISIBLE FileView.text = files[0].originalName if (files.size > 1) { FileViewMore.apply { @@ -236,8 +239,7 @@ class BaseNoteVH( FileViewMore.visibility = View.GONE } } else { - FileView.visibility = View.GONE - FileViewMore.visibility = View.GONE + FileViewLayout.visibility = View.GONE } } } diff --git a/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt b/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt index 38b8a052..2ab2780d 100644 --- a/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt +++ b/app/src/main/java/com/philkes/notallyx/utils/Extensions.kt @@ -183,11 +183,11 @@ fun Menu.add( } fun TextView.displayFormattedTimestamp( - timestamp: Long, + timestamp: Long?, dateFormat: String, prefixResId: Int? = null, ) { - if (dateFormat != DateFormat.none) { + if (dateFormat != DateFormat.none && timestamp != null) { visibility = View.VISIBLE text = "${prefixResId?.let { getString(it) } ?: ""} ${formatTimestamp(timestamp, dateFormat)}" diff --git a/app/src/main/res/layout/recycler_base_note.xml b/app/src/main/res/layout/recycler_base_note.xml index 13440091..d39d791d 100644 --- a/app/src/main/res/layout/recycler_base_note.xml +++ b/app/src/main/res/layout/recycler_base_note.xml @@ -65,7 +65,7 @@ @@ -87,7 +88,7 @@ android:layout_height="wrap_content" android:paddingStart="16dp" android:paddingEnd="16dp" - android:paddingBottom="2dp" + android:paddingBottom="6dp" app:layout_constraintTop_toBottomOf="@id/Title" />