diff options
| author | Eder Bastos <bastos.eder@gmail.com> | 2015-05-11 21:40:42 -0400 |
|---|---|---|
| committer | Eder Bastos <bastos.eder@gmail.com> | 2015-05-12 09:18:29 -0400 |
| commit | 0fa0e55e2c374d3ce81100bd5e51d7088a3b2cd4 (patch) | |
| tree | b2a79f1ee541f8b719213178a0b12bc168024073 /Source/Android/app/src/main/java | |
| parent | 06b7b20e5fc3a3c764e07d9f797dc333be5c84f6 (diff) | |
Android: Fix a possible crash in the file browser if attempting to show a file with no extension.
Diffstat (limited to 'Source/Android/app/src/main/java')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/FileListItem.java | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/FileListItem.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/FileListItem.java index 69b39438e8..b9c8a571cf 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/FileListItem.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/FileListItem.java @@ -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('.')); - - // Extensions to filter by. - Set<String> allowedExtensions = new HashSet<String>(Arrays.asList(".dff", ".dol", ".elf", ".gcm", ".gcz", ".iso", ".wad", ".wbfs")); + String fileExtension = null; - // 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() |
