aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/connectbot/service/Relay.java2
-rw-r--r--src/org/connectbot/util/EastAsianWidth.java15
2 files changed, 14 insertions, 3 deletions
diff --git a/src/org/connectbot/service/Relay.java b/src/org/connectbot/service/Relay.java
index 6316159..18bf896 100644
--- a/src/org/connectbot/service/Relay.java
+++ b/src/org/connectbot/service/Relay.java
@@ -60,7 +60,7 @@ public class Relay implements Runnable {
private char[] charArray;
static {
- useJNI = EastAsianWidth.available;
+ useJNI = EastAsianWidth.useJNI;
}
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 de2e175..b27cd48 100644
--- a/src/org/connectbot/util/EastAsianWidth.java
+++ b/src/org/connectbot/util/EastAsianWidth.java
@@ -17,12 +17,15 @@
package org.connectbot.util;
+import android.util.Log;
+
/**
* @author Kenny Root
*
*/
public class EastAsianWidth {
- public static boolean available = false;
+ public static boolean useJNI = false;
+ private static final String TAG = "ConnectBot.EastAsianWidth";
/**
* @param charArray
@@ -37,7 +40,15 @@ public class EastAsianWidth {
static {
try {
System.loadLibrary("org_connectbot_util_EastAsianWidth");
- available = true;
+
+ char[] testInput = {(char)0x4EBA};
+ byte[] testResult = new byte[1];
+ measure(testInput, 0, 1, testResult, true);
+
+ if (testResult[0] == 1)
+ useJNI = true;
+ else
+ Log.d(TAG, "EastAsianWidth JNI measuring not available");
} catch (Exception e) {
// Failure
} catch (UnsatisfiedLinkError e1) {