summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorRyan Meredith <rwm@udel.edu>2020-05-31 10:00:09 -0400
committerRyan Meredith <rwm@udel.edu>2020-05-31 10:00:09 -0400
commit77f539355da7efd5d8cfcd8620f801b8277bc8ff (patch)
tree0085c97c483b603c77d57e70c3b8a9405b8069c9 /Source/Android/app/src/main/java
parentb3c705fa968b8d9a0ea18da044c6de8841019790 (diff)
Android: Add recursive game paths to UI
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java5
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java12
3 files changed, 16 insertions, 2 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
index d65a3f28f8..b6a1094f18 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java
@@ -317,6 +317,7 @@ public final class SettingsFragmentPresenter
private void addPathsSettings(ArrayList<SettingsItem> sl)
{
+ Setting recursiveISOPaths = null;
Setting defaultISO = null;
Setting NANDRootPath = null;
Setting dumpPath = null;
@@ -326,6 +327,7 @@ public final class SettingsFragmentPresenter
SettingSection coreSection = mSettings.getSection(Settings.SECTION_INI_CORE);
SettingSection generalSection = mSettings.getSection(Settings.SECTION_INI_GENERAL);
+ recursiveISOPaths = generalSection.getSetting(SettingsFile.KEY_RECURSIVE_ISO_PATHS);
defaultISO = coreSection.getSetting(SettingsFile.KEY_DEFAULT_ISO);
NANDRootPath = generalSection.getSetting(SettingsFile.KEY_NAND_ROOT_PATH);
dumpPath = generalSection.getSetting(SettingsFile.KEY_DUMP_PATH);
@@ -333,6 +335,9 @@ public final class SettingsFragmentPresenter
resourcePackPath = generalSection.getSetting(SettingsFile.KEY_RESOURCE_PACK_PATH);
wiiSDCardPath = generalSection.getSetting(SettingsFile.KEY_WII_SD_CARD_PATH);
+ sl.add(new CheckBoxSetting(SettingsFile.KEY_RECURSIVE_ISO_PATHS, Settings.SECTION_INI_GENERAL,
+ R.string.search_subfolders, R.string.search_subfolders_description, false,
+ recursiveISOPaths));
sl.add(new FilePicker(SettingsFile.FILE_NAME_DOLPHIN, SettingsFile.KEY_DEFAULT_ISO,
Settings.SECTION_INI_CORE, R.string.default_ISO, 0, "",
MainPresenter.REQUEST_GAME_FILE, defaultISO));
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
index bb47068d9a..e032e03d02 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/utils/SettingsFile.java
@@ -59,6 +59,7 @@ public final class SettingsFile
public static final String KEY_SLOT_A_DEVICE = "SlotA";
public static final String KEY_SLOT_B_DEVICE = "SlotB";
public static final String KEY_ENABLE_SAVE_STATES = "EnableSaveStates";
+ public static final String KEY_RECURSIVE_ISO_PATHS = "RecursiveISOPaths";
public static final String KEY_DEFAULT_ISO = "DefaultISO";
public static final String KEY_NAND_ROOT_PATH = "NANDRootPath";
public static final String KEY_DUMP_PATH = "DumpPath";
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
index 87837f5464..ec574ffaa4 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java
@@ -4,6 +4,10 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
+import org.dolphinemu.dolphinemu.NativeLibrary;
+import org.dolphinemu.dolphinemu.features.settings.model.Settings;
+import org.dolphinemu.dolphinemu.features.settings.utils.SettingsFile;
+
import java.io.File;
import java.util.HashSet;
import java.util.Set;
@@ -66,13 +70,17 @@ public class GameFileCache
*/
public boolean scanLibrary(Context context)
{
+ boolean recursiveScan = NativeLibrary
+ .GetConfig(SettingsFile.FILE_NAME_DOLPHIN + ".ini", Settings.SECTION_INI_GENERAL,
+ SettingsFile.KEY_RECURSIVE_ISO_PATHS, "False").equals("True");
+
removeNonExistentGameFolders(context);
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
Set<String> folderPathsSet = preferences.getStringSet(GAME_FOLDER_PATHS_PREFERENCE, EMPTY_SET);
String[] folderPaths = folderPathsSet.toArray(new String[folderPathsSet.size()]);
- boolean cacheChanged = update(folderPaths);
+ boolean cacheChanged = update(folderPaths, recursiveScan);
cacheChanged |= updateAdditionalMetadata();
if (cacheChanged)
{
@@ -85,7 +93,7 @@ public class GameFileCache
public native GameFile addOrGet(String gamePath);
- private native boolean update(String[] folderPaths);
+ private native boolean update(String[] folderPaths, boolean recursiveScan);
private native boolean updateAdditionalMetadata();