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

Overlay descendants without Context-dependecy that can be created in AsyncTask (again) #373

Merged
merged 4 commits into from
Aug 17, 2016

Conversation

k3b
Copy link
Contributor

@k3b k3b commented Aug 15, 2016

I have a database with 18000 geo-positions (jpg-photos with exif-geo-info) that are displayed as clusters in a map.
Every time visible map area or the zoom level changes, the visible clusters are recalculted from the database:
An AsyncTask creates Clusterpoints (inherited from Overlay) and put them into a FolderOverlay.
When all visible Clusterpoints are calculated in the background, the FolderOverlay is added to the map.

Overlay and descendants can only be created in background task if they donot acces Android-Context.

Up to osmdroid-5.1 I used ResourceProxy for creating Overlays in AsyncTask.

Since Osmdroid-5.2 has removed ResourceProxy this merge request also removes Android-Context dependency from some Overlay descendants
so that these can be created in AsyncTask again.

These Overlay descendants are now Android-Context-free so they can be created in AsyncTask (outside main gui thread):

  • Overlay,
  • OverlayWithIW,
  • ItemizedOverlay
  • Polyline,
  • Polygon,
  • PathOverlay,
  • NonAcceleratedOverlay,
  • MapEventsOverlay,

I deprecated the original constructors and created a new one without Context.
Old Osmdroid programs will get a deprecated compiler warning but should continue working.

This osmdroid issue relates to k3b/APhotoManager#59

….	Polyline, Polygon, PathOverlay, OverlayWithIW, Overlay, NonAcceleratedOverlay, MapEventsOverlay, ItemizedOverlay
Made some basic overlays Context independant so they can be created in AsyncTask.	Polyline, Polygon, PathOverlay, OverlayWithIW, Overlay, NonAcceleratedOverlay, MapEventsOverlay, ItemizedOverlay
@k3b k3b changed the title Overlay descendants without Context that be created in AsyncTask Overlay descendants without Context-dependecy that can be created in AsyncTask (again) Aug 15, 2016
@spyhunter99
Copy link
Collaborator

wow a lot of work. i had initially considered this approach with the 5.1 to 5.2 refactor. The scale bar was the only thing that uses the one field. I have no issues with the PR other than the scary commit message that says don't merge.

@MKergall does this cause any issues from OBP?

@MKergall
Copy link
Collaborator

I don't see particular issues from OBP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants