From 98dbcf0aff9a2d0f42a7f192aa8951440b39565f Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Mon, 2 Apr 2018 18:06:51 -0400 Subject: [PATCH] android: better error checking for external drives --- .../com/reicast/emulator/FileBrowser.java | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/shell/android-studio/app/src/main/java/com/reicast/emulator/FileBrowser.java b/shell/android-studio/app/src/main/java/com/reicast/emulator/FileBrowser.java index d8e2484ca..29e4ea45c 100644 --- a/shell/android-studio/app/src/main/java/com/reicast/emulator/FileBrowser.java +++ b/shell/android-studio/app/src/main/java/com/reicast/emulator/FileBrowser.java @@ -91,39 +91,39 @@ public class FileBrowser extends Fragment { } } } - + public static HashSet getExternalMounts() { final HashSet out = new HashSet(); String reg = "(?i).*vold.*(vfat|ntfs|exfat|fat32|ext3|ext4|fuse).*rw.*"; - String s = ""; + StringBuilder s = new StringBuilder(); try { final Process process = new ProcessBuilder().command("mount") .redirectErrorStream(true).start(); process.waitFor(); - final InputStream is = process.getInputStream(); - final byte[] buffer = new byte[1024]; + InputStream is = process.getInputStream(); + byte[] buffer = new byte[1024]; while (is.read(buffer) != -1) { - s = s + new String(buffer); + s.append(new String(buffer)); } is.close(); - } catch (final Exception e) { - } - - final String[] lines = s.split("\n"); - for (String line : lines) { - if (StringUtils.containsIgnoreCase(line, "secure")) - continue; - if (StringUtils.containsIgnoreCase(line, "asec")) - continue; - if (line.matches(reg)) { - String[] parts = line.split(" "); - for (String part : parts) { - if (part.startsWith("/")) - if (!StringUtils.containsIgnoreCase(part, "vold")) - out.add(part); + String[] lines = s.toString().split("\n"); + for (String line : lines) { + if (StringUtils.containsIgnoreCase(line, "secure")) + continue; + if (StringUtils.containsIgnoreCase(line, "asec")) + continue; + if (line.matches(reg)) { + String[] parts = line.split(" "); + for (String part : parts) { + if (part.startsWith("/")) + if (!StringUtils.containsIgnoreCase(part, "vold")) + out.add(part); + } } } + } catch (final Exception e) { + e.printStackTrace(); } return out; }