summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/SnailAlbum.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/SnailAlbum.java')
-rw-r--r--src/com/android/gallery3d/data/SnailAlbum.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/data/SnailAlbum.java b/src/com/android/gallery3d/data/SnailAlbum.java
index 39467bbaa..cd4f803ad 100644
--- a/src/com/android/gallery3d/data/SnailAlbum.java
+++ b/src/com/android/gallery3d/data/SnailAlbum.java
@@ -17,15 +17,17 @@
package com.android.gallery3d.data;
import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
// This is a simple MediaSet which contains only one MediaItem -- a SnailItem.
public class SnailAlbum extends MediaSet {
-
- private MediaItem mItem;
+ private static final String TAG = "SnailAlbum";
+ private SnailItem mItem;
+ private AtomicBoolean mDirty = new AtomicBoolean(false);
public SnailAlbum(Path path, MediaItem item) {
super(path, nextVersionNumber());
- mItem = item;
+ mItem = (SnailItem) item;
}
@Override
@@ -57,6 +59,15 @@ public class SnailAlbum extends MediaSet {
@Override
public long reload() {
+ if (mDirty.compareAndSet(true, false)) {
+ mItem.updateVersion();
+ mDataVersion = nextVersionNumber();
+ }
return mDataVersion;
}
+
+ public void notifyChange() {
+ mDirty.set(true);
+ notifyContentChanged();
+ }
}