diff --git a/CHANGELOG.md b/CHANGELOG.md index e827869c20..fb98bd2708 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,3 +26,39 @@ - Added Unit Test for version checker - Use Coil pipeline instead of SSIV for image decode whenever possible, might improve webtoon performance - Migrated from Coil2 to Coil3 +- Update compose compiler to v1.5.14 +- Update androidx.compose.animation:animation to v1.6.7 +- Update androidx.compose.foundation:foundation to v1.6.7 +- Update androidx.compose.material:material to v1.6.7 +- Update androidx.compose.ui:ui to v1.6.7 +- Update androidx.compose.ui:ui-tooling to v1.6.7 +- Update androidx.compose.ui:ui-tooling-preview to v1.6.7 +- Update androidx.compose.material:material-icons-extended to v1.6.7 +- Update dependency androidx.lifecycle:lifecycle-viewmodel-compose to v2.8.0 +- Update dependency androidx.activity:activity-ktx to v1.9.0 +- Update dependency androidx.activity:activity-compose to v1.9.0 +- Update dependency androidx.annotation:annotation to v1.8.0 +- Update dependency androidx.browser:browser to v1.8.0 +- Update dependency androidx.core:core-ktx to v1.13.1 +- Update dependency androidx.lifecycle:lifecycle-viewmodel-ktx to v2.8.0 +- Update dependency androidx.lifecycle:lifecycle-livedata-ktx to v2.8.0 +- Update dependency androidx.lifecycle:lifecycle-common to v2.8.0 +- Update dependency androidx.lifecycle:lifecycle-process to v2.8.0 +- Update dependency androidx.lifecycle:lifecycle-runtime-ktx to v2.8.0 +- Update dependency androidx.recyclerview:recyclerview to v1.3.2 +- Update dependency androidx.sqlite:sqlite to v2.4.0 +- Update dependency androidx.webkit:webkit to v1.11.0 +- Update dependency androidx.work:work-runtime-ktx to v2.9.0 +- Update dependency androidx.window:window to v1.2.0 +- Update dependency com.google.firebase:firebase-crashlytics-gradle to v3.0.1 +- Update dependency com.google.gms:google-services to v4.4.1 +- Update dependency com.google.android.material:material to v1.12.0 +- Update dependency com.squareup.okio:okio to v3.8.0 +- Update dependency com.google.firebase:firebase-bom to v33.0.0 +- Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.9.24 +- Update dependency org.jetbrains.kotlin:kotlin-serialization to v1.9.24 +- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.6.2 +- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json-okio to v1.6.2 +- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-protobuf to v1.6.2 +- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.8.0 +- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.8.0 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 75f66c04ec..7ea94db978 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -131,7 +131,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion = compose.versions.compose.get() + kotlinCompilerExtensionVersion = compose.versions.compose.compiler.get() } compileOptions { diff --git a/app/src/main/java/dev/yokai/presentation/component/ToolTip.kt b/app/src/main/java/dev/yokai/presentation/component/ToolTip.kt index 9dc940996a..13580441f8 100644 --- a/app/src/main/java/dev/yokai/presentation/component/ToolTip.kt +++ b/app/src/main/java/dev/yokai/presentation/component/ToolTip.kt @@ -10,9 +10,12 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButtonDefaults import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.PlainTooltipBox +import androidx.compose.material3.PlainTooltip +import androidx.compose.material3.TooltipBox import androidx.compose.material3.Text +import androidx.compose.material3.TooltipDefaults import androidx.compose.material3.minimumInteractiveComponentSize +import androidx.compose.material3.rememberTooltipState import androidx.compose.material3.surfaceColorAtElevation import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -42,16 +45,22 @@ fun ToolTipButton( require(icon != null || painter != null) val haptic = LocalHapticFeedback.current - PlainTooltipBox( - tooltip = { Text(modifier = Modifier.padding(4.dp), style = MaterialTheme.typography.bodyLarge, text = toolTipLabel) }, - contentColor = MaterialTheme.colorScheme.onSurface, - containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(8.dp), + TooltipBox( + positionProvider = TooltipDefaults.rememberPlainTooltipPositionProvider(), + tooltip = { + PlainTooltip( + contentColor = MaterialTheme.colorScheme.onSurface, + containerColor = MaterialTheme.colorScheme.surfaceColorAtElevation(8.dp), + ) { + Text(modifier = Modifier.padding(4.dp), style = MaterialTheme.typography.bodyLarge, text = toolTipLabel) + } + }, + state = rememberTooltipState(), ) { CombinedClickableIconButton( enabled = isEnabled, enabledTint = enabledTint, modifier = modifier - .tooltipAnchor() .iconButtonCombinedClickable( toolTipLabel = toolTipLabel, onClick = buttonClicked, diff --git a/gradle/androidx.versions.toml b/gradle/androidx.versions.toml index 2e2a2437f8..14b55a468f 100644 --- a/gradle/androidx.versions.toml +++ b/gradle/androidx.versions.toml @@ -1,16 +1,16 @@ [versions] -activity = "1.8.2" -lifecycle = "2.6.2" +activity = "1.9.0" +lifecycle = "2.8.0" [libraries] activity = { module = "androidx.activity:activity-ktx", version.ref = "activity" } activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity" } -annotation = { module = "androidx.annotation:annotation", version = "1.7.0" } +annotation = { module = "androidx.annotation:annotation", version = "1.8.0" } appcompat = { module = "androidx.appcompat:appcompat", version = "1.6.1" } -browser = { module = "androidx.browser:browser", version = "1.6.0" } +browser = { module = "androidx.browser:browser", version = "1.8.0" } biometric = { module = "androidx.biometric:biometric", version = "1.1.0" } cardview = { module = "androidx.cardview:cardview", version = "1.0.0" } -core = { module = "androidx.core:core-ktx", version = "1.12.0" } +core = { module = "androidx.core:core-ktx", version = "1.13.1" } core-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.1" } constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version = "2.1.4" } glance-appwidget = { module = "androidx.glance:glance-appwidget", version = "1.0.0" } @@ -22,9 +22,9 @@ lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", versi multidex = { module = "androidx.multidex:multidex", version = "2.0.1" } palette = { module = "androidx.palette:palette", version = "1.0.0" } preference = { module = "androidx.preference:preference-ktx", version = "1.2.1" } -recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.1" } -sqlite = { module = "androidx.sqlite:sqlite", version = "2.3.1" } +recyclerview = { module = "androidx.recyclerview:recyclerview", version = "1.3.2" } +sqlite = { module = "androidx.sqlite:sqlite", version = "2.4.0" } swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version = "1.1.0" } -webkit = { module = "androidx.webkit:webkit", version = "1.9.0" } -work = { module = "androidx.work:work-runtime-ktx", version = "2.8.1" } -window = { module = "androidx.window:window", version = "1.1.0" } \ No newline at end of file +webkit = { module = "androidx.webkit:webkit", version = "1.11.0" } +work = { module = "androidx.work:work-runtime-ktx", version = "2.9.0" } +window = { module = "androidx.window:window", version = "1.2.0" } diff --git a/gradle/compose.versions.toml b/gradle/compose.versions.toml index d3198b44b5..04dbcd4210 100644 --- a/gradle/compose.versions.toml +++ b/gradle/compose.versions.toml @@ -1,14 +1,15 @@ [versions] -compose = "1.5.3" -lifecycle = "2.6.2" +compose = "1.6.7" +compose-compiler = "1.5.14" +lifecycle = "2.8.0" [libraries] animation = { module = "androidx.compose.animation:animation", version.ref = "compose" } foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" } material = { module = "androidx.compose.material:material", version.ref = "compose" } -material3 = { module = "androidx.compose.material3:material3", version = "1.1.2" } +material3 = { module = "androidx.compose.material3:material3", version = "1.2.1" } lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" } ui = { module = "androidx.compose.ui:ui", version.ref = "compose" } ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose" } -icons = { module = "androidx.compose.material:material-icons-extended", version.ref = "compose" } \ No newline at end of file +icons = { module = "androidx.compose.material:material-icons-extended", version.ref = "compose" } diff --git a/gradle/kotlinx.versions.toml b/gradle/kotlinx.versions.toml index 2631b09286..01d5b81234 100644 --- a/gradle/kotlinx.versions.toml +++ b/gradle/kotlinx.versions.toml @@ -1,7 +1,7 @@ [versions] -kotlin = "1.9.10" -coroutines = "1.7.3" -serialization = "1.6.0" +kotlin = "1.9.24" +coroutines = "1.8.0" +serialization = "1.6.2" [libraries] gradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } @@ -13,4 +13,4 @@ coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-androi coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } [plugins] -android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } \ No newline at end of file +android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f4ef907865..740df3989f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,16 +24,16 @@ directionalviewpager = { module = "com.github.tachiyomiorg:DirectionalViewPager" disklrucache = { module = "com.jakewharton:disklrucache", version = "2.0.2" } fastadapter-extensions-binding = { module = "com.mikepenz:fastadapter-extensions-binding", version.ref = "fast_adapter" } fastadapter = { module = "com.mikepenz:fastadapter", version.ref = "fast_adapter" } -firebase-crashlytics-gradle = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.9.4" } +firebase-crashlytics-gradle = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "3.0.1" } flexbox = { module = "com.google.android.flexbox:flexbox", version = "3.0.0" } flexible-adapter-ui = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter-ui", version.ref = "flexible-adapter" } flexible-adapter = { module = "com.github.arkon.FlexibleAdapter:flexible-adapter", version.ref = "flexible-adapter" } -google-services = { module = "com.google.gms:google-services", version = "4.3.15" } +google-services = { module = "com.google.gms:google-services", version = "4.4.1" } gradle = { module = "com.android.tools.build:gradle", version = "8.1.4" } guava = { module = "com.google.guava:guava", version = "31.1-android" } image-decoder = { module = "com.github.tachiyomiorg:image-decoder", version = "e08e9be535" } injekt-core = { module = "com.github.inorichi.injekt:injekt-core", version = "65b0440" } -material = { module = "com.google.android.material:material", version = "1.11.0" } +material = { module = "com.google.android.material:material", version = "1.12.0" } material-design-dimens = { module = "com.dmitrymalkovich.android:material-design-dimens", version = "1.4" } markwon = { module = "io.noties.markwon:core", version = "4.6.2" } mpandroidchart = { module = "com.github.PhilJay:MPAndroidChart", version = "v3.1.0" } @@ -44,7 +44,7 @@ java-string-similarity = { module = "info.debatty:java-string-similarity", versi jsoup = { module = "org.jsoup:jsoup", version = "1.16.1" } junrar = { module = "com.github.junrar:junrar", version = "7.5.5" } loading-button = { module = "br.com.simplepass:loading-button-android", version = "2.2.0" } -okio = { module = "com.squareup.okio:okio", version = "3.6.0" } +okio = { module = "com.squareup.okio:okio", version = "3.8.0" } okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } okhttp-dnsoverhttps = { module = "com.squareup.okhttp3:okhttp-dnsoverhttps", version.ref = "okhttp" } okhttp-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" } @@ -64,7 +64,7 @@ shizuku-provider = { module = "dev.rikka.shizuku:provider", version.ref = "shizu taptargetview = { module = "com.getkeepsafe.taptargetview:taptargetview", version = "1.13.3" } timber = { module = "com.jakewharton.timber:timber", version = "4.7.1" } oss-licenses-plugin = { module = "com.google.android.gms:oss-licenses-plugin", version = "0.10.6" } -firebase = { module = "com.google.firebase:firebase-bom", version = "32.7.0" } +firebase = { module = "com.google.firebase:firebase-bom", version = "33.0.0" } firebase-analytics = { module = "com.google.firebase:firebase-analytics-ktx" } firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx" } unifile = { module = "com.github.tachiyomiorg:unifile", version = "17bec43" }