diff --git a/androidApp/src/main/AndroidManifest.xml b/androidApp/src/main/AndroidManifest.xml index 4192446..bd6cd3b 100644 --- a/androidApp/src/main/AndroidManifest.xml +++ b/androidApp/src/main/AndroidManifest.xml @@ -26,7 +26,7 @@ android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" - android:label="LLMP KMP" + android:label="LLMP" android:supportsRtl="true" android:theme="@android:style/Theme.Material.Light.NoActionBar" android:usesCleartextTraffic="true" diff --git a/androidApp/src/main/res/values-de/strings.xml b/androidApp/src/main/res/values-de/strings.xml index 64a2e0f..673e730 100644 --- a/androidApp/src/main/res/values-de/strings.xml +++ b/androidApp/src/main/res/values-de/strings.xml @@ -1,6 +1,6 @@ - LLMP KMP + LLMP Wird abgespielt Desktop-Lyrics schließen Bild-in-Bild diff --git a/androidApp/src/main/res/values-en/strings.xml b/androidApp/src/main/res/values-en/strings.xml index 4656c9d..a5318bc 100644 --- a/androidApp/src/main/res/values-en/strings.xml +++ b/androidApp/src/main/res/values-en/strings.xml @@ -1,6 +1,6 @@ - LLMP KMP + LLMP Now Playing Close desktop lyrics Picture in Picture diff --git a/androidApp/src/main/res/values-ja/strings.xml b/androidApp/src/main/res/values-ja/strings.xml index a066a69..d3c2798 100644 --- a/androidApp/src/main/res/values-ja/strings.xml +++ b/androidApp/src/main/res/values-ja/strings.xml @@ -1,6 +1,6 @@ - LLMP KMP + LLMP 再生中 デスクトップ歌詞を閉じる ピクチャインピクチャ diff --git a/androidApp/src/main/res/values/strings.xml b/androidApp/src/main/res/values/strings.xml index 4bfc9c3..57cb70b 100644 --- a/androidApp/src/main/res/values/strings.xml +++ b/androidApp/src/main/res/values/strings.xml @@ -1,6 +1,6 @@ - LLMP KMP + LLMP 正在播放 关闭桌面歌词 画中画 diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 168c0e8..f98b607 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -65,6 +65,7 @@ kotlin { implementation(libs.coil.svg) implementation(libs.coil.network.ktor3) implementation(libs.haze) + implementation(libs.haze.blur) } } } diff --git a/composeApp/src/commonMain/kotlin/com/zhushenwudi/lovelivemusicplayer/ui/player/MiniPlayerBar.kt b/composeApp/src/commonMain/kotlin/com/zhushenwudi/lovelivemusicplayer/ui/player/MiniPlayerBar.kt index 59573a5..451f4b1 100644 --- a/composeApp/src/commonMain/kotlin/com/zhushenwudi/lovelivemusicplayer/ui/player/MiniPlayerBar.kt +++ b/composeApp/src/commonMain/kotlin/com/zhushenwudi/lovelivemusicplayer/ui/player/MiniPlayerBar.kt @@ -50,9 +50,11 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import kotlinx.coroutines.delay import kotlin.math.roundToInt +import dev.chrisbanes.haze.HazeInput import dev.chrisbanes.haze.HazeState -import dev.chrisbanes.haze.HazeTint -import dev.chrisbanes.haze.hazeEffect +import dev.chrisbanes.haze.blur.HazeBlurStyle +import dev.chrisbanes.haze.blur.HazeColorEffect +import dev.chrisbanes.haze.blur.hazeBlur import com.zhushenwudi.lovelivemusicplayer.AppContainer import com.zhushenwudi.lovelivemusicplayer.i18n.tr import com.zhushenwudi.lovelivemusicplayer.theme.ColorMs @@ -118,15 +120,20 @@ fun MiniPlayerBar( .background(barColor) .then( if (hazeState != null) { - Modifier.hazeEffect(state = hazeState) { - blurRadius = 30.dp - backgroundColor = barColor - tints = listOf( - HazeTint(barColor), - HazeTint(Color.Gray.copy(alpha = 0.15f)), - ) - noiseFactor = 0f - } + Modifier.hazeBlur( + input = HazeInput.Sources(hazeState), + style = HazeBlurStyle { + blurRadius(30.dp) + backgroundColor(barColor) + colorEffects( + listOf( + HazeColorEffect.tint(barColor), + HazeColorEffect.tint(Color.Gray.copy(alpha = 0.15f)), + ), + ) + noiseFactor(0f) + }, + ) } else { Modifier }, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4566387..6f46f9e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,22 +5,22 @@ android-minSdk = "24" android-targetSdk = "37" androidx-activity = "1.13.0" androidx-lifecycle = "2.11.0" -compose-multiplatform = "1.11.1" +compose-multiplatform = "1.12.1" compose-material3 = "1.11.0-alpha07" compose-material-icons-extended = "1.7.3" -kotlin = "2.4.10" +kotlin = "2.4.20" kotlinx-coroutines = "1.11.0" kotlinx-serialization = "1.11.0" -ktor = "3.5.2" -sqldelight = "2.3.2" +ktor = "3.6.0" +sqldelight = "2.4.0" multiplatform-settings = "1.3.0" media3 = "1.11.0" navigation = "2.9.2" glance = "1.1.1" palette = "1.0.0" zxing = "4.3.0" -coil = "3.5.0" -haze = "1.7.2" +coil = "3.6.3" +haze = "2.0.1" [libraries] compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-multiplatform" } @@ -53,7 +53,7 @@ multiplatform-settings-coroutines = { module = "com.russhwolf:multiplatform-sett media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" } media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" } androidx-media = { module = "androidx.media:media", version = "1.8.0" } -androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.19.0" } +androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.19.1" } navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigation" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } androidx-glance-appwidget = { module = "androidx.glance:glance-appwidget", version.ref = "glance" } @@ -65,6 +65,7 @@ coil-svg = { module = "io.coil-kt.coil3:coil-svg", version.ref = "coil" } # Coil 3 has no network support by default — required for https artist_webp URLs coil-network-ktor3 = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" } haze = { module = "dev.chrisbanes.haze:haze", version.ref = "haze" } +haze-blur = { module = "dev.chrisbanes.haze:haze-blur", version.ref = "haze" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" }