Skip to content

Commit af02fd1

Browse files
committed
fix: Flaky timestamp calculation
Signed-off-by: LooKeR <iamlooker@proton.me>
1 parent 7c96041 commit af02fd1

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

app/src/main/kotlin/com/looker/droidify/data/local/model/DownloadStats.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import androidx.room.Index
55
import com.looker.droidify.sync.JsonParser
66
import java.io.InputStream
77
import java.util.*
8+
import kotlin.time.ExperimentalTime
89
import kotlinx.serialization.ExperimentalSerializationApi
910
import kotlinx.serialization.Serializable
1011
import kotlinx.serialization.json.decodeFromStream
@@ -40,18 +41,13 @@ class DownloadStatsData(val stats: Map<String, Long>) {
4041
fun fromStream(inst: InputStream) =
4142
DownloadStatsData(JsonParser.decodeFromStream<Map<String, Long>>(inst))
4243

43-
@OptIn(ExperimentalSerializationApi::class)
44-
fun byDayFromStream(inst: InputStream) =
45-
JsonParser.decodeFromStream<Map<String, DownloadStatsData>>(inst)
46-
44+
@OptIn(ExperimentalTime::class)
4745
fun String.toEpochMillis(): Long {
4846
val parts = split("-")
49-
val year = parts[0].toInt()
50-
val month = parts.getOrNull(1)?.toInt() ?: 0
47+
val year = parts[0].toInt() - 1900
48+
val month = (parts.getOrNull(1)?.toInt()?.minus(1)) ?: 0
5149
val date = parts.getOrNull(2)?.toInt() ?: 1
52-
val calendar = Calendar.getInstance()
53-
calendar.set(year, month, date)
54-
return calendar.timeInMillis
50+
return Date(year, month, date, 0, 0, 0).time
5551
}
5652
}
5753
}

0 commit comments

Comments
 (0)