diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java new file mode 100644 index 0000000000..e376f2aca1 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java @@ -0,0 +1,38 @@ +package com.mapbox.mapboxsdk.module.loader; + +import android.content.Context; + +import com.mapbox.mapboxsdk.LibraryLoader; +import com.mapbox.mapboxsdk.MapStrictMode; +import com.mapbox.mapboxsdk.log.Logger; + +import static android.content.ContentValues.TAG; + +/** + * Loads the mapbox-gl shared library + * <p> + * By default uses the {@link System#loadLibrary(String)}, + * use {@link com.mapbox.mapboxsdk.Mapbox#getInstance(Context, String, LibraryLoader)} to provide an alternative + * library loading hook. + * </p> + */ +public class LibraryLoaderImpl implements LibraryLoader { + + private boolean loaded; + + @Override + public void load() { + if (loaded) { + return; + } + + try { + System.loadLibrary("mapbox-gl"); + loaded = true; + } catch (UnsatisfiedLinkError error) { + String message = "Failed to load native shared library."; + Logger.e(TAG, message, error); + MapStrictMode.strictModeViolation(message, error); + } + } +}
\ No newline at end of file |