aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2010-02-07 22:35:54 +0000
committerKenny Root <kenny@the-b.org>2010-02-07 22:35:54 +0000
commit9a47db64251deac94da685a02bdcc2361d8b0992 (patch)
tree171a3b9cc7d3d6c25d447cf1218cf66a8b307195
parent97f8879dded4936ebdb893c9dc339e8fe76e335e (diff)
downloadconnectbot-9a47db64251deac94da685a02bdcc2361d8b0992.tar.gz
connectbot-9a47db64251deac94da685a02bdcc2361d8b0992.tar.bz2
connectbot-9a47db64251deac94da685a02bdcc2361d8b0992.zip
Be smarter about errors in simple file picker
Don't NPE when someone has their SD card in a weird state. git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@467 df292f66-193f-0410-a5fc-6d59da041ff2
-rw-r--r--AndroidManifest.xml2
-rw-r--r--src/org/connectbot/PubkeyListActivity.java17
2 files changed, 11 insertions, 8 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f5def67..db51eeb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.connectbot"
android:versionName="1.7-dev"
- android:versionCode="246">
+ android:versionCode="247">
<application
android:icon="@drawable/icon"
diff --git a/src/org/connectbot/PubkeyListActivity.java b/src/org/connectbot/PubkeyListActivity.java
index 5413f7a..df21b7b 100644
--- a/src/org/connectbot/PubkeyListActivity.java
+++ b/src/org/connectbot/PubkeyListActivity.java
@@ -577,10 +577,8 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
// 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)) {
+ if (!Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)
+ && !Environment.MEDIA_MOUNTED.equals(state)) {
new AlertDialog.Builder(PubkeyListActivity.this)
.setMessage(R.string.alert_sdcard_absent)
.setNegativeButton(android.R.string.cancel, null).create().show();
@@ -588,9 +586,14 @@ public class PubkeyListActivity extends ListActivity implements EventListener {
}
List<String> names = new LinkedList<String>();
- for(File file : sdcard.listFiles()) {
- if(file.isDirectory()) continue;
- names.add(file.getName());
+ {
+ File[] files = sdcard.listFiles();
+ if (files != null) {
+ for(File file : sdcard.listFiles()) {
+ if(file.isDirectory()) continue;
+ names.add(file.getName());
+ }
+ }
}
Collections.sort(names);