Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
a8f3abd
feat(catalog): comprehensive 2D Maps SDK capabilities catalog, intera…
dkhawk Jul 13, 2026
2782cd1
feat: modernize end-user messaging and add interactive verification t…
dkhawk Jul 16, 2026
0ce07ef
fix(ci): update workflow snippet targets and add missing license headers
dkhawk Jul 16, 2026
eb2967b
feat(catalog): implement unified multi-framework sample catalog and r…
dkhawk Sep 1, 2026
9ae6f01
feat(compose): implement Jetpack Compose sample catalog and reviewer …
dkhawk Sep 1, 2026
ea6886a
feat(catalog): use FQCN evaluation IDs and focus frameworks on Kotlin…
dkhawk Sep 1, 2026
f2877d9
feat(manifest): declare ReviewerActivity and CatalogActivity in appli…
dkhawk Sep 1, 2026
171e8e0
feat(compose): add collapsible syntax-highlighted code snippet viewer…
dkhawk Sep 1, 2026
b4389e5
feat(compose): upgrade sample detail and code viewer to spacious full…
dkhawk Sep 1, 2026
2a74e1b
feat(reviewer): add in-sample top bar grading buttons and list-level …
dkhawk Sep 1, 2026
5f1e0f4
test(ui): add BasicMapReviewerUiTest and fix topBar supportActionBar …
dkhawk Sep 1, 2026
f3c94bf
feat(ui): add animated collapsible tabs and search bar, and fix sampl…
dkhawk Sep 1, 2026
ee9a622
feat(reviewer): add unchecked-only filter chip and top bar action
dkhawk Sep 1, 2026
184122f
feat(app): set MainActivity to extend ReviewerActivity
dkhawk Sep 1, 2026
a635184
feat(ui): update FAB to icon-only and rename report export to Generat…
dkhawk Sep 1, 2026
ed9a0d9
fix(export): configure FileProvider and scoped storage for report export
dkhawk Sep 1, 2026
93715ec
feat(reviewer): add clear all evaluations action and confirmation dialog
dkhawk Sep 1, 2026
c0d71b7
feat(samples): implement immersive sticky mode and clean toolbar styling
dkhawk Sep 1, 2026
8825aab
refactor(catalog): replace sticky collapsible header with smooth list…
dkhawk Sep 1, 2026
723f81e
feat(reviewer): auto-collapse reviewed samples with 1-tap expansion
dkhawk Sep 1, 2026
2800bbb
fix(ui): polish collapsed card to clean single-line row with title an…
dkhawk Sep 1, 2026
4d7195d
fix(crash): make applyInsets null-safe and target android.R.id.conten…
dkhawk Sep 1, 2026
91319f7
feat(samples): implement automatic base layout wrapping with reusable…
dkhawk Sep 1, 2026
e70e7be
fix(ui): eliminate top bar title truncation across all sample activities
dkhawk Sep 1, 2026
b8d737f
feat(reviewer): add screenshot capture, markup annotations, pinch zoo…
dkhawk Sep 1, 2026
9a094f4
fix(reviewer): resolve pinch-zoom release jump, smooth pointer tracki…
dkhawk Sep 1, 2026
085ace2
fix(catalog): preserve Info & Code dialog and state across device rot…
dkhawk Sep 1, 2026
68337ca
feat(reviewer): pin bottom action bar in ReviewEvaluationDialog and a…
dkhawk Sep 1, 2026
4121d84
feat(reviewer): use distinct emoji-only buttons, high-contrast fill h…
dkhawk Sep 1, 2026
a0992c7
style(reviewer): format bottom dialog buttons on single line without …
dkhawk Sep 2, 2026
e1a09df
feat(reviewer): show full Info & Code with CodeSnippetView in Criteri…
dkhawk Sep 2, 2026
b66d0b2
feat(snippets): provide authentic, curated code snippets for all 31 c…
dkhawk Sep 2, 2026
0fbd900
fix(snippets): quote exact verbatim source from UiSettingsDemoActivity
dkhawk Sep 2, 2026
4d098d5
refactor(catalog): strictly enforce quoting code surrounded with regi…
dkhawk Sep 2, 2026
b445813
style(snippets): clean up CodeSnippetView header layout and prevent c…
dkhawk Sep 2, 2026
8a60394
feat(catalog): replace code snippets with key API calls and separate …
dkhawk Sep 4, 2026
0f40df8
style(samples): polish sample layouts, coordinate wrapping, and butto…
dkhawk Sep 8, 2026
7c45f68
feat(samples): implement Java/Kotlin parity, animations, and interact…
dkhawk Sep 8, 2026
020933e
refactor(catalog): synchronize SampleCatalogRegistry metadata and Key…
dkhawk Sep 8, 2026
b21a0cb
test(qa): add autonomous evaluation suite, motion capture, and review…
dkhawk Sep 8, 2026
8458c7f
docs: align AGENTS.md with android-maps-utils guidelines
dkhawk Sep 9, 2026
350b2fd
refactor(style): eliminate wildcard imports and in-code FQCNs per AGE…
dkhawk Sep 9, 2026
27df78e
fix(snippets): align UtilsSnippets with android-maps-utils 5.x Kotlin…
kikoso Sep 9, 2026
672a3f4
fix(security): address GitHub Advanced Security lint alerts
kikoso Sep 9, 2026
6882c8f
chore: add missing license headers and fix copyright years
kikoso Sep 9, 2026
40a366f
feat(sample): simulate Fowler / Rattlesnake GPX track in LocationSour…
dkhawk Sep 9, 2026
a9da6f4
style(samples): refine UI layout and interactions across Marker, Clou…
dkhawk Sep 9, 2026
d25c108
test(qa): add multi-step action capture and enhance review dashboard
dkhawk Sep 9, 2026
78736c2
fix(sample): replace @SuppressLint with modern runtime permission lau…
dkhawk Sep 9, 2026
197ab83
test(qa): calibrate sample interaction coordinates and modularize rev…
dkhawk Sep 14, 2026
87675a7
test(visual): add host-side runner and on-device instrumented visual …
dkhawk Sep 14, 2026
305d9fb
refactor(reviewer): extract on-device review app and tools to :ApiDem…
dkhawk Sep 14, 2026
3ec7f3b
refactor(eval): isolate evaluation server and tools to scripts/eval w…
dkhawk Sep 14, 2026
c386bb3
chore: remove machine-specific hostname and user references
dkhawk Sep 14, 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
21 changes: 18 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,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

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

android {
Expand Down Expand Up @@ -45,6 +46,7 @@ android {
}
buildFeatures {
viewBinding = true
compose = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
Expand All @@ -64,12 +66,25 @@ 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)

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

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