diff --git a/app/build.gradle b/app/build.gradle index 74ed051..d4597b0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,7 +21,7 @@ plugins { id "androidx.navigation.safeargs.kotlin" id 'kotlin-kapt' id 'com.squareup.wire' - id("org.jetbrains.kotlin.plugin.compose") version "2.0.21" + id("org.jetbrains.kotlin.plugin.compose") version "2.1.10" } android { @@ -172,7 +172,7 @@ dependencies { def paging_version = "3.3.6" implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.21" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.10" implementation 'androidx.appcompat:appcompat:1.7.1' implementation 'androidx.core:core:1.16.0' implementation 'androidx.cardview:cardview:1.0.0' @@ -201,8 +201,8 @@ dependencies { implementation "androidx.work:work-runtime-ktx:$work_version" // androidTestImplementation "android.arch.work:work-testing:$work_version" - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.6.2' @@ -230,5 +230,5 @@ dependencies { implementation 'com.google.zxing:core:3.3.3' - api "com.squareup.wire:wire-runtime:4.4.3" + api "com.squareup.wire:wire-runtime:5.3.5" } diff --git a/app/src/main/java/io/timelimit/android/data/dao/UsedTimeDao.kt b/app/src/main/java/io/timelimit/android/data/dao/UsedTimeDao.kt index 8b707f8..3c34d23 100644 --- a/app/src/main/java/io/timelimit/android/data/dao/UsedTimeDao.kt +++ b/app/src/main/java/io/timelimit/android/data/dao/UsedTimeDao.kt @@ -1,5 +1,5 @@ /* - * TimeLimit Copyright 2019 - 2024 Jonas Lochmann + * TimeLimit Copyright 2019 - 2025 Jonas Lochmann * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -69,13 +69,13 @@ abstract class UsedTimeDao { // breaking it into multiple lines causes issues during compilation ... // this warns about an unused column, but this column is used in the ORDER BY - @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH) + @SuppressWarnings(RoomWarnings.QUERY_MISMATCH) @Query("SELECT 2 AS type, start_time_of_day AS startMinuteOfDay, end_time_of_day AS endMinuteOfDay, used_time AS duration, day_of_epoch AS day, NULL AS lastUsage, NULL AS maxSessionDuration, NULL AS pauseDuration, category.id AS categoryId, category.title AS categoryTitle FROM used_time JOIN category ON (used_time.category_id = category.id) WHERE category.id = :categoryId UNION ALL SELECT 1 AS type, start_minute_of_day AS startMinuteOfDay, end_minute_of_day AS endMinuteOfDay, last_session_duration AS duration, NULL AS day, last_usage AS lastUsage, max_session_duration AS maxSessionDuration, session_pause_duration AS pauseDuration, category.id AS categoryId, category.title AS categoryTitle FROM session_duration JOIN category ON (session_duration.category_id = category.id) WHERE category.id = :categoryId ORDER BY type, day DESC, lastUsage DESC, startMinuteOfDay, endMinuteOfDay, categoryId") abstract fun getUsedTimeListItemsByCategoryId(categoryId: String): Flow> // breaking it into multiple lines causes issues during compilation ... // this warns about an unused column, but this column is used in the ORDER BY - @SuppressWarnings(RoomWarnings.CURSOR_MISMATCH) + @SuppressWarnings(RoomWarnings.QUERY_MISMATCH) @Query("SELECT 2 AS type, start_time_of_day AS startMinuteOfDay, end_time_of_day AS endMinuteOfDay, used_time AS duration, day_of_epoch AS day, NULL AS lastUsage, NULL AS maxSessionDuration, NULL AS pauseDuration, category.id AS categoryId, category.title AS categoryTitle FROM used_time JOIN category ON (used_time.category_id = category.id) WHERE category.child_id = :userId UNION ALL SELECT 1 AS type, start_minute_of_day AS startMinuteOfDay, end_minute_of_day AS endMinuteOfDay, last_session_duration AS duration, NULL AS day, last_usage AS lastUsage, max_session_duration AS maxSessionDuration, session_pause_duration AS pauseDuration, category.id AS categoryId, category.title AS categoryTitle FROM session_duration JOIN category ON (session_duration.category_id = category.id) WHERE category.child_id = :userId ORDER BY type, day DESC, lastUsage DESC, startMinuteOfDay, endMinuteOfDay, categoryId") abstract fun getUsedTimeListItemsByUserId(userId: String): Flow> } diff --git a/build.gradle b/build.gradle index 79b050c..64d28bb 100644 --- a/build.gradle +++ b/build.gradle @@ -15,10 +15,10 @@ */ plugins { - id 'com.android.application' version '8.10.1' apply false - id 'com.android.library' version '8.10.1' apply false + id 'com.android.application' version '8.11.1' apply false + id 'com.android.library' version '8.11.1' apply false id 'org.jetbrains.kotlin.android' version "2.0.21" apply false id 'com.google.devtools.ksp' version '1.9.21-1.0.16' apply false id 'androidx.navigation.safeargs' version '2.6.0' apply false - id 'com.squareup.wire' version '4.4.3' apply false + id 'com.squareup.wire' version '5.3.5' apply false } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c6c1c0c..ef2cb52 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,5 +2,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip -distributionSha256Sum=89d4e70e4e84e2d2dfbb63e4daa53e21b25017cc70c37e4eea31ee51fb15098a \ No newline at end of file +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionSha256Sum=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78 \ No newline at end of file