From 515e7662c4c628450e565a421f04f736633197f0 Mon Sep 17 00:00:00 2001 From: hawkff <109485367+hawkff@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:07:03 -0400 Subject: [PATCH 1/2] build: update AndroidX, Material, Gson, coroutines, guava, desugar Routine dependency bumps (compileSdk 35-compatible): - kotlinx-coroutines 1.6.4 -> 1.8.1 - core-ktx 1.9.0 -> 1.13.1 - recyclerview 1.3.0 -> 1.3.2 - fragment-ktx 1.5.6 -> 1.8.5 - browser 1.5.0 -> 1.8.0 - constraintlayout 2.1.4 -> 2.2.0 - navigation 2.5.3 -> 2.8.5 - preference-ktx 1.2.0 -> 1.2.1 - appcompat 1.6.1 -> 1.7.0 - work 2.8.1 -> 2.9.1 - material 1.8.0 -> 1.12.0 - gson 2.9.0 -> 2.11.0 - guava 31.0.1 -> 33.4.0-android - desugar_jdk_libs 2.0.3 -> 2.1.3 Held: kryo (profile serialization), ini4j, process-phoenix, zxing-lite, blacksquircle, material-about-library, swiperefreshlayout, activity-ktx. --- app/build.gradle.kts | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4d8d3fca2..493b58b71 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -42,23 +42,23 @@ dependencies { implementation(fileTree("libs")) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") - implementation("androidx.core:core-ktx:1.9.0") - implementation("androidx.recyclerview:recyclerview:1.3.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1") + implementation("androidx.core:core-ktx:1.13.1") + implementation("androidx.recyclerview:recyclerview:1.3.2") implementation("androidx.activity:activity-ktx:1.10.1") - implementation("androidx.fragment:fragment-ktx:1.5.6") - implementation("androidx.browser:browser:1.5.0") + implementation("androidx.fragment:fragment-ktx:1.8.5") + implementation("androidx.browser:browser:1.8.0") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("androidx.navigation:navigation-fragment-ktx:2.5.3") - implementation("androidx.navigation:navigation-ui-ktx:2.5.3") - implementation("androidx.preference:preference-ktx:1.2.0") - implementation("androidx.appcompat:appcompat:1.6.1") - implementation("androidx.work:work-runtime-ktx:2.8.1") - implementation("androidx.work:work-multiprocess:2.8.1") + implementation("androidx.constraintlayout:constraintlayout:2.2.0") + implementation("androidx.navigation:navigation-fragment-ktx:2.8.5") + implementation("androidx.navigation:navigation-ui-ktx:2.8.5") + implementation("androidx.preference:preference-ktx:1.2.1") + implementation("androidx.appcompat:appcompat:1.7.0") + implementation("androidx.work:work-runtime-ktx:2.9.1") + implementation("androidx.work:work-multiprocess:2.9.1") - implementation("com.google.android.material:material:1.8.0") - implementation("com.google.code.gson:gson:2.9.0") + implementation("com.google.android.material:material:1.12.0") + implementation("com.google.code.gson:gson:2.11.0") implementation("com.github.jenly1314:zxing-lite:2.1.1") implementation("com.blacksquircle.ui:editorkit:2.6.0") @@ -70,7 +70,7 @@ dependencies { implementation("com.github.daniel-stoneuk:material-about-library:3.2.0-rc01") implementation("com.jakewharton:process-phoenix:2.1.2") implementation("com.esotericsoftware:kryo:5.2.1") - implementation("com.google.guava:guava:31.0.1-android") + implementation("com.google.guava:guava:33.4.0-android") implementation("org.ini4j:ini4j:0.5.4") implementation("com.simplecityapps:recyclerview-fastscroll:2.0.1") { @@ -84,5 +84,5 @@ dependencies { implementation("com.github.MatrixDev.Roomigrant:RoomigrantLib:0.3.4") ksp("com.github.MatrixDev.Roomigrant:RoomigrantCompiler:0.3.4") - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.3") + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.3") } From 17dcc0d25abb3ab5f2fd2caa4fc13aed88caccff Mon Sep 17 00:00:00 2001 From: hawkff <109485367+hawkff@users.noreply.github.com> Date: Mon, 15 Jun 2026 15:09:13 -0400 Subject: [PATCH 2/2] fix: adapt to WorkManager 2.9 Configuration.Provider property WorkManager 2.9 replaced the getWorkManagerConfiguration() method with a workManagerConfiguration property on Configuration.Provider. --- app/src/main/java/io/nekohasekai/sagernet/SagerNet.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/nekohasekai/sagernet/SagerNet.kt b/app/src/main/java/io/nekohasekai/sagernet/SagerNet.kt index e86ec9463..24836b24f 100644 --- a/app/src/main/java/io/nekohasekai/sagernet/SagerNet.kt +++ b/app/src/main/java/io/nekohasekai/sagernet/SagerNet.kt @@ -109,11 +109,10 @@ class SagerNet : Application(), updateNotificationChannels() } - override fun getWorkManagerConfiguration(): WorkConfiguration { - return WorkConfiguration.Builder() + override val workManagerConfiguration: WorkConfiguration + get() = WorkConfiguration.Builder() .setDefaultProcessName("${BuildConfig.APPLICATION_ID}:bg") .build() - } override fun onTrimMemory(level: Int) { super.onTrimMemory(level)