Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 32 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,28 @@ on:
types: [ build ]
workflow_dispatch:

permissions:
contents: read

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build-ApiDemos:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Build and check
run: |
Expand All @@ -55,16 +60,18 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Build and check
run: ./gradlew :WearOS:Wearable:assembleDebug
Expand All @@ -74,16 +81,18 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Build and check
run: ./gradlew :FireMarkers:app:assembleDebug
Expand All @@ -93,16 +102,18 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Build and check
run: |
Expand All @@ -118,16 +129,18 @@ jobs:
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Build and check
run: |
Expand All @@ -143,9 +156,11 @@ jobs:
- build-Snippets
- build-tutorials
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: set up Java 21
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/generate-v3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,27 @@ on:
repository_dispatch:
types: [ generate-v3 ]

permissions:
contents: read

jobs:
generate-v3:
runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: 17

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Install NDK
run: |
Expand All @@ -48,7 +53,7 @@ jobs:
echo "files-changed=$(git status -s | wc -l)" >> $GITHUB_OUTPUT

- name: PR Changes
uses: peter-evans/create-pull-request@v8
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
if: steps.gradlew-generate-v3.outputs.files-changed > 0
with:
token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }}
Expand Down
36 changes: 21 additions & 15 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,36 @@ on:
branches:
- main

permissions:
contents: read
security-events: write

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false

- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
with:
distribution: 'temurin'
java-version: '21'

- name: Set up Python
uses: actions/setup-python@v6
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
with:
python-version: '3.x'

- name: Check documentation versions
run: python3 scripts/update_docs_versions.py --check

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0

- name: Run Android Lint
run: |
Expand All @@ -59,67 +65,67 @@ jobs:
./gradlew :FireMarkers:app:lintDebug

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

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

- name: Upload SARIF for ApiDemos:common-ui
uses: github/codeql-action/upload-sarif@v4
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: ApiDemos/project/common-ui/build/reports/lint-results-debug.sarif
category: ApiDemos-common-ui

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

- name: Upload SARIF for snippets:app-utils
uses: github/codeql-action/upload-sarif@v4
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@v4
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

- name: Upload SARIF for snippets:app-places-ktx
uses: github/codeql-action/upload-sarif@v4
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@v4
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@v4
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: snippets/app-compose/build/reports/lint-results-debug.sarif
category: snippets-app-compose

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

- name: Upload SARIF for FireMarkers:app
uses: github/codeql-action/upload-sarif@v4
uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
sarif_file: FireMarkers/app/build/reports/lint-results-debug.sarif
category: FireMarkers-app
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ secrets.properties

# This covers new IDEs, like Antigravity
.vscode/
**/bin/
**/bin/
.kotlin/
1 change: 0 additions & 1 deletion ApiDemos/project/common-ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

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

android {
Expand Down
1 change: 0 additions & 1 deletion ApiDemos/project/java-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ android {
}

buildFeatures {
compose = true
buildConfig = true
viewBinding = true
}
Expand Down
3 changes: 2 additions & 1 deletion ApiDemos/project/kotlin-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.secrets.gradle.plugin)
}
Expand Down Expand Up @@ -94,6 +93,8 @@ dependencies {

// Tests
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.idling.resource)
androidTestImplementation(libs.junit)
androidTestImplementation(libs.espresso.core)
androidTestImplementation(libs.truth)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,18 @@ import com.google.common.truth.Truth
*/
class LatLngBoundsSubject private constructor(
failureMetadata: FailureMetadata,
private val actual: LatLngBounds
private val actual: LatLngBounds?
) : Subject(failureMetadata, actual) {

/**
* Asserts that the given [LatLng] is contained within the actual bounds, allowing for
* a small tolerance to account for floating-point inaccuracies.
*/
fun containsWithTolerance(expected: LatLng) {
if (actual == null) {
failWithActual("expected to contain", expected)
return
}
val tolerance = 1e-5
val contains = actual.southwest.latitude - tolerance <= expected.latitude &&
expected.latitude <= actual.northeast.latitude + tolerance &&
Expand All @@ -60,11 +64,13 @@ class LatLngBoundsSubject private constructor(
}

companion object {
fun latLngBounds(): Factory<LatLngBoundsSubject, LatLngBounds> = Factory(::LatLngBoundsSubject)

/**
* Creates a [LatLngBoundsSubject] for asserting on the given [LatLngBounds].
*/
fun assertThat(actual: LatLngBounds): LatLngBoundsSubject {
return Truth.assertAbout(::LatLngBoundsSubject).that(actual)
fun assertThat(actual: LatLngBounds?): LatLngBoundsSubject {
return Truth.assertAbout(latLngBounds()).that(actual)
}
}
}
Loading
Loading