From 8af0426fff43fee962d3c23b8885d453ad6c2f3c Mon Sep 17 00:00:00 2001 From: John Reck Date: Tue, 15 Jan 2013 17:50:39 -0800 Subject: [PATCH] Add a blocking load to MediaSet Change-Id: I367975fd33f884fb7e576b7064c495bdb7a3ce7b --- src/com/android/gallery3d/data/ComboAlbumSet.java | 9 +++++++++ src/com/android/gallery3d/data/MediaSet.java | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/src/com/android/gallery3d/data/ComboAlbumSet.java b/src/com/android/gallery3d/data/ComboAlbumSet.java index 3f3674500..a2a041279 100644 --- a/src/com/android/gallery3d/data/ComboAlbumSet.java +++ b/src/com/android/gallery3d/data/ComboAlbumSet.java @@ -85,6 +85,15 @@ public class ComboAlbumSet extends MediaSet implements ContentListener { } @Override + public boolean loadIfDirty() { + boolean changed = false; + for (int i = 0; i < mSets.length; i++) { + changed |= mSets[i].loadIfDirty(); + } + return changed; + } + + @Override public void onContentDirty() { notifyContentChanged(); } diff --git a/src/com/android/gallery3d/data/MediaSet.java b/src/com/android/gallery3d/data/MediaSet.java index 87b5f56ef..9bc148f89 100644 --- a/src/com/android/gallery3d/data/MediaSet.java +++ b/src/com/android/gallery3d/data/MediaSet.java @@ -180,6 +180,12 @@ public abstract class MediaSet extends MediaObject { // in the same thread as getMediaItem(int, int) and getSubMediaSet(int). public abstract long reload(); + /** + * Synchronously load if the MediaSet is dirty + * @return True if new data was loaded, false otherwise + */ + public boolean loadIfDirty() { throw new IllegalStateException("not implemented"); } + @Override public MediaDetails getDetails() { MediaDetails details = super.getDetails(); -- 2.11.0