Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
19c5607
feat(catalog): comprehensive 2D Maps SDK capabilities catalog, intera…
dkhawk Jul 13, 2026
0ccd42d
feat: modernize end-user messaging and add interactive verification t…
dkhawk Jul 16, 2026
0a351cb
fix(ci): update workflow snippet targets and add missing license headers
dkhawk Jul 16, 2026
2e85c20
feat(catalog): implement unified multi-framework sample catalog and r…
dkhawk Sep 1, 2026
941c7cc
feat(compose): implement Jetpack Compose sample catalog and reviewer …
dkhawk Sep 1, 2026
2e9663f
feat(catalog): use FQCN evaluation IDs and focus frameworks on Kotlin…
dkhawk Sep 1, 2026
1879d00
feat(manifest): declare ReviewerActivity and CatalogActivity in appli…
dkhawk Sep 1, 2026
83d0204
feat(compose): add collapsible syntax-highlighted code snippet viewer…
dkhawk Sep 1, 2026
c9a6bcf
feat(compose): upgrade sample detail and code viewer to spacious full…
dkhawk Sep 1, 2026
02b2f27
feat(reviewer): add in-sample top bar grading buttons and list-level …
dkhawk Sep 1, 2026
22cd93a
test(ui): add BasicMapReviewerUiTest and fix topBar supportActionBar …
dkhawk Sep 1, 2026
67369ef
feat(ui): add animated collapsible tabs and search bar, and fix sampl…
dkhawk Sep 1, 2026
74234e6
feat(reviewer): add unchecked-only filter chip and top bar action
dkhawk Sep 1, 2026
3c96227
feat(app): set MainActivity to extend ReviewerActivity
dkhawk Sep 1, 2026
555d486
feat(ui): update FAB to icon-only and rename report export to Generat…
dkhawk Sep 1, 2026
579a9fe
fix(export): configure FileProvider and scoped storage for report export
dkhawk Sep 1, 2026
b247b6f
feat(reviewer): add clear all evaluations action and confirmation dialog
dkhawk Sep 1, 2026
ad348be
feat(samples): implement immersive sticky mode and clean toolbar styling
dkhawk Sep 1, 2026
f099916
refactor(catalog): replace sticky collapsible header with smooth list…
dkhawk Sep 1, 2026
1e58056
feat(reviewer): auto-collapse reviewed samples with 1-tap expansion
dkhawk Sep 1, 2026
83fcbb2
fix(ui): polish collapsed card to clean single-line row with title an…
dkhawk Sep 1, 2026
bc72a02
fix(crash): make applyInsets null-safe and target android.R.id.conten…
dkhawk Sep 1, 2026
5d29dbe
feat(samples): implement automatic base layout wrapping with reusable…
dkhawk Sep 1, 2026
c1c140c
fix(ui): eliminate top bar title truncation across all sample activities
dkhawk Sep 1, 2026
0fb4143
feat(reviewer): add screenshot capture, markup annotations, pinch zoo…
dkhawk Sep 1, 2026
582ab59
fix(reviewer): resolve pinch-zoom release jump, smooth pointer tracki…
dkhawk Sep 1, 2026
117d90e
fix(catalog): preserve Info & Code dialog and state across device rot…
dkhawk Sep 1, 2026
50834fc
feat(reviewer): pin bottom action bar in ReviewEvaluationDialog and a…
dkhawk Sep 1, 2026
491cdb7
feat(reviewer): use distinct emoji-only buttons, high-contrast fill h…
dkhawk Sep 1, 2026
b56f538
style(reviewer): format bottom dialog buttons on single line without …
dkhawk Sep 2, 2026
fb5aa02
feat(reviewer): show full Info & Code with CodeSnippetView in Criteri…
dkhawk Sep 2, 2026
bc00696
feat(snippets): provide authentic, curated code snippets for all 31 c…
dkhawk Sep 2, 2026
513b321
fix(snippets): quote exact verbatim source from UiSettingsDemoActivity
dkhawk Sep 2, 2026
0746388
refactor(catalog): strictly enforce quoting code surrounded with regi…
dkhawk Sep 2, 2026
be20c49
style(snippets): clean up CodeSnippetView header layout and prevent c…
dkhawk Sep 2, 2026
6b83458
feat(catalog): replace code snippets with key API calls and separate …
dkhawk Sep 4, 2026
1b93bac
style(samples): polish sample layouts, coordinate wrapping, and butto…
dkhawk Sep 8, 2026
a737577
feat(samples): implement Java/Kotlin parity, animations, and interact…
dkhawk Sep 8, 2026
f346670
refactor(catalog): synchronize SampleCatalogRegistry metadata and Key…
dkhawk Sep 8, 2026
6cba688
test(qa): add autonomous evaluation suite, motion capture, and review…
dkhawk Sep 8, 2026
dc6d6a3
docs: align AGENTS.md with android-maps-utils guidelines
dkhawk Sep 9, 2026
c395d0e
refactor(style): eliminate wildcard imports and in-code FQCNs per AGE…
dkhawk Sep 9, 2026
04c0c12
fix(snippets): align UtilsSnippets with android-maps-utils 5.x Kotlin…
kikoso Sep 9, 2026
4eb7303
fix(security): address GitHub Advanced Security lint alerts
kikoso Sep 9, 2026
f444f8f
chore: add missing license headers and fix copyright years
kikoso Sep 9, 2026
f3b753f
feat(sample): simulate Fowler / Rattlesnake GPX track in LocationSour…
dkhawk Sep 9, 2026
7e006e6
style(samples): refine UI layout and interactions across Marker, Clou…
dkhawk Sep 9, 2026
08dc42e
test(qa): add multi-step action capture and enhance review dashboard
dkhawk Sep 9, 2026
a327dee
fix(sample): replace @SuppressLint with modern runtime permission lau…
dkhawk Sep 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 2 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,10 @@ jobs:

