diff --git a/libraries/dateformatter/impl/build.gradle.kts b/libraries/dateformatter/impl/build.gradle.kts index 4a619af5b7..ed8c7731bd 100644 --- a/libraries/dateformatter/impl/build.gradle.kts +++ b/libraries/dateformatter/impl/build.gradle.kts @@ -22,6 +22,14 @@ android { } } + kotlin { + compilerOptions { + optIn = listOf( + "kotlin.time.ExperimentalTime" + ) + } + } + dependencies { implementation(libs.dagger) implementation(projects.libraries.core) diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/DateFormatters.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/DateFormatters.kt index 91ce539cee..9e5ffd6afe 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/DateFormatters.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/DateFormatters.kt @@ -20,9 +20,7 @@ import java.util.Locale import javax.inject.Inject import kotlin.math.absoluteValue import kotlin.time.Clock -import kotlin.time.ExperimentalTime -@OptIn(ExperimentalTime::class) @SingleIn(AppScope::class) class DateFormatters @Inject constructor( localeChangeObserver: LocaleChangeObserver, @@ -69,7 +67,6 @@ class DateFormatters @Inject constructor( return dateTimeFormatters.dateWithFullFormatNoYearFormatter.format(localDateTime.toJavaLocalDateTime()) } - @OptIn(ExperimentalTime::class) internal fun formatDate( dateToFormat: LocalDateTime, currentDate: LocalDateTime, diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/LocalDateTimeProvider.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/LocalDateTimeProvider.kt index 175da2ef9c..20862fd68a 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/LocalDateTimeProvider.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/LocalDateTimeProvider.kt @@ -11,10 +11,8 @@ import kotlinx.datetime.LocalDateTime import kotlinx.datetime.toLocalDateTime import javax.inject.Inject import kotlin.time.Clock -import kotlin.time.ExperimentalTime import kotlin.time.Instant -@OptIn(ExperimentalTime::class) class LocalDateTimeProvider @Inject constructor( private val clock: Clock, private val timezoneProvider: TimezoneProvider, diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt index 8decb527e2..a7da8ea6ce 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/di/DateFormatterModule.kt @@ -15,9 +15,7 @@ import io.element.android.libraries.di.AppScope import kotlinx.datetime.TimeZone import java.util.Locale import kotlin.time.Clock -import kotlin.time.ExperimentalTime -@OptIn(ExperimentalTime::class) @Module @ContributesTo(AppScope::class) object DateFormatterModule { diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt index 8b34e51e3f..79b1022c14 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/DateFormatterModeViewPreview.kt @@ -5,8 +5,6 @@ * Please see LICENSE files in the repository root for full details. */ -@file:OptIn(ExperimentalTime::class) - package io.element.android.libraries.dateformatter.impl.previews import androidx.compose.foundation.layout.Column @@ -30,7 +28,6 @@ import io.element.android.libraries.dateformatter.impl.DefaultDateFormatter import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.utils.allBooleans -import kotlin.time.ExperimentalTime import kotlin.time.Instant @Preview diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/Factory.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/Factory.kt index 23f3d8733a..d0c25f8b60 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/Factory.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/Factory.kt @@ -18,13 +18,11 @@ import io.element.android.libraries.dateformatter.impl.DefaultDateFormatterDay import io.element.android.libraries.dateformatter.impl.LocalDateTimeProvider import kotlinx.datetime.TimeZone import java.util.Locale -import kotlin.time.ExperimentalTime import kotlin.time.Instant /** * Create DefaultDateFormatter and set current time to the provided date. */ -@OptIn(ExperimentalTime::class) fun createFormatter( context: Context, currentDate: String, diff --git a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/PreviewClock.kt b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/PreviewClock.kt index 5b9c26287e..8151e07262 100644 --- a/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/PreviewClock.kt +++ b/libraries/dateformatter/impl/src/main/kotlin/io/element/android/libraries/dateformatter/impl/previews/PreviewClock.kt @@ -8,10 +8,8 @@ package io.element.android.libraries.dateformatter.impl.previews import kotlin.time.Clock -import kotlin.time.ExperimentalTime import kotlin.time.Instant -@OptIn(ExperimentalTime::class) class PreviewClock : Clock { private var instant: Instant = Instant.fromEpochMilliseconds(0) diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt index 4955dadcaf..0e52e1de37 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterFrTest.kt @@ -14,10 +14,8 @@ import io.element.android.libraries.dateformatter.api.DateFormatterMode import org.junit.Test import org.junit.runner.RunWith import org.robolectric.annotation.Config -import kotlin.time.ExperimentalTime import kotlin.time.Instant -@OptIn(ExperimentalTime::class) @RunWith(AndroidJUnit4::class) @Config(qualifiers = "fr", sdk = [Build.VERSION_CODES.TIRAMISU]) class DefaultDateFormatterFrTest { diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt index c059675907..136bbc1293 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultDateFormatterTest.kt @@ -14,10 +14,8 @@ import io.element.android.libraries.dateformatter.api.DateFormatterMode import org.junit.Test import org.junit.runner.RunWith import org.robolectric.annotation.Config -import kotlin.time.ExperimentalTime import kotlin.time.Instant -@OptIn(ExperimentalTime::class) @RunWith(AndroidJUnit4::class) @Config(qualifiers = "en", sdk = [Build.VERSION_CODES.TIRAMISU]) class DefaultDateFormatterTest { diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt index d3fd71a4b4..20f36a0dd6 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/Factory.kt @@ -10,13 +10,11 @@ package io.element.android.libraries.dateformatter.impl import io.element.android.tests.testutils.InstrumentationStringProvider import kotlinx.datetime.TimeZone import java.util.Locale -import kotlin.time.ExperimentalTime import kotlin.time.Instant /** * Create DefaultDateFormatter and set current time to the provided date. */ -@OptIn(ExperimentalTime::class) fun createFormatter(currentDate: String): DefaultDateFormatter { val clock = FakeClock().apply { givenInstant(Instant.parse(currentDate)) } val localDateTimeProvider = LocalDateTimeProvider(clock) { TimeZone.UTC } diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/FakeClock.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/FakeClock.kt index fb26bda5bb..c3d1f01d4f 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/FakeClock.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/FakeClock.kt @@ -8,10 +8,8 @@ package io.element.android.libraries.dateformatter.impl import kotlin.time.Clock -import kotlin.time.ExperimentalTime import kotlin.time.Instant -@OptIn(ExperimentalTime::class) class FakeClock : Clock { private var instant: Instant = Instant.fromEpochMilliseconds(0)