diff --git a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/AlberDriver.java b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/AlberDriver.java index b2af2173..09d84c80 100644 --- a/src/pandroid/app/src/main/java/com/panda3ds/pandroid/AlberDriver.java +++ b/src/pandroid/app/src/main/java/com/panda3ds/pandroid/AlberDriver.java @@ -32,30 +32,31 @@ public class AlberDriver { public static native void setShaderJitEnabled(boolean enable); + + public static String parseNativeMode(String mode){ + mode = mode.toLowerCase(); + switch (mode){ + case "r": + case "rb": + return "r"; + case "r+": + case "r+b": + case "rb+": + return "rw"; + case "w+": + return "rwt"; + case "w": + case "wb": + return "wt"; + case "wa": + return "wa"; + } + throw new IllegalArgumentException("Invalid file mode: "+mode); + } + public static int openDocument(String path, String mode){ try { - mode = mode.toLowerCase(); - switch (mode) { - case "rb": - case "rb+": - case "r+b": - mode = "r"; - break; - case "wb": - case "wb+": - case "w+b": - mode = "w"; - break; - case "rwt": - case "wt": - case "rw": - case "r": - case "w": - case "wa": - break; - default: - throw new IllegalArgumentException("Invalid mode: "+mode); - } + mode = parseNativeMode(mode); Context context = PandroidApplication.getAppContext(); Uri uri = FileUtils.obtainUri(path); ParcelFileDescriptor parcel;