Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c989e90 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed wallpaper bug where wrong size was taken when cropping

When cropping, the selected area of the image was incorrectly
cropped to the size of the view instead of the size of the image

Bug: 13617446
Change-Id: I0b40711c04f3d3b5929e7bb037d6cf21d4bb5bcb
parent 4dfbe829
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -367,17 +367,19 @@ public class WallpaperCropActivity extends Activity {
        // Get the crop
        RectF cropRect = mCropView.getCrop();

        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(mCropView.getWidth(), cropRect.right);
        cropRect.right = Math.min(inSize.x, cropRect.right);
        cropRect.top = Math.max(0, cropRect.top);
        cropRect.bottom = Math.min(mCropView.getHeight(), cropRect.bottom);
        cropRect.bottom = Math.min(inSize.y, cropRect.bottom);

        int cropRotation = mCropView.getImageRotation();
        float cropScale = mCropView.getWidth() / (float) cropRect.width();

        Point inSize = mCropView.getSourceDimensions();

        Matrix rotateMatrix = new Matrix();
        rotateMatrix.setRotate(cropRotation);
        float[] rotatedInSize = new float[] { inSize.x, inSize.y };