aboutsummaryrefslogtreecommitdiff
path: root/base/src
diff options
context:
space:
mode:
authorMenny Even Danan <menny@evendanan.net>2016-03-30 15:55:15 +0000
committerMenny Even Danan <menny@evendanan.net>2016-03-30 16:07:03 +0000
commit6d35831bd9da9e1d8b847da8356a20324c7f69b6 (patch)
treeb27bd9aeb062d7bd43872401cb6b3514aea099b4 /base/src
parent3787ab70af45352e1c6d85c07e3172b187deb84b (diff)
downloadAnySoftKeyboard-6d35831bd9da9e1d8b847da8356a20324c7f69b6.tar.gz
AnySoftKeyboard-6d35831bd9da9e1d8b847da8356a20324c7f69b6.tar.bz2
ReLinker integration. Issue #589
Diffstat (limited to 'base/src')
-rw-r--r--base/src/main/java/com/anysoftkeyboard/utils/CompatUtils.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/base/src/main/java/com/anysoftkeyboard/utils/CompatUtils.java b/base/src/main/java/com/anysoftkeyboard/utils/CompatUtils.java
index 758a1b291..ce17040d5 100644
--- a/base/src/main/java/com/anysoftkeyboard/utils/CompatUtils.java
+++ b/base/src/main/java/com/anysoftkeyboard/utils/CompatUtils.java
@@ -17,14 +17,18 @@
package com.anysoftkeyboard.utils;
import android.annotation.TargetApi;
+import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.PopupWindow;
+import com.getkeepsafe.relinker.ReLinker;
+
import java.lang.reflect.Method;
import java.util.Locale;
@@ -91,4 +95,22 @@ public class CompatUtils {
public static void unbindDrawable(Drawable d) {
if (d != null) d.setCallback(null);
}
+
+ public static void loadNativeLibrary(@NonNull Context context, @NonNull String library, @NonNull String libraryVersion) {
+ if (Build.VERSION.SDK_INT >= 9) {
+ ReLinker.loadLibrary(context, library, libraryVersion);
+ } else {
+ try {
+ System.loadLibrary(library);
+ } catch (UnsatisfiedLinkError ule) {
+ Log.e(TAG, "******** Could not load native library "+library+" ********");
+ Log.e(TAG, "******** Could not load native library "+library+" ********", ule);
+ Log.e(TAG, "******** Could not load native library "+library+" ********");
+ } catch (Throwable t) {
+ Log.e(TAG, "******** Failed to load native dictionary library "+library+" ********");
+ Log.e(TAG, "******** Failed to load native dictionary library "+library+" *******", t);
+ Log.e(TAG, "******** Failed to load native dictionary library "+library+" ********");
+ }
+ }
+ }
}