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

Commit cae6b43b authored by Michael Jurka's avatar Michael Jurka Committed by Android (Google) Code Review
Browse files

Merge "Centering the crop by default in system wallpaper cropper"

parents c6c243bf 2ab14dae
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -15,4 +15,7 @@
-->
<resources>
    <bool name="allow_rotation">false</bool>
    <!-- Specifies whether to expand the cropped area on both sides (rather
         than just to one side) -->
    <bool name="center_crop">true</bool>
</resources>
+15 −5
Original line number Diff line number Diff line
@@ -330,10 +330,10 @@ public class WallpaperCropActivity extends Activity {

    protected void cropImageAndSetWallpaper(Uri uri,
            OnBitmapCroppedHandler onBitmapCroppedHandler, final boolean finishActivityWhenDone) {
        boolean centerCrop = getResources().getBoolean(R.bool.center_crop);
        // Get the crop
        boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;


        Display d = getWindowManager().getDefaultDisplay();

        Point displaySize = new Point();
@@ -358,16 +358,26 @@ public class WallpaperCropActivity extends Activity {
        // ADJUST CROP WIDTH
        // Extend the crop all the way to the right, for parallax
        // (or all the way to the left, in RTL)
        float extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left;
        float extraSpace;
        if (centerCrop) {
            extraSpace = 2f * Math.min(rotatedInSize[0] - cropRect.right, cropRect.left);
        } else {
            extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left;
        }
        // Cap the amount of extra width
        float maxExtraSpace = defaultWallpaperSize.x / cropScale - cropRect.width();
        extraSpace = Math.min(extraSpace, maxExtraSpace);

        if (centerCrop) {
            cropRect.left -= extraSpace / 2f;
            cropRect.right += extraSpace / 2f;
        } else {
            if (ltr) {
                cropRect.right += extraSpace;
            } else {
                cropRect.left -= extraSpace;
            }
        }

        // ADJUST CROP HEIGHT
        if (isPortrait) {