From 314425602a7ccd9cc2bdef1a11f5e51211201b6f Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Thu, 27 Mar 2014 20:35:19 +0100 Subject: [PATCH] Fixed crash when setting wallpaper with built in rotation If an image had a built-in rotation, a crash could occur, when setting it. An example was a panorama image which had a rotation of 90 degrees. Change-Id: Iede8226dac3a40f08d39a69162eb388e6aba97ec Bug: 13507421 --- .../src/com/android/launcher3/WallpaperCropActivity.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java index 08913b67f..11684c3a0 100644 --- a/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java +++ b/WallpaperPicker/src/com/android/launcher3/WallpaperCropActivity.java @@ -369,13 +369,6 @@ public class WallpaperCropActivity extends Activity { Point inSize = mCropView.getSourceDimensions(); - // due to rounding errors in the cropview renderer the edges can be slightly offset - // therefore we ensure that the boundaries are sanely defined - cropRect.left = Math.max(0, cropRect.left); - cropRect.right = Math.min(inSize.x, cropRect.right); - cropRect.top = Math.max(0, cropRect.top); - cropRect.bottom = Math.min(inSize.y, cropRect.bottom); - int cropRotation = mCropView.getImageRotation(); float cropScale = mCropView.getWidth() / (float) cropRect.width(); @@ -387,6 +380,14 @@ public class WallpaperCropActivity extends Activity { rotatedInSize[0] = Math.abs(rotatedInSize[0]); rotatedInSize[1] = Math.abs(rotatedInSize[1]); + + // due to rounding errors in the cropview renderer the edges can be slightly offset + // therefore we ensure that the boundaries are sanely defined + cropRect.left = Math.max(0, cropRect.left); + cropRect.right = Math.min(rotatedInSize[0], cropRect.right); + cropRect.top = Math.max(0, cropRect.top); + cropRect.bottom = Math.min(rotatedInSize[1], cropRect.bottom); + // ADJUST CROP WIDTH // Extend the crop all the way to the right, for parallax // (or all the way to the left, in RTL) -- 2.11.0