1396 Commits

Author SHA1 Message Date
Enrique López Mañas
82fd66486c chore: using Gemini for testing 2025-11-19 16:55:54 +01:00
Enrique López-Mañas
240f4ad06a
build: removed HTML extension from header check (#2243)
* build: removed HTML extension from header check

* build: removed HTML extension from header check
2025-11-13 14:20:02 -07:00
semantic-release-bot
597b2cb607 chore(release): 1.19.0 [skip ci]
# [1.19.0](https://github.com/googlemaps-samples/android-samples/compare/v1.18.0...v1.19.0) (2025-11-06)

### Features

* migrate onClick out of the layout files, add testing ([#2328](https://github.com/googlemaps-samples/android-samples/issues/2328)) ([dfa18d2](dfa18d21bf))
v1.19.0
2025-11-06 15:15:21 +00:00
Dale Hawkins
dfa18d21bf
feat: migrate onClick out of the layout files, add testing (#2328)
* feat(test): Add tests and refactor demos to use ViewBinding

This commit introduces a suite of Espresso tests for several demo activities and refactors numerous activities to use ViewBinding, eliminating `findViewById` and `onClick` XML attributes.

- **Testing Infrastructure:**
    - Adds `MapIdlingResource` for both Java and Kotlin test sources to synchronize Espresso tests with map camera movements, preventing flaky tests.
    - Introduces custom Truth subjects (`LatLngSubject`, `LatLngBoundsSubject`) for more readable and precise assertions on map-related objects, with built-in tolerance for floating-point comparisons.
    - Adds new dependencies for testing: `espresso-idling-resource`, `truth`, and `uiautomator`.
    - Increases Gradle daemon heap size to support test execution.

- **New Espresso Tests:**
    - Adds comprehensive tests for `GroundOverlayDemoActivity`, `CameraClampingDemoActivity`, `IndoorDemoActivity`, `CameraDemoActivity`, and `VisibleRegionDemoActivity` in both Java and Kotlin modules.
    - Tests verify UI interactions, camera behavior, and state changes within the demo activities.

- **Code Refactoring:**
    - Enables ViewBinding in the `java-app`, `kotlin-app`, and `common-ui` modules.
    - Refactors all major demo activities (e.g., `GroundOverlayDemoActivity`, `MarkerDemoActivity`, `CircleDemoActivity`, `UiSettingsDemoActivity`) to use ViewBinding.
    - Replaces `android:onClick` XML attributes with programmatic `setOnClickListener` calls, improving code organization and maintainability.
    - Enhances Javadoc and KDoc in `GroundOverlayDemoActivity` to better explain the concepts and implementation details, improving its educational value.

* feat(androidTest): Refactor GroundOverlayDemoActivityTest and add MapProvider

Refactors the GroundOverlayDemoActivityTest to improve reliability and readability. This commit introduces a `MapProvider` interface and a base `MapDemoActivityTest` class to abstract away common map initialization logic.

Key changes include:
- Add a `MapProvider` interface to ensure activities provide a `GoogleMap` object.
- Create an abstract `MapDemoActivityTest` to handle common test setup, including map initialization and idling resources (WIP).
- Update `GroundOverlayDemoActivityTest` to extend `MapDemoActivityTest`, simplifying its setup logic.
- Replace `Thread.sleep()` calls with `idlingResource.waitForIdle()`.
- Update `GroundOverlayDemoActivity` to use `lateinit` for overlays, preventing nullable types.
- Add `maps-utils-ktx` dependency for idiomatic spherical offset calculations.

* fix(test): Improve CircleDemoActivityTest readability and precision

Enhances the `testLongClickAddsNewCircle` in `CircleDemoActivityTest` by adding
detailed comments that explain the test's flow and the critical reason for
camera movements: to minimize precision loss during LatLng to screen coordinate
conversion for accurate click event simulation.

This commit also includes the necessary `LatLngSubject` extension, introducing
a `isWith(tolerance).of(target)` assertion. This new assertion allows for
more precise and readable verification of spherical distances between `LatLng`
objects, directly supporting the improved test logic in `CircleDemoActivityTest`.

* feat(java): Align CircleDemoActivity and tests with Kotlin version

* refactor(test): Extend MapDemoActivityTest and improve synchronization

Refactors the java version of `GroundOverlayDemoActivityTest` to extend the common `MapDemoActivityTest` base class. This change centralizes test setup, teardown, and map interaction logic, removing redundant code and improving maintainability.

- `GroundOverlayDemoActivity` now implements the `MapProvider` interface to correctly expose the map instance and its ready state to the test framework.
- Replaces `Thread.sleep()` calls in `CircleDemoActivityTest` and `GroundOverlayDemoActivityTest` with `idlingResource.waitForIdle()`. This creates more reliable tests by waiting for map events to complete rather than using fixed delays.
- Adds a `waitForIdle(long)` overload to `MapIdlingResource` to handle cases requiring a brief, controlled pause after the map has settled.

* chore: fix missing copyright headers

* refactor(kotlin): Address lint warnings

This commit applies several small refactorings to the Kotlin demo activities, focusing on code modernization and resolving lint issues.

- In `MarkerDemoActivity`, replaces `Math.max()` with the more idiomatic Kotlin function `coerceAtLeast()`.
- Simplifies trigonometric function calls by using top-level `sin` and `cos` from the Kotlin standard library instead of `Math`.
- Removes unused imports from `MarkerDemoActivity`.
- In `LayersDemoActivity`, adds `@SuppressLint("MissingPermission")` to the `onMyLocationToggled` method to address a lint warning.

* refactor(ui): Use android:name for FragmentContainerView

This commit updates the layout files to use the `android:name` attribute instead of the `class` attribute for `FragmentContainerView` to declare the fragment class. This is the modern, recommended practice.

It also removes minor whitespace and `onClick` attributes that are no longer necessary.

- Replaces the `class` attribute with `android:name` for all instances of `SupportMapFragment` and `SupportStreetViewPanoramaFragment` within `FragmentContainerView` tags across multiple demo layouts.
- Removes unnecessary `onClick` attributes from checkboxes in `layers_demo.xml`.
- Cleans up minor whitespace in `camera_clamping_demo.xml`, `street_view_panorama_navigation_demo.xml`, `indoor_demo.xml`, and `ground_overlay_demo.xml`.
2025-11-06 18:09:31 +03:00
Enrique López-Mañas
c624297127
chore: add firemarkers to lint (#2326)
* chore: add firemarkers to link

* chore: build and lint config

* chore: build and lint config

* chore: add firemarker to lint
2025-10-31 09:50:30 -06:00
semantic-release-bot
06dfd71fa2 chore(release): 1.18.0 [skip ci]
# [1.18.0](https://github.com/googlemaps-samples/android-samples/compare/v1.17.0...v1.18.0) (2025-10-31)

### Features

* Introduce FireMarkers Sample ([#2325](https://github.com/googlemaps-samples/android-samples/issues/2325)) ([ad237b2](ad237b2607))
v1.18.0
2025-10-31 07:31:15 +00:00
Dale Hawkins
ad237b2607
feat: Introduce FireMarkers Sample (#2325)
* feat: Adds a new sample demonstrating how to use Google Maps with Firebase Realtime Database on Android.

* feat(viewmodel): Add tests and error handling for controller logic

This commit introduces unit tests for the `MarkersViewModel` and enhances the app's robustness by adding error handling and improving documentation.

- **ViewModel Unit Tests:** Adds unit tests for `MarkersViewModel` using Mockito, Turbine, and Robolectric. The tests verify the controller/agent logic, ensuring that state is correctly managed based on the `controllerId` from Firebase. It also tests the new error reporting mechanism.
- **Error Handling:** Implements a `SharedFlow` in the `MarkersViewModel` to propagate database errors to the UI. The `MainActivity` now observes this flow and displays errors to the user in a `Snackbar`.
- **Architecture Documentation:** Replaces the static SVG architecture diagram with a more detailed Mermaid diagram in `ARCHITECTURE.md`. The new documentation explains the controller/agent synchronization pattern used for animations.
- **Dependency Updates:** Upgrades Gradle to version 9.1.0 and adds `mockito-kotlin` and `turbine` as test dependencies. The `libs.versions.toml` file is reorganized for better clarity.

* chore: Configure Gradle JVM args and expose ViewModel property

This commit includes two maintenance changes: enabling custom JVM arguments for the Gradle daemon and updating the visibility of a property in the `MarkersViewModel`.

* chore: Annotate the version catalog and build.gradle.kts file

- **Gradle Build Documentation:** Introduces extensive documentation and organization to the `libs.versions.toml` and `app/build.gradle.kts` files. Dependencies, plugins, and versions are now grouped logically with comments explaining their purpose, improving maintainability and clarity.
- **README Update:** The main `README.md` is updated to include a description of the new `FireMarkers` sample.
- **Manifest Cleanup:** Removes the redundant `android:label` from the `MainActivity` in the manifest.

* chore: adds copyright to the new source files

* chore: headers

---------

Co-authored-by: Enrique López Mañas <eenriquelopez@gmail.com>
2025-10-31 10:23:30 +03:00
semantic-release-bot
de889b7340 chore(release): 1.17.0 [skip ci]
# [1.17.0](https://github.com/googlemaps-samples/android-samples/compare/v1.16.0...v1.17.0) (2025-10-13)

### Bug Fixes

* images with size zero ([#2290](https://github.com/googlemaps-samples/android-samples/issues/2290)) ([3c4fb12](3c4fb12231))

### Features

* Add EEA Terms of Service notice to README ([#2147](https://github.com/googlemaps-samples/android-samples/issues/2147)) ([6f7e480](6f7e4807c5))
* modernization ApiDemos ([#2288](https://github.com/googlemaps-samples/android-samples/issues/2288)) ([f44422b](f44422bd95))
* updated snippets ([#2289](https://github.com/googlemaps-samples/android-samples/issues/2289)) ([778a365](778a365d12))
* Use Map ID from secrets for Advanced Markers ([#2302](https://github.com/googlemaps-samples/android-samples/issues/2302)) ([092346f](092346f229))
v1.17.0
2025-10-13 16:48:11 +00:00
Enrique López-Mañas
7cfb154178
chore: added Lint flow to modules (#2308)
* chore: added Lint flow to modules

* chore: header for lint

* chore: removed abort on error

* chore: remove lint

* chore: fixed lints

* chore: fix permission
2025-10-13 10:40:58 -06:00
Enrique López-Mañas
1f792733dd
chore: modified CODEOWNERS (#2309) 2025-10-10 10:26:51 -06:00
Dale Hawkins
092346f229
feat: Use Map ID from secrets for Advanced Markers (#2302)
Updates the Advanced Markers demo to programmatically initialize the map when a custom Map ID is not provided in the string resources. This ensures that a valid Map ID from the secrets file is always used, which is a requirement for Advanced Markers to function correctly.

This change includes:
- Adding detailed comments to both the Java and Kotlin versions of the activity to explain the Map ID loading logic.
- Implementing a fallback mechanism to create the `SupportMapFragment` with a `GoogleMapOptions` object that explicitly sets the Map ID.
2025-10-10 15:18:00 +02:00
Dale Hawkins
ffabd3039d
chore: Update Gradle and standardize on Java 17 (#2306)
* chore: Update Gradle wrapper to version 8.8

Upgrades the Gradle wrapper files to version 8.8 to ensure compatibility with the latest features and performance improvements. This includes updating the wrapper JAR, properties, and shell scripts.

* chore: update gradle version

* chore: Standardize on Java 17

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

* Update gradle-wrapper.properties

---------

Co-authored-by: Enrique López-Mañas <eenriquelopez@gmail.com>
2025-10-09 22:41:49 +02:00
Enrique López-Mañas
778a365d12
feat: updated snippets (#2289)
* feat: updated snippets

* feat: excluding lint errors

* fix: merge commit

* feat: updated versions
2025-10-07 11:46:01 -06:00
dependabot[bot]
379c83d872
chore(deps): bump com.google.maps.android:maps-compose from 6.10.0 to 6.12.0 in /snippets (#2300)
chore(deps): bump com.google.maps.android:maps-compose in /snippets

Bumps [com.google.maps.android:maps-compose](https://github.com/googlemaps/android-maps-compose) from 6.10.0 to 6.12.0.
- [Release notes](https://github.com/googlemaps/android-maps-compose/releases)
- [Changelog](https://github.com/googlemaps/android-maps-compose/blob/main/.releaserc)
- [Commits](https://github.com/googlemaps/android-maps-compose/compare/v6.10.0...v6.12.0)

---
updated-dependencies:
- dependency-name: com.google.maps.android:maps-compose
  dependency-version: 6.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 10:04:42 -06:00
Enrique López-Mañas
0e44b0716d
docs: updated URLs (#2291)
* docs: updated URLs

* docs: updated URLs

* docs: updated URLs
2025-10-03 09:47:17 -07:00
Dale Hawkins
b8519f44fe
refactor: Centralize SDK versions in libs.versions.toml (#2294)
* refactor: Centralize SDK versions in libs.versions.toml

Moved compileSdk, minSdk, and targetSdk to libs.versions.toml for ApiDemos and snippets projects to ensure consistency and ease of maintenance.

fix: Corrected top bar layout in Kotlin Advanced Markers demo

The Kotlin version of the Advanced Markers demo was missing a call to applyInsets, causing the top bar to overlap with the system UI. This has been corrected to match the behavior of the Java version.

* refactor: Modernize Gradle scripts and update dependencies

This commit refactors the Gradle build scripts for all snippet modules to align with modern Android development practices.

Key changes include:
- Migrating all plugin and dependency declarations to use the version catalog (`libs.versions.toml`).
- Replacing `id("...")` with `alias(libs.plugins...)` for applying plugins.
- Updating numerous library versions, including AGP, Kotlin, and various Jetpack and Google Maps libraries.
- Setting a `namespace` in all module-level `build.gradle.kts` files.
- Enabling Compose and setting the Java toolchain to version 21 across all modules.
- Enabling minification for release builds.
- Removing the legacy `buildscript` block from the root `build.gradle.kts`.

* refactor: removed coreKtx

* refactor: fix build

* refactor: fix build

* refactor: Remove unused Compose configuration from snippet modules

Removed the Jetpack Compose plugin and `compose = true` build feature from all snippet modules as it was not being used.

fix: Update maps-utils snippets

Corrected several issues in the `app-utils` Java snippets:
- Replaced the deprecated `setWeightedData` method with `updateData` in the Heatmaps demo.
- Initialized an empty list in the Heatmaps demo to prevent a potential NullPointerException.
- Added missing R class imports.

---------

Co-authored-by: Enrique López-Mañas <eenriquelopez@gmail.com>
2025-09-26 15:12:17 -06:00
Enrique López-Mañas
f44422bd95
feat: modernization ApiDemos (#2288)
* feat: modernization ApiDemos

* feat: Gradle
2025-09-26 10:02:24 -06:00
Enrique López-Mañas
3c4fb12231
fix: images with size zero (#2290) 2025-09-26 08:25:44 -06:00
Enrique López-Mañas
73ac16ffca
chore: increased libraries, replaced deprecated methods (#2204) 2025-08-12 13:20:36 -06:00
Dale Hawkins
6f7e4807c5
feat: Add EEA Terms of Service notice to README (#2147)
docs: Add EEA Terms of Service notice to README
2025-07-02 11:20:41 -06:00
Enrique López-Mañas
f66620b88a
chore: fixed paths (#2119) 2025-06-25 12:01:49 -06:00
Enrique López-Mañas
a15cb45067
chore: updated versions (#2135)
* chore: updated versions

* chore: updated snippets

* chore: updated tutorials java

* chore: updated tutorials java

* chore: permission

* chore: permission

* chore: added material
2025-06-25 11:24:13 -06:00
Enrique López Mañas
0595432ad3
chore: unified Java/Kotlin project (#2026)
* chore: unified Kotlin and Java modules

* chore: unified resources

* chore: removed Kotlin

* chore: headers

* chore: headers

* chore: headers

* chore: headers

* chore: added insets

* chore: headers

* chore: renamed

* fix: Refactor map creation, centralize Map ID, add Kotlin boundary controls

This commit refactors how map fragments and Map IDs are handled across the Java and Kotlin demo applications, and introduces feature parity for boundary layer controls in the Kotlin demo.

Key changes include:

- **Programmatic Map Fragment Creation:**
    - Replaced static `<fragment>` map declarations with `<FrameLayout>` containers (`map_fragment_container`) in `data_driven_boundaries_demo.xml` and `data_driven_styling_demo.xml` layouts.
    - Modified `DataDrivenBoundariesActivity` and `DataDrivenDatasetStylingActivity` (Java & Kotlin) to instantiate `SupportMapFragment` programmatically using `SupportMapFragment.newInstance(mapOptions)`.
    - Map options (`GoogleMapOptions`) are now created with the dynamically retrieved Map ID before fragment creation.
      - this allows moving the Map ID out of the xml files

- **Centralized Map ID and Configuration Logic:**
    - Introduced `ApiDemoApplication` in both Java (`java-app`) and Kotlin (`kotlin-app`) modules.
    - This class centralizes Map ID retrieval, checking `BuildConfig.MAP_ID` first, then the `R.string.map_id` resource, providing a consistent source.
    - The Kotlin `ApiDemoApplication` also includes API Key validation on application startup.

- **Kotlin DataDrivenBoundaries Feature Enhancement:**
    - Added boundary layer selection controls (popup menu via `button_feature_type`) to the Kotlin `DataDrivenBoundariesActivity`, achieving parity with the Java version's functionality.
    - Implemented state management for toggling Locality, Administrative Area Level 1, and Country layers.
    - Added dynamic styling logic to apply/remove styles based on layer visibility.
    - Updated feature click handling for country selection, respecting layer activation state.

- **Miscellaneous Improvements:**
    - Added distinct demo titles (`demo_title_java`, `demo_title_kotlin`) in `strings.xml` for better app identification.
    - Updated resource references within Java/Kotlin activities for cleaner imports (e.g., `R.id...` instead of fully qualified names).

* chore: address various lint issues

* fix: explicitly bind checkboxes in the UI

---------

Co-authored-by: dkhawk <107309+dkhawk@users.noreply.github.com>
2025-04-14 14:08:08 -06:00
wesley chun
9d1089f178
chore: update README per template (#1932)
* chore: update README per template
* chore: more README fixes from template

Skipping failed tests for this README update.
2025-03-08 13:43:13 -08:00
semantic-release-bot
a87766a562 chore(release): 1.16.0 [skip ci]
# [1.16.0](https://github.com/googlemaps-samples/android-samples/compare/v1.15.1...v1.16.0) (2025-03-04)

### Features

* added material to samples ([#1991](https://github.com/googlemaps-samples/android-samples/issues/1991)) ([78c0aed](78c0aed172))
v1.16.0
2025-03-04 23:03:25 +00:00
Enrique López Mañas
78c0aed172
feat: added material to samples (#1991)
* feat: added material to samples

* feat: WIP

* feat: added material to samples

* feat: some more samples

* feat: base activity

* feat: some more samples
2025-03-04 15:54:40 -07:00
semantic-release-bot
0ebeb1f2b1 chore(release): 1.15.1 [skip ci]
## [1.15.1](https://github.com/googlemaps-samples/android-samples/compare/v1.15.0...v1.15.1) (2025-02-14)

### Bug Fixes

* support devices with cutouts for DataDrivenDatasetStylingActivity.java demo ([#1979](https://github.com/googlemaps-samples/android-samples/issues/1979)) ([683b21d](683b21da11))
v1.15.1
2025-02-14 22:57:44 +00:00
Dale Hawkins
683b21da11
fix: support devices with cutouts for DataDrivenDatasetStylingActivity.java demo (#1979)
* fix: support devices with cutouts for DataDrivenDatasetStylingActivity.java demo

* fix: remove unnecessary 'res/' from paths in README.md file

* feat(apidemos): enhance DataDrivenBoundariesActivity UI and boundary selection

This commit enhances the DataDrivenBoundariesActivity demo with UI and
functionality improvements focusing on boundary type selection and visual
enhancements.

- Implements Material Design theming and UI elements.
- Adds boundary type selection via PopupMenu (Locality, Admin Area, Country).
- Refactors styling and implements persistent country selection.
- Handles system UI insets for improved display.

These changes improve the demo's user experience and code structure,
better showcasing data-driven boundary styling.

* feat(apidemos): configure dataset-specific zoom levels for datasets demo

This commit introduces dataset-specific zoom levels to the DataDrivenDatasetStylingActivity, enhancing the user experience when switching between datasets.

- Adds a `zoomLevel` field to the `DataSet` class to store the desired zoom level for each dataset.
- Updates the `dataSets` array to include appropriate zoom levels for Boulder, New York, and Kyoto datasets.
- Modifies the `centerMapOnLocation` method to accept a `zoomLevel` parameter, allowing it to be dynamically set.
- Updates the `switchDataSet` method to utilize the `zoomLevel` from the selected `DataSet` when centering the map, ensuring the map zooms to the optimal level for each dataset.
- Removes the previously hardcoded `ZOOM_LEVEL` constant, as the zoom level is now dataset-dependent.

These changes ensure that when a user selects a dataset, the map automatically zooms to a relevant level for that specific dataset, improving clarity and usability of the demo.

Also adds missing copyright header.
2025-02-14 15:51:21 -07:00
semantic-release-bot
45d85ac59c chore(release): 1.15.0 [skip ci]
# [1.15.0](https://github.com/googlemaps-samples/android-samples/compare/v1.14.0...v1.15.0) (2025-02-13)

### Features

* Data-Driven styling samples ([#1771](https://github.com/googlemaps-samples/android-samples/issues/1771)) ([f4654e6](f4654e60a2))
v1.15.0
2025-02-13 22:44:06 +00:00
Enrique López Mañas
f4654e60a2
feat: Data-Driven styling samples (#1771)
* fix: import rememberMarkerState and use the marker state correctly

* feat: dataset styling Kotlin samples

* feat: added DataDrivenBoundariesActivity.kt

* feat: added DataDrivenBoundariesActivity

* feat: added documentation

* feat: added header

* chore: changed MY_MAP_ID to DEMO_MAP_ID

* feat: moved data files to raw

* feat: added DataDrivenBoundariesActivity

* feat: removed unused files

* feat: map id

* chore: replace System.out.println with Log.d

* feat: added region tags

* feat: added different set of DDS

* feat: added different set of DDS

* feat: replacing files

feat: replacing files

* feat: replacing files

* feat: compileSdk 35

* feat: compileSdk 35

* chore: updated README file

* feat: trying to force different datasets

* feat: updated samples

* feat: Add data-driven styling for datasets

This commit introduces data-driven styling for datasets in the ApiDemos application.

The following changes were made:

Added a custom Application class (ApiDemoApplication) to check for the presence and validity of the API key during startup.
Added a new data structure (DataSet) to hold information about each dataset, including its label, dataset ID, location, and styling callback.
Updated the DataDrivenDatasetStylingActivity to use the new data structure and styling callbacks.
Rename the dataset input files to better reflect there contents.

* fix: moves the dataset ids to the secrets.properties file

* feat: significant rewrite to of DataDrivenDatasetStylingActivity

* Makes the app look better on full screen with a cutout
* Uses material elements
* Switch to using secrets for the data set ids
  * more of a convenience to prevent having to remove the ids when submitting
* moves dataset data files to common area since they are not used directly by the app
* Detailed instructions for uploading the data to console (WIP)

* fix: exports the data driven styling activities so they can be run directly

* feat: added header

* feat: change ubuntu-latest

* feat: change ubuntu-latest

* feat: change ubuntu-latest

---------

Co-authored-by: dkhawk <107309+dkhawk@users.noreply.github.com>
2025-02-13 15:37:43 -07:00
Dale Hawkins
95f70aafdd
chore: bump versions for gradle (8.8.0), kotlin(2.1.0), the targetSd… (#1950)
chore: bump versions for gradle (8.8.0), kotlin(2.1.0)), the targetSdk(35) and other deps
2025-01-28 09:15:00 -07:00
dependabot[bot]
d37fc17e4d
chore(deps): bump com.google.maps.android:android-maps-utils from 3.9.0 to 3.10.0 in /snippets (#1949)
chore(deps): bump com.google.maps.android:android-maps-utils

Bumps [com.google.maps.android:android-maps-utils](https://github.com/googlemaps/android-maps-utils) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/googlemaps/android-maps-utils/releases)
- [Changelog](https://github.com/googlemaps/android-maps-utils/blob/main/.releaserc)
- [Commits](https://github.com/googlemaps/android-maps-utils/compare/v3.9.0...v3.10.0)

---
updated-dependencies:
- dependency-name: com.google.maps.android:android-maps-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-24 10:24:08 -07:00
semantic-release-bot
b404c6f9f2 chore(release): 1.14.0 [skip ci]
# [1.14.0](https://github.com/googlemaps-samples/android-samples/compare/v1.13.0...v1.14.0) (2025-01-14)

### Bug Fixes

* add dynamic key values to secrets.properties in idx template ([#1814](https://github.com/googlemaps-samples/android-samples/issues/1814)) ([46abfae](46abfae9ce))
* always use secrets.properties for storing the API keys ([#1812](https://github.com/googlemaps-samples/android-samples/issues/1812)) ([561e829](561e82926e))
* Exports sample activities so they can be run directly ([#1808](https://github.com/googlemaps-samples/android-samples/issues/1808)) ([206cdcf](206cdcf1c3))
* fixed release config ([#1944](https://github.com/googlemaps-samples/android-samples/issues/1944)) ([6b62127](6b62127926))
* fixed release step ([#1770](https://github.com/googlemaps-samples/android-samples/issues/1770)) ([cb53eb4](cb53eb4999))
* fixed secrets in wearable module ([#1788](https://github.com/googlemaps-samples/android-samples/issues/1788)) ([5ea1951](5ea1951521))
* import rememberMarkerState and use the marker state correctly ([#1787](https://github.com/googlemaps-samples/android-samples/issues/1787)) ([5095437](5095437b57))
* prevents infinite recursion when getting the location permission ([#1813](https://github.com/googlemaps-samples/android-samples/issues/1813)) ([5790ff2](5790ff2ad7))
* Re-add MarkerDemoActivity in Kotlin sample ([#1916](https://github.com/googlemaps-samples/android-samples/issues/1916)) ([66db0fa](66db0fa2cf))
* stop memory leak in CoordTileProvider ([#1929](https://github.com/googlemaps-samples/android-samples/issues/1929)) ([55c6297](55c629717a))
* Update emulator host in dev.nix for IDX ([#1893](https://github.com/googlemaps-samples/android-samples/issues/1893)) ([26e5bd3](26e5bd3aba))
* Updates secrets in app-level build.gradle.kts files to set secrets.properties as propertiesFileName. ([#1785](https://github.com/googlemaps-samples/android-samples/issues/1785)) ([dcec2ce](dcec2ce448))
* using rememberMarkerState instead of MarkerState ([#1768](https://github.com/googlemaps-samples/android-samples/issues/1768)) ([6007cc8](6007cc87f5))

### Features

* Introduces an idx folder containing an IDX template, enabling users to open Android tutorials directly in the IDX IDE. ([#1757](https://github.com/googlemaps-samples/android-samples/issues/1757)) ([b32a515](b32a51558f))
* tooling modernization ([#1753](https://github.com/googlemaps-samples/android-samples/issues/1753)) ([42f3887](42f3887bac))
v1.14.0
2025-01-14 17:37:24 +00:00
Enrique López Mañas
6b62127926
fix: fixed release config (#1944) 2025-01-14 10:29:10 -07:00
dkhawk
e4285607ae chore: update dependencies
Updates the following dependencies:

* compileSdk to 35
* androidx.core:core-ktx to 1.15.0
* org.jetbrains.kotlin:kotlin-stdlib-jdk7 to 2.0.21
* id("com.android.application") to 8.8.0
* id("org.jetbrains.kotlin.android") to 2.1.0
* Gradle to 8.11.1
* Also renames the savedState variable to savedInstanceState in AmbientActivity.kt and MainActivity.kt to match the base class.
2025-01-14 09:49:02 -07:00
Dale Hawkins
e0b85bcb7a
build: update Android to 35, kotlin to 2.0.21, lifecycle to 2.8.7 (#1931)
* build: update Android to 35, kotlin to 2.0.21, lifecycle to 2.8.7

* chore: update snippets to target android-35.  Update snippets libraries

* chore: Update minSdk to 23 for the snippets
2025-01-14 08:13:10 -07:00
stanfchristina
55c629717a
fix: stop memory leak in CoordTileProvider (#1929)
Bitmaps served by this provider cause memory leaks after the map is destroyed. Narrowing the scope to a field allows it to be garbage collected and does not affect the provider/activity's ability to serve and render the custom tiles.
2024-12-18 17:05:04 -07:00
antonsurya
66db0fa2cf
fix: Re-add MarkerDemoActivity in Kotlin sample (#1916)
fix: Re-add MarkerDemoActivity that was accidentally removed in 4297488454
2024-12-04 15:57:32 -07:00
Alex
26e5bd3aba
fix: Update emulator host in dev.nix for IDX (#1893)
* IDX emulator implementation was change to localhost:5555

Co-authored-by: alexyfchen <alexyfchen@google.com>
2024-11-25 10:58:07 -07:00
dependabot[bot]
0b8caa625d
chore(deps): bump com.google.maps.android:maps-compose from 6.1.0 to 6.2.1 in /snippets (#1890)
chore(deps): bump com.google.maps.android:maps-compose in /snippets

Bumps [com.google.maps.android:maps-compose](https://github.com/googlemaps/android-maps-compose) from 6.1.0 to 6.2.1.
- [Release notes](https://github.com/googlemaps/android-maps-compose/releases)
- [Changelog](https://github.com/googlemaps/android-maps-compose/blob/main/.releaserc)
- [Commits](https://github.com/googlemaps/android-maps-compose/compare/v6.1.0...v6.2.1)

---
updated-dependencies:
- dependency-name: com.google.maps.android:maps-compose
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-07 13:19:28 -07:00
cemanzano
00c5b8c0e0
Cean sandbox (#1815)
* Add dynamic key values to secrets.properties in idx template

Update idx template to read local.defaults.properties and
generate key entries in secrets.properties file using the
user's provided API key.

* Fix incorrect variable for key

Update key to be keyVar when writing to secrets.properties

* fix: remove newline from comment

Comment contained newline that made the template read the
filename as a command.
2024-09-20 16:33:39 -06:00
cemanzano
46abfae9ce
fix: add dynamic key values to secrets.properties in idx template (#1814)
* Add dynamic key values to secrets.properties in idx template

Update idx template to read local.defaults.properties and
generate key entries in secrets.properties file using the
user's provided API key.

* Fix incorrect variable for key

Update key to be keyVar when writing to secrets.properties
2024-09-20 14:51:15 -06:00
Dale Hawkins
5790ff2ad7
fix: prevents infinite recursion when getting the location permission (#1813)
* fix: prevents infinite recursion when getting the location permission

* remove unnecessary imports
2024-09-19 12:21:52 -06:00
Dale Hawkins
561e82926e
fix: always use secrets.properties for storing the API keys (#1812) 2024-09-19 11:16:35 -06:00
Dale Hawkins
206cdcf1c3
fix: Exports sample activities so they can be run directly (#1808)
* fix: Exports all of the sample activities to make them available to run directly.

* fix: wrap before copyright comment formatting character
2024-09-17 15:54:35 -06:00
Enrique López Mañas
5ea1951521
fix: fixed secrets in wearable module (#1788)
* fix: import rememberMarkerState and use the marker state correctly

* fix: fixed secrets in wearable module

---------

Co-authored-by: dkhawk <107309+dkhawk@users.noreply.github.com>
2024-08-30 09:39:09 -06:00
Dale Hawkins
5095437b57
fix: import rememberMarkerState and use the marker state correctly (#1787) 2024-08-28 12:29:24 -06:00
Enrique López Mañas
6007cc87f5
fix: using rememberMarkerState instead of MarkerState (#1768) 2024-08-27 16:10:31 -06:00
Enrique López Mañas
cb53eb4999
fix: fixed release step (#1770)
* fix: fixed release step

* fix: fixed the assemble flavor (no more gms anymore)
2024-08-27 16:10:07 -06:00
Enrique López Mañas
ac20c0322f
chore: increased versions (#1769) 2024-08-27 10:28:54 -06:00