-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Current LocationTracker implementation is nailed to the FusedLocationProviderClient. Therefore moko-geo is unable to work properly on android devices without Google Services installed. Google Services are unavailable/not installed/not used on lots of chinese devices and some of open source firmwares.
This issue is somewhat releated to #16, because running moko-geo sample app on AVD image without Google APIs/Google Play leads to the same result with related log messages:
W/GooglePlayServicesUtil: dev.icerock.moko.samples.geo.debug requires the Google Play Store, but it is missing.
W/GoogleApiManager: The service for com.google.android.gms.internal.location.zzaz is not available [...]
There are at least couple of alternatives that can be used instead of FusedLocationProviderClient:
com.yandex.mapkit.location.LocationManagerfrom Yandex MapKit (don't really know what they are using as underlying GPS service)android.location.LocationManagerfrom Android SDK
Besides, as a user of moko-geo I would like to have an ability to use my own bindings to location services from other custom private/device specific SDK's. So it's also would be nice to have an interface allowing to do such bindings and some APIs allowing to choose different implementations at runtime.