Loading play-services-maps-core-mapbox/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ apply plugin: 'kotlin-android-extensions' dependencies { implementation project(':play-services-api') implementation project(':play-services-base-core') implementation("com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1") { exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-accounts' } Loading play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/utils/MultiArchLoader.kt +9 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import android.content.Context import android.content.pm.ApplicationInfo import android.util.Log import com.mapbox.mapboxsdk.LibraryLoader import org.microg.gms.common.Constants import org.microg.gms.common.PackageUtils import java.io.* import java.util.zip.ZipFile Loading @@ -36,9 +38,12 @@ class MultiArchLoader(private val mapContext: Context, private val appContext: C if (primaryCpuAbi != null) { val path = "lib/$primaryCpuAbi/lib$name.so" val cacheFile = File("${appContext.cacheDir.absolutePath}/.gmscore/$path") cacheFile.parentFile.mkdirs() cacheFile.parentFile?.mkdirs() val cacheFileStamp = File("${appContext.cacheDir.absolutePath}/.gmscore/$path.stamp") val cacheVersion = kotlin.runCatching { cacheFileStamp.readText().toInt() }.getOrNull() val mapVersion = PackageUtils.versionCode(mapContext, Constants.GMS_PACKAGE_NAME) val apkFile = File(mapContext.packageCodePath) if (!cacheFile.exists() || cacheFile.lastModified() < apkFile.lastModified()) { if (!cacheFile.exists() || cacheVersion == null || cacheVersion != mapVersion) { val zipFile = ZipFile(apkFile) val entry = zipFile.getEntry(path) if (entry != null) { Loading @@ -46,6 +51,7 @@ class MultiArchLoader(private val mapContext: Context, private val appContext: C } else { Log.d(TAG, "Can't load native library: $path does not exist in $apkFile") } cacheFileStamp.writeText(mapVersion.toString()) } Log.d(TAG, "Loading $name from ${cacheFile.getPath()}") System.load(cacheFile.absolutePath) Loading Loading
play-services-maps-core-mapbox/build.gradle +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ apply plugin: 'kotlin-android-extensions' dependencies { implementation project(':play-services-api') implementation project(':play-services-base-core') implementation("com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.1") { exclude group: 'com.mapbox.mapboxsdk', module: 'mapbox-android-accounts' } Loading
play-services-maps-core-mapbox/src/main/kotlin/org/microg/gms/maps/mapbox/utils/MultiArchLoader.kt +9 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,8 @@ import android.content.Context import android.content.pm.ApplicationInfo import android.util.Log import com.mapbox.mapboxsdk.LibraryLoader import org.microg.gms.common.Constants import org.microg.gms.common.PackageUtils import java.io.* import java.util.zip.ZipFile Loading @@ -36,9 +38,12 @@ class MultiArchLoader(private val mapContext: Context, private val appContext: C if (primaryCpuAbi != null) { val path = "lib/$primaryCpuAbi/lib$name.so" val cacheFile = File("${appContext.cacheDir.absolutePath}/.gmscore/$path") cacheFile.parentFile.mkdirs() cacheFile.parentFile?.mkdirs() val cacheFileStamp = File("${appContext.cacheDir.absolutePath}/.gmscore/$path.stamp") val cacheVersion = kotlin.runCatching { cacheFileStamp.readText().toInt() }.getOrNull() val mapVersion = PackageUtils.versionCode(mapContext, Constants.GMS_PACKAGE_NAME) val apkFile = File(mapContext.packageCodePath) if (!cacheFile.exists() || cacheFile.lastModified() < apkFile.lastModified()) { if (!cacheFile.exists() || cacheVersion == null || cacheVersion != mapVersion) { val zipFile = ZipFile(apkFile) val entry = zipFile.getEntry(path) if (entry != null) { Loading @@ -46,6 +51,7 @@ class MultiArchLoader(private val mapContext: Context, private val appContext: C } else { Log.d(TAG, "Can't load native library: $path does not exist in $apkFile") } cacheFileStamp.writeText(mapVersion.toString()) } Log.d(TAG, "Loading $name from ${cacheFile.getPath()}") System.load(cacheFile.absolutePath) Loading