diff options
author | Chris Wren <cwren@android.com> | 2012-10-01 15:59:01 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2012-10-01 16:31:36 -0400 |
commit | d9b659aa5dfa4a3af96582ae49ba9ae145854a84 (patch) | |
tree | 7cca09ba4fbec7473c3950e6b5affdc9b9403939 /src/com/android/dreams/phototable/LocalSource.java | |
parent | c225e17265676fe3a6c8848e54f4859492df9d1a (diff) | |
download | android_packages_screensavers_PhotoTable-d9b659aa5dfa4a3af96582ae49ba9ae145854a84.tar.gz android_packages_screensavers_PhotoTable-d9b659aa5dfa4a3af96582ae49ba9ae145854a84.tar.bz2 android_packages_screensavers_PhotoTable-d9b659aa5dfa4a3af96582ae49ba9ae145854a84.zip |
find the disappearing settings, plus some layout.
Bug: 7242287
Bug: 7194713
Change-Id: I362c2ffa0d4cbc3be45d14ede1de5dbf39ec4d7f
Diffstat (limited to 'src/com/android/dreams/phototable/LocalSource.java')
-rw-r--r-- | src/com/android/dreams/phototable/LocalSource.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/dreams/phototable/LocalSource.java b/src/com/android/dreams/phototable/LocalSource.java index e453378..1614bb9 100644 --- a/src/com/android/dreams/phototable/LocalSource.java +++ b/src/com/android/dreams/phototable/LocalSource.java @@ -25,6 +25,7 @@ import java.io.InputStream; import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; +import java.util.Set; /** * Loads images from the local store. @@ -34,6 +35,7 @@ public class LocalSource extends PhotoSource { private final String mUnknownAlbumName; private final String mLocalSourceName; + private Set<String> mFoundAlbumIds; private int mNextPosition; public LocalSource(Context context, SharedPreferences settings) { @@ -45,6 +47,13 @@ public class LocalSource extends PhotoSource { fillQueue(); } + private Set<String> getFoundAlbums() { + if (mFoundAlbumIds == null) { + findAlbums(); + } + return mFoundAlbumIds; + } + @Override public Collection<AlbumData> findAlbums() { log(TAG, "finding albums"); @@ -100,6 +109,7 @@ public class LocalSource extends PhotoSource { } log(TAG, "found " + foundAlbums.size() + " items."); + mFoundAlbumIds = foundAlbums.keySet(); return foundAlbums.values(); } @@ -111,8 +121,8 @@ public class LocalSource extends PhotoSource { String[] projection = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.ORIENTATION, MediaStore.Images.Media.BUCKET_ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME}; String selection = ""; - for (String id : AlbumSettings.getEnabledAlbums(mSettings)) { - if (id.startsWith(TAG)) { + for (String id : getFoundAlbums()) { + if (mSettings.isAlbumEnabled(id)) { String[] parts = id.split(":"); if (parts.length > 1) { if (selection.length() > 0) { |