aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/connectbot/service/Relay.java7
-rw-r--r--src/org/connectbot/util/EastAsianWidth.java11
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
+ }
+ }
}