I am using Here SDK and everything looks fine with initialization but when I call:
val getMapPackageResult = mapLoader.getMapPackageAtCoordinate(GeoCoordinate(52.500556, 13.398889, 0.0))
to get maps packages to install, MapPackageAtCoordinateListener
call back never get called!
It is not the same when I call mapLoader.getMapPackages
with no GeoCoordination!
Could it be any limitation for my trial account from the back end? Any suggestion?
more details
I am following this sample repo https://github.com/heremaps/here-android-sdk-examples/tree/master/map-downloader
val diskCacheRoot = "${Environment.getExternalStorageDirectory().path}${File.separator}.isolated-here-maps"
MapSettings.setIsolatedDiskCacheRootPath(diskCacheRoot, HERE_MAP_ACTION)
mapLoader = MapLoader.getInstance()
mapLoader.addListener(object : MapLoader.Listener {
override fun onProgress(i: Int) {
Timber.i("onProgress $i")
}
override fun onInstallationSize(l: Long, l1: Long) {
Timber.i("onInstallationSize")
}
override fun onGetMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onGetMapPackagesComplete name = " + mapPackage.englishTitle + " , resultCode = " + resultCode)
}
override fun onCheckForUpdateComplete(b: Boolean, s: String, s1: String, resultCode: MapLoader.ResultCode) {
Timber.i("onCheckForUpdateComplete")
}
override fun onPerformMapDataUpdateComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onPerformMapDataUpdateComplete")
}
override fun onInstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onInstallMapPackagesComplete resultCode = $resultCode")
if (resultCode == MapLoader.ResultCode.OPERATION_SUCCESSFUL) {
Timber.i("onInstallMapPackagesComplete mapPackage = " + mapPackage.title)
} else {
listener.onError(NavigationException())
}
}
override fun onUninstallMapPackagesComplete(mapPackage: MapPackage, resultCode: MapLoader.ResultCode) {
Timber.i("onUninstallMapPackagesComplete")
}
})
mapLoader.addMapPackageAtCoordinateListener({ mapPackage, geoCoordinate, resultCode ->
Timber.i("onGetMapPackageAtCoordinateComplete name = ${mapPackage?.englishTitle}, resultCode = $resultCode")
val packages = ArrayList<Int>()
mapPackage?.let {
packages.add(it.id)
mapLoader.installMapPackages(packages)
} ?: Timber.e("No package loaded")
})
The answer is, it was not the Here SDK!
Another native library for some reason breaks with a Signal = SIGUSR2 (signal SIGUSR2)
error and because of that, the whole Here SDK stops working!
The reason for not being able to track the issue was the Java wrapper works fine but C part of their code was not working anymore.