Skip to content

Commit 0c3711b

Browse files
kikosodkhawk
andauthored
feat: added Attributionid (#702)
Co-authored-by: Dale Hawkins <[email protected]>
1 parent ab9c834 commit 0c3711b

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ kotlinxCoroutines = "1.10.1"
1717
leakcanaryAndroid = "2.12"
1818
lifecycleRuntimeKtx = "2.8.7"
1919
mapsecrets = "2.0.1"
20-
mapsktx = "5.1.1"
20+
mapsktx = "5.2.0"
2121
navigation = "6.2.0"
2222
org-jacoco-core = "0.8.12"
2323
places = "4.2.0"

maps-compose/build.gradle.kts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.gradle.kotlin.dsl.sourceSets
2+
13
plugins {
24
id("org.jetbrains.kotlin.android")
35
alias(libs.plugins.compose.compiler)
@@ -33,6 +35,8 @@ android {
3335
"-Xopt-in=kotlin.RequiresOptIn",
3436
)
3537
}
38+
39+
sourceSets["main"].java.srcDir("build/generated/source/artifactId")
3640
}
3741

3842
composeCompiler {
@@ -60,3 +64,32 @@ dependencies {
6064
androidTestImplementation(libs.androidx.test.espresso)
6165
androidTestImplementation(libs.androidx.test.junit.ktx)
6266
}
67+
68+
// Artifact ID logic
69+
val attributionId = "gmp_git_androidmapscompose_v$version"
70+
71+
val generateArtifactIdFile = tasks.register("generateArtifactIdFile") {
72+
val outputDir = layout.buildDirectory.dir("generated/source/artifactId")
73+
val packageName = "com.google.maps.android.compose.meta"
74+
val packagePath = packageName.replace('.', '/')
75+
val outputFile = outputDir.get().file("$packagePath/ArtifactId.kt").asFile
76+
77+
outputs.file(outputFile)
78+
79+
doLast {
80+
outputFile.parentFile.mkdirs()
81+
outputFile.writeText(
82+
"""
83+
package $packageName
84+
85+
public object AttributionId {
86+
public const val VALUE: String = "$attributionId"
87+
}
88+
""".trimIndent()
89+
)
90+
}
91+
}
92+
93+
tasks.named("preBuild") {
94+
dependsOn(generateArtifactIdFile)
95+
}

maps-compose/src/main/java/com/google/maps/android/compose/GoogleMap.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,12 @@ import androidx.lifecycle.findViewTreeLifecycleOwner
4444
import com.google.android.gms.maps.GoogleMapOptions
4545
import com.google.android.gms.maps.LocationSource
4646
import com.google.android.gms.maps.MapView
47+
import com.google.android.gms.maps.MapsApiSettings
48+
4749
import com.google.android.gms.maps.model.LatLng
4850
import com.google.android.gms.maps.model.MapColorScheme
4951
import com.google.android.gms.maps.model.PointOfInterest
52+
import com.google.maps.android.compose.meta.AttributionId
5053
import com.google.maps.android.ktx.awaitMap
5154
import kotlinx.coroutines.CoroutineScope
5255
import kotlinx.coroutines.CoroutineStart
@@ -148,7 +151,8 @@ public fun GoogleMap(
148151
AndroidView(
149152
modifier = modifier,
150153
factory = { context ->
151-
MapView(context, googleMapOptionsFactory()).also { mapView ->
154+
MapView(context, googleMapOptionsFactory()) .also { mapView ->
155+
MapsApiSettings.addInternalUsageAttributionId(context, AttributionId.VALUE )
152156
val componentCallbacks = object : ComponentCallbacks2 {
153157
override fun onConfigurationChanged(newConfig: Configuration) {}
154158
@Deprecated("Deprecated in Java", ReplaceWith("onTrimMemory(level)"))

0 commit comments

Comments
 (0)