Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo clustering with ViewModel #506

Merged
merged 19 commits into from
Oct 21, 2019
Merged

Conversation

jeffdgr8
Copy link
Contributor

@jeffdgr8 jeffdgr8 commented Mar 24, 2019

Move algorithm lock from ClusterManager to Algorithm to tie the locking to the algorithm object, to better allow reusing the algorithm in multiple ClusterManager instances, to best support retaining the algorithm in a ViewModel.

Add a demo of clustering using a view model to retain the cluster item data between configuration changes.

Add removeItems() for optimally removing many items, without repeatedly locking and unlocking the algorithm in a tight loop.

Update all demos to only move map camera on initial load, allowing configuration changes to restore the camera position. Moved to #567

Update URLs to HTTPS (one no longer works with HTTP).

Only move the camera to the starting location when not restoring
Avoid locking and unlocking the algorithm in a tight loop when removing many cluster items
Allow the algorithm to handle its own locking, so it can be reused in another ClusterManager instance. Also allow adding/removing items with proper locking outside of ClusterManager. For best ViewModel support.
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Sep 20, 2019
@jpoehnelt jpoehnelt self-requested a review September 20, 2019 21:30
@jpoehnelt jpoehnelt added the type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. label Sep 20, 2019
@jpoehnelt jpoehnelt added the triage me I really want to be triaged. label Oct 14, 2019
@jpoehnelt
Copy link
Contributor

@jeffdgr8 Can you split this up into a couple separate prs?

@jeffdgr8
Copy link
Contributor Author

@jeffdgr8 Can you split this up into a couple separate prs?

I made a PR with the demo map restore changes by themselves. #567 After this PR is merged, it'll simplify this diff. I couldn't pull those changes out completely, as there are dependencies in this PR.

@jpoehnelt jpoehnelt merged commit bb3587f into googlemaps:master Oct 21, 2019
@jpoehnelt jpoehnelt removed the triage me I really want to be triaged. label Oct 21, 2019
@jeffdgr8 jeffdgr8 deleted the viewmodel branch October 29, 2019 22:43
pauminku added a commit to pauminku/android-maps-utils that referenced this pull request Nov 26, 2019
* googleOrigin/master: (107 commits)
  Remove unnecessary interface method public modifiers. (googlemaps#587)
  Remove unnecessary primitives boxing. (googlemaps#586)
  Fix googlemaps#575 - Change Travis config, use matrix of API emulators (googlemaps#585)
  Retain the bitmap cache (googlemaps#381)
  Made GeoJsonParser with parseGeometry public to use the parser standalone. (googlemaps#492)
  Fix googlemaps#570 - Use project GitHub URL for remote KML loading demo (googlemaps#581)
  Bump Gradle plugin for Android Studio v3.5.2 (googlemaps#574)
  Fix googlemaps#575 - Use API 26 emulator instead of API 28 (googlemaps#576)
  Fix googlemaps#371 - Run emulator-based unit tests on Travis (googlemaps#573)
  Fix googlemaps#371 - Run emulator-based unit tests on Travis (googlemaps#573)
  Fix googlemaps#532 - Use ContextCompat to load drawable resources for scaling (googlemaps#571)
  Change test methods visibility (googlemaps#569)
  Release 0.6.2 (googlemaps#568)
  Demo clustering with ViewModel (googlemaps#506)
  Differentiate between initial start and configuration change restore (googlemaps#567)
  Fix wrapping around IDL (googlemaps#564)
  Update Gradle wrapper to 5.6.3 (googlemaps#566)
  Add MaxIntensity functionality for user defined intensities on HeatMapTiles (googlemaps#499)
  Use float zoom to calculate visible bounds (googlemaps#483)
  Remove apklib publishing (googlemaps#563)
  ...

# Conflicts:
#	library/src/androidTest/java/com/google/maps/android/PolyUtilTest.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants