Mercurial > directorypicker
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);