summaryrefslogtreecommitdiffstats
path: root/src/com/android/dreams/phototable/PhotoSourcePlexor.java
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-09-06 16:46:57 -0400
committerChris Wren <cwren@android.com>2012-09-07 17:41:42 -0400
commitd85f53c69dead1f1f6c0290b8104422143bc5166 (patch)
tree2a8d5cec293a0b55937a0a8296ed995f2af39bb8 /src/com/android/dreams/phototable/PhotoSourcePlexor.java
parent83fee9012b6d5c5940de5b96fe8d98653ba14c0d (diff)
downloadandroid_packages_screensavers_PhotoTable-d85f53c69dead1f1f6c0290b8104422143bc5166.tar.gz
android_packages_screensavers_PhotoTable-d85f53c69dead1f1f6c0290b8104422143bc5166.tar.bz2
android_packages_screensavers_PhotoTable-d85f53c69dead1f1f6c0290b8104422143bc5166.zip
Add ability to select the albums to display.
Change-Id: I80ff33c4c880c445b79735d6483bc9337a89e392
Diffstat (limited to 'src/com/android/dreams/phototable/PhotoSourcePlexor.java')
-rw-r--r--src/com/android/dreams/phototable/PhotoSourcePlexor.java45
1 files changed, 27 insertions, 18 deletions
diff --git a/src/com/android/dreams/phototable/PhotoSourcePlexor.java b/src/com/android/dreams/phototable/PhotoSourcePlexor.java
index 4c4550e..7cf207e 100644
--- a/src/com/android/dreams/phototable/PhotoSourcePlexor.java
+++ b/src/com/android/dreams/phototable/PhotoSourcePlexor.java
@@ -16,6 +16,7 @@
package com.android.dreams.phototable;
import android.content.Context;
+import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
@@ -34,13 +35,33 @@ public class PhotoSourcePlexor extends PhotoSource {
private final PhotoSource mPicasaSource;
private final PhotoSource mLocalSource;
private final PhotoSource mStockSource;
+ private SharedPreferences mSettings;
- public PhotoSourcePlexor(Context context) {
- super(context);
+ public PhotoSourcePlexor(Context context, SharedPreferences settings) {
+ super(context, settings);
mSourceName = TAG;
- mPicasaSource = new PicasaSource(context);
- mLocalSource = new LocalSource(context);
- mStockSource = new StockSource(context);
+ mPicasaSource = new PicasaSource(context, settings);
+ mLocalSource = new LocalSource(context, settings);
+ mStockSource = new StockSource(context, settings);
+ }
+
+ @Override
+ public Collection<AlbumData> findAlbums() {
+ log(TAG, "finding albums");
+ LinkedList<AlbumData> foundAlbums = new LinkedList<AlbumData>();
+
+ foundAlbums.addAll(mPicasaSource.findAlbums());
+ log(TAG, "found " + foundAlbums.size() + " network albums");
+
+ foundAlbums.addAll(mLocalSource.findAlbums());
+ log(TAG, "found " + foundAlbums.size() + " user albums");
+
+ if (foundAlbums.isEmpty()) {
+ foundAlbums.addAll(mStockSource.findAlbums());
+ }
+ log(TAG, "found " + foundAlbums.size() + " albums");
+
+ return foundAlbums;
}
@Override
@@ -64,18 +85,6 @@ public class PhotoSourcePlexor extends PhotoSource {
@Override
protected InputStream getStream(ImageData data) {
- switch (data.type) {
- case PicasaSource.TYPE:
- return mPicasaSource.getStream(data);
-
- case LocalSource.TYPE:
- return mLocalSource.getStream(data);
-
- case StockSource.TYPE:
- return mStockSource.getStream(data);
-
- default:
- return null;
- }
+ return data.getStream();
}
}