summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/SnailAlbum.java
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-05-09 21:17:10 +0800
committerChih-Chung Chang <chihchung@google.com>2012-05-09 21:17:10 +0800
commit82f7ac999aae05b251cfe2c886020780832cd4a3 (patch)
treed025462eb456fc3fb63a1ac0f18d4080fc9923e0 /src/com/android/gallery3d/data/SnailAlbum.java
parentebf0f78490f851766f643d3d45fa351f4e92e091 (diff)
downloadandroid_packages_apps_Snap-82f7ac999aae05b251cfe2c886020780832cd4a3.tar.gz
android_packages_apps_Snap-82f7ac999aae05b251cfe2c886020780832cd4a3.tar.bz2
android_packages_apps_Snap-82f7ac999aae05b251cfe2c886020780832cd4a3.zip
Handle ScreenNail size change.
Bug: 6355399 Change-Id: Ice7560c12aa06cf8ac58cc3883f0888b5c6e71a5
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();
+ }
}