summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/module/loader/LibraryLoaderImpl.java
diff options
context:
space:
mode:
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.java38
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