diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/service/Relay.java | 7 | ||||
-rw-r--r-- | src/org/connectbot/util/EastAsianWidth.java | 11 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/org/connectbot/service/Relay.java b/src/org/connectbot/service/Relay.java index e9ff6c5..8a9f31f 100644 --- a/src/org/connectbot/service/Relay.java +++ b/src/org/connectbot/service/Relay.java @@ -61,12 +61,7 @@ public class Relay implements Runnable { private char[] charArray; static { - try { - System.loadLibrary("cbicu"); - } catch (UnsatisfiedLinkError e) { - Log.e(TAG, "Could not load cbicu library; using fallback width measurement method", e); - useJNI = false; - } + useJNI = EastAsianWidth.available; } public Relay(TerminalBridge bridge, AbsTransport transport, vt320 buffer, String encoding) { diff --git a/src/org/connectbot/util/EastAsianWidth.java b/src/org/connectbot/util/EastAsianWidth.java index d99d06f..19d5d3c 100644 --- a/src/org/connectbot/util/EastAsianWidth.java +++ b/src/org/connectbot/util/EastAsianWidth.java @@ -8,6 +8,8 @@ package org.connectbot.util; * */ public class EastAsianWidth { + public static boolean available = false; + /** * @param charArray * @param i @@ -17,4 +19,13 @@ public class EastAsianWidth { */ public native static void measure(char[] charArray, int start, int end, byte[] wideAttribute, boolean isLegacyEastAsian); + + static { + try { + System.loadLibrary("org_connectbot_util_EastAsianWidth"); + available = true; + } catch (Exception e) { + // Failure + } + } } |