Skip to content

Commit

Permalink
feat: Display year date when the date is on another year
Browse files Browse the repository at this point in the history
  • Loading branch information
LunarX committed Feb 18, 2025
1 parent 7c024ed commit d8da12c
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
4 changes: 2 additions & 2 deletions app/src/main/java/com/infomaniak/mail/ui/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ import com.infomaniak.mail.utils.*
import com.infomaniak.mail.utils.UiUtils.progressivelyColorSystemBars
import com.infomaniak.mail.utils.Utils.Shortcuts
import com.infomaniak.mail.utils.Utils.openShortcutHelp
import com.infomaniak.mail.utils.date.DateFormatUtils.dayOfWeekDate
import com.infomaniak.mail.utils.date.MailDateFormatUtils.formatDayOfWeekAdaptiveYear
import com.infomaniak.mail.utils.extensions.isUserAlreadySynchronized
import com.infomaniak.mail.workers.DraftsActionsWorker
import dagger.hilt.android.AndroidEntryPoint
Expand Down Expand Up @@ -333,7 +333,7 @@ class MainActivity : BaseActivity() {
private fun showScheduledDraftSnackbar(scheduleDate: Date, unscheduleDraftUrl: String) {
showSendingSnackbarTimer.cancel()

val dateString = dayOfWeekDate(date = scheduleDate)
val dateString = formatDayOfWeekAdaptiveYear(scheduleDate)

snackbarManager.setValue(
title = String.format(getString(R.string.snackbarScheduleSaved), dateString),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import com.infomaniak.mail.R
import com.infomaniak.mail.databinding.BottomSheetScheduleSendBinding
import com.infomaniak.mail.ui.alertDialogs.SelectDateAndTimeForScheduledDraftDialog.Companion.MIN_SCHEDULE_DELAY_MINUTES
import com.infomaniak.mail.ui.main.thread.actions.ActionItemView
import com.infomaniak.mail.utils.date.DateFormatUtils.dayOfWeekDate
import com.infomaniak.mail.utils.date.DateFormatUtils.dayOfWeekDateWithoutYear
import dagger.hilt.android.AndroidEntryPoint
import java.util.Date
import javax.inject.Inject
Expand Down Expand Up @@ -74,7 +74,7 @@ class ScheduleSendBottomSheetDialog @Inject constructor() : BottomSheetDialogFra
private fun computeLastScheduleItem() = with(binding) {
if (Date(lastSelectedScheduleEpoch).isAtLeastXMinutesInTheFuture(MIN_SCHEDULE_DELAY_MINUTES)) {
lastScheduleItem.isVisible = true
lastScheduleItem.setDescription(context.dayOfWeekDate(date = Date(lastSelectedScheduleEpoch)))
lastScheduleItem.setDescription(context.dayOfWeekDateWithoutYear(date = Date(lastSelectedScheduleEpoch)))
}
}

Expand Down Expand Up @@ -102,7 +102,7 @@ class ScheduleSendBottomSheetDialog @Inject constructor() : BottomSheetDialogFra

private fun createScheduleItem(schedule: Schedule): ActionItemView = ActionItemView(requireContext()).apply {
setTitle(schedule.scheduleTitleRes)
setDescription(context.dayOfWeekDate(date = schedule.date()))
setDescription(context.dayOfWeekDateWithoutYear(date = schedule.date()))
setIconResource(schedule.scheduleIconRes)
setOnClickListener {
trackScheduleSendEvent(schedule.matomoValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ package com.infomaniak.mail.utils.date
import android.content.Context
import android.text.format.DateFormat
import com.infomaniak.lib.core.utils.FORMAT_DATE_DAY_MONTH
import com.infomaniak.lib.core.utils.FORMAT_DATE_DAY_MONTH_YEAR
import com.infomaniak.lib.core.utils.format
import com.infomaniak.mail.R
import java.util.Date
Expand All @@ -38,7 +39,9 @@ object DateFormatUtils {

fun Context.fullDateWithYear(date: Date): String = formatDateTime(date, FORMAT_DATE_WITH_YEAR, localHourFormat())

fun Context.dayOfWeekDate(date: Date): String = formatDateTime(date, FORMAT_DATE_DAY_MONTH, localHourFormat())
fun Context.dayOfWeekDateWithoutYear(date: Date): String = formatDateTime(date, FORMAT_DATE_DAY_MONTH, localHourFormat())

fun Context.dayOfWeekDateWithYear(date: Date): String = formatDateTime(date, FORMAT_DATE_DAY_MONTH_YEAR, localHourFormat())

private fun Context.formatDateTime(date: Date, dateFormat: String, timeFormat: String) = getString(
R.string.messageDetailsDateAt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import android.content.Context
import android.os.Build
import com.infomaniak.lib.core.utils.*
import com.infomaniak.mail.R
import com.infomaniak.mail.utils.date.DateFormatUtils.dayOfWeekDateWithYear
import com.infomaniak.mail.utils.date.DateFormatUtils.dayOfWeekDateWithoutYear
import com.infomaniak.mail.utils.date.DateFormatUtils.formatTime
import com.infomaniak.mail.utils.date.DateFormatUtils.fullDateWithYear
import com.infomaniak.mail.utils.date.DateFormatUtils.fullDateWithoutYear
Expand Down Expand Up @@ -49,4 +51,9 @@ object MailDateFormatUtils {
format(FORMAT_DATE_DAY_FULL_MONTH_YEAR_WITH_TIME)
}
}

fun Context.formatDayOfWeekAdaptiveYear(date: Date): String = when {
date.isThisYear() -> dayOfWeekDateWithoutYear(date)
else -> dayOfWeekDateWithYear(date)
}
}

0 comments on commit d8da12c

Please sign in to comment.