diff options
Diffstat (limited to 'src/com/android/gallery3d/data/SnailAlbum.java')
-rw-r--r-- | src/com/android/gallery3d/data/SnailAlbum.java | 17 |
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(); + } } |