diff src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java @ 52:0e3fc85d0586 tn5250

start tn5250 integration
author Carl Byington <carl@five-ten-sg.com>
date Wed, 11 Jun 2014 12:18:18 -0700
parents 8c6de858bb73
children e872762ec105
line wrap: on
line diff
--- a/src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java	Wed Jun 11 11:54:52 2014 -0700
+++ b/src/com/five_ten_sg/connectbot/service/TerminalKeyListener.java	Wed Jun 11 12:18:18 2014 -0700
@@ -121,6 +121,10 @@
         buffer.write(0x1b);
     }
 
+    protected void sendEncoded(String s) {
+        buffer.write(s.getBytes(encoding));
+    }
+
     /**
      * Handle onKey() events coming down from a {@link com.five_ten_sg.connectbot.TerminalView} above us.
      * Modify the keys to make more sense to a host then pass it to the vt320.
@@ -198,8 +202,7 @@
 
             if (keyCode == KeyEvent.KEYCODE_UNKNOWN &&
                     event.getAction() == KeyEvent.ACTION_MULTIPLE) {
-                byte[] input = event.getCharacters().getBytes(encoding);
-                buffer.write(input);
+                sendEncoded(event.getCharacters());
                 return true;
             }
 
@@ -289,9 +292,7 @@
                 if (uchar < 0x80)
                     buffer.write(uchar);
                 else
-                    // TODO write encoding routine that doesn't allocate each time
-                    buffer.write(new String(Character.toChars(uchar))
-                                 .getBytes(encoding));
+                    sendEncoded(new String(Character.toChars(uchar)));
 
                 return true;
             }
@@ -794,7 +795,7 @@
         }
     }
 
-    private void metaKeyUp(int code) {
+    protected void metaKeyUp(int code) {
         if ((metaState & code) != 0) {
             metaState &= ~code;
             bridge.redraw();