Revert "NTP-7561 | Upgrade kotlinx-datetime & kotlinx-serialization" (#16799)

This commit is contained in:
Soumya Ranjan Patra
2025-07-01 20:22:39 +05:30
committed by GitHub
parent 68e5312780
commit 7ec90d7630
9 changed files with 14 additions and 23 deletions

View File

@@ -87,8 +87,8 @@ juspay-hypersdk = "2.1.33"
juspay-hypersdkPlugin = "2.0.4"
kotlin = "2.2.0"
kotlinx-coroutines = "1.10.2"
kotlinx-serialization = "1.9.0"
kotlinx-datetime = "0.7.0"
kotlinx-serialization = "1.8.1"
kotlinx-datetime = "0.6.0"
ksp = "2.2.0-2.0.2"
lottie = "6.6.7"
masayukiSuda-easingInterpolator = "v1.3.2"

View File

@@ -9,19 +9,17 @@ package com.navi.moneymanager.billcalendar.domain.model.data
import androidx.compose.runtime.Immutable
import com.navi.moneymanager.common.model.Month
import kotlin.time.Clock
import kotlinx.datetime.Clock
import kotlinx.datetime.LocalDate
import kotlinx.datetime.TimeZone
import kotlinx.datetime.number
import kotlinx.datetime.toLocalDateTime
@Immutable
data class MonthYear(val month: Int, val year: Int) {
companion object {
@OptIn(kotlin.time.ExperimentalTime::class)
fun current(): MonthYear {
val now = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
return MonthYear(now.month.number, now.year)
return MonthYear(now.monthNumber, now.year)
}
}

View File

@@ -15,7 +15,7 @@ import com.navi.moneymanager.billcalendar.presentation.model.data.BillCalendarIc
import com.navi.moneymanager.billcalendar.presentation.utils.util.timestampToLocalDateInIST
import com.navi.moneymanager.common.utils.Constants.RUPEE_SYMBOL
import com.navi.naviwidgets.utils.formatAmount
import kotlin.time.Clock
import kotlinx.datetime.Clock
import kotlinx.datetime.TimeZone
import kotlinx.datetime.daysUntil
import kotlinx.datetime.toLocalDateTime
@@ -49,7 +49,6 @@ data class BillData(
}
}
@OptIn(kotlin.time.ExperimentalTime::class)
fun calculateDaysUntilBillDue(): Int {
val dueDate = timestampToLocalDateInIST(billDueDate)
val today = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date

View File

@@ -17,13 +17,12 @@ import com.navi.moneymanager.billcalendar.presentation.utils.util.timestampToLoc
import com.navi.moneymanager.common.dataprovider.data.dashboard.helper.MMConfigResponseHelper
import javax.inject.Inject
import kotlin.math.abs
import kotlin.time.Clock
import kotlinx.datetime.Clock
import kotlinx.datetime.DateTimeUnit
import kotlinx.datetime.LocalDate
import kotlinx.datetime.TimeZone
import kotlinx.datetime.isoDayNumber
import kotlinx.datetime.minus
import kotlinx.datetime.number
import kotlinx.datetime.plus
import kotlinx.datetime.toLocalDateTime
@@ -44,7 +43,6 @@ constructor(private val mmConfigHelper: MMConfigResponseHelper) {
return calendarGrid
}
@OptIn(kotlin.time.ExperimentalTime::class)
private fun constructGrid(monthYear: MonthYear, bills: List<BillData>): List<CalendarDay> {
val monthlyBills = mutableListOf<CalendarDay>()
val today = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
@@ -55,7 +53,7 @@ constructor(private val mmConfigHelper: MMConfigResponseHelper) {
while (currentDate <= calendarEndDate) {
val isEnabled =
currentDate.month.number == monthYear.month && currentDate.year == monthYear.year
currentDate.monthNumber == monthYear.month && currentDate.year == monthYear.year
val isToday = currentDate == today
val billList =
if (isEnabled) {

View File

@@ -55,7 +55,7 @@ fun EmptyDayCell(
contentAlignment = Alignment.Center,
) {
ElexText(
text = date.day.toString(),
text = date.dayOfMonth.toString(),
color = textColor,
fontSize = 14.sp,
fontWeight = fontWeight,

View File

@@ -37,7 +37,7 @@ fun MultiBillDayCell(
Box(modifier = modifier) {
CellBackground(isToday = isToday, onClick = onClick) {
ElexText(
text = date.day.toString(),
text = date.dayOfMonth.toString(),
color = elexColors.base.text.gray.subtle,
fontSize = 14.sp,
fontWeight = FontWeightEnum.NAVI_BODY_DEMI_BOLD,

View File

@@ -79,7 +79,7 @@ fun DateHeading(
buildString {
append(date.month.name.lowercase().replaceFirstChar { it.uppercaseChar() })
append(SPACE)
append(date.day)
append(date.dayOfMonth)
}
}

View File

@@ -25,7 +25,6 @@ import com.navi.moneymanager.common.illustration.repository.ImageRepository.Comp
import com.navi.moneymanager.common.model.Month
import com.navi.moneymanager.common.utils.MonthConstants.monthNames
import kotlinx.datetime.LocalDate
import kotlinx.datetime.number
fun MonthYear.toMonthString(): String = buildString {
append(Month.fromInt(this@toMonthString.month).fullName)
@@ -112,5 +111,5 @@ fun MonthYear.toFormattedMonthYear(): String {
}
fun LocalDate.toMonthYear(): MonthYear {
return MonthYear(month.number, year)
return MonthYear(monthNumber, year)
}

View File

@@ -21,8 +21,8 @@ import com.navi.moneymanager.R
import com.navi.moneymanager.billcalendar.domain.model.data.MonthYear
import com.navi.moneymanager.billcalendar.presentation.utils.constants.BillCalendarConstants
import com.navi.moneymanager.billcalendar.presentation.utils.extensions.toMonthYear
import kotlin.time.Clock
import kotlin.time.Instant
import kotlinx.datetime.Clock
import kotlinx.datetime.Instant
import kotlinx.datetime.LocalDate
import kotlinx.datetime.TimeZone
import kotlinx.datetime.daysUntil
@@ -32,7 +32,6 @@ fun <T> toJson(data: T, gsonDeserializer: Gson): String {
return gsonDeserializer.toJson(data)
}
@OptIn(kotlin.time.ExperimentalTime::class)
fun getDueDateText(date: LocalDate, context: Context): String {
val currentDate = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
val numberOfDays = currentDate.daysUntil(date)
@@ -44,7 +43,6 @@ fun getDueDateText(date: LocalDate, context: Context): String {
}
}
@OptIn(kotlin.time.ExperimentalTime::class)
@Composable
fun getDueDateColor(date: LocalDate): Color {
val currentDate = Clock.System.now().toLocalDateTime(TimeZone.currentSystemDefault()).date
@@ -61,7 +59,7 @@ fun getMonthPrefix(date: LocalDate): String {
}
fun formatDateIntoPrefixMonthNames(date: LocalDate): String {
val day = date.day
val day = date.dayOfMonth
val suffix = getDateSuffix(day)
val month = getMonthPrefix(date)
return buildString {
@@ -72,7 +70,6 @@ fun formatDateIntoPrefixMonthNames(date: LocalDate): String {
}
}
@OptIn(kotlin.time.ExperimentalTime::class)
fun timestampToLocalDateInIST(timestamp: String?): LocalDate {
if (timestamp.isNullOrEmpty()) {
return LocalDate(1970, 1, 1)