diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ae5dc370..0f7fe1095 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,9 @@ on: types: [ build ] workflow_dispatch: +permissions: + contents: read + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: build-ApiDemos: @@ -32,16 +35,18 @@ jobs: timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Build and check run: | @@ -55,16 +60,18 @@ jobs: timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Build and check run: ./gradlew :WearOS:Wearable:assembleDebug @@ -74,16 +81,18 @@ jobs: timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Build and check run: ./gradlew :FireMarkers:app:assembleDebug @@ -93,16 +102,18 @@ jobs: timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Build and check run: | @@ -118,16 +129,18 @@ jobs: timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Build and check run: | @@ -143,9 +156,11 @@ jobs: - build-Snippets - build-tutorials steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up Java 21 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' diff --git a/.github/workflows/generate-v3.yml b/.github/workflows/generate-v3.yml index 3a25059db..86f0f0ac3 100644 --- a/.github/workflows/generate-v3.yml +++ b/.github/workflows/generate-v3.yml @@ -19,22 +19,27 @@ on: repository_dispatch: types: [ generate-v3 ] +permissions: + contents: read + jobs: generate-v3: runs-on: ubuntu-latest timeout-minutes: 45 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: set up JDK 17 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Install NDK run: | @@ -48,7 +53,7 @@ jobs: echo "files-changed=$(git status -s | wc -l)" >> $GITHUB_OUTPUT - name: PR Changes - uses: peter-evans/create-pull-request@v8 + uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 if: steps.gradlew-generate-v3.outputs.files-changed > 0 with: token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2fc362379..930a11e7c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,22 +19,28 @@ on: branches: - main +permissions: + contents: read + security-events: write + jobs: lint: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false - name: Set up JDK 17 - uses: actions/setup-java@v5 + uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0 with: distribution: 'temurin' java-version: '21' - name: Set up Python - uses: actions/setup-python@v6 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: '3.x' @@ -42,7 +48,7 @@ jobs: run: python3 scripts/update_docs_versions.py --check - name: Setup Gradle - uses: gradle/actions/setup-gradle@v6 + uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0 - name: Run Android Lint run: | @@ -59,67 +65,67 @@ jobs: ./gradlew :FireMarkers:app:lintDebug - name: Upload SARIF for ApiDemos:kotlin-app - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: ApiDemos/project/kotlin-app/build/reports/lint-results-debug.sarif category: ApiDemos-kotlin-app - name: Upload SARIF for ApiDemos:java-app - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: ApiDemos/project/java-app/build/reports/lint-results-debug.sarif category: ApiDemos-java-app - name: Upload SARIF for ApiDemos:common-ui - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: ApiDemos/project/common-ui/build/reports/lint-results-debug.sarif category: ApiDemos-common-ui - name: Upload SARIF for snippets:app - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app/build/reports/lint-results-debug.sarif category: snippets-app - name: Upload SARIF for snippets:app-utils - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app-utils/build/reports/lint-results-debug.sarif category: snippets-app-utils - name: Upload SARIF for snippets:app-utils-ktx - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app-utils-ktx/build/reports/lint-results-debug.sarif category: snippets-app-utils-ktx - name: Upload SARIF for snippets:app-places-ktx - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app-places-ktx/build/reports/lint-results-debug.sarif category: snippets-app-places-ktx - name: Upload SARIF for snippets:app-ktx - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app-ktx/build/reports/lint-results-debug.sarif category: snippets-app-ktx - name: Upload SARIF for snippets:app-compose - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: snippets/app-compose/build/reports/lint-results-debug.sarif category: snippets-app-compose - name: Upload SARIF for WearOS:Wearable - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: WearOS/Wearable/build/reports/lint-results-debug.sarif category: WearOS-Wearable - name: Upload SARIF for FireMarkers:app - uses: github/codeql-action/upload-sarif@v4 + uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 with: sarif_file: FireMarkers/app/build/reports/lint-results-debug.sarif category: FireMarkers-app \ No newline at end of file diff --git a/ApiDemos/project/common-ui/build.gradle.kts b/ApiDemos/project/common-ui/build.gradle.kts index dfcd8352b..595680348 100644 --- a/ApiDemos/project/common-ui/build.gradle.kts +++ b/ApiDemos/project/common-ui/build.gradle.kts @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) } android { diff --git a/ApiDemos/project/java-app/build.gradle.kts b/ApiDemos/project/java-app/build.gradle.kts index 6d278e86f..73e208bf6 100644 --- a/ApiDemos/project/java-app/build.gradle.kts +++ b/ApiDemos/project/java-app/build.gradle.kts @@ -34,7 +34,6 @@ android { } buildFeatures { - compose = true buildConfig = true viewBinding = true } diff --git a/ApiDemos/project/kotlin-app/build.gradle.kts b/ApiDemos/project/kotlin-app/build.gradle.kts index 76cd6784e..774a71078 100644 --- a/ApiDemos/project/kotlin-app/build.gradle.kts +++ b/ApiDemos/project/kotlin-app/build.gradle.kts @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.parcelize) alias(libs.plugins.secrets.gradle.plugin) } diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationDemoActivity.kt index fad3716b4..417051e6e 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationDemoActivity.kt @@ -33,7 +33,7 @@ class BackgroundColorCustomizationDemoActivity : SamplesBaseActivity(), OnMapRea setContentView(R.layout.background_color_customization_demo) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } /** diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationProgrammaticDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationProgrammaticDemoActivity.kt index ed9070a96..11d39d4da 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationProgrammaticDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/BackgroundColorCustomizationProgrammaticDemoActivity.kt @@ -58,7 +58,7 @@ class BackgroundColorCustomizationProgrammaticDemoActivity : SamplesBaseActivity } else { mapFragment.getMapAsync(this) } - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(map: GoogleMap) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CloudBasedMapStylingDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CloudBasedMapStylingDemoActivity.kt index db5b5da5e..3622e4cd3 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CloudBasedMapStylingDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/CloudBasedMapStylingDemoActivity.kt @@ -50,7 +50,7 @@ class CloudBasedMapStylingDemoActivity : SamplesBaseActivity(), OnMapReadyCallba val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment!!.getMapAsync(this) setUpButtonListeners() - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(map: GoogleMap) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenBoundariesActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenBoundariesActivity.kt index 63ffac14c..26d0c7d82 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenBoundariesActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenBoundariesActivity.kt @@ -107,7 +107,7 @@ class DataDrivenBoundariesActivity : SamplesBaseActivity(), OnMapReadyCallback, setupBoundarySelectorButton() // Setup the new selector button // --- Insets --- - applyInsets(findViewById(R.id.map_container)) // Apply insets if needed + applyInsets(findViewById(R.id.map_container)) // Apply insets if needed } private fun setupBoundarySelectorButton() { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenDatasetStylingActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenDatasetStylingActivity.kt index 56019000a..62656c2f4 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenDatasetStylingActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/DataDrivenDatasetStylingActivity.kt @@ -124,7 +124,7 @@ class DataDrivenDatasetStylingActivity : SamplesBaseActivity(), OnMapReadyCallba buttonLayout = findViewById(com.example.common_ui.R.id.button_kyoto).parent as LinearLayout handleCutout() - applyInsets(findViewById(com.example.common_ui.R.id.map_container)) + applyInsets(findViewById(com.example.common_ui.R.id.map_container)) } private fun handleCutout() { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/EventsDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/EventsDemoActivity.kt index 46c42d5bb..384eba27a 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/EventsDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/EventsDemoActivity.kt @@ -42,7 +42,7 @@ class EventsDemoActivity : SamplesBaseActivity(), OnMapClickListener, cameraTextView = findViewById(R.id.camera_text) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LiteListDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LiteListDemoActivity.kt index 59c221125..717b709b0 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LiteListDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LiteListDemoActivity.kt @@ -78,7 +78,7 @@ class LiteListDemoActivity : SamplesBaseActivity() { adapter = mapAdapter setRecyclerListener(recycleListener) } - applyInsets(findViewById(com.example.common_ui.R.id.map_container)) + applyInsets(findViewById(com.example.common_ui.R.id.map_container)) } /** Create options menu to switch between the linear and grid layout managers. */ diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt index 358cd1e47..21fad59e8 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/LocationSourceDemoActivity.kt @@ -50,7 +50,7 @@ class LocationSourceDemoActivity : SamplesBaseActivity() { init(map = map) } lifecycle.addObserver(locationSource) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } @SuppressLint("MissingPermission") diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapColorSchemeActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapColorSchemeActivity.kt index b2c79d1b4..a2866b03e 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapColorSchemeActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapColorSchemeActivity.kt @@ -46,7 +46,7 @@ class MapColorSchemeActivity : buttonLight = findViewById(R.id.map_color_light_mode) buttonDark = findViewById(R.id.map_color_dark_mode) buttonFollowSystem = findViewById(R.id.map_color_follow_system_mode) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapInPagerDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapInPagerDemoActivity.kt index c50221d78..eff3890bf 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapInPagerDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MapInPagerDemoActivity.kt @@ -42,7 +42,7 @@ class MapInPagerDemoActivity : SamplesBaseActivity() { // This is required to avoid a black flash when the map is loaded. The flash is due // to the use of a SurfaceView as the underlying view of the map. pager.requestTransparentRegion(pager) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } /** A simple fragment that displays a TextView. */ diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MarkerCloseInfoWindowOnRetapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MarkerCloseInfoWindowOnRetapDemoActivity.kt index 62703f748..c9397e4e0 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MarkerCloseInfoWindowOnRetapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MarkerCloseInfoWindowOnRetapDemoActivity.kt @@ -70,7 +70,7 @@ class MarkerCloseInfoWindowOnRetapDemoActivity : val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment OnMapAndViewReadyListener(mapFragment, this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap?) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MultiMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MultiMapDemoActivity.kt index 13c6a02fc..1ca406943 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MultiMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MultiMapDemoActivity.kt @@ -25,6 +25,6 @@ class MultiMapDemoActivity : SamplesBaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.multimap_demo) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } } \ No newline at end of file diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MyLocationDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MyLocationDemoActivity.kt index 645996905..e86d74bff 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MyLocationDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/MyLocationDemoActivity.kt @@ -56,7 +56,7 @@ class MyLocationDemoActivity : SamplesBaseActivity(), val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolygonDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolygonDemoActivity.kt index 5d3bca2ca..fea47f8b7 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolygonDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolygonDemoActivity.kt @@ -131,7 +131,7 @@ class PolygonDemoActivity : val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } // [START_EXCLUDE silent] diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolylineDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolylineDemoActivity.kt index 481dcb366..a871551ea 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolylineDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/PolylineDemoActivity.kt @@ -155,7 +155,7 @@ class PolylineDemoActivity : val mapFragment = supportFragmentManager.findFragmentById(com.example.common_ui.R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) - applyInsets(findViewById(com.example.common_ui.R.id.map_container)) + applyInsets(findViewById(com.example.common_ui.R.id.map_container)) } // [START_EXCLUDE silent] diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt index ae65dd0e7..b54d13098 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/ProgrammaticDemoActivity.kt @@ -47,7 +47,7 @@ class ProgrammaticDemoActivity : SamplesBaseActivity() { title("Marker") } } - applyInsets(findViewById(com.example.common_ui.R.id.map_container)) + applyInsets(findViewById(com.example.common_ui.R.id.map_container)) } companion object { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt index 7c0f3195f..36c22497f 100755 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/RetainMapDemoActivity.kt @@ -43,6 +43,6 @@ class RetainMapDemoActivity : SamplesBaseActivity() { title("Marker") } } - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } } \ No newline at end of file diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt index 88c16b5e5..bc653c8d7 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/SplitStreetViewPanoramaAndMapDemoActivity.kt @@ -60,7 +60,7 @@ class SplitStreetViewPanoramaAndMapDemoActivity : SamplesBaseActivity(), .draggable(true) ) } - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onSaveInstanceState(outState: Bundle) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaBasicDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaBasicDemoActivity.kt index b3e8cf66d..40ea537b1 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaBasicDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaBasicDemoActivity.kt @@ -36,7 +36,7 @@ class StreetViewPanoramaBasicDemoActivity : SamplesBaseActivity() { // loaded which is when the savedInstanceState is null). savedInstanceState ?: panorama.setPosition(SYDNEY) } - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } companion object { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaEventsDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaEventsDemoActivity.kt index 8b6a14c9f..1930d9fa7 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaEventsDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaEventsDemoActivity.kt @@ -74,7 +74,7 @@ class StreetViewPanoramaEventsDemoActivity : SamplesBaseActivity(), // loaded which is when the savedInstanceState is null). savedInstanceState ?: streetViewPanorama.setPosition(SYDNEY) } - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onStreetViewPanoramaChange(location: StreetViewPanoramaLocation) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaViewDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaViewDemoActivity.kt index ef05f7f04..296844220 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaViewDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StreetViewPanoramaViewDemoActivity.kt @@ -45,7 +45,7 @@ class StreetViewPanoramaViewDemoActivity : SamplesBaseActivity() { // StreetViewPanoramaView requires that the Bundle you pass contain _ONLY_ // StreetViewPanoramaView SDK objects or sub-Bundles. streetViewPanoramaView.onCreate(savedInstanceState?.getBundle(STREETVIEW_BUNDLE_KEY)) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onResume() { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StyledMapDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StyledMapDemoActivity.kt index 49cb6c5e7..7df53b8fc 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StyledMapDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/StyledMapDemoActivity.kt @@ -62,7 +62,7 @@ class StyledMapDemoActivity : SamplesBaseActivity(), OnMapReadyCallback { val mapFragment = supportFragmentManager.findFragmentById(com.example.common_ui.R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) - applyInsets(findViewById(com.example.common_ui.R.id.map_container)) + applyInsets(findViewById(com.example.common_ui.R.id.map_container)) } override fun onSaveInstanceState(outState: Bundle) { diff --git a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/TagsDemoActivity.kt b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/TagsDemoActivity.kt index 428915b94..d282bc03f 100644 --- a/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/TagsDemoActivity.kt +++ b/ApiDemos/project/kotlin-app/src/main/java/com/example/kotlindemos/TagsDemoActivity.kt @@ -88,7 +88,7 @@ class TagsDemoActivity : SamplesBaseActivity(), val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment OnMapAndViewReadyListener(mapFragment, this) - applyInsets(findViewById(R.id.map_container)) + applyInsets(findViewById(R.id.map_container)) } override fun onMapReady(googleMap: GoogleMap?) { diff --git a/FireMarkers/app/build.gradle.kts b/FireMarkers/app/build.gradle.kts index eb56c8aff..d54da0788 100644 --- a/FireMarkers/app/build.gradle.kts +++ b/FireMarkers/app/build.gradle.kts @@ -22,7 +22,6 @@ plugins { // Compose. They handle the core compilation, packaging, and resource processing. // --------------------------------------------------------------------------------------------- alias(libs.plugins.android.application) // Applies the core Android application plugin. - alias(libs.plugins.kotlin.android) // Enables Kotlin language support for Android. alias(libs.plugins.kotlin.compose) // Provides support for the Jetpack Compose compiler. // --------------------------------------------------------------------------------------------- diff --git a/FireMarkers/app/src/main/java/com/example/firemarkers/MainActivity.kt b/FireMarkers/app/src/main/java/com/example/firemarkers/MainActivity.kt index f6d603f4c..a970ef38a 100644 --- a/FireMarkers/app/src/main/java/com/example/firemarkers/MainActivity.kt +++ b/FireMarkers/app/src/main/java/com/example/firemarkers/MainActivity.kt @@ -150,7 +150,9 @@ fun MapScreen(modifier: Modifier = Modifier) { ) { markers.forEach { markerData -> Marker( - state = MarkerState(position = LatLng(markerData.latitude, markerData.longitude)), + state = remember(markerData.id) { + MarkerState(position = LatLng(markerData.latitude, markerData.longitude)) + }, title = markerData.label, icon = BitmapDescriptorFactory.defaultMarker(markerData.color) ) diff --git a/FireMarkers/build.gradle.kts b/FireMarkers/build.gradle.kts index 6f9778da7..d3068fd2f 100644 --- a/FireMarkers/build.gradle.kts +++ b/FireMarkers/build.gradle.kts @@ -17,7 +17,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.hilt.android) apply false diff --git a/WearOS/Wearable/build.gradle.kts b/WearOS/Wearable/build.gradle.kts index d7670782a..7a6596fdb 100644 --- a/WearOS/Wearable/build.gradle.kts +++ b/WearOS/Wearable/build.gradle.kts @@ -17,7 +17,6 @@ plugins { id("com.android.application") id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") - kotlin("android") // The Kotlin plugin is applied differently in Kotlin DSL } android { @@ -63,7 +62,7 @@ dependencies { // // [versions] // playServicesMaps = "20.0.0" - // wear = "1.3.0" + // wear = "1.4.0" // wearable = "2.9.0" // // [libraries] diff --git a/WearOS/build.gradle.kts b/WearOS/build.gradle.kts index d2f8d297a..8dd08da3c 100644 --- a/WearOS/build.gradle.kts +++ b/WearOS/build.gradle.kts @@ -17,5 +17,4 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.secrets.gradle.plugin) apply false - alias(libs.plugins.kotlin.android) apply false } diff --git a/build.gradle.kts b/build.gradle.kts index 5959e3ce8..f6d78cff3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,6 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.parcelize) apply false alias(libs.plugins.secrets.gradle.plugin) apply false alias(libs.plugins.hilt.android) apply false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c0f0ae9dd..93f90b8c5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,66 +1,66 @@ [versions] # Project Configuration -androidGradlePlugin = "8.13.2" +androidGradlePlugin = "9.3.1" minSdk = "24" -compileSdk = "36" -targetSdk = "36" +compileSdk = "37" +targetSdk = "37" versionCode = "1" versionName = "2.0.2" # {x-release-please-version} javaVersion = "17" # Kotlin & Coroutines -kotlin = "2.2.0" -kotlinxCoroutinesTest = "1.10.2" -kotlinxDatetime = "0.7.1" -ksp = "2.2.20-2.0.4" +kotlin = "2.4.10" +kotlinxCoroutinesTest = "1.11.0" +kotlinxDatetime = "0.8.0" +ksp = "2.3.11" # AndroidX Core & Jetpack -activity = "1.12.2" -activityKtx = "1.12.2" +activity = "1.13.0" +activityKtx = "1.13.0" androidxJunit = "1.3.0" # Test ext -appcompat = "1.7.1" +appcompat = "1.8.0" cardview = "1.0.0" -constraintlayout = "2.2.1" -coreKtx = "1.17.0" -lifecycle = "2.10.0" +constraintlayout = "2.2.2" +coreKtx = "1.19.0" +lifecycle = "2.11.0" multidex = "2.0.1" -navigation = "2.9.6" +navigation = "2.9.8" recyclerview = "1.4.0" # Jetpack Compose -compose = "1.10.1" -composeBom = "2026.01.00" -hiltNavigationCompose = "1.3.0" -material = "1.13.0" # View-based Material +compose = "1.12.0" +composeBom = "2026.08.00" +hiltNavigationCompose = "1.4.0" +material = "1.14.0" # View-based Material material3 = "1.4.0" materialIconsExtended = "1.7.8" # Google Maps & Places -mapsCompose = "7.0.0" -mapsKtx = "6.0.0" -places = "5.1.1" +mapsCompose = "8.4.0" +mapsKtx = "6.3.0" +places = "5.3.0" playServicesMaps = "20.0.0" secretsGradlePlugin = "2.0.1" # Wear OS -wear = "1.3.0" +wear = "1.4.0" wearable = "2.9.0" # Dependency Injection -dagger = "2.57.2" -hilt = "2.57.2" +dagger = "2.60.1" +hilt = "2.60.1" # Testing espresso = "3.7.0" junit = "4.13.2" -mockito = "6.2.2" +mockito = "6.3.0" robolectric = "4.16.1" truth = "1.4.5" turbine = "1.2.1" -uiautomator = "2.3.0" +uiautomator = "2.4.0" # Firebase -firebaseBom = "34.8.0" +firebaseBom = "34.17.0" firebaseDatabase = "22.0.1" # Third Party @@ -143,7 +143,6 @@ volley = { group = "com.android.volley", name = "volley", version.ref = "volley" android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" } hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8bdaf60c7..eddabd2ee 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6a38a8cea..69dd0d040 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,8 +1,9 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=a17ddd85a26b6a7f5ddb71ff8b05fc5104c0202c6e64782429790c933686c806 -distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.0-bin.zip networkTimeout=10000 +retries=0 +retryBackOffMs=500 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index adff685a0..249efbb03 100755 --- a/gradlew +++ b/gradlew @@ -20,7 +20,7 @@ ############################################################################## # -# Gradle start up script for POSIX generated by Gradle. +# gradlew start up script for POSIX generated by Gradle. # # Important for running: # @@ -29,7 +29,7 @@ # bash, then to run this script, type that shell name before the whole # command line, like: # -# ksh Gradle +# ksh gradlew # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/gradlew.bat b/gradlew.bat index c4bdd3ab8..a51ec4f58 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -19,12 +19,12 @@ @if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem -@rem Gradle startup script for Windows +@rem gradlew startup script for Windows @rem @rem ########################################################################## -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal +@rem Set local scope for the variables, and ensure extensions are enabled +setlocal EnableExtensions set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. @@ -51,7 +51,7 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:"=% @@ -65,29 +65,18 @@ echo. 1>&2 echo Please set the JAVA_HOME variable in your environment to match the 1>&2 echo location of your Java installation. 1>&2 -goto fail +"%COMSPEC%" /c exit 1 :execute @rem Setup the command line -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +@rem Execute gradlew +@rem endlocal doesn't take effect until after the line is parsed and variables are expanded +@rem which allows us to clear the local environment before executing the java command +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +:exitWithErrorLevel +@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts +"%COMSPEC%" /c exit %ERRORLEVEL% diff --git a/snippets/app-compose/build.gradle.kts b/snippets/app-compose/build.gradle.kts index fb7d3134b..a8c2986ba 100644 --- a/snippets/app-compose/build.gradle.kts +++ b/snippets/app-compose/build.gradle.kts @@ -16,7 +16,6 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.secrets.gradle.plugin) } @@ -87,7 +86,7 @@ dependencies { // [END_EXCLUDE] // Android Maps Compose composables for the Maps SDK for Android - implementation("com.google.maps.android:maps-compose:6.12.0") + implementation("com.google.maps.android:maps-compose:8.4.0") } // [END maps_android_compose_dependency] diff --git a/snippets/app-ktx/build.gradle.kts b/snippets/app-ktx/build.gradle.kts index 143020ada..e305a70b0 100644 --- a/snippets/app-ktx/build.gradle.kts +++ b/snippets/app-ktx/build.gradle.kts @@ -16,7 +16,6 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.secrets.gradle.plugin) } diff --git a/snippets/app-places-ktx/build.gradle.kts b/snippets/app-places-ktx/build.gradle.kts index 321fce956..e2ac6791d 100644 --- a/snippets/app-places-ktx/build.gradle.kts +++ b/snippets/app-places-ktx/build.gradle.kts @@ -16,7 +16,6 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.secrets.gradle.plugin) } @@ -82,7 +81,7 @@ dependencies { // [END_EXCLUDE] // KTX for the Places SDK for Android library - implementation("com.google.maps.android:places-ktx:3.5.0") + implementation("com.google.maps.android:places-ktx:5.0.0") } // [END places_android_ktx_install_snippet] diff --git a/snippets/app-rx/build.gradle.kts b/snippets/app-rx/build.gradle.kts index eecc05663..bb48fd8fc 100644 --- a/snippets/app-rx/build.gradle.kts +++ b/snippets/app-rx/build.gradle.kts @@ -78,8 +78,8 @@ dependencies { // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you // have the latest features and bug fixes. - implementation("com.google.android.gms:play-services-maps:19.2.0") - implementation("com.google.android.libraries.places:places:4.4.1") + implementation("com.google.android.gms:play-services-maps:20.0.0") + implementation("com.google.android.libraries.places:places:5.3.0") implementation("io.reactivex.rxjava3:rxjava:3.1.12") // [START_EXCLUDE silent] diff --git a/snippets/app-utils-ktx/build.gradle.kts b/snippets/app-utils-ktx/build.gradle.kts index dc93bcaf8..3ef852ef1 100644 --- a/snippets/app-utils-ktx/build.gradle.kts +++ b/snippets/app-utils-ktx/build.gradle.kts @@ -16,18 +16,17 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.secrets.gradle.plugin) } android { namespace = "com.example.app_utils_ktx" - compileSdk = 36 + compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { applicationId = "com.example.app_utils_ktx" minSdk = 23 - targetSdk = 36 + targetSdk = libs.versions.targetSdk.get().toInt() versionCode = 1 versionName = libs.versions.versionName.get() diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt index d219f6884..9125bac1e 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Clustering.kt @@ -29,35 +29,11 @@ internal class Clustering { inner class MyItem( lat: Double, lng: Double, - title: String, - snippet: String + override val title: String, + override val snippet: String ) : ClusterItem { - - private val position: LatLng - private val title: String - private val snippet: String - - override fun getPosition(): LatLng { - return position - } - - override fun getTitle(): String { - return title - } - - override fun getSnippet(): String { - return snippet - } - - override fun getZIndex(): Float { - return 0f - } - - init { - position = LatLng(lat, lng) - this.title = title - this.snippet = snippet - } + override val position: LatLng = LatLng(lat, lng) + override val zIndex: Float? = 0f } // [END maps_android_utils_clustering_cluster_item] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt index 52f284216..911500d17 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/GeoJSON.kt @@ -35,7 +35,7 @@ internal class GeoJSON { // [START_EXCLUDE silent] null // [END_EXCLUDE] - val layer = GeoJsonLayer(map, geoJsonData) + val layer = GeoJsonLayer(map, geoJsonData!!) // [END maps_android_util_geojson_add_jsonobject] } @@ -90,10 +90,10 @@ internal class GeoJSON { // [END maps_android_util_geojson_geometry_click_events] // [START maps_android_util_geojson_style] - val pointStyle = layer.defaultPointStyle - pointStyle.isDraggable = true - pointStyle.title = "Hello, World!" - pointStyle.snippet = "I am a draggable marker" + val pointStyle = layer.getDefaultPointStyle() + pointStyle.setDraggable(true) + pointStyle.setTitle("Hello, World!") + pointStyle.setSnippet("I am a draggable marker") // [END maps_android_util_geojson_style] // [START maps_android_util_geojson_style_specific] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt index a26f190d4..bbc9e09cb 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/KML.kt @@ -42,7 +42,7 @@ internal class KML { // [START_EXCLUDE silent] null // [END_EXCLUDE] - val layer = KmlLayer(map, inputStream, context) + val layer = KmlLayer(map, inputStream!!, context) // [END maps_android_utils_kml_add_input_stream] // [START maps_android_utils_kml_add_layer] @@ -54,21 +54,21 @@ internal class KML { // [END maps_android_utils_kml_remove_layer] // [START maps_android_utils_kml_access_containers] - for (containers in layer.containers) { + for (containers in layer.getContainers()) { // Do something to container } // [END maps_android_utils_kml_access_containers] // [START maps_android_utils_kml_access_placemarks] - for (placemark in layer.placemarks) { + for (placemark in layer.getPlacemarks()) { // Do something to Placemark } // [END maps_android_utils_kml_access_placemarks] // [START maps_android_utils_kml_access_properties] - for (container in layer.containers) { + for (container in layer.getContainers()) { if (container.hasProperty("name")) { - Log.i("KML", container.getProperty("name")) + Log.i("KML", container.getProperty("name")!!) } } // [END maps_android_utils_kml_access_properties] @@ -78,7 +78,7 @@ internal class KML { layer.setOnFeatureClickListener { feature -> Log.i( "KML", - "Feature clicked: " + feature.id + "Feature clicked: " + feature.getId() ) } // [END maps_android_utils_kml_click_listener] @@ -88,7 +88,7 @@ internal class KML { fun accessContainers(containers: Iterable) { for (container in containers) { if (container.hasContainers()) { - accessContainers(container.containers) + accessContainers(container.getContainers()) } } } // [END maps_android_utils_kml_access_containers_nested] diff --git a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt index 218139c44..f87024baa 100644 --- a/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt +++ b/snippets/app-utils-ktx/src/main/java/com/example/app_utils_ktx/Multilayer.kt @@ -50,11 +50,11 @@ internal class Multilayer { // [START maps_android_utils_multilayer_manager] val clusterManager = - ClusterManager(context, map, markerManager) + ClusterManager(context!!, map, markerManager) val geoJsonLineLayer = GeoJsonLayer( map, R.raw.geojson_file, - context, + context!!, markerManager, polygonManager, polylineManager, @@ -63,7 +63,7 @@ internal class Multilayer { val kmlPolylineLayer = KmlLayer( map, R.raw.kml_file, - context, + context!!, markerManager, polygonManager, polylineManager, @@ -108,33 +108,10 @@ internal class Multilayer { inner class MyItem( lat: Double, lng: Double, - title: String, - snippet: String - ) : - ClusterItem { - private val position: LatLng - private val title: String - private val snippet: String - override fun getPosition(): LatLng { - return position - } - - override fun getTitle(): String { - return title - } - - override fun getSnippet(): String { - return snippet - } - - override fun getZIndex(): Float { - return 0f - } - - init { - position = LatLng(lat, lng) - this.title = title - this.snippet = snippet - } + override val title: String, + override val snippet: String + ) : ClusterItem { + override val position: LatLng = LatLng(lat, lng) + override val zIndex: Float? = 0f } } diff --git a/snippets/app-utils/build.gradle.kts b/snippets/app-utils/build.gradle.kts index 967da3892..ec0ffbd96 100644 --- a/snippets/app-utils/build.gradle.kts +++ b/snippets/app-utils/build.gradle.kts @@ -16,7 +16,6 @@ plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.secrets.gradle.plugin) } @@ -83,7 +82,7 @@ dependencies { // Utility Library for Maps SDK for Android // You do not need to add a separate dependency for the Maps SDK for Android // since this library builds in the compatible version of the Maps SDK. - implementation("com.google.maps.android:android-maps-utils:3.19.0") + implementation("com.google.maps.android:android-maps-utils:5.1.1") } // [END maps_android_utils_install_snippet] diff --git a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java b/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java index b949da695..7c9117f3c 100644 --- a/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java +++ b/snippets/app-utils/src/main/java/com/example/app_utils/GeoJSON.java @@ -41,7 +41,7 @@ class GeoJSON { private GoogleMap map; - private void addGeoJsonLayerJsonObject() { + private void addGeoJsonLayerJsonObject() throws JSONException { // [START maps_android_util_geojson_add_jsonobject] JSONObject geoJsonData = // JSONObject containing the GeoJSON data // [START_EXCLUDE silent] diff --git a/snippets/app/build.gradle.kts b/snippets/app/build.gradle.kts index 940375905..bf8744be5 100644 --- a/snippets/app/build.gradle.kts +++ b/snippets/app/build.gradle.kts @@ -18,7 +18,6 @@ plugins { // [START_EXCLUDE] alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) // [END_EXCLUDE] alias(libs.plugins.secrets.gradle.plugin) } diff --git a/snippets/build.gradle.kts b/snippets/build.gradle.kts index 7c6c417cb..8416d232f 100644 --- a/snippets/build.gradle.kts +++ b/snippets/build.gradle.kts @@ -17,7 +17,6 @@ // [START maps_android_secrets_gradle_plugin_project_level_config] plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.secrets.gradle.plugin) apply false } diff --git a/tutorials/kotlin/Polygons/app/build.gradle.kts b/tutorials/kotlin/Polygons/app/build.gradle.kts index 0078e4151..d326d26ff 100644 --- a/tutorials/kotlin/Polygons/app/build.gradle.kts +++ b/tutorials/kotlin/Polygons/app/build.gradle.kts @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { id("com.android.application") - id("org.jetbrains.kotlin.android") id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") } @@ -41,7 +40,7 @@ android { buildTypes { release { isMinifyEnabled = false - proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } }