From 9a47db64251deac94da685a02bdcc2361d8b0992 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Sun, 7 Feb 2010 22:35:54 +0000 Subject: 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 --- src/org/connectbot/PubkeyListActivity.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src') 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 names = new LinkedList(); - 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); -- cgit v1.2.3