From 21b5f3e4f310a8cd2afca1f601fa16a142fc12bc Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 28 Sep 2022 20:19:49 +0530 Subject: [PATCH] refactor: remove `kotlinx-datetime` dependency --- android/build.gradle.kts | 1 - .../src/main/kotlin/dev/msfjarvis/claw/android/ui/ext.kt | 8 +++----- .../dev/msfjarvis/claw/android/ui/lists/DatabasePosts.kt | 2 +- .../dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt | 2 +- common/build.gradle.kts | 1 - .../msfjarvis/claw/common/ui/decorations/MonthHeader.kt | 2 +- .../dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt | 2 +- gradle/libs.versions.toml | 1 - 8 files changed, 7 insertions(+), 12 deletions(-) diff --git a/android/build.gradle.kts b/android/build.gradle.kts index e550fa5a..b1da3713 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -56,7 +56,6 @@ dependencies { implementation(libs.copydown) implementation(libs.dagger.hilt.android) implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.serialization.json) implementation(libs.material.motion.core) implementation(libs.material.motion.navigation) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/ext.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/ext.kt index 415352db..239711fb 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/ext.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/ext.kt @@ -18,10 +18,8 @@ import dev.msfjarvis.claw.common.theme.DarkThemeColors import dev.msfjarvis.claw.common.theme.LightThemeColors import dev.msfjarvis.claw.common.urllauncher.UrlLauncher import dev.msfjarvis.claw.database.local.SavedPost -import kotlinx.datetime.Instant -import kotlinx.datetime.LocalDateTime -import kotlinx.datetime.TimeZone -import kotlinx.datetime.toLocalDateTime +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter fun Context.getActivity(): ComponentActivity? { return when (this) { @@ -36,7 +34,7 @@ fun Context.getActivity(): ComponentActivity? { * in the format returned by the Lobsters API, and is not a general purpose parsing solution. */ fun String.toLocalDateTime(): LocalDateTime { - return Instant.parse(this).toLocalDateTime(TimeZone.currentSystemDefault()) + return LocalDateTime.from(DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(this)) } @Composable diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/DatabasePosts.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/DatabasePosts.kt index ac77c63a..f770061a 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/DatabasePosts.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/lists/DatabasePosts.kt @@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier import dev.msfjarvis.claw.common.posts.PostActions import dev.msfjarvis.claw.common.ui.decorations.MonthHeader import dev.msfjarvis.claw.database.local.SavedPost -import kotlinx.datetime.Month +import java.time.Month @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt index e3a1a6cf..08bac673 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/viewmodel/ClawViewModel.kt @@ -10,13 +10,13 @@ import dev.msfjarvis.claw.android.paging.LobstersPagingSource import dev.msfjarvis.claw.android.ui.toLocalDateTime import dev.msfjarvis.claw.api.LobstersApi import dev.msfjarvis.claw.database.local.SavedPost +import java.time.Month import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import kotlinx.datetime.Month @HiltViewModel class ClawViewModel diff --git a/common/build.gradle.kts b/common/build.gradle.kts index e7b1b11f..c05c5369 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -25,7 +25,6 @@ dependencies { implementation(libs.compose.richtext.material3) implementation(libs.compose.richtext.ui) implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.datetime) testImplementation(kotlin("test-junit")) testImplementation(libs.testparameterinjector) } diff --git a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/decorations/MonthHeader.kt b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/decorations/MonthHeader.kt index 1352d967..48683768 100644 --- a/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/decorations/MonthHeader.kt +++ b/common/src/main/kotlin/dev/msfjarvis/claw/common/ui/decorations/MonthHeader.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.text.capitalize import androidx.compose.ui.text.intl.Locale import androidx.compose.ui.unit.dp import dev.msfjarvis.claw.common.ui.surfaceColorAtNavigationBarElevation -import kotlinx.datetime.Month +import java.time.Month @Composable fun MonthHeader(month: Month) { diff --git a/common/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt b/common/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt index fe9e8f82..436792c6 100644 --- a/common/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt +++ b/common/src/test/kotlin/dev/msfjarvis/claw/android/tests/MonthHeaderTest.kt @@ -2,7 +2,7 @@ package dev.msfjarvis.claw.android.tests import androidx.compose.material3.MaterialTheme import dev.msfjarvis.claw.common.ui.decorations.MonthHeader -import kotlinx.datetime.Month +import java.time.Month import org.junit.Test class MonthHeaderTest : BasePaparazziTest() { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2cf0ca00..233d0b4b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -66,7 +66,6 @@ dagger-hilt-core = { module = "com.google.dagger:hilt-core", version.ref = "dagg javapoet = "com.squareup:javapoet:1.13.0" jsoup = "org.jsoup:jsoup:1.15.3" kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } -kotlinx-datetime = "org.jetbrains.kotlinx:kotlinx-datetime:0.4.0" kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "serialization" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" } material_motion-core = { module = "io.github.fornewid:material-motion-compose-core", version.ref = "material_motion" }