diff src/net/bgreco/DirectoryPicker.java @ 2:a684ded7d920 default tip

Prevent crash when not passed a bundle. Thanks to Curtis Tuplin for the fix.
author Brad Greco
date Wed, 30 May 2012 21:33:07 -0500
parents adceb82e0818
children
line wrap: on
line diff
--- a/src/net/bgreco/DirectoryPicker.java	Sat Jun 04 22:20:54 2011 -0400
+++ b/src/net/bgreco/DirectoryPicker.java	Wed May 30 21:33:07 2012 -0500
@@ -1,4 +1,22 @@
 package net.bgreco;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+
+import android.app.ListActivity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Environment;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.ListView;
+import android.widget.Toast;
+
 /**
 Copyright (C) 2011 by Brad Greco <brad@bgreco.net>
 
@@ -20,22 +38,6 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
  */
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-
-import android.app.ListActivity;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.Environment;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.ListView;
-import android.widget.Toast;
 
 public class DirectoryPicker extends ListActivity {
 
@@ -45,20 +47,24 @@
 	public static final String CHOSEN_DIRECTORY = "chosenDir";
 	public static final int PICK_DIRECTORY = 43522432;
 	private File dir;
+	private boolean showHidden = false;
+	private boolean onlyDirs = true ;
 	
 	@Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         Bundle extras = getIntent().getExtras();
         dir = Environment.getExternalStorageDirectory();
-        String preferredStartDir = extras.getString(START_DIR);
-        final boolean showHidden = extras.getBoolean(SHOW_HIDDEN, false);
-        final boolean onlyDirs = extras.getBoolean(ONLY_DIRS, true);
-        if(preferredStartDir != null) {
-        	File startDir = new File(preferredStartDir);
-        	if(startDir.isDirectory()) {
-        		dir = startDir;
-        	}
+        if (extras != null) {
+        	String preferredStartDir = extras.getString(START_DIR);
+        	showHidden = extras.getBoolean(SHOW_HIDDEN, false);
+        	onlyDirs = extras.getBoolean(ONLY_DIRS, true);
+        	if(preferredStartDir != null) {
+            	File startDir = new File(preferredStartDir);
+            	if(startDir.isDirectory()) {
+            		dir = startDir;
+            	}
+            } 
         }
         
         setContentView(R.layout.chooser_list);