From bbc1e5a8d932629d8bbce1b1610901a187957fb9 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 18 Oct 2014 17:46:22 -0700 Subject: Add class hiding for KeyEvent debugging Change-Id: Id34acf00f9ec538d81b72b970ae1990c6ed36510 --- src/org/connectbot/service/KeyEventUtil.java | 57 ++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/src/org/connectbot/service/KeyEventUtil.java b/src/org/connectbot/service/KeyEventUtil.java index 8ad645d..1362afa 100644 --- a/src/org/connectbot/service/KeyEventUtil.java +++ b/src/org/connectbot/service/KeyEventUtil.java @@ -16,6 +16,8 @@ */ package org.connectbot.service; +import android.annotation.TargetApi; +import android.os.Build; import android.view.KeyEvent; public class KeyEventUtil { @@ -75,10 +77,60 @@ public class KeyEventUtil { return sb.append('"').toString(); } + private static class ClassCompat { + private static final ClassCompat INSTANCE; + static { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { + INSTANCE = new HCMR2AndNewer(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { + INSTANCE = new HCMR1AndNewer(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { + INSTANCE = new GingerbreadAndNewer(); + } else { + INSTANCE = new ClassCompat(); + } + } + + private ClassCompat() { + } + + public static void appendExtras(StringBuilder d, int keyCode, KeyEvent event) { + INSTANCE.appendForApi(d, keyCode, event); + } + + protected void appendForApi(StringBuilder d, int keyCode, KeyEvent event) { + } + + @TargetApi(9) + private static class GingerbreadAndNewer extends ClassCompat { + @Override + protected void appendForApi(StringBuilder d, int keyCode, KeyEvent event) { + super.appendForApi(d, keyCode, event); + d.append(", source=").append(event.getSource()); + + } + } + @TargetApi(12) + private static class HCMR1AndNewer extends GingerbreadAndNewer { + protected void appendForApi(StringBuilder d, int keyCode, KeyEvent event) { + super.appendForApi(d, keyCode, event); + d.append(", keyCodeToString=").append(KeyEvent.keyCodeToString(keyCode)); + } + } + + @TargetApi(13) + private static class HCMR2AndNewer extends HCMR1AndNewer { + @Override + protected void appendForApi(StringBuilder d, int keyCode, KeyEvent event) { + super.appendForApi(d, keyCode, event); + d.append(", modifiers=").append(Integer.toHexString(event.getModifiers())); + } + } + } + public static String describeKeyEvent(int keyCode, KeyEvent event) { StringBuilder d = new StringBuilder(); d.append("keyCode=").append(keyCode); - d.append(", keyCodeToString=").append(KeyEvent.keyCodeToString(keyCode)); d.append(", event.toString=").append(event.toString()); d.append(", action=").append(event.getAction()); d.append(", characters=").append(printableRepresentation(event.getCharacters())); @@ -88,11 +140,10 @@ public class KeyEventUtil { d.append(", printingKey=").append(event.isPrintingKey()); d.append(", keyCode=").append(event.getKeyCode()); d.append(", metaState=0x").append(Integer.toHexString(event.getMetaState())); - d.append(", modifiers=0x").append(Integer.toHexString(event.getModifiers())); d.append(", number=").append((int) event.getNumber()); d.append(", scanCode=").append(event.getScanCode()); - d.append(", source=").append(event.getSource()); d.append(", unicodeChar=").append(event.getUnicodeChar()); + ClassCompat.appendExtras(d, keyCode, event); return d.toString(); } } -- cgit v1.2.3 From 4d3675bae45b8b0a8dc0baacbf7837e7650d4252 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 18 Oct 2014 19:31:52 -0700 Subject: Disable EC generation when no support Change-Id: I1d03afa0a37cfa2779e1264aaf16052c6539640f --- src/org/connectbot/GeneratePubkeyActivity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/org/connectbot/GeneratePubkeyActivity.java b/src/org/connectbot/GeneratePubkeyActivity.java index 3a438c5..1b8995f 100644 --- a/src/org/connectbot/GeneratePubkeyActivity.java +++ b/src/org/connectbot/GeneratePubkeyActivity.java @@ -22,6 +22,7 @@ import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; +import java.security.Security; import org.connectbot.bean.PubkeyBean; import org.connectbot.util.EntropyDialog; @@ -44,6 +45,7 @@ import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; +import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.SeekBar; @@ -113,6 +115,11 @@ public class GeneratePubkeyActivity extends Activity implements OnEntropyGathere password1.addTextChangedListener(textChecker); password2.addTextChangedListener(textChecker); + // TODO add BC to provide EC for devices that don't have it. + if (Security.getProviders("KeyPairGenerator.EC") == null) { + ((RadioButton) findViewById(R.id.ec)).setEnabled(false); + } + keyTypeGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { -- cgit v1.2.3 From 6af3386e8254b5aa1e26ece4491f414be72244c8 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 18 Oct 2014 19:41:32 -0700 Subject: Fix keyType layout and space out buttons a bit Change-Id: Idd46bb2ada1ff7ac934d5e20faee97842a990102 --- res/layout/act_generatepubkey.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/res/layout/act_generatepubkey.xml b/res/layout/act_generatepubkey.xml index 4aebf84..171ffd8 100644 --- a/res/layout/act_generatepubkey.xml +++ b/res/layout/act_generatepubkey.xml @@ -67,13 +67,14 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RSA" - android:paddingRight="30dip" /> + android:paddingRight="3dip"/> + android:text="DSA" + android:paddingRight="3dip"/> - + + android:enabled="false" + android:layout_marginTop="6dip"/> -- cgit v1.2.3 From f742ae4c1b4fb6a6e9e1cd3fedc7d16e288bc456 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sat, 18 Oct 2014 19:55:37 -0700 Subject: Version 1.8.0 Change-Id: I85ccdb14036ce1d642e07726f82912c2be1bcf93 --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 87e7e18..30b3ad0 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -17,8 +17,8 @@ --> -- cgit v1.2.3