summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-10-17 17:16:42 -0400
committerChris Wren <cwren@android.com>2012-10-18 11:04:30 -0400
commitc6bebae5e07c0108294d05e33fbace209d2f9b0d (patch)
tree0f3b3442423e9ff5959de2697806dac2b85650ec /src
parentc688f887e6d18a1decc389f2b807e4497988dc61 (diff)
downloadandroid_packages_screensavers_PhotoTable-c6bebae5e07c0108294d05e33fbace209d2f9b0d.tar.gz
android_packages_screensavers_PhotoTable-c6bebae5e07c0108294d05e33fbace209d2f9b0d.tar.bz2
android_packages_screensavers_PhotoTable-c6bebae5e07c0108294d05e33fbace209d2f9b0d.zip
Take advantage of proportional screennails.
Bug: 7298558 Change-Id: I60c72aca1ec87e2c7a263d5f952be6c124e8a5c6
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dreams/phototable/LocalSource.java2
-rw-r--r--src/com/android/dreams/phototable/PhotoSource.java8
-rw-r--r--src/com/android/dreams/phototable/PhotoSourcePlexor.java4
-rw-r--r--src/com/android/dreams/phototable/PicasaSource.java17
-rw-r--r--src/com/android/dreams/phototable/StockSource.java2
5 files changed, 23 insertions, 10 deletions
diff --git a/src/com/android/dreams/phototable/LocalSource.java b/src/com/android/dreams/phototable/LocalSource.java
index 1614bb9..1faf589 100644
--- a/src/com/android/dreams/phototable/LocalSource.java
+++ b/src/com/android/dreams/phototable/LocalSource.java
@@ -176,7 +176,7 @@ public class LocalSource extends PhotoSource {
}
@Override
- protected InputStream getStream(ImageData data) {
+ protected InputStream getStream(ImageData data, int longSide) {
FileInputStream fis = null;
try {
log(TAG, "opening:" + data.url);
diff --git a/src/com/android/dreams/phototable/PhotoSource.java b/src/com/android/dreams/phototable/PhotoSource.java
index 1fe6194..a1ca289 100644
--- a/src/com/android/dreams/phototable/PhotoSource.java
+++ b/src/com/android/dreams/phototable/PhotoSource.java
@@ -52,8 +52,8 @@ public abstract class PhotoSource {
public String url;
public int orientation;
- InputStream getStream() {
- return PhotoSource.this.getStream(this);
+ InputStream getStream(int longSide) {
+ return PhotoSource.this.getStream(this, longSide);
}
}
@@ -141,7 +141,7 @@ public abstract class PhotoSource {
public Bitmap load(ImageData data, BitmapFactory.Options options, int longSide, int shortSide) {
log(TAG, "decoding photo resource to " + longSide + ", " + shortSide);
- InputStream is = data.getStream();
+ InputStream is = data.getStream(longSide);
Bitmap image = null;
try {
@@ -247,7 +247,7 @@ public abstract class PhotoSource {
}
}
- protected abstract InputStream getStream(ImageData data);
+ protected abstract InputStream getStream(ImageData data, int longSide);
protected abstract Collection<ImageData> findImages(int howMany);
public abstract Collection<AlbumData> findAlbums();
}
diff --git a/src/com/android/dreams/phototable/PhotoSourcePlexor.java b/src/com/android/dreams/phototable/PhotoSourcePlexor.java
index cf19d80..147f16e 100644
--- a/src/com/android/dreams/phototable/PhotoSourcePlexor.java
+++ b/src/com/android/dreams/phototable/PhotoSourcePlexor.java
@@ -72,7 +72,7 @@ public class PhotoSourcePlexor extends PhotoSource {
}
@Override
- protected InputStream getStream(ImageData data) {
- return data.getStream();
+ protected InputStream getStream(ImageData data, int longSide) {
+ return data.getStream(longSide);
}
}
diff --git a/src/com/android/dreams/phototable/PicasaSource.java b/src/com/android/dreams/phototable/PicasaSource.java
index 3a7ca23..9513d3c 100644
--- a/src/com/android/dreams/phototable/PicasaSource.java
+++ b/src/com/android/dreams/phototable/PicasaSource.java
@@ -20,7 +20,9 @@ import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.Uri;
+import android.util.DisplayMetrics;
import android.util.Log;
+import android.view.WindowManager;
import java.io.FileNotFoundException;
import java.io.InputStream;
@@ -74,6 +76,7 @@ public class PicasaSource extends PhotoSource {
private Set<String> mFoundAlbumIds;
private int mNextPosition;
+ private int mDisplayLongSide;
public PicasaSource(Context context, SharedPreferences settings) {
super(context, settings);
@@ -88,6 +91,15 @@ public class PicasaSource extends PhotoSource {
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mRecycleBin = new LinkedList<ImageData>();
fillQueue();
+ mDisplayLongSide = getDisplayLongSide();
+ }
+
+ private int getDisplayLongSide() {
+ DisplayMetrics metrics = new DisplayMetrics();
+ WindowManager wm = (WindowManager)
+ mContext.getSystemService(Context.WINDOW_SERVICE);
+ wm.getDefaultDisplay().getMetrics(metrics);
+ return Math.max(metrics.heightPixels, metrics.widthPixels);
}
@Override
@@ -370,7 +382,7 @@ public class PicasaSource extends PhotoSource {
}
@Override
- protected InputStream getStream(ImageData data) {
+ protected InputStream getStream(ImageData data, int longSide) {
InputStream is = null;
try {
Uri.Builder photoUriBuilder = new Uri.Builder()
@@ -378,7 +390,8 @@ public class PicasaSource extends PhotoSource {
.authority(PICASA_AUTHORITY)
.appendPath(PICASA_PHOTO_PATH)
.appendPath(data.id);
- if (mConnectivityManager.isActiveNetworkMetered()) {
+ if (mConnectivityManager.isActiveNetworkMetered() ||
+ ((2 * longSide) <= mDisplayLongSide)) {
photoUriBuilder.appendQueryParameter(PICASA_TYPE_KEY, PICASA_TYPE_SCREEN_VALUE);
} else {
photoUriBuilder.appendQueryParameter(PICASA_TYPE_KEY, PICASA_TYPE_FULL_VALUE);
diff --git a/src/com/android/dreams/phototable/StockSource.java b/src/com/android/dreams/phototable/StockSource.java
index 1e00780..3d44309 100644
--- a/src/com/android/dreams/phototable/StockSource.java
+++ b/src/com/android/dreams/phototable/StockSource.java
@@ -74,7 +74,7 @@ StockSource extends PhotoSource {
}
@Override
- protected InputStream getStream(ImageData data) {
+ protected InputStream getStream(ImageData data, int longSide) {
InputStream is = null;
try {
log(TAG, "opening:" + data.id);