From 277585fc05e410714459c738c6fd8baaa56da477 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Thu, 9 Jul 2026 15:30:34 +0200 Subject: [PATCH] upgrade gecko. gradle, deps --- apps/weblibre/android/app/build.gradle | 17 ++++++------ apps/weblibre/android/build.gradle | 12 +++------ apps/weblibre/android/gradle.properties | 2 -- .../gradle/wrapper/gradle-wrapper.properties | 2 +- apps/weblibre/android/settings.gradle | 4 +-- apps/weblibre/pubspec.yaml | 26 +++++++++---------- .../widgets/search_result_card_test.dart | 4 --- .../android/build.gradle | 21 +++++++-------- .../activities/IntentReceiverActivity.kt | 2 +- .../addons/WebExtensionPromptFeature.kt | 4 +++ .../example/android/app/build.gradle | 15 ++++++----- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 4 +-- .../android/build.gradle | 21 +++++++-------- .../example/android/app/build.gradle | 13 +++++----- .../example/android/build.gradle | 2 +- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 4 +-- packages/flutter_tor/android/build.gradle | 19 +++++++------- .../eu/weblibre/flutter_tor/TorManager.kt | 8 +++--- .../example/android/app/build.gradle.kts | 13 +++++----- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle.kts | 4 +-- packages/locale_resolver/android/build.gradle | 17 ++++++------ .../example/android/app/build.gradle.kts | 13 +++++----- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle.kts | 4 +-- .../android/build.gradle | 17 ++++++------ .../example/android/app/build.gradle.kts | 13 +++++----- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle.kts | 4 +-- .../android/build.gradle | 17 ++++++------ .../example/android/app/build.gradle.kts | 13 +++++----- .../example/android/gradle.properties | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle.kts | 4 +-- 41 files changed, 166 insertions(+), 157 deletions(-) diff --git a/apps/weblibre/android/app/build.gradle b/apps/weblibre/android/app/build.gradle index 906c88df..a98bdeaa 100644 --- a/apps/weblibre/android/app/build.gradle +++ b/apps/weblibre/android/app/build.gradle @@ -1,7 +1,6 @@ plugins { id "com.android.application" - id "kotlin-android" - id "org.jetbrains.kotlin.plugin.compose" version "2.3.21" + id "org.jetbrains.kotlin.plugin.compose" version "2.4.0" // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } @@ -28,7 +27,7 @@ def weblibreGoMobileAar = file("../../../../native/go_mobile_runtime/build/webli android { namespace = "eu.weblibre.gecko" - compileSdk = 36 + compileSdk = 37 ndkVersion = rootProject.ext.ndkVersion compileOptions { @@ -36,16 +35,12 @@ android { targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = '17' - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.gecko" // https://api.flutter.dev/flutter/widgets/AndroidView-class.html minSdkVersion = 26 - targetSdk = 36 + targetSdk = 37 versionCode = flutterVersionCode.toInteger() versionName = flutterVersionName } @@ -134,6 +129,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/apps/weblibre/android/build.gradle b/apps/weblibre/android/build.gradle index a2020700..f3e8736f 100644 --- a/apps/weblibre/android/build.gradle +++ b/apps/weblibre/android/build.gradle @@ -1,14 +1,10 @@ //Required by background_fetch build ext { - compileSdkVersion = 36 - targetSdkVersion = 36 + compileSdkVersion = 37 + targetSdkVersion = 37 ndkVersion = providers.gradleProperty("weblibre.ndkVersion").get() } -buildscript { - ext.kotlin_version = '2.3.21' -} - allprojects { repositories { google() @@ -22,7 +18,7 @@ allprojects { if (details.requested.group == 'androidx.glance' && details.requested.name == 'glance-appwidget') { details.useVersion '1.1.1' - details.because 'home_widget uses 1.+ and newer alpha releases require AGP 9.1 and compileSdk 37' + details.because 'home_widget uses 1.+; keep a stable Glance version for reproducible Android builds' } } } @@ -34,7 +30,7 @@ subprojects { afterEvaluate { if (it.hasProperty("android")) { android { - compileSdkVersion 36 + compileSdkVersion 37 ndkVersion rootProject.ext.ndkVersion } } diff --git a/apps/weblibre/android/gradle.properties b/apps/weblibre/android/gradle.properties index efb319f6..0f9a9806 100644 --- a/apps/weblibre/android/gradle.properties +++ b/apps/weblibre/android/gradle.properties @@ -2,7 +2,5 @@ org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError weblibre.ndkVersion=28.2.13676358 android.useAndroidX=true android.enableJetifier=true -# This builtInKotlin flag was added automatically by Flutter migrator android.builtInKotlin=false -# This newDsl flag was added automatically by Flutter migrator android.newDsl=false diff --git a/apps/weblibre/android/gradle/wrapper/gradle-wrapper.properties b/apps/weblibre/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/apps/weblibre/android/gradle/wrapper/gradle-wrapper.properties +++ b/apps/weblibre/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/apps/weblibre/android/settings.gradle b/apps/weblibre/android/settings.gradle index c1669422..e129c63c 100644 --- a/apps/weblibre/android/settings.gradle +++ b/apps/weblibre/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version '8.13.2' apply false - id "org.jetbrains.kotlin.android" version "2.3.21" apply false + id "com.android.application" version '9.2.1' apply false + id "org.jetbrains.kotlin.android" version "2.4.0" apply false } include ":app" diff --git a/apps/weblibre/pubspec.yaml b/apps/weblibre/pubspec.yaml index 065f02c7..dcb99d76 100644 --- a/apps/weblibre/pubspec.yaml +++ b/apps/weblibre/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: country_flags: ^4.1.2 crypto: ^3.0.7 cryptography_flutter: ^2.3.4 - device_info_plus: ^13.1.0 + device_info_plus: ^13.2.0 drift: 2.34.0 drift_dev: 2.34.0 dynamic_color: ^1.8.1 @@ -25,7 +25,7 @@ dependencies: fading_scroll: ^0.9.4 fancy_password_field: ^2.0.8 fast_equatable: ^1.3.1 - file_picker: 12.0.0-beta.5 + file_picker: ^12.0.0-beta.7 flutter: sdk: flutter flutter_auto_size_text: ^5.0.0 @@ -50,7 +50,7 @@ dependencies: hooks_riverpod: ^3.3.2 html: ^0.15.6 http: ^1.6.0 - intl: ^0.20.2 + intl: ^0.20.3 json_annotation: ^4.12.0 lexo_rank: git: @@ -63,7 +63,7 @@ dependencies: material_color_utilities: ^0.13.0 mime: ^2.0.0 nullability: ^1.0.0 - package_info_plus: ^10.1.0 + package_info_plus: ^10.2.0 path: ^1.9.1 path_provider: ^2.1.6 permission_handler: ^12.0.3 @@ -71,32 +71,32 @@ dependencies: privacypass_client: git: url: https://gitlab.com/weblibre/search_client.git - ref: 1b323c7cb2a520e33a7e7fce37a080c9e6e7f2e8 + ref: a0e4afe03a24b5f0f7ecd3b24317072e8ee00bbd path: packages/privacypass_client - qr_code_scanner_plus: ^2.1.2 + qr_code_scanner_plus: ^2.2.0 quick_actions: ^1.1.0 riverpod: ^3.3.2 riverpod_annotation: ^4.0.3 rss_dart: ^1.0.14 rxdart: ^0.28.0 - saf_stream: ^3.0.0 + saf_stream: ^3.1.0 saf_util: ^3.1.0 search_client: git: url: https://gitlab.com/weblibre/search_client.git - ref: 1b323c7cb2a520e33a7e7fce37a080c9e6e7f2e8 + ref: a0e4afe03a24b5f0f7ecd3b24317072e8ee00bbd path: packages/search_client search_protocol: git: url: https://gitlab.com/weblibre/search_client.git - ref: 1b323c7cb2a520e33a7e7fce37a080c9e6e7f2e8 + ref: a0e4afe03a24b5f0f7ecd3b24317072e8ee00bbd path: packages/search_protocol secure_archive: git: url: https://github.com/FaFre/secure_archive.git path: packages/secure_archive ref: 0c515813ac2d29e29ab1c66759a396af825bf8b3 - share_plus: ^13.1.0 + share_plus: ^13.2.0 simple_intent_receiver: path: ../../packages/simple_intent_receiver skeletonizer: ^2.1.3 @@ -105,8 +105,8 @@ dependencies: socks5_proxy: ^2.1.1 speech_to_text_dialog: path: ../../packages/speech_to_text_dialog - sqlite3: ^3.3.3 - supabase: ^2.13.0 + sqlite3: ^3.3.4 + supabase: ^2.14.0 synchronized: ^3.4.1 text_scroll: ^0.2.1 timeago: ^3.7.1 @@ -119,7 +119,7 @@ dependencies: xxh3: ^1.2.0 dev_dependencies: - build_runner: ^2.15.0 + build_runner: ^2.15.1 copy_with_extension_gen: ^15.0.1 flutter_launcher_icons: ^0.14.4 flutter_test: diff --git a/apps/weblibre/test/features/web_search/presentation/widgets/search_result_card_test.dart b/apps/weblibre/test/features/web_search/presentation/widgets/search_result_card_test.dart index 7692c4ef..3f10f36d 100644 --- a/apps/weblibre/test/features/web_search/presentation/widgets/search_result_card_test.dart +++ b/apps/weblibre/test/features/web_search/presentation/widgets/search_result_card_test.dart @@ -63,8 +63,6 @@ void main() { openedUris.add(uri); }, onFetch: (_) async {}, - onPreview: (_) async {}, - onOpenCapture: (_) async {}, ), ), ), @@ -114,8 +112,6 @@ void main() { ), onOpen: (_) async {}, onFetch: (_) async {}, - onPreview: (_) async {}, - onOpenCapture: (_) async {}, ), ), ), diff --git a/packages/flutter_mozilla_components/android/build.gradle b/packages/flutter_mozilla_components/android/build.gradle index 1ef9ee5c..7d7ad20c 100644 --- a/packages/flutter_mozilla_components/android/build.gradle +++ b/packages/flutter_mozilla_components/android/build.gradle @@ -2,16 +2,14 @@ group = "eu.weblibre.flutter_mozilla_components" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" - ext.mozillaComponentsVersion = '151.0.2' + ext.mozillaComponentsVersion = '152.0.4' repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -36,24 +34,19 @@ rootProject.allprojects { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { if (project.android.hasProperty("namespace")) { namespace = "eu.weblibre.flutter_mozilla_components" } - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = '17' - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -80,6 +73,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + configurations.configureEach { exclude group: "org.mozilla.telemetry", module: "glean-native" // Exclude standalone tink to avoid duplicate classes with tink-android @@ -139,7 +138,7 @@ dependencies { implementation "org.mozilla.components:lib-publicsuffixlist:$mozillaComponentsVersion" implementation "org.mozilla.components:service-firefox-accounts:$mozillaComponentsVersion" implementation "org.mozilla.components:support-appservices:$mozillaComponentsVersion" - implementation "org.ironfoxoss.unifiedpush:unifiedpush:151.0.0" + implementation "org.ironfoxoss.unifiedpush:unifiedpush:$mozillaComponentsVersion" implementation ('org.unifiedpush.android:connector:3.3.3') { exclude group: 'com.google.protobuf', module: 'protobuf-java' } diff --git a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/activities/IntentReceiverActivity.kt b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/activities/IntentReceiverActivity.kt index 68371238..a7940cd3 100644 --- a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/activities/IntentReceiverActivity.kt +++ b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/activities/IntentReceiverActivity.kt @@ -544,7 +544,7 @@ class IntentReceiverActivity : Activity() { val components = GlobalComponents.components for (appTask in activityManager.appTasks) { - val baseIntent = runCatching { appTask.taskInfo.baseIntent } + val baseIntent = runCatching { appTask.taskInfo?.baseIntent } .getOrElse { error -> Log.w(TAG, "Failed to inspect app task", error) return@getOrElse null diff --git a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/addons/WebExtensionPromptFeature.kt b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/addons/WebExtensionPromptFeature.kt index 4c0ea049..46aa7b31 100644 --- a/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/addons/WebExtensionPromptFeature.kt +++ b/packages/flutter_mozilla_components/android/src/main/kotlin/eu/weblibre/flutter_mozilla_components/addons/WebExtensionPromptFeature.kt @@ -57,6 +57,10 @@ class WebExtensionPromptFeature( state.webExtensionPromptRequest }.distinctUntilChanged().collect { promptRequest -> when (promptRequest) { + is WebExtensionPromptRequest.InstallationRequested -> { + consumePromptRequest() + } + is WebExtensionPromptRequest.AfterInstallation -> { handleAfterInstallationRequest(promptRequest) } diff --git a/packages/flutter_mozilla_components/example/android/app/build.gradle b/packages/flutter_mozilla_components/example/android/app/build.gradle index ffce088f..04cea3e9 100644 --- a/packages/flutter_mozilla_components/example/android/app/build.gradle +++ b/packages/flutter_mozilla_components/example/android/app/build.gradle @@ -1,13 +1,12 @@ plugins { id "com.android.application" - id "kotlin-android" // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } android { namespace = "eu.weblibre.flutter_mozilla_components_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -15,16 +14,12 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.flutter_mozilla_components_example" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. - minSdk = flutter.minSdkVersion + minSdk = 26 targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName @@ -39,6 +34,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/packages/flutter_mozilla_components/example/android/gradle.properties b/packages/flutter_mozilla_components/example/android/gradle.properties index 25971708..2f0b4cad 100644 --- a/packages/flutter_mozilla_components/example/android/gradle.properties +++ b/packages/flutter_mozilla_components/example/android/gradle.properties @@ -1,3 +1,5 @@ org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/flutter_mozilla_components/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/flutter_mozilla_components/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/flutter_mozilla_components/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/flutter_mozilla_components/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/flutter_mozilla_components/example/android/settings.gradle b/packages/flutter_mozilla_components/example/android/settings.gradle index b444b190..5ab8b863 100644 --- a/packages/flutter_mozilla_components/example/android/settings.gradle +++ b/packages/flutter_mozilla_components/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.13.2" apply false - id "org.jetbrains.kotlin.android" version "2.3.21" apply false + id "com.android.application" version "9.2.1" apply false + id "org.jetbrains.kotlin.android" version "2.4.0" apply false } include ":app" diff --git a/packages/flutter_singbox_proxy/android/build.gradle b/packages/flutter_singbox_proxy/android/build.gradle index 3a071df9..9660d0bf 100644 --- a/packages/flutter_singbox_proxy/android/build.gradle +++ b/packages/flutter_singbox_proxy/android/build.gradle @@ -2,15 +2,13 @@ group = "eu.weblibre.flutter_singbox_proxy" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -32,21 +30,16 @@ def requireWebLibreGoMobileAar = { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { namespace = "eu.weblibre.flutter_singbox_proxy" - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -69,13 +62,19 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + dependencies { requireWebLibreGoMobileAar() compileOnly(files(weblibreGoMobileAar)) - implementation("com.squareup.okhttp3:okhttp:4.12.0") + implementation("com.squareup.okhttp3:okhttp:5.4.0") - testImplementation("org.json:json:20250517") + testImplementation("org.json:json:20260522") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.mockito:mockito-core:5.23.0") } diff --git a/packages/flutter_singbox_proxy/example/android/app/build.gradle b/packages/flutter_singbox_proxy/example/android/app/build.gradle index 17e40e1c..7f178853 100644 --- a/packages/flutter_singbox_proxy/example/android/app/build.gradle +++ b/packages/flutter_singbox_proxy/example/android/app/build.gradle @@ -1,12 +1,11 @@ plugins { id "com.android.application" - id "kotlin-android" id "dev.flutter.flutter-gradle-plugin" } android { namespace = "eu.weblibre.flutter_singbox_proxy_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -14,10 +13,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - defaultConfig { applicationId = "eu.weblibre.flutter_singbox_proxy_example" minSdk = flutter.minSdkVersion @@ -33,6 +28,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/packages/flutter_singbox_proxy/example/android/build.gradle b/packages/flutter_singbox_proxy/example/android/build.gradle index 3c76c793..d2ffbffa 100644 --- a/packages/flutter_singbox_proxy/example/android/build.gradle +++ b/packages/flutter_singbox_proxy/example/android/build.gradle @@ -5,7 +5,7 @@ allprojects { } } -rootProject.buildDir = "../../build" +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } diff --git a/packages/flutter_singbox_proxy/example/android/gradle.properties b/packages/flutter_singbox_proxy/example/android/gradle.properties index fbee1d8c..195a4efd 100644 --- a/packages/flutter_singbox_proxy/example/android/gradle.properties +++ b/packages/flutter_singbox_proxy/example/android/gradle.properties @@ -1,2 +1,4 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/flutter_singbox_proxy/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/flutter_singbox_proxy/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/flutter_singbox_proxy/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/flutter_singbox_proxy/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/flutter_singbox_proxy/example/android/settings.gradle b/packages/flutter_singbox_proxy/example/android/settings.gradle index b444b190..5ab8b863 100644 --- a/packages/flutter_singbox_proxy/example/android/settings.gradle +++ b/packages/flutter_singbox_proxy/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.13.2" apply false - id "org.jetbrains.kotlin.android" version "2.3.21" apply false + id "com.android.application" version "9.2.1" apply false + id "org.jetbrains.kotlin.android" version "2.4.0" apply false } include ":app" diff --git a/packages/flutter_tor/android/build.gradle b/packages/flutter_tor/android/build.gradle index cc8f556c..f28b57e8 100644 --- a/packages/flutter_tor/android/build.gradle +++ b/packages/flutter_tor/android/build.gradle @@ -2,15 +2,13 @@ group = "eu.weblibre.flutter_tor" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -33,22 +31,17 @@ def requireWebLibreGoMobileAar = { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { namespace = "eu.weblibre.flutter_tor" - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -61,7 +54,7 @@ android { dependencies { // Tor core libraries - implementation("info.guardianproject:tor-android:0.4.9.6") + implementation("info.guardianproject:tor-android:0.4.9.11") implementation("info.guardianproject:jtorctl:0.4.5.7") // Pluggable transports are provided by the app-level combined gomobile AAR. @@ -89,3 +82,9 @@ android { } } } + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} diff --git a/packages/flutter_tor/android/src/main/kotlin/eu/weblibre/flutter_tor/TorManager.kt b/packages/flutter_tor/android/src/main/kotlin/eu/weblibre/flutter_tor/TorManager.kt index 1d80fafc..a5a85a2d 100644 --- a/packages/flutter_tor/android/src/main/kotlin/eu/weblibre/flutter_tor/TorManager.kt +++ b/packages/flutter_tor/android/src/main/kotlin/eu/weblibre/flutter_tor/TorManager.kt @@ -217,9 +217,11 @@ class TorManager( scope.launch { var conn: TorControlConnection? = null var attempts = 0 - while ((conn == null || TorService.socksPort == -1) && attempts < 60) { + var upstreamSocksPort = -1 + while ((conn == null || upstreamSocksPort == -1) && attempts < 60) { delay(500) conn = torService?.torControlConnection + upstreamSocksPort = torService?.socksPort ?: -1 attempts++ // Bail early if upstream gave up (typically due to a torrc // parse error caught by `tor --verify-config`). @@ -229,7 +231,7 @@ class TorManager( } } - if (conn != null && TorService.socksPort != -1) { + if (conn != null && upstreamSocksPort != -1) { controlConnection = conn try { setupControlConnection(conn) @@ -244,7 +246,7 @@ class TorManager( } else { val error = Exception( "Failed to get fully-initialized control connection " + - "(conn=${conn != null}, torServiceSocksPort=${TorService.socksPort}, " + + "(conn=${conn != null}, torServiceSocksPort=$upstreamSocksPort, " + "upstreamStatus=$lastUpstreamStatus). " + "If upstreamStatus is STOPPING/OFF, tor likely rejected the torrc — check logcat for TorService." ) diff --git a/packages/flutter_tor/example/android/app/build.gradle.kts b/packages/flutter_tor/example/android/app/build.gradle.kts index 56cd2fb6..0557038b 100644 --- a/packages/flutter_tor/example/android/app/build.gradle.kts +++ b/packages/flutter_tor/example/android/app/build.gradle.kts @@ -1,13 +1,12 @@ plugins { id("com.android.application") - id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } android { namespace = "eu.weblibre.flutter_tor_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -15,10 +14,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.flutter_tor_example" @@ -39,6 +34,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + } +} + flutter { source = "../.." } diff --git a/packages/flutter_tor/example/android/gradle.properties b/packages/flutter_tor/example/android/gradle.properties index fbee1d8c..195a4efd 100644 --- a/packages/flutter_tor/example/android/gradle.properties +++ b/packages/flutter_tor/example/android/gradle.properties @@ -1,2 +1,4 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/flutter_tor/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/flutter_tor/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/flutter_tor/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/flutter_tor/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/flutter_tor/example/android/settings.gradle.kts b/packages/flutter_tor/example/android/settings.gradle.kts index 8f3a9a02..b6f1a606 100644 --- a/packages/flutter_tor/example/android/settings.gradle.kts +++ b/packages/flutter_tor/example/android/settings.gradle.kts @@ -19,8 +19,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.13.2" apply false - id("org.jetbrains.kotlin.android") version "2.3.21" apply false + id("com.android.application") version "9.2.1" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/packages/locale_resolver/android/build.gradle b/packages/locale_resolver/android/build.gradle index 54d03ac6..322cab47 100644 --- a/packages/locale_resolver/android/build.gradle +++ b/packages/locale_resolver/android/build.gradle @@ -2,15 +2,13 @@ group = "eu.weblibre.locale_resolver" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -22,22 +20,17 @@ allprojects { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { namespace = "eu.weblibre.locale_resolver" - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -64,3 +57,9 @@ android { } } } + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11 + } +} diff --git a/packages/locale_resolver/example/android/app/build.gradle.kts b/packages/locale_resolver/example/android/app/build.gradle.kts index 0908c76e..9ba3ec03 100644 --- a/packages/locale_resolver/example/android/app/build.gradle.kts +++ b/packages/locale_resolver/example/android/app/build.gradle.kts @@ -1,13 +1,12 @@ plugins { id("com.android.application") - id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } android { namespace = "eu.weblibre.locale_resolver_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -15,10 +14,6 @@ android { targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.locale_resolver_example" @@ -39,6 +34,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} + flutter { source = "../.." } diff --git a/packages/locale_resolver/example/android/gradle.properties b/packages/locale_resolver/example/android/gradle.properties index f018a618..5a1481d6 100644 --- a/packages/locale_resolver/example/android/gradle.properties +++ b/packages/locale_resolver/example/android/gradle.properties @@ -1,3 +1,5 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/locale_resolver/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/locale_resolver/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/locale_resolver/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/locale_resolver/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/locale_resolver/example/android/settings.gradle.kts b/packages/locale_resolver/example/android/settings.gradle.kts index 8f3a9a02..b6f1a606 100644 --- a/packages/locale_resolver/example/android/settings.gradle.kts +++ b/packages/locale_resolver/example/android/settings.gradle.kts @@ -19,8 +19,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.13.2" apply false - id("org.jetbrains.kotlin.android") version "2.3.21" apply false + id("com.android.application") version "9.2.1" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/packages/simple_intent_receiver/android/build.gradle b/packages/simple_intent_receiver/android/build.gradle index 37f3afb9..5cad7aba 100644 --- a/packages/simple_intent_receiver/android/build.gradle +++ b/packages/simple_intent_receiver/android/build.gradle @@ -2,15 +2,13 @@ group = "eu.weblibre.simple_intent_receiver" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -22,22 +20,17 @@ allprojects { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { namespace = "eu.weblibre.simple_intent_receiver" - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -64,3 +57,9 @@ android { } } } + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} diff --git a/packages/simple_intent_receiver/example/android/app/build.gradle.kts b/packages/simple_intent_receiver/example/android/app/build.gradle.kts index 8aa68131..03d185bc 100644 --- a/packages/simple_intent_receiver/example/android/app/build.gradle.kts +++ b/packages/simple_intent_receiver/example/android/app/build.gradle.kts @@ -1,13 +1,12 @@ plugins { id("com.android.application") - id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } android { namespace = "eu.weblibre.simple_intent_receiver_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -15,10 +14,6 @@ android { targetCompatibility = JavaVersion.VERSION_11 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.simple_intent_receiver_example" @@ -39,6 +34,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) + } +} + flutter { source = "../.." } diff --git a/packages/simple_intent_receiver/example/android/gradle.properties b/packages/simple_intent_receiver/example/android/gradle.properties index f018a618..5a1481d6 100644 --- a/packages/simple_intent_receiver/example/android/gradle.properties +++ b/packages/simple_intent_receiver/example/android/gradle.properties @@ -1,3 +1,5 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/simple_intent_receiver/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/simple_intent_receiver/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/simple_intent_receiver/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/simple_intent_receiver/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/simple_intent_receiver/example/android/settings.gradle.kts b/packages/simple_intent_receiver/example/android/settings.gradle.kts index 97397bb4..9e2fee21 100644 --- a/packages/simple_intent_receiver/example/android/settings.gradle.kts +++ b/packages/simple_intent_receiver/example/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.13.2" apply false - id("org.jetbrains.kotlin.android") version "2.3.21" apply false + id("com.android.application") version "9.2.1" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/packages/speech_to_text_dialog/android/build.gradle b/packages/speech_to_text_dialog/android/build.gradle index 0c3dd48b..d770756c 100644 --- a/packages/speech_to_text_dialog/android/build.gradle +++ b/packages/speech_to_text_dialog/android/build.gradle @@ -2,15 +2,13 @@ group = "eu.weblibre.speech_to_text_dialog" version = "1.0-SNAPSHOT" buildscript { - ext.kotlin_version = "2.3.21" repositories { google() mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:8.13.2") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version") + classpath("com.android.tools.build:gradle:9.2.1") } } @@ -22,22 +20,17 @@ allprojects { } apply plugin: "com.android.library" -apply plugin: "kotlin-android" android { namespace = "eu.weblibre.speech_to_text_dialog" - compileSdk = 36 + compileSdk = 37 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - } - sourceSets { main.java.srcDirs += "src/main/kotlin" test.java.srcDirs += "src/test/kotlin" @@ -64,3 +57,9 @@ android { } } } + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} diff --git a/packages/speech_to_text_dialog/example/android/app/build.gradle.kts b/packages/speech_to_text_dialog/example/android/app/build.gradle.kts index a47fd1bf..a2645ea0 100644 --- a/packages/speech_to_text_dialog/example/android/app/build.gradle.kts +++ b/packages/speech_to_text_dialog/example/android/app/build.gradle.kts @@ -1,13 +1,12 @@ plugins { id("com.android.application") - id("kotlin-android") // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id("dev.flutter.flutter-gradle-plugin") } android { namespace = "eu.weblibre.speech_to_text_dialog_example" - compileSdk = flutter.compileSdkVersion + compileSdk = 37 ndkVersion = flutter.ndkVersion compileOptions { @@ -15,10 +14,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - } - defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "eu.weblibre.speech_to_text_dialog_example" @@ -39,6 +34,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + } +} + flutter { source = "../.." } diff --git a/packages/speech_to_text_dialog/example/android/gradle.properties b/packages/speech_to_text_dialog/example/android/gradle.properties index fbee1d8c..195a4efd 100644 --- a/packages/speech_to_text_dialog/example/android/gradle.properties +++ b/packages/speech_to_text_dialog/example/android/gradle.properties @@ -1,2 +1,4 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true +android.builtInKotlin=false +android.newDsl=false diff --git a/packages/speech_to_text_dialog/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/speech_to_text_dialog/example/android/gradle/wrapper/gradle-wrapper.properties index 0922d266..269c533b 100644 --- a/packages/speech_to_text_dialog/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/speech_to_text_dialog/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip diff --git a/packages/speech_to_text_dialog/example/android/settings.gradle.kts b/packages/speech_to_text_dialog/example/android/settings.gradle.kts index 8f3a9a02..b6f1a606 100644 --- a/packages/speech_to_text_dialog/example/android/settings.gradle.kts +++ b/packages/speech_to_text_dialog/example/android/settings.gradle.kts @@ -19,8 +19,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.13.2" apply false - id("org.jetbrains.kotlin.android") version "2.3.21" apply false + id("com.android.application") version "9.2.1" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app")