diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 065376249..416e35758 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -18,10 +18,10 @@ jobs: with: submodules: true - - name: set up JDK 17 + - name: set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: gradle @@ -58,10 +58,10 @@ jobs: with: submodules: true - - name: set up JDK 17 + - name: set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: gradle @@ -104,10 +104,10 @@ jobs: with: submodules: true - - name: set up JDK 17 + - name: set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: gradle @@ -151,10 +151,10 @@ jobs: with: submodules: true - - name: set up JDK 17 + - name: set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: gradle diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml index 1d81e0532..64a863100 100644 --- a/.github/workflows/gradle-publish.yml +++ b/.github/workflows/gradle-publish.yml @@ -18,10 +18,10 @@ jobs: - name: Check out repo uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '17' + java-version: '21' distribution: 'temurin' cache: gradle diff --git a/android/README.md b/android/README.md index a8e4555e9..00230d9f9 100644 --- a/android/README.md +++ b/android/README.md @@ -27,6 +27,11 @@ Or, to use GraphHopper for the routing: graphhopperApiKey=YOUR-API-KEY ``` +## Snapshot tests + +We use Paparazzi for UI snapshot testing. +To update the snapshots, run `./gradlew recordPaparazziDebug`. + ## Testing locally in a separate project * Bump the version number to a `SNAPSHOT` in `build.gradle`. diff --git a/android/build.gradle b/android/build.gradle index 5fa1e9c44..852d493c4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,3 +1,6 @@ +import org.gradle.api.Project +import org.gradle.process.ExecOperations + // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias libs.plugins.androidApplication apply false @@ -11,6 +14,16 @@ plugins { alias libs.plugins.kotlinSerialization apply false } +// Gradle 9 removed `Project.exec(Closure)`; some third-party plugins still call it. +// Provide a compatibility shim backed by `ExecOperations`. +gradle.beforeProject { Project p -> + if (!p.metaClass.respondsTo(p, "exec", Closure)) { + p.metaClass.exec = { Closure c -> + p.services.get(ExecOperations).exec(c) + } + } +} + ext { SKIP_SIGNING_PROPERTY = "skip.signing" } diff --git a/android/composeui/build.gradle b/android/composeui/build.gradle index 5aafd9e99..0fcde7a48 100644 --- a/android/composeui/build.gradle +++ b/android/composeui/build.gradle @@ -12,7 +12,7 @@ plugins { android { namespace 'com.stadiamaps.ferrostar.composeui' - compileSdk 35 + compileSdk = 36 defaultConfig { minSdk 25 diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png index 18aaba512..1ac008fde 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionView.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionViewExpanded.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionViewExpanded.png index 497c39dcb..396352d1d 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionViewExpanded.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_InstructionViewTest_testInstructionViewExpanded.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageCustomColor.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageCustomColor.png index 8884758d9..465f5b3e6 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageCustomColor.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageCustomColor.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageForkLeft.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageForkLeft.png index 4e7ff4d37..5e615939d 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageForkLeft.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageForkLeft.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageTurnRight.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageTurnRight.png index 6c674eb03..cad555c3b 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageTurnRight.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ManeuverImageTest_testManeuverImageTurnRight.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTracking.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTracking.png index 925366fdd..39c6b6add 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTracking.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTracking.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTrackingLandscape.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTrackingLandscape.png index 65c54c936..224ca0dd2 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTrackingLandscape.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewNonTrackingLandscape.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTracking.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTracking.png index f3d6486c5..dc46159aa 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTracking.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTracking.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTrackingLandscape.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTrackingLandscape.png index 1bf589dea..36b37a2d9 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTrackingLandscape.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigatingInnerGridViewTest_testNavigatingInnerGridViewTrackingLandscape.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButton.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButton.png index 001186d4d..7f583c6f6 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButton.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButton.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButtonCustomized.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButtonCustomized.png index 2c7099c8a..2c978c27b 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButtonCustomized.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIButtonCustomized.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButton.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButton.png index c99ada9a6..2c7305323 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButton.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButton.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButtonCustomized.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButtonCustomized.png index add68eabd..d157dab2a 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButtonCustomized.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_NavigationUIButtonTest_testNavigationUIZoomButtonCustomized.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png index 27981ca77..fb74bc668 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_RTLInstructionViewTests_testRTLInstructionView.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView.png index ee133e385..77b15fb44 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView24Hour.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView24Hour.png index f4555feb5..04ddadc15 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView24Hour.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressView24Hour.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewInformationalStyle.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewInformationalStyle.png index 8c0215825..20ab60007 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewInformationalStyle.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewInformationalStyle.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewWithExit.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewWithExit.png index b6acbdb9b..a4386a768 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewWithExit.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_TripProgressViewTest_testProgressViewWithExit.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testFastSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testFastSpeedValue.png index c58aec4d8..09dc7a2d3 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testFastSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testFastSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testImplausibleSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testImplausibleSpeedValue.png index 31336c264..62301f57d 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testImplausibleSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testImplausibleSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKilometersPerHourSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKilometersPerHourSpeedValue.png index 31b2573d4..456d8e0fc 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKilometersPerHourSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKilometersPerHourSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKnotsSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKnotsSpeedValue.png index 4b1005f77..d8aead65f 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKnotsSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testKnotsSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testLowSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testLowSpeedValue.png index dfbf9c998..31c44d085 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testLowSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_USStyleSpeedLimitViewTest_testLowSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testFastSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testFastSpeedValue.png index e5d3b647e..c6eb55094 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testFastSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testFastSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testImplausibleSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testImplausibleSpeedValue.png index 85aab8e0c..9267645d4 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testImplausibleSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testImplausibleSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testKnotsSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testKnotsSpeedValue.png index c18fe619e..f6209ac51 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testKnotsSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testKnotsSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testLowSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testLowSpeedValue.png index 3d09e53e5..831812149 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testLowSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testLowSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMetersPerSecondSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMetersPerSecondSpeedValue.png index 68740fb30..a4d49f787 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMetersPerSecondSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMetersPerSecondSpeedValue.png differ diff --git a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMilesPerHourSpeedValue.png b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMilesPerHourSpeedValue.png index 3e4e570b2..40c037469 100644 Binary files a/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMilesPerHourSpeedValue.png and b/android/composeui/src/test/snapshots/images/com.stadiamaps.ferrostar.views_ViennaStyleSpeedLimitViewTest_testMilesPerHourSpeedValue.png differ diff --git a/android/core/build.gradle b/android/core/build.gradle index 3cb6d6dd1..5b133b0a0 100644 --- a/android/core/build.gradle +++ b/android/core/build.gradle @@ -12,12 +12,11 @@ plugins { android { namespace 'com.stadiamaps.ferrostar.core' - compileSdk 35 + compileSdk = 36 ndkVersion "26.2.11394342" defaultConfig { minSdk 25 - targetSdk 35 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" @@ -31,6 +30,12 @@ android { kotlinOptions { jvmTarget = '1.8' } + lint { + targetSdk 36 + } + testOptions { + targetSdk 36 + } } dependencies { @@ -94,7 +99,9 @@ android.libraryVariants.all { variant -> } def sourceSet = variant.sourceSets.find { it.name == variant.name } - sourceSet.java.srcDir layout.buildDirectory.file("generated/source/uniffi/${variant.name}/java") + // AGP 9 disallows adding Provider instances to the legacy SourceSet API. + // Use a concrete directory here to keep configuration compatible. + sourceSet.java.srcDir bDir.asFile // UniFFI tutorial notes that they made several attempts like this but were unsuccessful coming // to a good solution for forcing the directory to be marked as generated (short of checking in diff --git a/android/demo-app/build.gradle b/android/demo-app/build.gradle index 960a46f95..1fd236f37 100644 --- a/android/demo-app/build.gradle +++ b/android/demo-app/build.gradle @@ -7,12 +7,12 @@ plugins { android { namespace 'com.stadiamaps.ferrostar' - compileSdk 35 + compileSdk = 36 defaultConfig { applicationId "com.stadiamaps.ferrostar.demo" minSdk 26 - targetSdk 35 + targetSdk 36 versionCode 1 versionName "1.0" diff --git a/android/demo-app/src/main/java/com/stadiamaps/ferrostar/AutocompleteOverlay.kt b/android/demo-app/src/main/java/com/stadiamaps/ferrostar/AutocompleteOverlay.kt index 2c2bb4dcb..bcd4dce4b 100644 --- a/android/demo-app/src/main/java/com/stadiamaps/ferrostar/AutocompleteOverlay.kt +++ b/android/demo-app/src/main/java/com/stadiamaps/ferrostar/AutocompleteOverlay.kt @@ -2,6 +2,7 @@ package com.stadiamaps.ferrostar import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp @@ -19,6 +20,7 @@ import uniffi.ferrostar.UserLocation import uniffi.ferrostar.Waypoint import uniffi.ferrostar.WaypointKind +@OptIn(ExperimentalMaterial3Api::class) @Composable fun AutocompleteOverlay( modifier: Modifier = Modifier, diff --git a/android/google-play-services/build.gradle b/android/google-play-services/build.gradle index 4be1751fb..5c2d3c7f0 100644 --- a/android/google-play-services/build.gradle +++ b/android/google-play-services/build.gradle @@ -10,7 +10,7 @@ plugins { android { namespace 'com.stadiamaps.ferrostar.googleplayservices' - compileSdk 35 + compileSdk = 36 defaultConfig { minSdk 25 diff --git a/android/gradle.properties b/android/gradle.properties index 0b4df693f..50ba38509 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -20,4 +20,14 @@ kotlin.code.style=official # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true \ No newline at end of file +android.nonTransitiveRClass=true +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 \ No newline at end of file diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index b36cf445b..4c20b0444 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,31 +1,31 @@ [versions] -agp = "8.13.0" +agp = "9.0.0" kotlin = "2.2.21" cargo-ndk = "0.3.4" ktfmt = "0.21.0" # 0.22.0 -> https://github.com/cortinico/ktfmt-gradle/issues/413 -androidx-lifecycle = "2.9.4" -paparazzi = "1.3.5" +androidx-lifecycle = "2.10.0" +paparazzi = "2.0.0-alpha04" desugar_jdk_libs = "2.1.5" -ktx = "1.16.0" +ktx = "1.17.0" kotlinx-coroutines = "1.10.2" -kotlinx-datetime = "0.7.0" -kotlinx-serialization = "1.8.1" +kotlinx-datetime = "0.7.1" +kotlinx-serialization = "1.10.0" androidx-appcompat = "1.7.1" -androidx-activity-compose = "1.10.1" -compose = "2025.06.01" -okhttp = "5.0.0" +androidx-activity-compose = "1.12.3" +compose = "2026.01.01" +okhttp = "5.3.2" maplibre-compose = "1.2.0" playServicesLocation = "21.3.0" junit = "4.13.2" junitVersion = "1.3.0" -junitCompose = "1.10.0" +junitCompose = "1.10.2" espressoCore = "3.7.0" okhttp-mock = "2.1.0" -mockk = "1.14.5" +mockk = "1.14.9" turbine = "1.2.1" mavenPublish = "0.33.0" -material = "1.12.0" -stadiaAutocompleteSearch = "2.0.0" +material = "1.13.0" +stadiaAutocompleteSearch = "3.0.0" [libraries] desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 597044661..600b3258f 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Jul 14 13:32:53 PDT 2024 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.2.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/maplibreui/build.gradle b/android/maplibreui/build.gradle index 766d58bab..36617b242 100644 --- a/android/maplibreui/build.gradle +++ b/android/maplibreui/build.gradle @@ -11,7 +11,7 @@ plugins { android { namespace 'com.stadiamaps.ferrostar.maplibreui' - compileSdk 35 + compileSdk = 36 defaultConfig { minSdk 25