[PM-21363] Migrate ZonedDateTime utils to core module (#5375)

This commit is contained in:
Patrick Honkonen
2025-06-18 11:05:36 -04:00
committed by GitHub
parent 292a28d155
commit c52e769327
10 changed files with 11 additions and 53 deletions

View File

@@ -1,9 +1,9 @@
package com.x8bit.bitwarden.data.platform.datasource.disk
import android.content.SharedPreferences
import com.bitwarden.core.util.getBinaryLongFromZoneDateTime
import com.bitwarden.core.util.getZoneDateTimeFromBinaryLong
import com.bitwarden.data.datasource.disk.BaseDiskSource
import com.x8bit.bitwarden.data.platform.util.getBinaryLongFromZoneDateTime
import com.x8bit.bitwarden.data.platform.util.getZoneDateTimeFromBinaryLong
import java.time.ZonedDateTime
private const val CURRENT_PUSH_TOKEN_KEY = "pushCurrentToken"

View File

@@ -4,13 +4,13 @@ import android.os.Parcelable
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.viewModelScope
import com.bitwarden.core.data.util.toFormattedDateTimeStyle
import com.bitwarden.core.util.isOverFiveMinutesOld
import com.bitwarden.ui.platform.base.BaseViewModel
import com.bitwarden.ui.util.Text
import com.x8bit.bitwarden.data.auth.manager.model.AuthRequest
import com.x8bit.bitwarden.data.auth.manager.model.AuthRequestsUpdatesResult
import com.x8bit.bitwarden.data.auth.repository.AuthRepository
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
import com.x8bit.bitwarden.ui.platform.base.util.isOverFiveMinutesOld
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.launchIn

View File

@@ -1,8 +0,0 @@
package com.x8bit.bitwarden.ui.platform.util
import java.time.ZonedDateTime
/**
* Returns the current [ZonedDateTime] or [ZonedDateTime.now] if the current one is null.
*/
fun ZonedDateTime?.orNow(): ZonedDateTime = this ?: ZonedDateTime.now()

View File

@@ -1,9 +1,9 @@
package com.x8bit.bitwarden.data.platform.datasource.disk
import androidx.core.content.edit
import com.bitwarden.core.util.getBinaryLongFromZoneDateTime
import com.bitwarden.core.util.getZoneDateTimeFromBinaryLong
import com.bitwarden.data.datasource.disk.base.FakeSharedPreferences
import com.x8bit.bitwarden.data.platform.util.getBinaryLongFromZoneDateTime
import com.x8bit.bitwarden.data.platform.util.getZoneDateTimeFromBinaryLong
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertNull

View File

@@ -1,33 +0,0 @@
package com.x8bit.bitwarden.ui.platform.util
import io.mockk.every
import io.mockk.mockk
import io.mockk.mockkStatic
import io.mockk.unmockkStatic
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import java.time.ZonedDateTime
class ZonedDateTimeExtensionsTest {
@Test
fun `orNow should return original ZonedDateTime when original is nonnull`() {
val zonedDateTime = mockk<ZonedDateTime>()
val result = zonedDateTime.orNow()
assertEquals(zonedDateTime, result)
}
@Test
fun `orNow should return current ZonedDateTime when original is null`() {
val zonedDateTime = mockk<ZonedDateTime>()
mockkStatic(ZonedDateTime::class)
every { ZonedDateTime.now() } returns zonedDateTime
val result = null.orNow()
assertEquals(zonedDateTime, result)
unmockkStatic(ZonedDateTime::class)
}
}

View File

@@ -50,6 +50,7 @@ dependencies {
testImplementation(libs.junit.junit5)
testImplementation(libs.junit.vintage)
testImplementation(libs.kotlinx.coroutines.test)
testImplementation(libs.mockk.mockk)
}
tasks {

View File

@@ -1,4 +1,4 @@
package com.x8bit.bitwarden.ui.platform.base.util
package com.bitwarden.core.util
import java.time.Clock
import java.time.Duration

View File

@@ -1,4 +1,4 @@
package com.x8bit.bitwarden.data.platform.util
package com.bitwarden.core.util
import java.time.Instant
import java.time.ZoneOffset

View File

@@ -1,6 +1,5 @@
package com.x8bit.bitwarden.data.platform.base.util
package com.bitwarden.core.util
import com.x8bit.bitwarden.ui.platform.base.util.isOverFiveMinutesOld
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
@@ -10,6 +9,7 @@ import java.time.ZoneOffset
import java.time.ZonedDateTime
class ZonedDateTimeExtensionsTest {
private val fixedClock: Clock = Clock.fixed(
Instant.parse("2023-10-27T12:00:00Z"),
ZoneOffset.UTC,

View File

@@ -1,7 +1,5 @@
package com.x8bit.bitwarden.ui.platform.util
package com.bitwarden.core.util
import com.x8bit.bitwarden.data.platform.util.getBinaryLongFromZoneDateTime
import com.x8bit.bitwarden.data.platform.util.getZoneDateTimeFromBinaryLong
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import java.time.ZonedDateTime