diff options
Diffstat (limited to 'src/com/android/gallery3d/util')
-rw-r--r-- | src/com/android/gallery3d/util/GalleryUtils.java | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/com/android/gallery3d/util/GalleryUtils.java b/src/com/android/gallery3d/util/GalleryUtils.java index efa06149f..05bd3dea6 100644 --- a/src/com/android/gallery3d/util/GalleryUtils.java +++ b/src/com/android/gallery3d/util/GalleryUtils.java @@ -75,16 +75,25 @@ public class GalleryUtils { private static boolean sCameraAvailable; public static void initialize(Context context) { - if (sPixelDensity < 0) { - DisplayMetrics metrics = new DisplayMetrics(); - WindowManager wm = (WindowManager) - context.getSystemService(Context.WINDOW_SERVICE); - wm.getDefaultDisplay().getMetrics(metrics); - sPixelDensity = metrics.density; - } + DisplayMetrics metrics = new DisplayMetrics(); + WindowManager wm = (WindowManager) + context.getSystemService(Context.WINDOW_SERVICE); + wm.getDefaultDisplay().getMetrics(metrics); + sPixelDensity = metrics.density; Resources r = context.getResources(); BitmapScreenNail.setPlaceholderColor(r.getColor( R.color.bitmap_screennail_placeholder)); + initializeThumbnailSizes(metrics, r); + } + + private static void initializeThumbnailSizes(DisplayMetrics metrics, Resources r) { + int minRows = Math.min(r.getInteger(R.integer.album_rows_land), + r.getInteger(R.integer.albumset_rows_land)); + int maxDimensionPixels = Math.max(metrics.heightPixels, metrics.widthPixels); + // Never need to completely fill the screen + maxDimensionPixels = maxDimensionPixels * 3/4; + MediaItem.setThumbnailSizes(maxDimensionPixels, maxDimensionPixels / minRows); + BitmapScreenNail.setMaxSide(maxDimensionPixels); } public static boolean isHighResolution(Context context) { |