Browse Source

Perform additional null checks in ExternalFilesManager (#6203)

pull/6204/head
Anders Jenbo 3 years ago committed by GitHub
parent
commit
2ec60eb2ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      android-project/app/src/main/java/org/diasurgical/devilutionx/ExternalFilesManager.java

20
android-project/app/src/main/java/org/diasurgical/devilutionx/ExternalFilesManager.java

@ -59,20 +59,28 @@ public class ExternalFilesManager {
if (Build.VERSION.SDK_INT >= 19) {
File[] externalDirs = context.getExternalFilesDirs(null);
for (int i = 0; i < externalDirs.length; i++) {
File dir = externalDirs[i];
for (File dir : externalDirs) {
if (dir == null) {
continue;
}
File[] iniFiles = dir.listFiles((dir1, name) -> name.equals("diablo.ini"));
if (iniFiles.length > 0)
if (iniFiles != null && iniFiles.length > 0) {
return dir.getAbsolutePath();
}
}
for (int i = 0; i < externalDirs.length; i++) {
File dir = externalDirs[i];
if (dir.listFiles().length > 0)
for (File dir : externalDirs) {
if (dir == null) {
continue;
}
File[] lastFiles = dir.listFiles();
if (lastFiles != null && lastFiles.length > 0) {
return dir.getAbsolutePath();
}
}
}
// Fallback to the primary external storage directory
return context.getExternalFilesDir(null).getAbsolutePath();
}

Loading…
Cancel
Save