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 --- src/org/connectbot/ConsoleActivity.java | 13 +++++++++++-- src/org/connectbot/PubkeyListActivity.java | 20 ++++++++++++++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'src') 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