summaryrefslogtreecommitdiffstats
path: root/src/com/android/dreams/phototable/LocalSource.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-10-01 15:59:01 -0400
committerChris Wren <cwren@android.com>2012-10-01 16:31:36 -0400
commitd9b659aa5dfa4a3af96582ae49ba9ae145854a84 (patch)
tree7cca09ba4fbec7473c3950e6b5affdc9b9403939 /src/com/android/dreams/phototable/LocalSource.java
parentc225e17265676fe3a6c8848e54f4859492df9d1a (diff)
downloadandroid_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.java14
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) {