diff --git a/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/MyDocumentsActivity.java b/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/MyDocumentsActivity.java index 35da2d4ac68fdef9b2fcd34282271a9d6d3c7e63..ce1b94e9a85fa638bf3ef4ecbd9458ee6f265ed0 100644 --- a/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/MyDocumentsActivity.java +++ b/app/src/main/java/fieldscience/cs/earlham/edu/fieldday/MyDocumentsActivity.java @@ -65,13 +65,18 @@ public class MyDocumentsActivity extends Activity { } }); - downloadList = new ArrayList<String>(); dirList = new ArrayList<String>(); localDirList = new ArrayList<File>(); - final File rootDir = new File(directory); - localDirList = getFilesInDir(rootDir); + // Check to see if the root directory exists. If it does, get the list of files in it to + // use for the ListView of files + final File rootDir = createDirectory(directory); + if (rootDir.listFiles() != null) { + if (rootDir.listFiles().length == 0) { + localDirList = getFilesInDir(rootDir); + } + } firstPage = true; context = this; @@ -82,7 +87,7 @@ public class MyDocumentsActivity extends Activity { filesListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { - if (myDocumentsAdapter.getItem(position).isDirectory()){ + if (myDocumentsAdapter.getItem(position).isDirectory()) { File folder = myDocumentsAdapter.getItem(position); localDirList = getFilesInDir(folder); if (!folder.equals(rootDir)) { @@ -131,11 +136,15 @@ public class MyDocumentsActivity extends Activity { public ArrayList<File> getFilesInDir(File directory){ ArrayList<File> list = new ArrayList<File>(); - for (File f : directory.listFiles()) { - list.add(f); - Log.d("File name", f.getName()); + if (directory.listFiles().length == 0) { + return null; + } else { + for (File f : directory.listFiles()) { + list.add(f); + Log.d("File name", f.getName()); + } + return list; } - return list; } public File createDirectory(String dirName) {