- name: Build and check
run: |
./gradlew :snippets:app:assembleDebug
./gradlew :snippets:app-ktx:assembleDebug
./gradlew :snippets:app-utils-ktx:assembleDebug
./gradlew :snippets:kotlin-app:assembleDebug
./gradlew :snippets:java-app:assembleDebug
./gradlew :snippets:app-compose:assembleDebug
./gradlew :snippets:app-places-ktx:assembleDebug
./gradlew :snippets:app-utils:assembleDebug

build-tutorials:
runs-on: ubuntu-latest
Expand Down
30 changes: 8 additions & 22 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,9 @@ jobs:
./gradlew :ApiDemos:kotlin-app:lintDebug
./gradlew :ApiDemos:java-app:lintDebug
./gradlew :ApiDemos:common-ui:lintDebug
./gradlew :snippets:app:lintGmsDebug
./gradlew :snippets:app-utils:lintDebug
./gradlew :snippets:app-utils-ktx:lintDebug
./gradlew :snippets:kotlin-app:lintDebug
./gradlew :snippets:java-app:lintDebug
./gradlew :snippets:app-places-ktx:lintDebug
./gradlew :snippets:app-ktx:lintDebug
./gradlew :snippets:app-compose:lintDebug
./gradlew :WearOS:Wearable:lintDebug
./gradlew :FireMarkers:app:lintDebug
Expand All @@ -82,36 +80,24 @@ jobs:
sarif_file: ApiDemos/project/common-ui/build/reports/lint-results-debug.sarif
category: ApiDemos-common-ui

- name: Upload SARIF for snippets:app
- name: Upload SARIF for snippets:kotlin-app
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app/build/reports/lint-results-debug.sarif
category: snippets-app
sarif_file: snippets/kotlin-app/build/reports/lint-results-debug.sarif
category: snippets-kotlin-app

