aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2010-02-20 20:31:40 +0000
committerKenny Root <kenny@the-b.org>2010-02-20 20:31:40 +0000
commit599f86ad71971189f00ad2e7f90e81d39356334b (patch)
tree12be37a6f1264050ad35f3c56df2802e302109b5 /src
parent8f71608665fb4feec37f3b68cfb660c3e358b87b (diff)
downloadconnectbot-599f86ad71971189f00ad2e7f90e81d39356334b.tar.gz
connectbot-599f86ad71971189f00ad2e7f90e81d39356334b.tar.bz2
connectbot-599f86ad71971189f00ad2e7f90e81d39356334b.zip
Make sure EastAsianWidth JNI is working before using it
git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@482 df292f66-193f-0410-a5fc-6d59da041ff2
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) {