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

For discussion, splitting up the sample app and some additional configurations #527

Closed
spyhunter99 opened this issue Jan 10, 2017 · 7 comments
Milestone

Comments

@spyhunter99
Copy link
Collaborator

Recently I thinking about the "Open Map" app in the play store, "OpenStreetMapView" in source and was wondering if it were possible to turn it into the ultra demo app by also including forge with it and eventually geopackage. This presents a few problems

  1. the sample app is also used for nearly all CI tests. If osmdroid-android is min api 8, then we have to keep the app used for CI tests at api 8.
  2. Geopackage is going to force a minsdk of 14, Mapsforge is api 11
  3. Still need CI tests on api 8
  4. Would be nice to still have an demo app that is purely ASF licensed (which means Mapsforge would be out for this)
  5. would be nice to have a config for fdroid repo

I was also thinking that it may be help for users of osmdroid to be able to take some of the stuff from the sample app and use it directly in their application. Perhaps the preference activity would be a good candidate.

So i propose that we do the following

  • new sample application just for all api 8 functions (basically what the current OpenStreetMapView is)
  • modify the existing OpenStreetMapViewer to include the mapsforge libraries and their examples
  • remove the osmdroid-forge-app as it won't be needed anymore

this also produces a few problems

  • we won't want to duplicate code between the api8 test app and the main demo app. This can be accomplished via gradle extra source folders, or separating things into aar's leaving the apk's to be next to nothing. It's also possible use some gradle copy tasks but that would get yucky
  • licensing, specially with forge in the mix, becomes unclear. In general anything that depends on GPL also becomes GPL. It's possible to do a plugin with dynamic class loading to overcome the hard link but i'm not a lawyer.

this may be more work than it's worth and separate demo apps may be still be the best option

any thoughts or opinions on this?

@devemux86
Copy link

devemux86 commented Jan 10, 2017

Mapsforge is licensed under LGPL and supports Android 2.3.3 (API level 10) and above. 🙂

spyhunter99 added a commit that referenced this issue Jan 14, 2017
…age and mapsforge.

#527 found a simplier solution
@spyhunter99
Copy link
Collaborator Author

easier solution, add, ditch the forge app, add Open Map with the dependencies of forge and geopackage, override the minsdk values and exclude google play services. done

@spyhunter99
Copy link
Collaborator Author

@devemux86 didn't realize you follow osmdroid but awesome. love your renderer. LGPL and a strange license. i'm not exactly sure what that makes the sample app.

@spyhunter99 spyhunter99 added this to the v5.6.3 milestone Jan 14, 2017
@spyhunter99
Copy link
Collaborator Author

resolved on #180

@devemux86
Copy link

@spyhunter99 I used Osmdroid a lot and I'm happy that it continues to be active. 🙂

@spyhunter99
Copy link
Collaborator Author

@devemux86 i could use your help on a forge specific thing. I'm getting OOM errors and I think i'm not disposing of the forge objects correctly. Are there any cleanup procedures necessary other than
AndroidGraphicFactory.clearResourceMemoryCache(); and MultiMapDataStore.close()?

spyhunter99 added a commit that referenced this issue Jan 15, 2017
…forge sample, memory leaks, unclosed database connections for sqlcache. Memory dump is related to harmony
@devemux86
Copy link

devemux86 commented Jan 15, 2017

See the cleanup at the guide here.
At exit we use MapView.destroyAll, you could pick any of the calls depending on the classes being used.

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

No branches or pull requests

2 participants