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

Commit f60cc961 authored by Hongwei Wang's avatar Hongwei Wang Committed by Android (Google) Code Review
Browse files

Merge "Switch to PictureInPictureParams#isSameAspectRatio" into main

parents a7f12990 14416f73
Loading
Loading
Loading
Loading
+3 −6
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.pm.ActivityInfo;
import android.content.res.Resources;
import android.content.res.Resources;
import android.graphics.Rect;
import android.graphics.Rect;
import android.util.DisplayMetrics;
import android.util.DisplayMetrics;
import android.util.Rational;
import android.util.Size;
import android.util.Size;
import android.view.Gravity;
import android.view.Gravity;


@@ -41,9 +42,6 @@ public class PipBoundsAlgorithm {
    private static final String TAG = PipBoundsAlgorithm.class.getSimpleName();
    private static final String TAG = PipBoundsAlgorithm.class.getSimpleName();
    private static final float INVALID_SNAP_FRACTION = -1f;
    private static final float INVALID_SNAP_FRACTION = -1f;


    // The same value (with the same name) is used in Launcher.
    private static final float PIP_ASPECT_RATIO_MISMATCH_THRESHOLD = 0.01f;

    @NonNull private final PipBoundsState mPipBoundsState;
    @NonNull private final PipBoundsState mPipBoundsState;
    @NonNull protected final PipDisplayLayoutState mPipDisplayLayoutState;
    @NonNull protected final PipDisplayLayoutState mPipDisplayLayoutState;
    @NonNull protected final SizeSpecSource mSizeSpecSource;
    @NonNull protected final SizeSpecSource mSizeSpecSource;
@@ -223,9 +221,8 @@ public class PipBoundsAlgorithm {
                            + " than destination(%s)", sourceRectHint, destinationBounds);
                            + " than destination(%s)", sourceRectHint, destinationBounds);
            return false;
            return false;
        }
        }
        final float reportedRatio = destinationBounds.width() / (float) destinationBounds.height();
        if (!PictureInPictureParams.isSameAspectRatio(sourceRectHint,
        final float inferredRatio = sourceRectHint.width() / (float) sourceRectHint.height();
                new Rational(destinationBounds.width(), destinationBounds.height()))) {
        if (Math.abs(reportedRatio - inferredRatio) > PIP_ASPECT_RATIO_MISMATCH_THRESHOLD) {
            ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
            ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                    "isSourceRectHintValidForEnterPip=false, hint(%s) does not match"
                    "isSourceRectHintValidForEnterPip=false, hint(%s) does not match"
                            + " destination(%s) aspect ratio", sourceRectHint, destinationBounds);
                            + " destination(%s) aspect ratio", sourceRectHint, destinationBounds);