diff --git a/donextv2/build.gradle.kts b/donextv2/build.gradle.kts index b228a3b..85bc6c9 100644 --- a/donextv2/build.gradle.kts +++ b/donextv2/build.gradle.kts @@ -51,22 +51,23 @@ android { dependencies { implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.9.4") implementation("androidx.activity:activity-compose:1.11.0") - implementation(platform("androidx.compose:compose-bom:2025.09.01")) + implementation(platform("androidx.compose:compose-bom:2025.10.00")) implementation("androidx.compose.ui:ui") implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3") + implementation("androidx.compose.material3:material3-window-size-class:1.4.0") implementation("androidx.compose.material:material-icons-extended:1.7.8") implementation("androidx.navigation:navigation-compose:2.9.5") implementation("androidx.hilt:hilt-navigation-compose:1.3.0") implementation("androidx.test.ext:junit-ktx:1.3.0") implementation("sh.calvin.reorderable:reorderable:3.0.0") - androidTestImplementation(platform("androidx.compose:compose-bom:2025.09.01")) + androidTestImplementation(platform("androidx.compose:compose-bom:2025.10.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") - val roomVersion = "2.8.1" + val roomVersion = "2.8.2" implementation("androidx.room:room-runtime:$roomVersion") ksp("androidx.room:room-compiler:$roomVersion") diff --git a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt index 2011acb..366390c 100644 --- a/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt +++ b/donextv2/src/main/java/com/wismna/geoffroy/donext/data/local/Database.kt @@ -15,6 +15,7 @@ import com.wismna.geoffroy.donext.data.local.dao.TaskListDao import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import java.time.ZonedDateTime @Database( entities = [TaskEntity::class, TaskListEntity::class], @@ -40,11 +41,24 @@ abstract class AppDatabase : RoomDatabase() { db.execSQL("ALTER TABLE tasks ADD COLUMN duedate_temp INTEGER") // Populate temporary column db.execSQL(""" + WITH offset AS ( + SELECT (strftime('%s', 'now', 'localtime') - strftime('%s', 'now')) / 3600.0 AS diff + ) UPDATE tasks SET duedate_temp = CASE WHEN duedate IS NULL OR duedate = '' THEN NULL - ELSE (strftime('%s', duedate || 'T00:00:00Z') * 1000) + ELSE ( + strftime( + '%s', + duedate || ' 00:00:00', + CASE + WHEN (SELECT diff FROM offset) >= 0 + THEN '-' || (SELECT diff FROM offset) || ' hours' + ELSE '+' || abs((SELECT diff FROM offset)) || ' hours' + END + ) * 1000 + ) END """.trimIndent())