summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/FilterTypeSet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/FilterTypeSet.java')
-rw-r--r--src/com/android/gallery3d/data/FilterTypeSet.java20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/com/android/gallery3d/data/FilterTypeSet.java b/src/com/android/gallery3d/data/FilterTypeSet.java
index d6fbbdb9a..477ef73ad 100644
--- a/src/com/android/gallery3d/data/FilterTypeSet.java
+++ b/src/com/android/gallery3d/data/FilterTypeSet.java
@@ -25,7 +25,6 @@ public class FilterTypeSet extends MediaSet implements ContentListener {
private final DataManager mDataManager;
private final MediaSet mBaseSet;
- private boolean mBaseSetIsDirty;
private final int mMediaType;
private final ArrayList<Path> mPaths = new ArrayList<Path>();
private final ArrayList<MediaSet> mAlbums = new ArrayList<MediaSet>();
@@ -66,17 +65,12 @@ public class FilterTypeSet extends MediaSet implements ContentListener {
}
@Override
- protected boolean isDirtyLocked() {
- mBaseSetIsDirty = mBaseSet.isDirtyLocked();
- return mBaseSetIsDirty || mBaseSet.getDataVersion() > getDataVersion();
- }
-
- @Override
- public void load() throws InterruptedException {
- if (mBaseSetIsDirty) {
- mBaseSet.load();
+ public long reload() {
+ if (mBaseSet.reload() > mDataVersion) {
+ updateData();
+ mDataVersion = nextVersionNumber();
}
- updateData();
+ return mDataVersion;
}
@Override
@@ -84,7 +78,7 @@ public class FilterTypeSet extends MediaSet implements ContentListener {
notifyContentChanged();
}
- private void updateData() throws InterruptedException {
+ private void updateData() {
// Albums
mAlbums.clear();
String basePath = "/filter/mediatype/" + mMediaType;
@@ -93,7 +87,7 @@ public class FilterTypeSet extends MediaSet implements ContentListener {
MediaSet set = mBaseSet.getSubMediaSet(i);
String filteredPath = basePath + "/{" + set.getPath().toString() + "}";
MediaSet filteredSet = mDataManager.getMediaSet(filteredPath);
- filteredSet.loadIfDirty();
+ filteredSet.reload();
if (filteredSet.getMediaItemCount() > 0
|| filteredSet.getSubMediaSetCount() > 0) {
mAlbums.add(filteredSet);