From c6bebae5e07c0108294d05e33fbace209d2f9b0d Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Wed, 17 Oct 2012 17:16:42 -0400 Subject: Take advantage of proportional screennails. Bug: 7298558 Change-Id: I60c72aca1ec87e2c7a263d5f952be6c124e8a5c6 --- src/com/android/dreams/phototable/LocalSource.java | 2 +- src/com/android/dreams/phototable/PhotoSource.java | 8 ++++---- .../android/dreams/phototable/PhotoSourcePlexor.java | 4 ++-- src/com/android/dreams/phototable/PicasaSource.java | 17 +++++++++++++++-- src/com/android/dreams/phototable/StockSource.java | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) (limited to 'src/com/android/dreams/phototable') 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 findImages(int howMany); public abstract Collection 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 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(); 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); -- cgit v1.2.3