Merge pull request #2405 from sigmabeta/master

Android: Fix a possible crash in the file browser.
This commit is contained in:
Lioncash 2015-05-12 09:36:39 -04:00
commit b036a4ea17
2 changed files with 20 additions and 10 deletions

View File

@ -22,6 +22,7 @@ public class FileListItem implements Comparable<FileListItem>
public FileListItem(File file) public FileListItem(File file)
{ {
mPath = file.getAbsolutePath(); mPath = file.getAbsolutePath();
mFilename = file.getName();
if (file.isDirectory()) if (file.isDirectory())
{ {
@ -29,12 +30,22 @@ public class FileListItem implements Comparable<FileListItem>
} }
else else
{ {
String fileExtension = mPath.substring(mPath.lastIndexOf('.')); String fileExtension = null;
// Extensions to filter by. int extensionStart = mPath.lastIndexOf('.');
if (extensionStart < 1)
{
// Ignore hidden files & files without extensions.
mType = TYPE_OTHER;
}
else
{
fileExtension = mPath.substring(extensionStart);
// The extensions we care about.
Set<String> allowedExtensions = new HashSet<String>(Arrays.asList(".dff", ".dol", ".elf", ".gcm", ".gcz", ".iso", ".wad", ".wbfs")); Set<String> allowedExtensions = new HashSet<String>(Arrays.asList(".dff", ".dol", ".elf", ".gcm", ".gcz", ".iso", ".wad", ".wbfs"));
// Check that the file has an appropriate extension before trying to read out of it. // Check that the file has an extension we care about before trying to read out of it.
if (allowedExtensions.contains(fileExtension)) if (allowedExtensions.contains(fileExtension))
{ {
mType = NativeLibrary.IsWiiTitle(mPath) ? TYPE_WII : TYPE_GC; mType = NativeLibrary.IsWiiTitle(mPath) ? TYPE_WII : TYPE_GC;
@ -44,8 +55,7 @@ public class FileListItem implements Comparable<FileListItem>
mType = TYPE_OTHER; mType = TYPE_OTHER;
} }
} }
}
mFilename = file.getName();
} }
public int getType() public int getType()

Binary file not shown.