Split module dateformatter into api, impl and test.

This commit is contained in:
Benoit Marty 2023-03-06 11:42:55 +01:00
parent c87c0ea28c
commit e2bd966878
36 changed files with 160 additions and 21 deletions

View file

@ -39,7 +39,7 @@ dependencies {
implementation(projects.libraries.matrixui)
implementation(projects.libraries.designsystem)
implementation(projects.libraries.textcomposer)
implementation(projects.libraries.dateformatter)
implementation(projects.libraries.dateformatter.api)
implementation(libs.coil.compose)
implementation(libs.datetime)
implementation(libs.accompanist.flowlayout)
@ -52,6 +52,7 @@ dependencies {
testImplementation(libs.test.truth)
testImplementation(libs.test.turbine)
testImplementation(projects.libraries.matrix.test)
testImplementation(projects.libraries.dateformatter.test)
androidTestImplementation(libs.test.junitext)
ksp(libs.showkase.processor)

View file

@ -18,7 +18,7 @@ package io.element.android.features.messages.timeline.factories.virtual
import io.element.android.features.messages.timeline.model.virtual.TimelineItemDaySeparatorModel
import io.element.android.features.messages.timeline.model.virtual.TimelineItemVirtualModel
import io.element.android.libraries.dateformatter.DaySeparatorFormatter
import io.element.android.libraries.dateformatter.api.DaySeparatorFormatter
import org.matrix.rustcomponents.sdk.VirtualTimelineItem
import javax.inject.Inject

View file

@ -1,32 +0,0 @@
/*
* Copyright (c) 2023 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.element.android.features.messages.fakes
import io.element.android.libraries.dateformatter.DaySeparatorFormatter
class FakeDaySeparatorFormatter : DaySeparatorFormatter {
private var format = ""
fun givenFormat(format: String) {
this.format = format
}
override fun format(timestamp: Long): String {
return format
}
}

View file

@ -16,7 +16,6 @@
package io.element.android.features.messages.fixtures
import io.element.android.features.messages.fakes.FakeDaySeparatorFormatter
import io.element.android.features.messages.timeline.factories.TimelineItemsFactory
import io.element.android.features.messages.timeline.factories.event.TimelineItemContentFactory
import io.element.android.features.messages.timeline.factories.event.TimelineItemContentFailedToParseMessageFactory
@ -31,6 +30,7 @@ import io.element.android.features.messages.timeline.factories.event.TimelineIte
import io.element.android.features.messages.timeline.factories.event.TimelineItemEventFactory
import io.element.android.features.messages.timeline.factories.virtual.TimelineItemDaySeparatorFactory
import io.element.android.features.messages.timeline.factories.virtual.TimelineItemVirtualFactory
import io.element.android.libraries.dateformatter.test.FakeDaySeparatorFormatter
internal fun aTimelineItemsFactory() = TimelineItemsFactory(
dispatchers = testCoroutineDispatchers(),

View file

@ -41,7 +41,7 @@ dependencies {
implementation(projects.libraries.designsystem)
implementation(projects.libraries.elementresources)
implementation(projects.libraries.uiStrings)
implementation(projects.libraries.dateformatter)
implementation(projects.libraries.dateformatter.api)
implementation(libs.accompanist.placeholder)
testImplementation(libs.test.junit)

View file

@ -31,7 +31,7 @@ import io.element.android.features.roomlist.model.RoomListRoomSummaryPlaceholder
import io.element.android.features.roomlist.model.RoomListState
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.core.coroutine.parallelMap
import io.element.android.libraries.dateformatter.LastMessageFormatter
import io.element.android.libraries.dateformatter.api.LastMessageFormatter
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.matrix.api.MatrixClient

View file

@ -16,7 +16,7 @@
package io.element.android.features.roomlist
import io.element.android.libraries.dateformatter.LastMessageFormatter
import io.element.android.libraries.dateformatter.api.LastMessageFormatter
class FakeLastMessageFormatter : LastMessageFormatter {
private var format = ""

View file

@ -24,7 +24,7 @@ import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
import io.element.android.features.roomlist.model.RoomListEvents
import io.element.android.features.roomlist.model.RoomListRoomSummary
import io.element.android.libraries.dateformatter.LastMessageFormatter
import io.element.android.libraries.dateformatter.api.LastMessageFormatter
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
import io.element.android.libraries.matrix.test.AN_EXCEPTION