Android: Fix a possible crash in the file browser if attempting to show a file with no extension.

This commit is contained in:
Eder Bastos 2015-05-11 21:40:42 -04:00
parent 06b7b20e5f
commit 0fa0e55e2c
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)
{
mPath = file.getAbsolutePath();
mFilename = file.getName();
if (file.isDirectory())
{
@ -29,23 +30,32 @@ public class FileListItem implements Comparable<FileListItem>
}
else
{
String fileExtension = mPath.substring(mPath.lastIndexOf('.'));
String fileExtension = null;
// Extensions to filter by.
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.
if (allowedExtensions.contains(fileExtension))
int extensionStart = mPath.lastIndexOf('.');
if (extensionStart < 1)
{
mType = NativeLibrary.IsWiiTitle(mPath) ? TYPE_WII : TYPE_GC;
// Ignore hidden files & files without extensions.
mType = TYPE_OTHER;
}
else
{
mType = TYPE_OTHER;
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"));
// Check that the file has an extension we care about before trying to read out of it.
if (allowedExtensions.contains(fileExtension))
{
mType = NativeLibrary.IsWiiTitle(mPath) ? TYPE_WII : TYPE_GC;
}
else
{
mType = TYPE_OTHER;
}
}
}
mFilename = file.getName();
}
public int getType()

Binary file not shown.