diff options
Diffstat (limited to 'src/com/android/gallery3d/data/ComboAlbum.java')
-rw-r--r-- | src/com/android/gallery3d/data/ComboAlbum.java | 24 |
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 |