- name: Upload SARIF for snippets:app-utils
- name: Upload SARIF for snippets:java-app
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app-utils/build/reports/lint-results-debug.sarif
category: snippets-app-utils

- name: Upload SARIF for snippets:app-utils-ktx
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app-utils-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-utils-ktx
sarif_file: snippets/java-app/build/reports/lint-results-debug.sarif
category: snippets-java-app

- name: Upload SARIF for snippets:app-places-ktx
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app-places-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-places-ktx

- name: Upload SARIF for snippets:app-ktx
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app-ktx/build/reports/lint-results-debug.sarif
category: snippets-app-ktx

- name: Upload SARIF for snippets:app-compose
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
Expand Down
14 changes: 12 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,15 @@ secrets.properties

# This covers new IDEs, like Antigravity
.vscode/
**/bin/
.kotlin/

# Temporary verification screenshot files
*_screen*.png
sydney_final.png
*_sydney.png
*_verified.png
!**/assets/screenshots/*.png
.kotlin/
.gradle-test/
eval_runs/
__pycache__/
*.pyc
6 changes: 5 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ demonstrate the same features and must stay in sync.
- Adhere to formatting rules defined in `.editorconfig`.
- Do not use wildcard imports (`import foo.*`); use explicit imports.
- Avoid fully qualified class names in source code; declare explicit imports at the file level instead (except to resolve naming collisions or in XML layouts).
- Target **Java 17** (`JavaLanguageVersion.of(17)`) for all project modules. Do not downgrade bytecode to Java 8 or Java 11.

## Building and testing

Expand Down Expand Up @@ -69,7 +70,10 @@ into the root `settings.gradle.kts`; build them from their own directory.

- Use Conventional Commit messages (`feat:`, `fix:`, `docs:`, ...).
release-please parses them to generate versions and CHANGELOG.md; a wrong
prefix causes a wrong release bump. Never edit CHANGELOG.md by hand.
prefix causes a wrong release bump.
- **PR Title Validation**: Ensure PR titles strictly conform to Conventional Commits (e.g., `fix: stale QuadItem removal` instead of `Fix stale QuadItem removal`). When PRs are squash-merged into `main`, GitHub uses the PR title as the default commit header; a non-conforming title prevents release-please from accurately categorizing changes in CHANGELOG.md or calculating semantic version increments.
- Never edit CHANGELOG.md or `.release-please-manifest.json` by hand.
- All pull requests are to be created as drafts (`gh pr create --draft`) until authorization is explicitly given to mark them ready for review. Always inform the user that the PR was created as a draft.
- Keep changes scoped to one sample or one feature across its language
variants; do not mix unrelated samples in one PR.
- Build and test the affected modules before declaring work done, and report actual
Expand Down
27 changes: 24 additions & 3 deletions ApiDemos/project/common-ui/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

/*
* Copyright 2025 Google LLC
* Copyright 2026 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand All @@ -18,6 +18,8 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.ksp)
}

android {
Expand Down Expand Up @@ -45,6 +47,7 @@ android {
}
buildFeatures {
viewBinding = true
compose = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
Expand All @@ -64,12 +67,30 @@ android {
}

dependencies {

implementation(libs.core.ktx)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.play.services.maps)

// Jetpack Compose
implementation(platform(libs.compose.bom))
implementation(libs.ui)
implementation(libs.ui.graphics)
implementation(libs.ui.tooling.preview)
implementation(libs.material3)
implementation(libs.material.icons.extended)
implementation(libs.activity.compose)
debugImplementation(libs.ui.tooling)

// Room
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
ksp(libs.androidx.room.compiler)

// Lifecycle & Coroutines
implementation(libs.lifecycle.runtime.ktx)

testImplementation(libs.junit)
androidTestImplementation(libs.junit)
androidTestImplementation(libs.espresso.core)
}
}
Loading
Loading