1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-3131 Date fields | Open date object on locked values (#1877)

This commit is contained in:
Konstantin Ivanov 2024-12-06 11:55:21 +01:00 committed by GitHub
parent 979d67b59c
commit 9b1e9bb23c
Signed by: github
GPG key ID: B5690EEEBB952194
55 changed files with 465 additions and 427 deletions

View file

@ -188,6 +188,7 @@ class DateProviderImpl @Inject constructor(
override fun calculateRelativeDates(dateInSeconds: TimeInSeconds?): RelativeDate? {
if (dateInSeconds == null || dateInSeconds == 0L) return null
val initialTimeInMillis = dateInSeconds * 1000
val zoneId = defaultZoneId
val dateInstant = Instant.ofEpochSecond(dateInSeconds)
val givenDate = dateInstant.atZone(zoneId).toLocalDate()
@ -196,14 +197,15 @@ class DateProviderImpl @Inject constructor(
val daysDifference = ChronoUnit.DAYS.between(today, givenDate)
return when (daysDifference) {
0L -> RelativeDate.Today
1L -> RelativeDate.Tomorrow
-1L -> RelativeDate.Yesterday
0L -> RelativeDate.Today(initialTimeInMillis = initialTimeInMillis)
1L -> RelativeDate.Tomorrow(initialTimeInMillis = initialTimeInMillis)
-1L -> RelativeDate.Yesterday(initialTimeInMillis = initialTimeInMillis)
else -> {
val timestampMillis = TimeUnit.SECONDS.toMillis(dateInSeconds)
val (dateString, timeString) = formatTimestampToDateAndTime(timestampMillis)
RelativeDate.Other(
initialTimeInMillis = initialTimeInMillis,
formattedDate = dateString,
formattedTime = timeString
)