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

Commit dabc72e5 authored by Matt Casey's avatar Matt Casey Committed by Android (Google) Code Review
Browse files

Merge "Add extra padding to long screenshot crop" into sc-dev

parents 67f70151 1f757a98
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -52,8 +52,9 @@
        android:id="@+id/preview"
        android:layout_width="0px"
        android:layout_height="0px"
        android:layout_marginBottom="42dp"
        android:paddingHorizontal="48dp"
        android:paddingTop="8dp"
        android:paddingBottom="42dp"
        app:layout_constrainedHeight="true"
        app:layout_constrainedWidth="true"
        app:layout_constraintTop_toBottomOf="@id/save"
@@ -68,7 +69,8 @@
        android:id="@+id/crop_view"
        android:layout_width="0px"
        android:layout_height="0px"
        android:layout_marginBottom="42dp"
        android:paddingTop="8dp"
        android:paddingBottom="42dp"
        app:layout_constrainedHeight="true"
        app:layout_constrainedWidth="true"
        app:layout_constraintTop_toTopOf="@id/preview"
+9 −6
Original line number Diff line number Diff line
@@ -411,19 +411,22 @@ public class LongScreenshotActivity extends Activity {
        float imageRatio = bounds.width() / (float) bounds.height();
        int previewWidth = mPreview.getWidth() - mPreview.getPaddingLeft()
                - mPreview.getPaddingRight();
        float viewRatio = previewWidth / (float) mPreview.getHeight();
        int previewHeight = mPreview.getHeight() - mPreview.getPaddingTop()
                - mPreview.getPaddingBottom();
        float viewRatio = previewWidth / (float) previewHeight;

        if (imageRatio > viewRatio) {
            // Image is full width and height is constrained, compute extra padding to inform
            // CropView
            float imageHeight = mPreview.getHeight() * viewRatio / imageRatio;
            int extraPadding = (int) (mPreview.getHeight() - imageHeight) / 2;
            mCropView.setExtraPadding(extraPadding, extraPadding);
            float imageHeight = previewHeight * viewRatio / imageRatio;
            int extraPadding = (int) (previewHeight - imageHeight) / 2;
            mCropView.setExtraPadding(extraPadding + mPreview.getPaddingTop(),
                    extraPadding + mPreview.getPaddingBottom());
            mCropView.setImageWidth(previewWidth);
        } else {
            // Image is full height
            mCropView.setExtraPadding(0, 0);
            mCropView.setImageWidth((int) (mPreview.getHeight() * imageRatio));
            mCropView.setExtraPadding(mPreview.getPaddingTop(),  mPreview.getPaddingBottom());
            mCropView.setImageWidth((int) (previewHeight * imageRatio));
        }

    }