From 6f4a06d143a3d33377a7cb7de1a55379c3467a84 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:25:20 +0000 Subject: [PATCH 001/709] chore(deps): bump gradle from 7.0.4 to 7.1.1 in /tutorials/java/Polygons (#843) Bumps gradle from 7.0.4 to 7.1.1. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/Polygons/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/Polygons/build.gradle b/tutorials/java/Polygons/build.gradle index c36b2cd9e..f3b40e689 100644 --- a/tutorials/java/Polygons/build.gradle +++ b/tutorials/java/Polygons/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.1' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong From f00cb9bff1d84fb5c682c1bb35ed2c09d284476a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:26:02 +0000 Subject: [PATCH 002/709] chore(deps): bump gradle in /tutorials/java/MapWithMarker (#844) Bumps gradle from 7.0.4 to 7.1.1. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/MapWithMarker/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/MapWithMarker/build.gradle b/tutorials/java/MapWithMarker/build.gradle index c36b2cd9e..f3b40e689 100644 --- a/tutorials/java/MapWithMarker/build.gradle +++ b/tutorials/java/MapWithMarker/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.1' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong From 916fcad76a17f730f5fed6387a8a7ac554f211ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 13:27:24 +0000 Subject: [PATCH 003/709] chore(deps): bump gradle in /tutorials/kotlin/Polygons (#845) Bumps gradle from 7.0.4 to 7.1.1. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/Polygons/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/Polygons/build.gradle b/tutorials/kotlin/Polygons/build.gradle index ef296d350..e0e67fe11 100644 --- a/tutorials/kotlin/Polygons/build.gradle +++ b/tutorials/kotlin/Polygons/build.gradle @@ -7,7 +7,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" From 96daebca6323bc1cd14ffb56da684df6867f5053 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Mon, 7 Feb 2022 13:37:16 -0800 Subject: [PATCH 004/709] chore(Snippets): Add Maps Compose snippets. (#841) Change-Id: Idd9903a3570a1427491dd98442bffcfd985f11bf --- snippets/app/build.gradle | 15 ++++- .../google/maps/example/kotlin/MapsCompose.kt | 63 +++++++++++++++++++ 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index 678422656..5e417a0ab 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -7,12 +7,12 @@ plugins { } android { - compileSdkVersion 31 + compileSdkVersion 32 buildToolsVersion "29.0.3" defaultConfig { applicationId "com.google.maps.example" minSdkVersion 21 - targetSdkVersion 31 + targetSdkVersion 32 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -25,6 +25,14 @@ android { } } + composeOptions { + kotlinCompilerExtensionVersion '1.2.0-alpha02' + } + + buildFeatures { + compose true + } + flavorDimensions "version" productFlavors { @@ -50,6 +58,8 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' + implementation "androidx.compose.foundation:foundation:1.2.0-alpha02" + implementation "androidx.compose.material:material:1.2.0-alpha02" implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.navigation:navigation-fragment:2.4.0' @@ -58,6 +68,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' + gmsImplementation 'com.google.maps.android:maps-compose:1.0.0' gmsImplementation 'com.google.android.gms:play-services-maps:18.0.2' gmsImplementation 'com.google.maps.android:android-maps-utils:2.3.0' v3Implementation 'com.google.android.libraries.maps:maps:3.1.0-beta' diff --git a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt new file mode 100644 index 000000000..db5e0e773 --- /dev/null +++ b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt @@ -0,0 +1,63 @@ +package com.google.maps.example.kotlin + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.Switch +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import androidx.compose.ui.Modifier +import com.google.android.gms.maps.GoogleMapOptions +import com.google.android.gms.maps.model.CameraPosition +import com.google.android.gms.maps.model.LatLng +import com.google.maps.android.compose.GoogleMap +import com.google.maps.android.compose.MapProperties +import com.google.maps.android.compose.MapType +import com.google.maps.android.compose.MapUiSettings +import com.google.maps.android.compose.Marker +import java.util.Properties + +@Composable +fun AddAMap() { + // [START maps_android_compose_add_a_map] + val singapore = LatLng(1.35, 103.87) + GoogleMap( + modifier = Modifier.fillMaxSize(), + googleMapOptionsFactory = { + GoogleMapOptions().camera(CameraPosition.fromLatLngZoom(singapore, 11f)) + } + ) { + Marker( + position = singapore, + title = "Singapore", + snippet = "Marker in Singapore" + ) + } + // [END maps_android_compose_add_a_map] +} + +@Composable +fun Properties() { + // [START maps_android_compose_set_properties] + var uiSettings by remember { mutableStateOf(MapUiSettings()) } + var properties by remember { + mutableStateOf(MapProperties(mapType = MapType.SATELLITE)) + } + + Box(Modifier.fillMaxSize()) { + GoogleMap( + modifier = Modifier.matchParentSize(), + properties = properties, + uiSettings = uiSettings + ) + Switch( + checked = uiSettings.zoomControlsEnabled, + onCheckedChange = { + uiSettings = uiSettings.copy(zoomControlsEnabled = it) + } + ) + } + // [END maps_android_compose_set_properties] +} From 157b2fa1e863e13e871a4bde2852fa5a0a0dc9fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Feb 2022 13:08:51 +0000 Subject: [PATCH 005/709] chore(deps): bump lifecycle-viewmodel-ktx (#854) Bumps lifecycle-viewmodel-ktx from 2.4.0 to 2.4.1. --- updated-dependencies: - dependency-name: androidx.lifecycle:lifecycle-viewmodel-ktx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/CurrentPlaceDetailsOnMap/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/CurrentPlaceDetailsOnMap/app/build.gradle b/tutorials/kotlin/CurrentPlaceDetailsOnMap/app/build.gradle index 88ae5d7e7..e097de6da 100644 --- a/tutorials/kotlin/CurrentPlaceDetailsOnMap/app/build.gradle +++ b/tutorials/kotlin/CurrentPlaceDetailsOnMap/app/build.gradle @@ -37,7 +37,7 @@ dependencies { implementation 'com.android.volley:volley:1.2.1' testImplementation'junit:junit:4.13' implementation "androidx.core:core-ktx:1.7.0" - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0" + implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } From 93307d0e72a6167ff8bbbe5093fa5e4f93778f87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:07:00 +0000 Subject: [PATCH 006/709] chore(deps): bump gradle in /tutorials/kotlin/MapWithMarker (#878) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/MapWithMarker/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/MapWithMarker/build.gradle b/tutorials/kotlin/MapWithMarker/build.gradle index 68e9196bb..d661b8c9a 100644 --- a/tutorials/kotlin/MapWithMarker/build.gradle +++ b/tutorials/kotlin/MapWithMarker/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" From b61e8bd787a4c6ee31d2bada0c32e812bcf266de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:07:11 +0000 Subject: [PATCH 007/709] chore(deps): bump gradle from 7.0.4 to 7.1.2 in /snippets (#877) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/build.gradle b/snippets/build.gradle index fbdb61afc..f9f06b610 100644 --- a/snippets/build.gradle +++ b/snippets/build.gradle @@ -10,7 +10,7 @@ buildscript { // [END_EXCLUDE] dependencies { // [START_EXCLUDE] - classpath "com.android.tools.build:gradle:7.0.4" + classpath "com.android.tools.build:gradle:7.1.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 1bd4d3287d59e7889bda53105ae7c7b5a32f1a22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:07:22 +0000 Subject: [PATCH 008/709] chore(deps): bump gradle in /tutorials/java/CurrentPlaceDetailsOnMap (#879) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/CurrentPlaceDetailsOnMap/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/CurrentPlaceDetailsOnMap/build.gradle b/tutorials/java/CurrentPlaceDetailsOnMap/build.gradle index 0debcfa5c..463a20451 100644 --- a/tutorials/java/CurrentPlaceDetailsOnMap/build.gradle +++ b/tutorials/java/CurrentPlaceDetailsOnMap/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 027ae995d985f562d155424c6c33884f7696a96e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:07:32 +0000 Subject: [PATCH 009/709] chore(deps): bump gradle from 7.1.1 to 7.1.2 in /tutorials/java/Polygons (#880) Bumps gradle from 7.1.1 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/Polygons/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/Polygons/build.gradle b/tutorials/java/Polygons/build.gradle index f3b40e689..aa4cb634c 100644 --- a/tutorials/java/Polygons/build.gradle +++ b/tutorials/java/Polygons/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong From 84c8089b3f647886b11c9f7ace44f2818bc327fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Feb 2022 13:07:42 +0000 Subject: [PATCH 010/709] chore(deps): bump gradle in /tutorials/java/MapWithMarker (#881) Bumps gradle from 7.1.1 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/MapWithMarker/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/MapWithMarker/build.gradle b/tutorials/java/MapWithMarker/build.gradle index f3b40e689..aa4cb634c 100644 --- a/tutorials/java/MapWithMarker/build.gradle +++ b/tutorials/java/MapWithMarker/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong From 3f6f0fff873263fa82da78bb45c11a4fd774b4ac Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 1 Mar 2022 16:28:30 -0800 Subject: [PATCH 011/709] chore(Snippet): Fix usage of setting the camera's position. (#890) Change-Id: I8fab433fbc3e53bab86e5a2be221286fb695129e --- .../gms/java/com/google/maps/example/kotlin/MapsCompose.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt index db5e0e773..2aaef2895 100644 --- a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt +++ b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt @@ -23,11 +23,12 @@ import java.util.Properties fun AddAMap() { // [START maps_android_compose_add_a_map] val singapore = LatLng(1.35, 103.87) + val cameraPositionState = rememberCameraPositionState { + position = CameraPosition.fromLatLngZoom(singapore, 10f) + } GoogleMap( modifier = Modifier.fillMaxSize(), - googleMapOptionsFactory = { - GoogleMapOptions().camera(CameraPosition.fromLatLngZoom(singapore, 11f)) - } + cameraPositionState = cameraPositionState ) { Marker( position = singapore, From ccb8839999c97322ffaa0b7b46b5a35f54414dd1 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Mon, 21 Mar 2022 15:43:06 -0700 Subject: [PATCH 012/709] chore: Update dependbot interval to daily For `java/MapWithMarker` so that the region tag for the dependency declaration for the Maps SDK for Android is kept fresh. --- .github/dependabot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 049d0d1ab..73f10e7e0 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -53,7 +53,7 @@ updates: - package-ecosystem: gradle directory: "/./tutorials/java/MapWithMarker" schedule: - interval: weekly + interval: daily open-pull-requests-limit: 10 commit-message: prefix: chore(deps) From a88ca8199837e32d9f9f998e16bcc203518f122d Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Mon, 21 Mar 2022 15:57:06 -0700 Subject: [PATCH 013/709] chore: Add CloudBasedMapStylingDemoActivity to gms flavor. (#853) * chore: Add CloudBasedMapStylingDemoActivity to gms flavor. Change-Id: I95e1c76f04dfabed43cfea13a65c61e518acb279 * chore: Add CloudBasedMapStylingDemoActivity to gms demos kotlin. Change-Id: I907741c12a4fba1ef10dcd0ec83fe2f10e8ee233 * Use gradle 7.2 Change-Id: I24ee0594db9f36f49f15d0c32a2c89f81ce6336f --- ApiDemos/java/app/src/gms/AndroidManifest.xml | 3 +++ .../app/src/gms/java/com/example/mapdemo/DemoDetailsList.java | 3 +++ ApiDemos/kotlin/app/src/gms/AndroidManifest.xml | 1 + .../src/gms/java/com/example/kotlindemos/DemoDetailsList.kt | 2 ++ .../MapWithMarker/gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ApiDemos/java/app/src/gms/AndroidManifest.xml b/ApiDemos/java/app/src/gms/AndroidManifest.xml index 5c55e1ca4..1e7b82744 100644 --- a/ApiDemos/java/app/src/gms/AndroidManifest.xml +++ b/ApiDemos/java/app/src/gms/AndroidManifest.xml @@ -46,6 +46,9 @@ + diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/DemoDetailsList.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/DemoDetailsList.java index 76981edd7..c31ddf075 100755 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/DemoDetailsList.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/DemoDetailsList.java @@ -46,6 +46,9 @@ private DemoDetailsList() { new DemoDetails(R.string.camera_clamping_demo_label, R.string.camera_clamping_demo_description, CameraClampingDemoActivity.class), + new DemoDetails(R.string.cloud_styling_label, + R.string.cloud_styling_description, + CloudBasedMapStylingDemoActivity.class), new DemoDetails(R.string.circle_demo_label, R.string.circle_demo_description, CircleDemoActivity.class), diff --git a/ApiDemos/kotlin/app/src/gms/AndroidManifest.xml b/ApiDemos/kotlin/app/src/gms/AndroidManifest.xml index e17f07e80..f699f4fb2 100644 --- a/ApiDemos/kotlin/app/src/gms/AndroidManifest.xml +++ b/ApiDemos/kotlin/app/src/gms/AndroidManifest.xml @@ -37,6 +37,7 @@ + diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt index 6e603380f..776f45997 100644 --- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt +++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/DemoDetailsList.kt @@ -41,6 +41,8 @@ class DemoDetailsList { CameraClampingDemoActivity::class.java), DemoDetails(R.string.circle_demo_label, R.string.circle_demo_details, CircleDemoActivity::class.java), + DemoDetails(R.string.cloud_styling_label, R.string.cloud_styling_description, + CloudBasedMapStylingDemoActivity::class.java), DemoDetails(R.string.close_info_window_demo_label, R.string.close_info_window_demo_details, MarkerCloseInfoWindowOnRetapDemoActivity::class.java), diff --git a/tutorials/java/MapWithMarker/gradle/wrapper/gradle-wrapper.properties b/tutorials/java/MapWithMarker/gradle/wrapper/gradle-wrapper.properties index 65565b566..ab66deab5 100644 --- a/tutorials/java/MapWithMarker/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/java/MapWithMarker/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip From 74547973f88c3295f1cbb0dbffe5bf49f3c15b37 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Mon, 21 Mar 2022 16:18:40 -0700 Subject: [PATCH 014/709] chore: Fix build failures. (#895) * chore: Fix builds. Change-Id: Icc0064049ecc8f02843a382415514228031e2183 * Bump to gradle 7.2. Change-Id: Ia36fbf147bc3ec8c5f44fd980868a691263174e9 --- snippets/app/build.gradle | 8 ++++---- .../java/com/google/maps/example/kotlin/MapsCompose.kt | 3 +-- snippets/gradle/wrapper/gradle-wrapper.properties | 6 +++--- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Polygons/gradle/wrapper/gradle-wrapper.properties | 2 +- .../StyledMap/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../Polygons/gradle/wrapper/gradle-wrapper.properties | 2 +- 9 files changed, 14 insertions(+), 15 deletions(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index 5e417a0ab..9b41281ba 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -26,7 +26,7 @@ android { } composeOptions { - kotlinCompilerExtensionVersion '1.2.0-alpha02' + kotlinCompilerExtensionVersion '1.2.0-alpha05' } buildFeatures { @@ -58,8 +58,8 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' - implementation "androidx.compose.foundation:foundation:1.2.0-alpha02" - implementation "androidx.compose.material:material:1.2.0-alpha02" + implementation "androidx.compose.foundation:foundation:1.2.0-alpha05" + implementation "androidx.compose.material:material:1.2.0-alpha05" implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.navigation:navigation-fragment:2.4.0' @@ -68,7 +68,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' - gmsImplementation 'com.google.maps.android:maps-compose:1.0.0' + gmsImplementation 'com.google.maps.android:maps-compose:1.3.0' gmsImplementation 'com.google.android.gms:play-services-maps:18.0.2' gmsImplementation 'com.google.maps.android:android-maps-utils:2.3.0' v3Implementation 'com.google.android.libraries.maps:maps:3.1.0-beta' diff --git a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt index 2aaef2895..b294899e9 100644 --- a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt +++ b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt @@ -9,7 +9,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier -import com.google.android.gms.maps.GoogleMapOptions import com.google.android.gms.maps.model.CameraPosition import com.google.android.gms.maps.model.LatLng import com.google.maps.android.compose.GoogleMap @@ -17,7 +16,7 @@ import com.google.maps.android.compose.MapProperties import com.google.maps.android.compose.MapType import com.google.maps.android.compose.MapUiSettings import com.google.maps.android.compose.Marker -import java.util.Properties +import com.google.maps.android.compose.rememberCameraPositionState @Composable fun AddAMap() { diff --git a/snippets/gradle/wrapper/gradle-wrapper.properties b/snippets/gradle/wrapper/gradle-wrapper.properties index de24f9d4a..88d15c5e3 100644 --- a/snippets/gradle/wrapper/gradle-wrapper.properties +++ b/snippets/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Feb 26 09:19:32 PST 2021 +#Mon Mar 21 15:55:38 PDT 2022 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/tutorials/java/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties b/tutorials/java/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties index e221a119e..22aa65103 100644 --- a/tutorials/java/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/java/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/tutorials/java/Polygons/gradle/wrapper/gradle-wrapper.properties b/tutorials/java/Polygons/gradle/wrapper/gradle-wrapper.properties index 268240928..ac079eed5 100644 --- a/tutorials/java/Polygons/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/java/Polygons/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/tutorials/java/StyledMap/gradle/wrapper/gradle-wrapper.properties b/tutorials/java/StyledMap/gradle/wrapper/gradle-wrapper.properties index 2239f1300..23ff97cd6 100644 --- a/tutorials/java/StyledMap/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/java/StyledMap/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/tutorials/kotlin/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties b/tutorials/kotlin/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties index e7c8f3b5a..c491bc5b2 100644 --- a/tutorials/kotlin/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/kotlin/CurrentPlaceDetailsOnMap/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/tutorials/kotlin/MapWithMarker/gradle/wrapper/gradle-wrapper.properties b/tutorials/kotlin/MapWithMarker/gradle/wrapper/gradle-wrapper.properties index 8da4d3d85..1c7f2c59a 100644 --- a/tutorials/kotlin/MapWithMarker/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/kotlin/MapWithMarker/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/tutorials/kotlin/Polygons/gradle/wrapper/gradle-wrapper.properties b/tutorials/kotlin/Polygons/gradle/wrapper/gradle-wrapper.properties index f0c02bd8f..30a457668 100644 --- a/tutorials/kotlin/Polygons/gradle/wrapper/gradle-wrapper.properties +++ b/tutorials/kotlin/Polygons/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip From 83bb54e2946df83bc9bfe9b861b909fd206255d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:35:20 +0000 Subject: [PATCH 015/709] chore(deps): bump lifecycle-runtime-ktx in /ApiDemos/kotlin (#856) Bumps lifecycle-runtime-ktx from 2.4.0 to 2.4.1. --- updated-dependencies: - dependency-name: androidx.lifecycle:lifecycle-runtime-ktx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ApiDemos/kotlin/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApiDemos/kotlin/app/build.gradle b/ApiDemos/kotlin/app/build.gradle index 808bd3190..1b5035599 100644 --- a/ApiDemos/kotlin/app/build.gradle +++ b/ApiDemos/kotlin/app/build.gradle @@ -52,7 +52,7 @@ dependencies { implementation 'com.android.volley:volley:1.2.1' // GMS - gmsImplementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' + gmsImplementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' gmsImplementation 'com.google.android.gms:play-services-maps:18.0.2' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' From 86ca522495b58f729a94868cdf9f07d86628eecc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:36:11 +0000 Subject: [PATCH 016/709] chore(deps): bump navigation-fragment from 2.4.0 to 2.4.1 in /snippets (#859) Bumps navigation-fragment from 2.4.0 to 2.4.1. --- updated-dependencies: - dependency-name: androidx.navigation:navigation-fragment dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index 9b41281ba..36007fe0a 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -62,7 +62,7 @@ dependencies { implementation "androidx.compose.material:material:1.2.0-alpha05" implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' - implementation 'androidx.navigation:navigation-fragment:2.4.0' + implementation 'androidx.navigation:navigation-fragment:2.4.1' implementation 'androidx.navigation:navigation-ui:2.4.0' implementation 'com.android.volley:volley:1.2.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' From 9b6bcd18297d67af8c027768f189da67c4dc150c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:40:55 -0700 Subject: [PATCH 017/709] chore(deps): bump maps-compose from 1.0.0 to 1.3.1 in /snippets (#894) Bumps [maps-compose](https://github.com/googlemaps/android-maps-compose) from 1.0.0 to 1.3.1. - [Release notes](https://github.com/googlemaps/android-maps-compose/releases) - [Changelog](https://github.com/googlemaps/android-maps-compose/blob/main/.releaserc) - [Commits](https://github.com/googlemaps/android-maps-compose/compare/v1.0.0...v1.3.1) --- updated-dependencies: - dependency-name: com.google.maps.android:maps-compose dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index 36007fe0a..bc562e1e7 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -68,7 +68,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' - gmsImplementation 'com.google.maps.android:maps-compose:1.3.0' + gmsImplementation 'com.google.maps.android:maps-compose:1.3.1' gmsImplementation 'com.google.android.gms:play-services-maps:18.0.2' gmsImplementation 'com.google.maps.android:android-maps-utils:2.3.0' v3Implementation 'com.google.android.libraries.maps:maps:3.1.0-beta' From 2c1b64a99edbd2236439a0a2eeccbd6eb238eb25 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:41:12 -0700 Subject: [PATCH 018/709] chore(deps): bump gradle in /tutorials/kotlin/CurrentPlaceDetailsOnMap (#887) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle b/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle index 4ac1be382..479bf646b 100644 --- a/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle +++ b/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle @@ -7,7 +7,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" From 06560a48f4721678aee5004c49a516a6d37ef33f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:47:35 +0000 Subject: [PATCH 019/709] chore(deps): bump lifecycle-runtime-ktx from 2.4.0 to 2.4.1 in /snippets (#858) Bumps lifecycle-runtime-ktx from 2.4.0 to 2.4.1. --- updated-dependencies: - dependency-name: androidx.lifecycle:lifecycle-runtime-ktx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index bc562e1e7..a709b65bc 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -65,7 +65,7 @@ dependencies { implementation 'androidx.navigation:navigation-fragment:2.4.1' implementation 'androidx.navigation:navigation-ui:2.4.0' implementation 'com.android.volley:volley:1.2.1' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' gmsImplementation 'com.google.maps.android:maps-compose:1.3.1' From c00f0565d33b5c65b0f0d7a97b6db32eb8bbffb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:56:17 +0000 Subject: [PATCH 020/709] chore(deps): bump navigation-ui from 2.4.0 to 2.4.1 in /snippets (#860) Bumps navigation-ui from 2.4.0 to 2.4.1. --- updated-dependencies: - dependency-name: androidx.navigation:navigation-ui dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index a709b65bc..b26f93415 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -63,7 +63,7 @@ dependencies { implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.navigation:navigation-fragment:2.4.1' - implementation 'androidx.navigation:navigation-ui:2.4.0' + implementation 'androidx.navigation:navigation-ui:2.4.1' implementation 'com.android.volley:volley:1.2.1' implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' From 5c40d17acf05031f91028a7987370418ca03689a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:57:10 +0000 Subject: [PATCH 021/709] chore(deps): bump secrets-gradle-plugin in /tutorials/java/StyledMap (#865) Bumps [secrets-gradle-plugin](https://github.com/google/secrets-gradle-plugin) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/google/secrets-gradle-plugin/releases) - [Changelog](https://github.com/google/secrets-gradle-plugin/blob/main/.releaserc) - [Commits](https://github.com/google/secrets-gradle-plugin/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/StyledMap/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/StyledMap/build.gradle b/tutorials/java/StyledMap/build.gradle index c36b2cd9e..856689c01 100644 --- a/tutorials/java/StyledMap/build.gradle +++ b/tutorials/java/StyledMap/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.0.4' - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" + classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 5782174087c3a613bb7fff1c8be70031ca0458dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 23:57:29 +0000 Subject: [PATCH 022/709] chore(deps): bump secrets-gradle-plugin from 2.0.0 to 2.0.1 in /snippets (#866) Bumps [secrets-gradle-plugin](https://github.com/google/secrets-gradle-plugin) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/google/secrets-gradle-plugin/releases) - [Changelog](https://github.com/google/secrets-gradle-plugin/blob/main/.releaserc) - [Commits](https://github.com/google/secrets-gradle-plugin/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- snippets/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/build.gradle b/snippets/build.gradle index f9f06b610..3482a1a79 100644 --- a/snippets/build.gradle +++ b/snippets/build.gradle @@ -15,7 +15,7 @@ buildscript { // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files // [END_EXCLUDE] - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" + classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } } // [END maps_android_secrets_gradle_plugin_classpath] From 0333d74799c662238c1635991538699492614af1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 00:06:21 +0000 Subject: [PATCH 023/709] chore(deps): bump secrets-gradle-plugin in /tutorials/java/MapWithMarker (#868) Bumps [secrets-gradle-plugin](https://github.com/google/secrets-gradle-plugin) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/google/secrets-gradle-plugin/releases) - [Changelog](https://github.com/google/secrets-gradle-plugin/blob/main/.releaserc) - [Commits](https://github.com/google/secrets-gradle-plugin/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/MapWithMarker/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/MapWithMarker/build.gradle b/tutorials/java/MapWithMarker/build.gradle index aa4cb634c..d693988fe 100644 --- a/tutorials/java/MapWithMarker/build.gradle +++ b/tutorials/java/MapWithMarker/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.1.2' - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" + classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 6bd02c731cf899d879f046349aeab7c6f1bface9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 00:06:37 +0000 Subject: [PATCH 024/709] chore(deps): bump secrets-gradle-plugin from 2.0.0 to 2.0.1 in /WearOS (#873) Bumps [secrets-gradle-plugin](https://github.com/google/secrets-gradle-plugin) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/google/secrets-gradle-plugin/releases) - [Changelog](https://github.com/google/secrets-gradle-plugin/blob/main/.releaserc) - [Commits](https://github.com/google/secrets-gradle-plugin/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- WearOS/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WearOS/build.gradle b/WearOS/build.gradle index 3ca926987..11f52a21d 100644 --- a/WearOS/build.gradle +++ b/WearOS/build.gradle @@ -24,7 +24,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:7.0.4' - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" + classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } From 96c2f3d7d517ffd5c1bc572592e71dd6054939bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 00:06:47 +0000 Subject: [PATCH 025/709] chore(deps): bump gradle in /tutorials/kotlin/Polygons (#884) Bumps gradle from 7.1.1 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/Polygons/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/Polygons/build.gradle b/tutorials/kotlin/Polygons/build.gradle index e0e67fe11..15589b916 100644 --- a/tutorials/kotlin/Polygons/build.gradle +++ b/tutorials/kotlin/Polygons/build.gradle @@ -7,7 +7,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.1' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" From 06ada305a99e3fe5cbc6e3777b7e306027c0b23b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 00:43:38 +0000 Subject: [PATCH 026/709] chore(deps): bump gradle in /tutorials/java/StyledMap (#885) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/java/StyledMap/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/java/StyledMap/build.gradle b/tutorials/java/StyledMap/build.gradle index 856689c01..d693988fe 100644 --- a/tutorials/java/StyledMap/build.gradle +++ b/tutorials/java/StyledMap/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" // NOTE: Do not place your application dependencies here; they belong From edaf12db21c1c9521626bf4a5dfc9a5edf7f8739 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 22 Mar 2022 09:11:54 -0700 Subject: [PATCH 027/709] chore: Use Gradle 7.2 in ApiDemos. (#896) Change-Id: I2af001a0a64531f5557c6c708c51bb279af33b5f --- ApiDemos/java/gradle/wrapper/gradle-wrapper.properties | 2 +- ApiDemos/kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ApiDemos/java/gradle/wrapper/gradle-wrapper.properties b/ApiDemos/java/gradle/wrapper/gradle-wrapper.properties index 49789c831..45efda8fa 100644 --- a/ApiDemos/java/gradle/wrapper/gradle-wrapper.properties +++ b/ApiDemos/java/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip diff --git a/ApiDemos/kotlin/gradle/wrapper/gradle-wrapper.properties b/ApiDemos/kotlin/gradle/wrapper/gradle-wrapper.properties index a0b017fc5..c3f67c255 100644 --- a/ApiDemos/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/ApiDemos/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip From 241f3a4974b10e4715f21483b75a388d5ebfc219 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 22 Mar 2022 14:51:34 -0700 Subject: [PATCH 028/709] chore: Update maps compose snippet 2.0.0 (#897) Change-Id: I2acef39c95e496e0d42f43a215b79b463281f077 --- snippets/app/build.gradle | 9 ++++----- .../java/com/google/maps/example/kotlin/MapsCompose.kt | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index b26f93415..8c81dff34 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -7,12 +7,11 @@ plugins { } android { - compileSdkVersion 32 - buildToolsVersion "29.0.3" + compileSdk 32 defaultConfig { applicationId "com.google.maps.example" - minSdkVersion 21 - targetSdkVersion 32 + minSdk 21 + targetSdk 32 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -68,7 +67,7 @@ dependencies { implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1' gmsImplementation 'com.google.maps.android:maps-ktx:3.3.0' - gmsImplementation 'com.google.maps.android:maps-compose:1.3.1' + gmsImplementation 'com.google.maps.android:maps-compose:2.0.0' gmsImplementation 'com.google.android.gms:play-services-maps:18.0.2' gmsImplementation 'com.google.maps.android:android-maps-utils:2.3.0' v3Implementation 'com.google.android.libraries.maps:maps:3.1.0-beta' diff --git a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt index b294899e9..bd7adf6c1 100644 --- a/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt +++ b/snippets/app/src/gms/java/com/google/maps/example/kotlin/MapsCompose.kt @@ -16,6 +16,7 @@ import com.google.maps.android.compose.MapProperties import com.google.maps.android.compose.MapType import com.google.maps.android.compose.MapUiSettings import com.google.maps.android.compose.Marker +import com.google.maps.android.compose.MarkerState import com.google.maps.android.compose.rememberCameraPositionState @Composable @@ -30,7 +31,7 @@ fun AddAMap() { cameraPositionState = cameraPositionState ) { Marker( - position = singapore, + state = MarkerState(position = singapore), title = "Singapore", snippet = "Marker in Singapore" ) From 513d878f57998572d4aba83c62b5b64f8339944a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 22:06:16 +0000 Subject: [PATCH 029/709] chore(deps): bump gradle from 7.0.4 to 7.1.2 in /ApiDemos/java (#886) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ApiDemos/java/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApiDemos/java/build.gradle b/ApiDemos/java/build.gradle index 4e295e586..b2027c648 100644 --- a/ApiDemos/java/build.gradle +++ b/ApiDemos/java/build.gradle @@ -6,7 +6,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" // NOTE: Do not place your application dependencies here; they belong From 8e444725f7dab9d60eaacf571416de4dcb9755ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 22:15:58 +0000 Subject: [PATCH 030/709] chore(deps): bump gradle from 7.0.4 to 7.1.2 in /ApiDemos/kotlin (#882) Bumps gradle from 7.0.4 to 7.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ApiDemos/kotlin/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApiDemos/kotlin/build.gradle b/ApiDemos/kotlin/build.gradle index f9c20a350..3d50e625b 100644 --- a/ApiDemos/kotlin/build.gradle +++ b/ApiDemos/kotlin/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" From 165cce8a3777552f859ea5876d8a520145955419 Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 22 Mar 2022 15:44:35 -0700 Subject: [PATCH 031/709] chore(snippets): Add region tag for dependency management. (#898) Change-Id: Ifb9ceb61c73d4a000b25de720e5adacbd525038a --- snippets/app/build.gradle | 2 +- snippets/build.gradle | 31 ++++--------------------------- snippets/settings.gradle | 20 +++++++++++++++++++- 3 files changed, 24 insertions(+), 29 deletions(-) diff --git a/snippets/app/build.gradle b/snippets/app/build.gradle index 8c81dff34..8038d8945 100644 --- a/snippets/app/build.gradle +++ b/snippets/app/build.gradle @@ -54,7 +54,7 @@ android { dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.10' implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' implementation "androidx.compose.foundation:foundation:1.2.0-alpha05" diff --git a/snippets/build.gradle b/snippets/build.gradle index 3482a1a79..d54a2fadc 100644 --- a/snippets/build.gradle +++ b/snippets/build.gradle @@ -1,30 +1,7 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -// [START maps_android_secrets_gradle_plugin_classpath] -buildscript { - // [START_EXCLUDE silent] - ext.kotlin_version = "1.6.10" - repositories { - google() - mavenCentral() - } - // [END_EXCLUDE] - dependencies { - // [START_EXCLUDE] - classpath "com.android.tools.build:gradle:7.1.2" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - // [END_EXCLUDE] - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" - } -} -// [END maps_android_secrets_gradle_plugin_classpath] - -allprojects { - repositories { - google() - mavenCentral() - } +plugins { + id 'com.android.application' version '7.1.2' apply false + id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false + id 'org.jetbrains.kotlin.android' version '1.6.10' apply false } task clean(type: Delete) { diff --git a/snippets/settings.gradle b/snippets/settings.gradle index ff5b71c55..a3980607f 100644 --- a/snippets/settings.gradle +++ b/snippets/settings.gradle @@ -1,2 +1,20 @@ +// [START maps_android_settings_plugin_management] +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} +// [END maps_android_settings_plugin_management] +// [START maps_android_settings_dependency_resolution_management] +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} +// [END maps_android_settings_dependency_resolution_management] include ':app' -rootProject.name = "Snippets App" \ No newline at end of file +rootProject.name = "Snippets App" From 6e6bca2c4cea72d211b587665bae557e6e40d06a Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Tue, 22 Mar 2022 16:01:22 -0700 Subject: [PATCH 032/709] chore: Update WearOS to use latest AGP. (#899) Change-Id: I3b8eeb8a64024bb2ac891b1ae6091c1f2b2b9ec3 --- WearOS/Wearable/build.gradle | 18 +++++-------- WearOS/build.gradle | 26 ++++--------------- .../gradle/wrapper/gradle-wrapper.properties | 22 +++------------- WearOS/settings.gradle | 15 ++++++++++- 4 files changed, 29 insertions(+), 52 deletions(-) diff --git a/WearOS/Wearable/build.gradle b/WearOS/Wearable/build.gradle index 4452c88fc..74682f635 100644 --- a/WearOS/Wearable/build.gradle +++ b/WearOS/Wearable/build.gradle @@ -21,12 +21,12 @@ plugins { apply plugin: 'kotlin-android' android { - compileSdkVersion 31 + compileSdk 31 defaultConfig { applicationId "com.example.wearos" - minSdkVersion 23 - targetSdkVersion 31 + minSdk 23 + targetSdk 31 versionCode 1 versionName "1.0" } @@ -38,19 +38,15 @@ android { } } -repositories { - mavenCentral() -} - // [START maps_wear_os_dependencies] dependencies { // [START_EXCLUDE] implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation "androidx.core:core-ktx:+" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation "androidx.core:core-ktx:1.7.0" + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10' // [END_EXCLUDE] - compileOnly 'com.google.android.wearable:wearable:2.8.1' - implementation 'com.google.android.support:wearable:2.8.1' + compileOnly 'com.google.android.wearable:wearable:2.9.0' + implementation 'com.google.android.support:wearable:2.9.0' implementation 'com.google.android.gms:play-services-maps:18.0.2' // This dependency is necessary for ambient mode diff --git a/WearOS/build.gradle b/WearOS/build.gradle index 11f52a21d..f981d16b5 100644 --- a/WearOS/build.gradle +++ b/WearOS/build.gradle @@ -14,24 +14,8 @@ * limitations under the License. */ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} +plugins { + id 'com.android.application' version '7.1.2' apply false + id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false + id 'org.jetbrains.kotlin.android' version '1.6.10' apply false +} \ No newline at end of file diff --git a/WearOS/gradle/wrapper/gradle-wrapper.properties b/WearOS/gradle/wrapper/gradle-wrapper.properties index d08e4588f..4d0983659 100644 --- a/WearOS/gradle/wrapper/gradle-wrapper.properties +++ b/WearOS/gradle/wrapper/gradle-wrapper.properties @@ -1,22 +1,6 @@ -# -# Copyright (C) 2015 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -#Wed Apr 10 15:27:10 PDT 2013 +#Tue Mar 22 15:50:30 PDT 2022 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/WearOS/settings.gradle b/WearOS/settings.gradle index ff9692822..f78c24215 100644 --- a/WearOS/settings.gradle +++ b/WearOS/settings.gradle @@ -13,5 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} include ':Wearable' From e76f21fb1fe6a23c5f1ffeb982a6c4b6852e7d9b Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Wed, 23 Mar 2022 09:32:39 -0700 Subject: [PATCH 033/709] chore: Replace default MAPS_API_KEY value. (#900) Change-Id: I4080de8db81d54c126ad5af3a3070b4afcbea22e --- ApiDemos/java/local.defaults.properties | 2 +- ApiDemos/kotlin/local.defaults.properties | 2 +- WearOS/local.defaults.properties | 2 +- snippets/local.defaults.properties | 2 +- .../java/CurrentPlaceDetailsOnMap/local.defaults.properties | 2 +- tutorials/java/MapWithMarker/local.defaults.properties | 3 +-- tutorials/java/Polygons/local.defaults.properties | 2 +- .../kotlin/CurrentPlaceDetailsOnMap/local.defaults.properties | 2 +- tutorials/kotlin/MapWithMarker/local.defaults.properties | 2 +- tutorials/kotlin/Polygons/local.defaults.properties | 2 +- 10 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ApiDemos/java/local.defaults.properties b/ApiDemos/java/local.defaults.properties index b4dc1ed7f..b46923660 100644 --- a/ApiDemos/java/local.defaults.properties +++ b/ApiDemos/java/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY diff --git a/ApiDemos/kotlin/local.defaults.properties b/ApiDemos/kotlin/local.defaults.properties index 9e0d438a7..b46923660 100644 --- a/ApiDemos/kotlin/local.defaults.properties +++ b/ApiDemos/kotlin/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" +MAPS_API_KEY=STUB_API_KEY diff --git a/WearOS/local.defaults.properties b/WearOS/local.defaults.properties index 47835b6fc..920e38a2b 100644 --- a/WearOS/local.defaults.properties +++ b/WearOS/local.defaults.properties @@ -1 +1 @@ -GOOGLE_MAPS_API_KEY=YOUR_API_KEY \ No newline at end of file +GOOGLE_MAPS_API_KEY=STUB_API_KEY diff --git a/snippets/local.defaults.properties b/snippets/local.defaults.properties index faf6aaed9..b46923660 100644 --- a/snippets/local.defaults.properties +++ b/snippets/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY=YOUR_API_KEY \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/java/CurrentPlaceDetailsOnMap/local.defaults.properties b/tutorials/java/CurrentPlaceDetailsOnMap/local.defaults.properties index b4dc1ed7f..b46923660 100644 --- a/tutorials/java/CurrentPlaceDetailsOnMap/local.defaults.properties +++ b/tutorials/java/CurrentPlaceDetailsOnMap/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/java/MapWithMarker/local.defaults.properties b/tutorials/java/MapWithMarker/local.defaults.properties index f9b3e3743..bca44d0d3 100644 --- a/tutorials/java/MapWithMarker/local.defaults.properties +++ b/tutorials/java/MapWithMarker/local.defaults.properties @@ -5,5 +5,4 @@ # For customization when using a Version Control System, please read the # header note. #Mon Apr 06 10:50:09 PDT 2020 -sdk.dir=/Users/chrisarriola/Library/Android/sdk -MAPS_API_KEY=AIzaSyBri0nHwJxuIs8KgdsGXdJLFvg1vviUMfo +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/java/Polygons/local.defaults.properties b/tutorials/java/Polygons/local.defaults.properties index b4dc1ed7f..b46923660 100644 --- a/tutorials/java/Polygons/local.defaults.properties +++ b/tutorials/java/Polygons/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/kotlin/CurrentPlaceDetailsOnMap/local.defaults.properties b/tutorials/kotlin/CurrentPlaceDetailsOnMap/local.defaults.properties index b4dc1ed7f..b46923660 100644 --- a/tutorials/kotlin/CurrentPlaceDetailsOnMap/local.defaults.properties +++ b/tutorials/kotlin/CurrentPlaceDetailsOnMap/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/kotlin/MapWithMarker/local.defaults.properties b/tutorials/kotlin/MapWithMarker/local.defaults.properties index 9e0d438a7..b46923660 100644 --- a/tutorials/kotlin/MapWithMarker/local.defaults.properties +++ b/tutorials/kotlin/MapWithMarker/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" +MAPS_API_KEY=STUB_API_KEY diff --git a/tutorials/kotlin/Polygons/local.defaults.properties b/tutorials/kotlin/Polygons/local.defaults.properties index b4dc1ed7f..b46923660 100644 --- a/tutorials/kotlin/Polygons/local.defaults.properties +++ b/tutorials/kotlin/Polygons/local.defaults.properties @@ -1 +1 @@ -MAPS_API_KEY="" \ No newline at end of file +MAPS_API_KEY=STUB_API_KEY From 69934f242d42d1d4bae3285ebfe072596df362a8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 10:01:39 -0700 Subject: [PATCH 034/709] chore(deps): bump secrets-gradle-plugin (#874) Bumps [secrets-gradle-plugin](https://github.com/google/secrets-gradle-plugin) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/google/secrets-gradle-plugin/releases) - [Changelog](https://github.com/google/secrets-gradle-plugin/blob/main/.releaserc) - [Commits](https://github.com/google/secrets-gradle-plugin/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle b/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle index 479bf646b..68bed838e 100644 --- a/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle +++ b/tutorials/kotlin/CurrentPlaceDetailsOnMap/build.gradle @@ -9,7 +9,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" + classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From 3f8a268c74062f96ca78efa564bba7964405933f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 10:02:42 -0700 Subject: [PATCH 035/709] chore(deps): bump kotlin_version in /ApiDemos/kotlin (#798) Bumps `kotlin_version` from 1.5.31 to 1.6.10. Updates `kotlin-gradle-plugin` from 1.5.31 to 1.6.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10) Updates `kotlin-stdlib-jdk7` from 1.5.31 to 1.6.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.10) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ApiDemos/kotlin/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ApiDemos/kotlin/build.gradle b/ApiDemos/kotlin/build.gradle index 3d50e625b..290e94d0f 100644 --- a/ApiDemos/kotlin/build.gradle +++ b/ApiDemos/kotlin/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.5.31' + ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() From d301ecedce866a6e6bb10e405581fccd0f651d7d Mon Sep 17 00:00:00 2001 From: Chris Arriola Date: Fri, 25 Mar 2022 10:05:47 -0700 Subject: [PATCH 036/709] chore: Demonstrate using ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION. (#901) * chore: Demonstrate using ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION. Change-Id: I2e8b240a9c2a6d7aca111f0ce23b24e689a180c7 * Update Java sample. Change-Id: I30a73fdee25dc341f57bc13c6a2a29241768369a --- .../example/mapdemo/LayersDemoActivity.java | 26 +++--- .../mapdemo/LocationSourceDemoActivity.java | 2 + .../mapdemo/MyLocationDemoActivity.java | 58 +++++++----- .../com/example/mapdemo/PermissionUtils.java | 79 ++++++++-------- .../mapdemo/UiSettingsDemoActivity.java | 55 ++++++------ .../java/app/src/main/AndroidManifest.xml | 3 +- ApiDemos/kotlin/app/build.gradle | 5 +- .../kotlindemos/CameraClampingDemoActivity.kt | 10 +-- .../example/kotlindemos/LayersDemoActivity.kt | 6 +- .../kotlindemos/MyLocationDemoActivity.kt | 89 +++++++++++++++---- .../example/kotlindemos/PermissionUtils.kt | 40 ++++++--- .../kotlindemos/UiSettingsDemoActivity.kt | 5 +- .../res/layout/cloud_styling_basic_demo.xml | 2 +- .../kotlin/app/src/main/AndroidManifest.xml | 1 + .../CloudBasedMapStylingDemoActivity.kt | 74 +++++++++++++++ .../res/layout/cloud_styling_basic_demo.xml | 65 ++++++++++++++ 16 files changed, 376 insertions(+), 144 deletions(-) create mode 100644 ApiDemos/kotlin/app/src/v3/java/com/example/kotlindemos/CloudBasedMapStylingDemoActivity.kt create mode 100644 ApiDemos/kotlin/app/src/v3/res/layout/cloud_styling_basic_demo.xml diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LayersDemoActivity.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LayersDemoActivity.java index 4e00ae651..60c7b3f7a 100755 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LayersDemoActivity.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LayersDemoActivity.java @@ -15,6 +15,7 @@ package com.example.mapdemo; +import android.Manifest.permission; import android.annotation.SuppressLint; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; @@ -46,8 +47,8 @@ * Demonstrates the different base layers of a map. */ public class LayersDemoActivity extends AppCompatActivity - implements OnItemSelectedListener, OnMapReadyCallback, - ActivityCompat.OnRequestPermissionsResultCallback { + implements OnItemSelectedListener, OnMapReadyCallback, + ActivityCompat.OnRequestPermissionsResultCallback { private static final int LOCATION_PERMISSION_REQUEST_CODE = 1; @@ -64,8 +65,8 @@ public class LayersDemoActivity extends AppCompatActivity private Spinner mSpinner; /** - * Flag indicating whether a requested permission has been denied after returning in - * {@link #onRequestPermissionsResult(int, String[], int[])}. + * Flag indicating whether a requested permission has been denied after returning in {@link + * #onRequestPermissionsResult(int, String[], int[])}. */ private boolean mShowPermissionDeniedDialog = false; @@ -76,7 +77,7 @@ protected void onCreate(Bundle savedInstanceState) { mSpinner = findViewById(R.id.layers_spinner); ArrayAdapter adapter = ArrayAdapter.createFromResource( - this, R.array.layers_array, android.R.layout.simple_spinner_item); + this, R.array.layers_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mSpinner.setAdapter(adapter); mSpinner.setOnItemSelectedListener(this); @@ -87,7 +88,7 @@ protected void onCreate(Bundle savedInstanceState) { mIndoorCheckbox = findViewById(R.id.indoor); SupportMapFragment mapFragment = - (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); + (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @@ -143,13 +144,15 @@ private void updateMyLocation() { // Enable the location layer. Request the location permission if needed. if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) - == PackageManager.PERMISSION_GRANTED) { + == PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(this, permission.ACCESS_COARSE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { mMap.setMyLocationEnabled(true); } else { // Uncheck the box until the layer has been enabled and request missing permission. mMyLocationCheckbox.setChecked(false); - PermissionUtils.requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE, - Manifest.permission.ACCESS_FINE_LOCATION, false); + PermissionUtils + .requestLocationPermissions(this, LOCATION_PERMISSION_REQUEST_CODE,false); } } @@ -157,11 +160,12 @@ private void updateMyLocation() { @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] results) { if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) { + super.onRequestPermissionsResult(requestCode, permissions, results); return; } if (PermissionUtils.isPermissionGranted(permissions, results, - Manifest.permission.ACCESS_FINE_LOCATION)) { + permission.ACCESS_FINE_LOCATION)) { mMap.setMyLocationEnabled(true); mMyLocationCheckbox.setChecked(true); } else { @@ -174,7 +178,7 @@ protected void onResumeFragments() { super.onResumeFragments(); if (mShowPermissionDeniedDialog) { PermissionUtils.PermissionDeniedDialog - .newInstance(false).show(getSupportFragmentManager(), "dialog"); + .newInstance(false).show(getSupportFragmentManager(), "dialog"); mShowPermissionDeniedDialog = false; } } diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LocationSourceDemoActivity.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LocationSourceDemoActivity.java index 275467352..6986f9476 100644 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LocationSourceDemoActivity.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/LocationSourceDemoActivity.java @@ -16,6 +16,7 @@ package com.example.mapdemo; import android.Manifest.permission; +import android.annotation.SuppressLint; import android.content.pm.PackageManager; import androidx.core.app.ActivityCompat; import com.google.android.gms.maps.GoogleMap; @@ -108,6 +109,7 @@ protected void onPause() { mLocationSource.onPause(); } + @SuppressLint("MissingPermission") @Override public void onMapReady(GoogleMap map) { map.setLocationSource(mLocationSource); diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/MyLocationDemoActivity.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/MyLocationDemoActivity.java index 44c8e3939..438cb48dd 100755 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/MyLocationDemoActivity.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/MyLocationDemoActivity.java @@ -15,6 +15,8 @@ package com.example.mapdemo; +import android.Manifest.permission; +import android.annotation.SuppressLint; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; import com.google.android.gms.maps.GoogleMap.OnMyLocationClickListener; @@ -33,17 +35,18 @@ import android.widget.Toast; /** - * This demo shows how GMS Location can be used to check for changes to the users location. The - * "My Location" button uses GMS Location to set the blue dot representing the users location. - * Permission for {@link android.Manifest.permission#ACCESS_FINE_LOCATION} is requested at run - * time. If the permission has not been granted, the Activity is finished with an error message. + * This demo shows how GMS Location can be used to check for changes to the users location. The "My + * Location" button uses GMS Location to set the blue dot representing the users location. + * Permission for {@link android.Manifest.permission#ACCESS_FINE_LOCATION} and {@link + * android.Manifest.permission#ACCESS_COARSE_LOCATION} are requested at run time. If either + * permission is not granted, the Activity is finished with an error message. */ public class MyLocationDemoActivity extends AppCompatActivity - implements - OnMyLocationButtonClickListener, - OnMyLocationClickListener, - OnMapReadyCallback, - ActivityCompat.OnRequestPermissionsResultCallback { + implements + OnMyLocationButtonClickListener, + OnMyLocationClickListener, + OnMapReadyCallback, + ActivityCompat.OnRequestPermissionsResultCallback { /** * Request code for location permission request. @@ -53,8 +56,8 @@ public class MyLocationDemoActivity extends AppCompatActivity private static final int LOCATION_PERMISSION_REQUEST_CODE = 1; /** - * Flag indicating whether a requested permission has been denied after returning in - * {@link #onRequestPermissionsResult(int, String[], int[])}. + * Flag indicating whether a requested permission has been denied after returning in {@link + * #onRequestPermissionsResult(int, String[], int[])}. */ private boolean permissionDenied = false; @@ -66,12 +69,12 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.my_location_demo); SupportMapFragment mapFragment = - (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); + (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this); } @Override - public void onMapReady(GoogleMap googleMap) { + public void onMapReady(@NonNull GoogleMap googleMap) { map = googleMap; map.setOnMyLocationButtonClickListener(this); map.setOnMyLocationClickListener(this); @@ -81,18 +84,20 @@ public void onMapReady(GoogleMap googleMap) { /** * Enables the My Location layer if the fine location permission has been granted. */ + @SuppressLint("MissingPermission") private void enableMyLocation() { // [START maps_check_location_permission] + // 1. Check if permissions are granted, if so, enable the my location layer if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) - == PackageManager.PERMISSION_GRANTED) { - if (map != null) { - map.setMyLocationEnabled(true); - } - } else { - // Permission to access the location is missing. Show rationale and request permission - PermissionUtils.requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE, - Manifest.permission.ACCESS_FINE_LOCATION, true); + == PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(this, permission.ACCESS_COARSE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { + map.setMyLocationEnabled(true); + return; } + + // 2. Otherwise, request location permissions from the user. + PermissionUtils.requestLocationPermissions(this, LOCATION_PERMISSION_REQUEST_CODE, true); // [END maps_check_location_permission] } @@ -111,12 +116,17 @@ public void onMyLocationClick(@NonNull Location location) { // [START maps_check_location_permission_result] @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, + @NonNull int[] grantResults) { if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); return; } - if (PermissionUtils.isPermissionGranted(permissions, grantResults, Manifest.permission.ACCESS_FINE_LOCATION)) { + if (PermissionUtils.isPermissionGranted(permissions, grantResults, + Manifest.permission.ACCESS_FINE_LOCATION) || PermissionUtils + .isPermissionGranted(permissions, grantResults, + Manifest.permission.ACCESS_COARSE_LOCATION)) { // Enable the my location layer if the permission has been granted. enableMyLocation(); } else { @@ -144,7 +154,7 @@ protected void onResumeFragments() { */ private void showMissingPermissionError() { PermissionUtils.PermissionDeniedDialog - .newInstance(true).show(getSupportFragmentManager(), "dialog"); + .newInstance(true).show(getSupportFragmentManager(), "dialog"); } } diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/PermissionUtils.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/PermissionUtils.java index 89051e1ec..25c5d1aff 100755 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/PermissionUtils.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/PermissionUtils.java @@ -16,6 +16,7 @@ package com.example.mapdemo; import android.Manifest; +import android.Manifest.permission; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; @@ -33,19 +34,23 @@ public abstract class PermissionUtils { /** - * Requests the fine location permission. If a rationale with an additional explanation should - * be shown to the user, displays a dialog that triggers the request. + * Requests the fine and coarse location permissions. If a rationale with an additional + * explanation should be shown to the user, displays a dialog that triggers the request. */ - public static void requestPermission(AppCompatActivity activity, int requestId, - String permission, boolean finishActivity) { - if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permission)) { + public static void requestLocationPermissions(AppCompatActivity activity, int requestId, + boolean finishActivity) { + if (ActivityCompat + .shouldShowRequestPermissionRationale(activity, permission.ACCESS_FINE_LOCATION) || + ActivityCompat.shouldShowRequestPermissionRationale(activity, + permission.ACCESS_COARSE_LOCATION)) { // Display a dialog with rationale. PermissionUtils.RationaleDialog.newInstance(requestId, finishActivity) - .show(activity.getSupportFragmentManager(), "dialog"); + .show(activity.getSupportFragmentManager(), "dialog"); } else { // Location permission has not been granted yet, request it. - ActivityCompat.requestPermissions(activity, new String[]{permission}, requestId); - + ActivityCompat.requestPermissions(activity, + new String[]{permission.ACCESS_FINE_LOCATION, permission.ACCESS_COARSE_LOCATION}, + requestId); } } @@ -56,7 +61,7 @@ public static void requestPermission(AppCompatActivity activity, int requestId, * @see androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback */ public static boolean isPermissionGranted(String[] grantPermissions, int[] grantResults, - String permission) { + String permission) { for (int i = 0; i < grantPermissions.length; i++) { if (permission.equals(grantPermissions[i])) { return grantResults[i] == PackageManager.PERMISSION_GRANTED; @@ -75,8 +80,8 @@ public static class PermissionDeniedDialog extends DialogFragment { private boolean finishActivity = false; /** - * Creates a new instance of this dialog and optionally finishes the calling Activity - * when the 'Ok' button is clicked. + * Creates a new instance of this dialog and optionally finishes the calling Activity when + * the 'Ok' button is clicked. */ public static PermissionDeniedDialog newInstance(boolean finishActivity) { Bundle arguments = new Bundle(); @@ -92,9 +97,9 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { finishActivity = getArguments().getBoolean(ARGUMENT_FINISH_ACTIVITY); return new AlertDialog.Builder(getActivity()) - .setMessage(R.string.location_permission_denied) - .setPositiveButton(android.R.string.ok, null) - .create(); + .setMessage(R.string.location_permission_denied) + .setPositiveButton(android.R.string.ok, null) + .create(); } @Override @@ -102,7 +107,7 @@ public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); if (finishActivity) { Toast.makeText(getActivity(), R.string.permission_required_toast, - Toast.LENGTH_SHORT).show(); + Toast.LENGTH_SHORT).show(); getActivity().finish(); } } @@ -112,8 +117,7 @@ public void onDismiss(DialogInterface dialog) { * A dialog that explains the use of the location permission and requests the necessary * permission. *

- * The activity should implement - * {@link androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback} + * The activity should implement {@link androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback} * to handle permit or denial of this permission request. */ public static class RationaleDialog extends DialogFragment { @@ -130,11 +134,10 @@ public static class RationaleDialog extends DialogFragment { *

* The permission is requested after clicking 'ok'. * - * @param requestCode Id of the request that is used to request the permission. It is - * returned to the - * {@link androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback}. + * @param requestCode Id of the request that is used to request the permission. It is + * returned to the {@link androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback}. * @param finishActivity Whether the calling Activity should be finished if the dialog is - * cancelled. + * cancelled. */ public static RationaleDialog newInstance(int requestCode, boolean finishActivity) { Bundle arguments = new Bundle(); @@ -152,20 +155,20 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { finishActivity = arguments.getBoolean(ARGUMENT_FINISH_ACTIVITY); return new AlertDialog.Builder(getActivity()) - .setMessage(R.string.permission_rationale_location) - .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - // After click on Ok, request the permission. - ActivityCompat.requestPermissions(getActivity(), - new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, - requestCode); - // Do not finish the Activity while requesting permission. - finishActivity = false; - } - }) - .setNegativeButton(android.R.string.cancel, null) - .create(); + .setMessage(R.string.permission_rationale_location) + .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + // After click on Ok, request the permission. + ActivityCompat.requestPermissions(getActivity(), + new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, + requestCode); + // Do not finish the Activity while requesting permission. + finishActivity = false; + } + }) + .setNegativeButton(android.R.string.cancel, null) + .create(); } @Override @@ -173,9 +176,9 @@ public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); if (finishActivity) { Toast.makeText(getActivity(), - R.string.permission_required_toast, - Toast.LENGTH_SHORT) - .show(); + R.string.permission_required_toast, + Toast.LENGTH_SHORT) + .show(); getActivity().finish(); } } diff --git a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/UiSettingsDemoActivity.java b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/UiSettingsDemoActivity.java index b40c00a62..efa445a12 100755 --- a/ApiDemos/java/app/src/gms/java/com/example/mapdemo/UiSettingsDemoActivity.java +++ b/ApiDemos/java/app/src/gms/java/com/example/mapdemo/UiSettingsDemoActivity.java @@ -51,8 +51,8 @@ public class UiSettingsDemoActivity extends AppCompatActivity implements OnMapRe private static final int LOCATION_LAYER_PERMISSION_REQUEST_CODE = 2; /** - * Flag indicating whether a requested permission has been denied after returning in - * {@link #onRequestPermissionsResult(int, String[], int[])}. + * Flag indicating whether a requested permission has been denied after returning in {@link + * #onRequestPermissionsResult(int, String[], int[])}. */ private boolean mLocationPermissionDenied = false; @@ -76,6 +76,7 @@ private boolean isChecked(int id) { return ((CheckBox) findViewById(id)).isChecked(); } + @SuppressLint("MissingPermission") @Override public void onMapReady(GoogleMap map) { mMap = map; @@ -139,15 +140,19 @@ public void setMyLocationButtonEnabled(View v) { // layer is not enabled. // First verify that the location permission has been granted. if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) - == PackageManager.PERMISSION_GRANTED) { + == PackageManager.PERMISSION_GRANTED + || ContextCompat.checkSelfPermission(this, permission.ACCESS_COARSE_LOCATION) + == PackageManager.PERMISSION_GRANTED) { mUiSettings.setMyLocationButtonEnabled(mMyLocationButtonCheckbox.isChecked()); } else { // Uncheck the box and request missing location permission. mMyLocationButtonCheckbox.setChecked(false); - requestLocationPermission(MY_LOCATION_PERMISSION_REQUEST_CODE); + PermissionUtils + .requestLocationPermissions(this, MY_LOCATION_PERMISSION_REQUEST_CODE, false); } } + @SuppressLint("MissingPermission") public void setMyLocationLayerEnabled(View v) { if (!checkReady()) { return; @@ -156,13 +161,15 @@ public void setMyLocationLayerEnabled(View v) { // will also cause the my location button to show (if it is enabled); if disabled, the my // location button will never show. if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) + == PackageManager.PERMISSION_GRANTED || + ContextCompat.checkSelfPermission(this, permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { mMap.setMyLocationEnabled(mMyLocationLayerCheckbox.isChecked()); } else { // Uncheck the box and request missing location permission. mMyLocationLayerCheckbox.setChecked(false); - PermissionUtils.requestPermission(this, LOCATION_LAYER_PERMISSION_REQUEST_CODE, - Manifest.permission.ACCESS_FINE_LOCATION, false); + PermissionUtils + .requestLocationPermissions(this, LOCATION_LAYER_PERMISSION_REQUEST_CODE, false); } } @@ -198,48 +205,38 @@ public void setRotateGesturesEnabled(View v) { mUiSettings.setRotateGesturesEnabled(((CheckBox) v).isChecked()); } - /** - * Requests the fine location permission. If a rationale with an additional explanation should - * be shown to the user, displays a dialog that triggers the request. - */ - public void requestLocationPermission(int requestCode) { - if (ActivityCompat.shouldShowRequestPermissionRationale(this, - Manifest.permission.ACCESS_FINE_LOCATION)) { - // Display a dialog with rationale. - PermissionUtils.RationaleDialog - .newInstance(requestCode, false).show( - getSupportFragmentManager(), "dialog"); - } else { - // Location permission has not been granted yet, request it. - PermissionUtils.requestPermission(this, requestCode, - Manifest.permission.ACCESS_FINE_LOCATION, false); - } - } - @SuppressLint("MissingPermission") @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, - @NonNull int[] grantResults) { + @NonNull int[] grantResults) { if (requestCode == MY_LOCATION_PERMISSION_REQUEST_CODE) { // Enable the My Location button if the permission has been granted. if (PermissionUtils.isPermissionGranted(permissions, grantResults, - Manifest.permission.ACCESS_FINE_LOCATION)) { + Manifest.permission.ACCESS_FINE_LOCATION) || + PermissionUtils.isPermissionGranted(permissions, grantResults, + permission.ACCESS_COARSE_LOCATION) + ) { mUiSettings.setMyLocationButtonEnabled(true); mMyLocationButtonCheckbox.setChecked(true); } else { mLocationPermissionDenied = true; } - + return; } else if (requestCode == LOCATION_LAYER_PERMISSION_REQUEST_CODE) { // Enable the My Location layer if the permission has been granted. if (PermissionUtils.isPermissionGranted(permissions, grantResults, - Manifest.permission.ACCESS_FINE_LOCATION)) { + Manifest.permission.ACCESS_FINE_LOCATION) || + PermissionUtils.isPermissionGranted(permissions, grantResults, + permission.ACCESS_COARSE_LOCATION) + ) { mMap.setMyLocationEnabled(true); mMyLocationLayerCheckbox.setChecked(true); } else { mLocationPermissionDenied = true; } + return; } + super.onRequestPermissionsResult(requestCode, permissions, grantResults); } @Override @@ -247,7 +244,7 @@ protected void onResumeFragments() { super.onResumeFragments(); if (mLocationPermissionDenied) { PermissionUtils.PermissionDeniedDialog - .newInstance(false).show(getSupportFragmentManager(), "dialog"); + .newInstance(false).show(getSupportFragmentManager(), "dialog"); mLocationPermissionDenied = false; } } diff --git a/ApiDemos/java/app/src/main/AndroidManifest.xml b/ApiDemos/java/app/src/main/AndroidManifest.xml index c01bb985e..0959bcfec 100644 --- a/ApiDemos/java/app/src/main/AndroidManifest.xml +++ b/ApiDemos/java/app/src/main/AndroidManifest.xml @@ -19,10 +19,11 @@ + - when (event) { - is CameraIdleEvent -> onCameraIdle() - else -> Log.d(TAG, "Got event: $event") - } + map.cameraIdleEvents().collect { + onCameraIdle() } } setButtonClickListeners() diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/LayersDemoActivity.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/LayersDemoActivity.kt index 0b40641f9..e3956e6de 100644 --- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/LayersDemoActivity.kt +++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/LayersDemoActivity.kt @@ -148,11 +148,13 @@ class LayersDemoActivity : @AfterPermissionGranted(LOCATION_PERMISSION_REQUEST_CODE) private fun enableMyLocation() { // Enable the location layer. Request the location permission if needed. - val permissions = arrayOf(Manifest.permission.ACCESS_FINE_LOCATION) + val permissions = arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION + ) if (EasyPermissions.hasPermissions(this, *permissions)) { map.isMyLocationEnabled = true - } else { // if permissions are not currently granted, request permissions EasyPermissions.requestPermissions(this, diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/MyLocationDemoActivity.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/MyLocationDemoActivity.kt index 9b6afdede..609eee754 100644 --- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/MyLocationDemoActivity.kt +++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/MyLocationDemoActivity.kt @@ -20,11 +20,11 @@ import android.location.Location import android.os.Bundle import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat.OnRequestPermissionsResultCallback import androidx.core.content.ContextCompat import com.example.kotlindemos.PermissionUtils.PermissionDeniedDialog.Companion.newInstance import com.example.kotlindemos.PermissionUtils.isPermissionGranted -import com.example.kotlindemos.PermissionUtils.requestPermission import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener import com.google.android.gms.maps.GoogleMap.OnMyLocationClickListener @@ -34,11 +34,13 @@ import com.google.android.gms.maps.SupportMapFragment /** * This demo shows how GMS Location can be used to check for changes to the users location. The * "My Location" button uses GMS Location to set the blue dot representing the users location. - * Permission for [Manifest.permission.ACCESS_FINE_LOCATION] is requested at run - * time. If the permission has not been granted, the Activity is finished with an error message. + * Permission for [Manifest.permission.ACCESS_FINE_LOCATION] and [Manifest.permission.ACCESS_COARSE_LOCATION] + * are requested at run time. If either permission is not granted, the Activity is finished with an error message. */ -class MyLocationDemoActivity : AppCompatActivity(), OnMyLocationButtonClickListener, - OnMyLocationClickListener, OnMapReadyCallback, OnRequestPermissionsResultCallback { +class MyLocationDemoActivity : AppCompatActivity(), + OnMyLocationButtonClickListener, + OnMyLocationClickListener, OnMapReadyCallback, + OnRequestPermissionsResultCallback { /** * Flag indicating whether a requested permission has been denied after returning in * [.onRequestPermissionsResult]. @@ -48,7 +50,8 @@ class MyLocationDemoActivity : AppCompatActivity(), OnMyLocationButtonClickListe override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.my_location_demo) - val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? + val mapFragment = + supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment? mapFragment?.getMapAsync(this) } @@ -64,38 +67,86 @@ class MyLocationDemoActivity : AppCompatActivity(), OnMyLocationButtonClickListe */ @SuppressLint("MissingPermission") private fun enableMyLocation() { - if (!::map.isInitialized) return + // [START maps_check_location_permission] - if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) - == PackageManager.PERMISSION_GRANTED) { + // 1. Check if permissions are granted, if so, enable the my location layer + if (ContextCompat.checkSelfPermission( + this, + Manifest.permission.ACCESS_FINE_LOCATION + ) == PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission( + this, + Manifest.permission.ACCESS_COARSE_LOCATION + ) == PackageManager.PERMISSION_GRANTED + ) { map.isMyLocationEnabled = true - } else { - // Permission to access the location is missing. Show rationale and request permission - requestPermission(this, LOCATION_PERMISSION_REQUEST_CODE, - Manifest.permission.ACCESS_FINE_LOCATION, true + return + } + + // 2. If if a permission rationale dialog should be shown + if (ActivityCompat.shouldShowRequestPermissionRationale( + this, + Manifest.permission.ACCESS_FINE_LOCATION + ) || ActivityCompat.shouldShowRequestPermissionRationale( + this, + Manifest.permission.ACCESS_COARSE_LOCATION ) + ) { + PermissionUtils.RationaleDialog.newInstance( + LOCATION_PERMISSION_REQUEST_CODE, true + ).show(supportFragmentManager, "dialog") + return } + + // 3. Otherwise, request permission + ActivityCompat.requestPermissions( + this, + arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION + ), + LOCATION_PERMISSION_REQUEST_CODE + ) // [END maps_check_location_permission] } override fun onMyLocationButtonClick(): Boolean { - Toast.makeText(this, "MyLocation button clicked", Toast.LENGTH_SHORT).show() + Toast.makeText(this, "MyLocation button clicked", Toast.LENGTH_SHORT) + .show() // Return false so that we don't consume the event and the default behavior still occurs // (the camera animates to the user's current position). return false } override fun onMyLocationClick(location: Location) { - Toast.makeText(this, "Current location:\n$location", Toast.LENGTH_LONG).show() + Toast.makeText(this, "Current location:\n$location", Toast.LENGTH_LONG) + .show() } // [START maps_check_location_permission_result] - override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { + override fun onRequestPermissionsResult( + requestCode: Int, + permissions: Array, + grantResults: IntArray + ) { if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults) - return + super.onRequestPermissionsResult( + requestCode, + permissions, + grantResults + ) + return } - if (isPermissionGranted(permissions, grantResults, Manifest.permission.ACCESS_FINE_LOCATION)) { + + if (isPermissionGranted( + permissions, + grantResults, + Manifest.permission.ACCESS_FINE_LOCATION + ) || isPermissionGranted( + permissions, + grantResults, + Manifest.permission.ACCESS_COARSE_LOCATION + ) + ) { // Enable the my location layer if the permission has been granted. enableMyLocation() } else { diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/PermissionUtils.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/PermissionUtils.kt index 49cd960e5..d080b8eed 100644 --- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/PermissionUtils.kt +++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/PermissionUtils.kt @@ -14,6 +14,7 @@ package com.example.kotlindemos import android.Manifest +import android.Manifest.permission import android.app.AlertDialog import android.app.Dialog import android.content.DialogInterface @@ -28,16 +29,26 @@ import androidx.fragment.app.DialogFragment * Utility class for access to runtime permissions. */ object PermissionUtils { + /** - * Requests the fine location permission. If a rationale with an additional explanation should - * be shown to the user, displays a dialog that triggers the request. + * Requests the fine and coarse location permissions. If a rationale with an additional + * explanation should be shown to the user, displays a dialog that triggers the request. */ - @JvmStatic - fun requestPermission( - activity: AppCompatActivity, requestId: Int, - permission: String, finishActivity: Boolean + fun requestLocationPermissions( + activity: AppCompatActivity, + requestId: Int, + finishActivity: Boolean ) { - if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permission)) { + if ( + ActivityCompat.shouldShowRequestPermissionRationale( + activity, + permission.ACCESS_FINE_LOCATION + ) || + ActivityCompat.shouldShowRequestPermissionRationale( + activity, + permission.ACCESS_COARSE_LOCATION + ) + ) { // Display a dialog with rationale. RationaleDialog.newInstance(requestId, finishActivity) .show(activity.supportFragmentManager, "dialog") @@ -45,7 +56,10 @@ object PermissionUtils { // Location permission has not been granted yet, request it. ActivityCompat.requestPermissions( activity, - arrayOf(permission), + arrayOf( + permission.ACCESS_FINE_LOCATION, + permission.ACCESS_COARSE_LOCATION + ), requestId ) } @@ -135,7 +149,10 @@ object PermissionUtils { .setPositiveButton(android.R.string.ok) { dialog, which -> // After click on Ok, request the permission. ActivityCompat.requestPermissions( requireActivity(), - arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), + arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION + ), requestCode ) // Do not finish the Activity while requesting permission. @@ -174,7 +191,10 @@ object PermissionUtils { * @param finishActivity Whether the calling Activity should be finished if the dialog is * cancelled. */ - fun newInstance(requestCode: Int, finishActivity: Boolean): RationaleDialog { + fun newInstance( + requestCode: Int, + finishActivity: Boolean + ): RationaleDialog { val arguments = Bundle().apply { putInt(ARGUMENT_PERMISSION_REQUEST_CODE, requestCode) putBoolean(ARGUMENT_FINISH_ACTIVITY, finishActivity) diff --git a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/UiSettingsDemoActivity.kt b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/UiSettingsDemoActivity.kt index 3190b17c3..e0f378392 100644 --- a/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/UiSettingsDemoActivity.kt +++ b/ApiDemos/kotlin/app/src/gms/java/com/example/kotlindemos/UiSettingsDemoActivity.kt @@ -110,12 +110,13 @@ class UiSettingsDemoActivity : map.isMyLocationEnabled = true } else { EasyPermissions.requestPermissions(this, getString(R.string.location), - REQUEST_CODE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION + REQUEST_CODE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION ) } } private fun hasLocationPermission(): Boolean { - return EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_FINE_LOCATION) + return EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_FINE_LOCATION) || + EasyPermissions.hasPermissions(this, Manifest.permission.ACCESS_COARSE_LOCATION) } } diff --git a/ApiDemos/kotlin/app/src/gms/res/layout/cloud_styling_basic_demo.xml b/ApiDemos/kotlin/app/src/gms/res/layout/cloud_styling_basic_demo.xml index d9da142ae..e16d806ca 100644 --- a/ApiDemos/kotlin/app/src/gms/res/layout/cloud_styling_basic_demo.xml +++ b/ApiDemos/kotlin/app/src/gms/res/layout/cloud_styling_basic_demo.xml @@ -21,7 +21,7 @@ android:layout_height="match_parent"> + (R.id.styling_normal_mode).setOnClickListener { setMapType(GoogleMap.MAP_TYPE_NORMAL) } + findViewById(R.id.styling_satellite_mode).setOnClickListener { setMapType(GoogleMap.MAP_TYPE_SATELLITE) } + findViewById(R.id.styling_hybrid_mode).setOnClickListener { setMapType(GoogleMap.MAP_TYPE_HYBRID) } + findViewById(R.id.styling_terrain_mode).setOnClickListener { setMapType(GoogleMap.MAP_TYPE_TERRAIN) } + } + + private fun setMapType(mapType: Int) { + currentMapType = mapType + map?.mapType = mapType + } + + companion object { + private const val MAP_TYPE_KEY = "map_type" + } +} \ No newline at end of file diff --git a/ApiDemos/kotlin/app/src/v3/res/layout/cloud_styling_basic_demo.xml b/ApiDemos/kotlin/app/src/v3/res/layout/cloud_styling_basic_demo.xml new file mode 100644 index 000000000..d9da142ae --- /dev/null +++ b/ApiDemos/kotlin/app/src/v3/res/layout/cloud_styling_basic_demo.xml @@ -0,0 +1,65 @@ + + + + + + + + +