summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/ComboAlbum.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/ComboAlbum.java')
-rw-r--r--src/com/android/gallery3d/data/ComboAlbum.java24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/com/android/gallery3d/data/ComboAlbum.java b/src/com/android/gallery3d/data/ComboAlbum.java
index e193afa6d..cadd9f8af 100644
--- a/src/com/android/gallery3d/data/ComboAlbum.java
+++ b/src/com/android/gallery3d/data/ComboAlbum.java
@@ -27,13 +27,11 @@ public class ComboAlbum extends MediaSet implements ContentListener {
@SuppressWarnings("unused")
private static final String TAG = "ComboAlbum";
private final MediaSet[] mSets;
- private final boolean[] mDirtySets;
private String mName;
public ComboAlbum(Path path, MediaSet[] mediaSets, String name) {
super(path, nextVersionNumber());
mSets = mediaSets;
- mDirtySets = new boolean[mSets.length];
for (MediaSet set : mSets) {
set.addContentListener(this);
}
@@ -83,24 +81,14 @@ public class ComboAlbum extends MediaSet implements ContentListener {
}
@Override
- protected boolean isDirtyLocked() {
- boolean dirty = false;
- for (int i = 0; i < mSets.length; i++) {
- mDirtySets[i] = mSets[i].isDirtyLocked();
- dirty |= mDirtySets[i]
- || mSets[i].getDataVersion() > getDataVersion();
- }
- return dirty;
- }
-
- @Override
- protected void load() throws InterruptedException {
+ public long reload() {
+ boolean changed = false;
for (int i = 0, n = mSets.length; i < n; ++i) {
- if (mDirtySets[i]) {
- mDirtySets[i] = false;
- mSets[i].load();
- }
+ long version = mSets[i].reload();
+ if (version > mDataVersion) changed = true;
}
+ if (changed) mDataVersion = nextVersionNumber();
+ return mDataVersion;
}
@Override