summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorLéo Lam <leo@leolam.fr>2021-03-05 00:48:04 +0100
committerGitHub <noreply@github.com>2021-03-05 00:48:04 +0100
commit19c5a196298f8d4c116e22b7c0bc9ccb25fce04b (patch)
tree947bb7b37c83643a8bef8973d97d9e917cf10820 /Source/Android/app/src/main/java
parent5efd563b0359d43e948a77a93ef0661c4c7d5090 (diff)
parent873d5f985209939e2518ff694394bfc1c33cc796 (diff)
Merge pull request #9529 from JosJuice/android-broadcast-before-metadata
Android: Broadcast update before updating additional metadata
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFileCache.java16
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheService.java14
2 files changed, 18 insertions, 12 deletions
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 e359d701bc..cca12267b2 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
@@ -99,7 +99,7 @@ public class GameFileCache
*
* @return true if the cache was modified
*/
- public boolean scanLibrary()
+ public boolean update()
{
boolean recursiveScan = BooleanSetting.MAIN_RECURSIVE_ISO_PATHS.getBooleanGlobal();
@@ -107,13 +107,7 @@ public class GameFileCache
String[] folderPaths = folderPathsSet.toArray(new String[0]);
- boolean cacheChanged = update(folderPaths, recursiveScan);
- cacheChanged |= updateAdditionalMetadata();
- if (cacheChanged)
- {
- save();
- }
- return cacheChanged;
+ return update(folderPaths, recursiveScan);
}
public native int getSize();
@@ -122,11 +116,11 @@ public class GameFileCache
public native GameFile addOrGet(String gamePath);
- private native boolean update(String[] folderPaths, boolean recursiveScan);
+ public native boolean update(String[] folderPaths, boolean recursiveScan);
- private native boolean updateAdditionalMetadata();
+ public native boolean updateAdditionalMetadata();
public native boolean load();
- private native boolean save();
+ public native boolean save();
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheService.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheService.java
index 34bf1afa0a..0abd072467 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheService.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/GameFileCacheService.java
@@ -177,12 +177,24 @@ public final class GameFileCacheService extends IntentService
{
synchronized (gameFileCache)
{
- boolean changed = gameFileCache.scanLibrary();
+ boolean changed = gameFileCache.update();
if (changed)
{
updateGameFileArray();
sendBroadcast(CACHE_UPDATED);
}
+
+ boolean additionalMetadataChanged = gameFileCache.updateAdditionalMetadata();
+ if (additionalMetadataChanged)
+ {
+ updateGameFileArray();
+ sendBroadcast(CACHE_UPDATED);
+ }
+
+ if (changed || additionalMetadataChanged)
+ {
+ gameFileCache.save();
+ }
}
}