From 1e8503432cf5a5c981856528de285f5fdac6242a Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Mon, 10 Nov 2008 07:05:22 +0000 Subject: * Don't present SD card dialog if SD card isn't present * Sort SD card files in natural order * Don't show view flip animation if we're the last console * Add preference to disable status bar (full-screen) * Fix some layout fitting problems --- res/layout/act_generatepubkey.xml | 16 ++++++++-------- res/layout/dia_portforward.xml | 11 ++++++----- res/values/strings.xml | 11 +++++++---- res/xml/preferences.xml | 8 +++++++- src/org/connectbot/ConsoleActivity.java | 13 +++++++++++-- src/org/connectbot/PubkeyListActivity.java | 20 ++++++++++++++++++-- 6 files changed, 57 insertions(+), 22 deletions(-) diff --git a/res/layout/act_generatepubkey.xml b/res/layout/act_generatepubkey.xml index 0a21104..0b0ae5a 100644 --- a/res/layout/act_generatepubkey.xml +++ b/res/layout/act_generatepubkey.xml @@ -26,11 +26,11 @@ android:layout_height="wrap_content" android:paddingLeft="10dip" android:paddingRight="10dip" - android:scrollbars="vertical" android:layout_width="wrap_content"> + android:scrollbars="vertical" android:layout_width="fill_parent"> - + @@ -62,24 +62,24 @@ - + - + - - + + - + - + diff --git a/res/layout/dia_portforward.xml b/res/layout/dia_portforward.xml index f1434a8..ae36c50 100644 --- a/res/layout/dia_portforward.xml +++ b/res/layout/dia_portforward.xml @@ -25,7 +25,7 @@ - + - + - + diff --git a/res/values/strings.xml b/res/values/strings.xml index b035021..ca88622 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4,7 +4,7 @@ Simple, powerful, open-source SSH client. Hosts - Public keys + Pubkeys Port forwards Edit Host @@ -19,17 +19,18 @@ Add Host Delete Host Preferences - Public Keys + Pubkeys About Generate + Import Delete key Gathering Entropy Touch this box to gather randomness: - Generating key... + Generating key pair... Copy signature - Tap "Menu" to create\nor import public keys. + Tap "Menu" to create\nor import key pairs. Unknown format Change Password @@ -49,6 +50,7 @@ Passwords do not match! Wrong password! Private key appears corrupt! + SD card is not inserted! Add Change @@ -74,6 +76,7 @@ camera update lastchecked + fullscreen Use right-side keys Use left-side keys diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index dcf50b6..ac9dd5f 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -68,6 +68,13 @@ android:defaultValue="@string/list_rotation_land" /> + + - \ No newline at end of file diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java index 1204669..d93a0ce 100644 --- a/src/org/connectbot/ConsoleActivity.java +++ b/src/org/connectbot/ConsoleActivity.java @@ -51,6 +51,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; import android.view.Window; +import android.view.WindowManager; import android.view.MenuItem.OnMenuItemClickListener; import android.view.View.OnClickListener; import android.view.View.OnKeyListener; @@ -322,6 +323,12 @@ public class ConsoleActivity extends Activity { this.clipboard = (ClipboardManager)this.getSystemService(CLIPBOARD_SERVICE); this.prefs = PreferenceManager.getDefaultSharedPreferences(this); + // hide status bar if requested by user + if (this.prefs.getBoolean(getString(R.string.pref_fullscreen), false)) { + this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + // request a forced orientation if requested by user String rotate = this.prefs.getString(getString(R.string.pref_rotation), getString(R.string.list_rotation_land)); if(getString(R.string.list_rotation_land).equals(rotate)) { @@ -568,8 +575,11 @@ public class ConsoleActivity extends Activity { // keep current overlay from popping up again View overlay = findCurrentView(R.id.terminal_overlay); if(overlay != null) overlay.startAnimation(fade_stay_hidden); + + // Only show animation if there is something else to go to. + if (flip.getChildCount() > 1) + flip.setInAnimation(slide_left_in); - flip.setInAnimation(slide_left_in); flip.setOutAnimation(slide_left_out); flip.showNext(); ConsoleActivity.this.updateDefault(); @@ -579,7 +589,6 @@ public class ConsoleActivity extends Activity { if(overlay != null) overlay.startAnimation(fade_out); updatePromptVisible(); - } protected void shiftRight() { diff --git a/src/org/connectbot/PubkeyListActivity.java b/src/org/connectbot/PubkeyListActivity.java index 7d0d590..9fd7e86 100644 --- a/src/org/connectbot/PubkeyListActivity.java +++ b/src/org/connectbot/PubkeyListActivity.java @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.InputStream; import java.security.PrivateKey; import java.security.PublicKey; +import java.util.Collections; import java.util.EventListener; import java.util.LinkedList; import java.util.List; @@ -199,7 +200,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener { generatekey.setIcon(android.R.drawable.ic_menu_manage); generatekey.setIntent(new Intent(PubkeyListActivity.this, GeneratePubkeyActivity.class)); - MenuItem importkey = menu.add("Import"); + MenuItem importkey = menu.add(R.string.pubkey_import); importkey.setIcon(android.R.drawable.ic_menu_upload); importkey.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { @@ -210,11 +211,26 @@ public class PubkeyListActivity extends ListActivity implements EventListener { // build list of all files in sdcard root final File sdcard = Environment.getExternalStorageDirectory(); Log.d(TAG, sdcard.toString()); + + // Don't show a dialog if the SD card is completely absent. + final String state = Environment.getExternalStorageState(); + if (Environment.MEDIA_REMOVED.equals(state) + || Environment.MEDIA_BAD_REMOVAL.equals(state) + || Environment.MEDIA_UNMOUNTABLE.equals(state) + || Environment.MEDIA_UNMOUNTED.equals(state)) { + new AlertDialog.Builder(PubkeyListActivity.this) + .setMessage(R.string.alert_sdcard_absent) + .setNegativeButton(android.R.string.cancel, null).create().show(); + return true; + } + List names = new LinkedList(); for(File file : sdcard.listFiles()) { if(file.isDirectory()) continue; names.add(file.getName()); } + Collections.sort(names); + final String[] namesList = names.toArray(new String[] {}); Log.d(TAG, names.toString()); @@ -244,7 +260,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener { } } }) - .setNegativeButton("Cancel", null).create().show(); + .setNegativeButton(android.R.string.cancel, null).create().show(); return true; } -- cgit v1.2.3