From 96394da1c22f24026b48ee959209334384fa1c3a Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Thu, 29 Aug 2013 18:07:32 -0500 Subject: [PATCH] [Android] Let NativeLibrary handle initial folder structure creation. --- .../dolphinemu/dolphinemu/DolphinEmulator.java | 13 +------------ .../dolphinemu/dolphinemu/NativeLibrary.java | 6 +++++- Source/Core/DolphinWX/Src/MainAndroid.cpp | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/DolphinEmulator.java b/Source/Android/src/org/dolphinemu/dolphinemu/DolphinEmulator.java index 8f8d935216..c140f28d7f 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/DolphinEmulator.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/DolphinEmulator.java @@ -63,27 +63,16 @@ public final class DolphinEmulator extends Activity Intent ListIntent = new Intent(this, GameListActivity.class); startActivityForResult(ListIntent, 1); - // Make the assets directory String BaseDir = Environment.getExternalStorageDirectory()+File.separator+"dolphin-emu"; - File directory = new File(BaseDir); - directory.mkdirs(); - String ConfigDir = BaseDir + File.separator + "Config"; - directory = new File(ConfigDir); - directory.mkdirs(); - String GCDir = BaseDir + File.separator + "GC"; - directory = new File(GCDir); - directory.mkdirs(); - String WiiDir = BaseDir + File.separator + "Wii"; - directory = new File(WiiDir); - directory.mkdirs(); // Copy assets if needed File file = new File(WiiDir + File.separator + "setting-usa.txt"); if(!file.exists()) { + NativeLibrary.CreateUserFolders(); CopyAsset("ButtonA.png", BaseDir + File.separator + "ButtonA.png"); CopyAsset("ButtonB.png", BaseDir + File.separator + "ButtonB.png"); CopyAsset("ButtonStart.png", BaseDir + File.separator + "ButtonStart.png"); diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java index 0af265697a..7dbec2daf7 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -118,7 +118,11 @@ public final class NativeLibrary */ public static native void LoadState(int slot); - + /** + * Creates the initial folder structure in /sdcard/dolphin-emu/ + * + */ + public static native void CreateUserFolders(); /** * Begins emulation. diff --git a/Source/Core/DolphinWX/Src/MainAndroid.cpp b/Source/Core/DolphinWX/Src/MainAndroid.cpp index 065cddee8c..c9446acda5 100644 --- a/Source/Core/DolphinWX/Src/MainAndroid.cpp +++ b/Source/Core/DolphinWX/Src/MainAndroid.cpp @@ -309,6 +309,23 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_LoadState(JN State::Load(slot); } +JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_CreateUserFolders(JNIEnv *env, jobject obj) +{ + File::CreateFullPath(File::GetUserPath(D_CONFIG_IDX)); + File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX)); + File::CreateFullPath(File::GetUserPath(D_WIIUSER_IDX)); + File::CreateFullPath(File::GetUserPath(D_CACHE_IDX)); + File::CreateFullPath(File::GetUserPath(D_DUMPDSP_IDX)); + File::CreateFullPath(File::GetUserPath(D_DUMPTEXTURES_IDX)); + File::CreateFullPath(File::GetUserPath(D_HIRESTEXTURES_IDX)); + File::CreateFullPath(File::GetUserPath(D_SCREENSHOTS_IDX)); + File::CreateFullPath(File::GetUserPath(D_STATESAVES_IDX)); + File::CreateFullPath(File::GetUserPath(D_MAILLOGS_IDX)); + File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX) + USA_DIR DIR_SEP); + File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX) + EUR_DIR DIR_SEP); + File::CreateFullPath(File::GetUserPath(D_GCUSER_IDX) + JAP_DIR DIR_SEP); +} + JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run(JNIEnv *env, jobject obj, jobject _surf) { surf = ANativeWindow_fromSurface(env, _surf);