feat: Integrate AttributionId Flow - #2386
Conversation
|
@LoyalAbbas , could you change the title to follow the semantic commits convention? Something like |
app-utils-ktx hardcoded minSdk 23 while the newly added :library dependency requires minSdk 24, causing a manifest merger failure in CI.
kikoso
left a comment
There was a problem hiding this comment.
Left inline notes on the two main points plus a few nits found while digging into the CI failure.
|
|
||
| // [START maps_wear_os_dependencies] | ||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
This api(project(":library")) line sits before [START_EXCLUDE silent], so it will be extracted into the public devsite install snippet along with the rest of this block. External developers following the docs would see a reference to an internal only Gradle module that does not exist in their project. snippets/app/build.gradle.kts places the same line inside the exclude block instead, worth doing the same here.
Also, could this be implementation(project(":library")) rather than api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
|
|
||
| // [START maps_android_compose_dependency] | ||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
This api(project(":library")) line sits before [START_EXCLUDE silent], so it will be extracted into the public devsite install snippet along with the rest of this block. External developers following the docs would see a reference to an internal only Gradle module that does not exist in their project. snippets/app/build.gradle.kts places the same line inside the exclude block instead, worth doing the same here.
Also, could this be implementation(project(":library")) rather than api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
|
|
||
| // [START maps_android_ktx_install_snippet] | ||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
This api(project(":library")) line sits before [START_EXCLUDE silent], so it will be extracted into the public devsite install snippet along with the rest of this block. External developers following the docs would see a reference to an internal only Gradle module that does not exist in their project. snippets/app/build.gradle.kts places the same line inside the exclude block instead, worth doing the same here.
Also, could this be implementation(project(":library")) rather than api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
|
|
||
| // [START places_android_ktx_install_snippet] | ||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
This api(project(":library")) line sits before [START_EXCLUDE silent], so it will be extracted into the public devsite install snippet along with the rest of this block. External developers following the docs would see a reference to an internal only Gradle module that does not exist in their project. snippets/app/build.gradle.kts places the same line inside the exclude block instead, worth doing the same here.
Also, could this be implementation(project(":library")) rather than api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
|
|
||
| // [START maps_android_utils_ktx_install_snippet] | ||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
This api(project(":library")) line sits before [START_EXCLUDE silent], so it will be extracted into the public devsite install snippet along with the rest of this block. External developers following the docs would see a reference to an internal only Gradle module that does not exist in their project. snippets/app/build.gradle.kts places the same line inside the exclude block instead, worth doing the same here.
Also, could this be implementation(project(":library")) rather than api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
| } | ||
|
|
||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
Could this be implementation(project(":library")) instead of api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
| } | ||
|
|
||
| dependencies { | ||
| api(project(":library")) |
There was a problem hiding this comment.
Could this be implementation(project(":library")) instead of api? AttributionIdInitializer is internal, so nothing here needs to re export :library's public surface as part of this module's own API.
| @Keep | ||
| internal class AttributionIdInitializer : Initializer<Unit> { | ||
| override fun create(context: Context) { | ||
| // See [AttributionIdInitializer] |
There was a problem hiding this comment.
nit: this comment references its own class name (AttributionIdInitializer), looks like leftover copy paste.
| @@ -0,0 +1 @@ | |||
| /build No newline at end of file | |||
There was a problem hiding this comment.
nit: missing trailing newline.
| #-keepattributes SourceFile,LineNumberTable | ||
|
|
||
| # If you keep the line number information, uncomment this to | ||
| # hide the original source file name. |
There was a problem hiding this comment.
nit: missing trailing newline.
0e51137 to
67a57da
Compare
Add androidx.startup:startup-runtime and a startup initializer to track sample repository usage. Uses androidx.startup.InitializationProvider for lightweight, automatic initialization on app startup.