From c41840632bbc46f90a2d14c5c9dd7ded34931c18 Mon Sep 17 00:00:00 2001 From: David Luhmer Date: Mon, 30 Mar 2026 20:24:04 +0200 Subject: [PATCH 1/4] upgrade AGP from 8.13.2 to 9.1.0 Signed-off-by: David Luhmer --- gradle.properties | 12 +++++++++++- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index d4339e584..f3c07fad5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,6 +21,16 @@ ANDROID_BUILD_MIN_SDK_VERSION=21 ANDROID_BUILD_TARGET_SDK_VERSION=35 ANDROID_BUILD_SDK_VERSION=36 android.useAndroidX=true -android.enableJetifier=true +# android.enableJetifier=true org.gradle.dependency.verification.console=verbose org.gradle.jvmargs=-Xmx4096m +android.defaults.buildfeatures.resvalues=true +android.sdk.defaultTargetSdkToCompileSdkIfUnset=false +android.enableAppCompileTimeRClass=false +android.usesSdkInManifest.disallowed=false +android.uniquePackageNames=false +android.dependency.useConstraints=true +android.r8.strictFullModeForKeepRules=false +android.r8.optimizedResourceShrinking=false +android.builtInKotlin=false +android.newDsl=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37f853b1c..37f78a6af 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 426aa43360916ce996297623d895b3daa41bdd44 Mon Sep 17 00:00:00 2001 From: David Luhmer Date: Mon, 30 Mar 2026 20:44:47 +0200 Subject: [PATCH 2/4] enable better optimizations Signed-off-by: David Luhmer --- News-Android-App/build.gradle | 4 ++-- build.gradle | 6 +++--- gradle.properties | 14 +++++++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/News-Android-App/build.gradle b/News-Android-App/build.gradle index c9be37b06..6ba0cf583 100644 --- a/News-Android-App/build.gradle +++ b/News-Android-App/build.gradle @@ -53,14 +53,14 @@ android { debug { shrinkResources false minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' testProguardFiles 'proguard-test.pro' pseudoLocalesEnabled true } release { shrinkResources true minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' testProguardFiles 'proguard-test.pro' //signingConfig signingConfigs.debug } diff --git a/build.gradle b/build.gradle index 7cf4a6ef3..02cabc2be 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = '2.2.0' + kotlin_version = '2.2.10' } repositories { google() @@ -10,12 +10,12 @@ buildscript { gradlePluginPortal() } dependencies { - classpath 'com.android.tools.build:gradle:8.13.2' + classpath 'com.android.tools.build:gradle:9.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } plugins { - id 'org.jetbrains.kotlin.kapt' version '2.2.0' apply false + id 'org.jetbrains.kotlin.kapt' version '2.2.10' apply false id 'com.google.devtools.ksp' version '2.3.5' apply false } diff --git a/gradle.properties b/gradle.properties index f3c07fad5..9facc67c4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -21,16 +21,16 @@ ANDROID_BUILD_MIN_SDK_VERSION=21 ANDROID_BUILD_TARGET_SDK_VERSION=35 ANDROID_BUILD_SDK_VERSION=36 android.useAndroidX=true -# android.enableJetifier=true +android.enableJetifier=true org.gradle.dependency.verification.console=verbose org.gradle.jvmargs=-Xmx4096m android.defaults.buildfeatures.resvalues=true -android.sdk.defaultTargetSdkToCompileSdkIfUnset=false -android.enableAppCompileTimeRClass=false -android.usesSdkInManifest.disallowed=false -android.uniquePackageNames=false +android.sdk.defaultTargetSdkToCompileSdkIfUnset=true +android.enableAppCompileTimeRClass=true +android.usesSdkInManifest.disallowed=true +android.uniquePackageNames=true android.dependency.useConstraints=true -android.r8.strictFullModeForKeepRules=false -android.r8.optimizedResourceShrinking=false +android.r8.strictFullModeForKeepRules=true +android.r8.optimizedResourceShrinking=true android.builtInKotlin=false android.newDsl=false From ca9566319da033da93470e9389b120b48013d76b Mon Sep 17 00:00:00 2001 From: David Luhmer Date: Sat, 4 Apr 2026 08:01:45 +0200 Subject: [PATCH 3/4] enable newDsl and buildInKotlin Signed-off-by: David Luhmer --- News-Android-App/build.gradle | 13 ++----------- gradle.properties | 4 ++-- settings.gradle | 7 ++++++- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/News-Android-App/build.gradle b/News-Android-App/build.gradle index 6ba0cf583..e83c02221 100644 --- a/News-Android-App/build.gradle +++ b/News-Android-App/build.gradle @@ -1,7 +1,5 @@ plugins { id 'com.android.application' - id 'kotlin-android' - id 'org.jetbrains.kotlin.kapt' id 'com.google.devtools.ksp' id 'io.gitlab.arturbosch.detekt' version "1.23.8" id "com.diffplug.spotless" version "8.2.1" @@ -45,10 +43,6 @@ android { targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = "17" - } - buildTypes { debug { shrinkResources false @@ -120,7 +114,7 @@ repositories { //needed for com.gu:option:1.3 in Android-DirectoryChooser } -final DAGGER_VERSION = '2.59.1' +final DAGGER_VERSION = '2.59.2' final GLIDE_VERSION = '5.0.5' final ESPRESSO_VERSION = '3.7.0' final OKHTTP_VERSION = '5.3.2' @@ -178,7 +172,7 @@ dependencies { } implementation "com.google.dagger:dagger:${DAGGER_VERSION}" - kapt "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" + ksp "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" implementation 'io.reactivex.rxjava3:rxandroid:3.0.2' // Because RxAndroid releases are few and far between, it is recommended you also @@ -201,9 +195,6 @@ dependencies { testImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' testImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}" - - kaptAndroidTest "com.google.dagger:dagger-compiler:${DAGGER_VERSION}" - // https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver //androidTestImplementation "com.squareup.okhttp3:mockwebserver:${OKHTTP_VERSION}" diff --git a/gradle.properties b/gradle.properties index 9facc67c4..9cd7a6374 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,5 +32,5 @@ android.uniquePackageNames=true android.dependency.useConstraints=true android.r8.strictFullModeForKeepRules=true android.r8.optimizedResourceShrinking=true -android.builtInKotlin=false -android.newDsl=false +android.builtInKotlin=true +android.newDsl=true diff --git a/settings.gradle b/settings.gradle index 14a1a4949..1b49512f7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,8 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + } +} include ':News-Android-App' -// include ':MaterialShowcaseView:library' // include ':Android-SingleSignOn:lib' From 146290a1a11f5605146284d3b1426ebef34df6c2 Mon Sep 17 00:00:00 2001 From: David Luhmer Date: Sat, 4 Apr 2026 08:08:15 +0200 Subject: [PATCH 4/4] update to 0.9.9.95 Signed-off-by: David Luhmer --- News-Android-App/build.gradle | 4 ++-- fastlane/metadata/android/de-DE/changelogs/196.txt | 2 ++ fastlane/metadata/android/en-US/changelogs/196.txt | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/de-DE/changelogs/196.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/196.txt diff --git a/News-Android-App/build.gradle b/News-Android-App/build.gradle index e83c02221..dd8a8464d 100644 --- a/News-Android-App/build.gradle +++ b/News-Android-App/build.gradle @@ -23,8 +23,8 @@ android { vectorDrawables.useSupportLibrary = true - versionCode 195 - versionName "0.9.9.94" + versionCode 196 + versionName "0.9.9.95" } buildFeatures { diff --git a/fastlane/metadata/android/de-DE/changelogs/196.txt b/fastlane/metadata/android/de-DE/changelogs/196.txt new file mode 100644 index 000000000..2d51b9865 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/196.txt @@ -0,0 +1,2 @@ +- Dependency updates +- Fixed - !1637 - Fix bug in "Mark all unread items as read" feature (thanks to @Unpublished) diff --git a/fastlane/metadata/android/en-US/changelogs/196.txt b/fastlane/metadata/android/en-US/changelogs/196.txt new file mode 100644 index 000000000..2d51b9865 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/196.txt @@ -0,0 +1,2 @@ +- Dependency updates +- Fixed - !1637 - Fix bug in "Mark all unread items as read" feature (thanks to @Unpublished)