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

Commit c937d016 authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Fix GCA crop" into main

parents 66b1f07d aff17522
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -3280,7 +3280,8 @@ public final class SurfaceControl implements Parcelable {
                        "setCrop", this, sc, "crop=" + crop);
            }
            if (crop != null) {
                Preconditions.checkArgument(crop.isValid(), "Crop isn't valid.");
                Preconditions.checkArgument(crop.isValid(), "Crop " + crop
                        + " isn't valid");
                nativeSetWindowCrop(mNativeObject, sc.mNativeObject,
                        crop.left, crop.top, crop.right, crop.bottom);
            } else {
+15 −6
Original line number Diff line number Diff line
@@ -1523,15 +1523,24 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
                    if (mSurfaceControl == null) return;

                    mRTLastReportedPosition.set(left, top, right, bottom);
                    final float postScaleX = mRTLastReportedPosition.width()
                            / (float) mRtSurfaceWidth;
                    final float postScaleY = mRTLastReportedPosition.height()
                            / (float) mRtSurfaceHeight;
                    onSetSurfacePositionAndScale(mPositionChangedTransaction, mSurfaceControl,
                            mRTLastReportedPosition.left /*positionLeft*/,
                            mRTLastReportedPosition.top /*positionTop*/,
                            mRTLastReportedPosition.width()
                                    / (float) mRtSurfaceWidth /*postScaleX*/,
                            mRTLastReportedPosition.height()
                                    / (float) mRtSurfaceHeight /*postScaleY*/);
                            postScaleX, postScaleY);

                    mRTLastSetCrop.set(clipLeft, clipTop, clipRight, clipBottom);
                    mRTLastSetCrop.set((int) (clipLeft / postScaleX), (int) (clipTop / postScaleY),
                            (int) Math.ceil(clipRight / postScaleX),
                            (int) Math.ceil(clipBottom / postScaleY));
                    if (DEBUG_POSITION) {
                        Log.d(TAG, String.format("Setting layer crop = [%d, %d, %d, %d] "
                                        + "from scale %f, %f", mRTLastSetCrop.left,
                                mRTLastSetCrop.top, mRTLastSetCrop.right, mRTLastSetCrop.bottom,
                                postScaleX, postScaleY));
                    }
                    mPositionChangedTransaction.setCrop(mSurfaceControl, mRTLastSetCrop);
                    if (mRTLastSetCrop.isEmpty()) {
                        mPositionChangedTransaction.hide(mSurfaceControl);