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

DROID-471 Sets | Fixes | Incorrect date displayed in relation and in grid cells (#2651)

This commit is contained in:
Evgenii Kozlov 2022-10-12 20:22:31 +03:00 committed by GitHub
parent 1f1ab28617
commit c8913b2861
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 13 deletions

View file

@ -15,7 +15,7 @@ import com.anytypeio.anytype.R
import com.anytypeio.anytype.core_models.Block
import com.anytypeio.anytype.core_models.Relation
import com.anytypeio.anytype.core_utils.const.DateConst.DEFAULT_DATE_FORMAT
import com.anytypeio.anytype.core_utils.ext.timeInSecondsFormat
import com.anytypeio.anytype.core_utils.ext.formatTimeInMillis
import com.anytypeio.anytype.domain.objects.DefaultObjectStore
import com.anytypeio.anytype.domain.objects.ObjectStore
import com.anytypeio.anytype.presentation.relations.ObjectSetConfig
@ -23,7 +23,6 @@ import com.anytypeio.anytype.presentation.relations.providers.DataViewObjectRela
import com.anytypeio.anytype.presentation.relations.providers.DataViewObjectValueProvider
import com.anytypeio.anytype.presentation.sets.ObjectSet
import com.anytypeio.anytype.presentation.sets.ObjectSetDatabase
import com.anytypeio.anytype.presentation.sets.ObjectSetSession
import com.anytypeio.anytype.presentation.sets.RelationDateValueViewModel
import com.anytypeio.anytype.test_utils.MockDataFactory
import com.anytypeio.anytype.ui.relations.RelationDateValueFragment
@ -413,7 +412,7 @@ class ObjectRelationDateValueTest {
)
)
val exactDateFormat = valueDate.timeInSecondsFormat(DEFAULT_DATE_FORMAT)
val exactDateFormat = valueDate.formatTimeInMillis(DEFAULT_DATE_FORMAT)
onView(withId(R.id.ivNoDateCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivYesterdayCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivTodayCheck)).check(matches(not(isDisplayed())))
@ -486,7 +485,7 @@ class ObjectRelationDateValueTest {
)
)
val exactDateFormat = valueDate.timeInSecondsFormat(DEFAULT_DATE_FORMAT)
val exactDateFormat = valueDate.formatTimeInMillis(DEFAULT_DATE_FORMAT)
onView(withId(R.id.ivNoDateCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivYesterdayCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivTodayCheck)).check(matches(not(isDisplayed())))
@ -500,7 +499,7 @@ class ObjectRelationDateValueTest {
it.onPickDate(valueUpdate)
}
val updatedDateFormat = valueUpdate.timeInSecondsFormat(DEFAULT_DATE_FORMAT)
val updatedDateFormat = valueUpdate.formatTimeInMillis(DEFAULT_DATE_FORMAT)
onView(withId(R.id.ivTomorrowCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivTodayCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivYesterdayCheck)).check(matches(not(isDisplayed())))
@ -572,7 +571,7 @@ class ObjectRelationDateValueTest {
)
)
val exactDateFormat = valueDate.timeInSecondsFormat(DEFAULT_DATE_FORMAT)
val exactDateFormat = valueDate.formatTimeInMillis(DEFAULT_DATE_FORMAT)
onView(withId(R.id.ivYesterdayCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivTodayCheck)).check(matches(not(isDisplayed())))
onView(withId(R.id.ivTomorrowCheck)).check(matches(not(isDisplayed())))

View file

@ -68,9 +68,9 @@ fun Long.formatTimestamp(isMillis: Boolean, format: String? = null): String {
}
}
fun Long.timeInSecondsFormat(pattern: String): String {
fun Long.formatTimeInMillis(pattern: String): String {
val simpleDateFormat = SimpleDateFormat(pattern, Locale.getDefault())
return simpleDateFormat.format(this * 1000)
return simpleDateFormat.format(this)
}
const val NO_DATE = "No date"

View file

@ -6,12 +6,11 @@ import androidx.lifecycle.viewModelScope
import com.anytypeio.anytype.core_models.Id
import com.anytypeio.anytype.core_utils.const.DateConst.DEFAULT_DATE_FORMAT
import com.anytypeio.anytype.core_utils.ext.cancel
import com.anytypeio.anytype.core_utils.ext.formatTimeInMillis
import com.anytypeio.anytype.core_utils.ext.getTodayTimeUnit
import com.anytypeio.anytype.core_utils.ext.getTomorrowTimeUnit
import com.anytypeio.anytype.core_utils.ext.getYesterdayTimeUnit
import com.anytypeio.anytype.core_utils.ext.isSameDay
import com.anytypeio.anytype.core_utils.ext.timeInSecondsFormat
import com.anytypeio.anytype.core_utils.ext.toTimeSecondsLong
import com.anytypeio.anytype.presentation.relations.DateParser
import com.anytypeio.anytype.presentation.relations.providers.ObjectRelationProvider
import com.anytypeio.anytype.presentation.relations.providers.ObjectValueProvider
@ -42,8 +41,7 @@ class RelationDateValueViewModel(
values.subscribe(objectId)
) { relation, value ->
setName(relation.name)
val timeInMillis = DateParser.parse(value[relationId])
setDate(timeInSeconds = timeInMillis?.toTimeSecondsLong())
setDate(timeInSeconds = DateParser.parse(value[relationId]))
}
pipeline.collect()
}
@ -113,7 +111,7 @@ class RelationDateValueViewModel(
val isYesterday = exactDay.isSameDay(yesterday)
var exactDayFormat: String? = null
if (!isToday && !isTomorrow && !isYesterday) {
exactDayFormat = exactDay.timeInMillis.timeInSecondsFormat(DEFAULT_DATE_FORMAT)
exactDayFormat = exactDay.timeInMillis.formatTimeInMillis(DEFAULT_DATE_FORMAT)
}
_views.value = views.value.copy(
isToday = isToday,