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

Commit e40bdc04 authored by Massimo Carli's avatar Massimo Carli Committed by Android (Google) Code Review
Browse files

Merge "Improve AppCompatTaskInfo readability" into main

parents f812c9b8 153d5b00
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -167,10 +167,11 @@ public class AppCompatTaskInfo implements Parcelable {
    }

    /**
     * @return {@code true} if top activity is pillarboxed.
     * @return {@code true} if the top activity bounds are letterboxed with width <= height.
     */
    public boolean isTopActivityPillarboxed() {
        return topActivityLetterboxWidth < topActivityLetterboxHeight;
    public boolean isTopActivityPillarboxShaped() {
        return isTopActivityLetterboxed()
                && topActivityLetterboxWidth <= topActivityLetterboxHeight;
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ public class CompatUIController implements OnDisplaysChangedListener,
                // we need to ignore all the incoming TaskInfo until the education
                // completes. If we come from a double tap we follow the normal flow.
                final boolean topActivityPillarboxed =
                        taskInfo.appCompatTaskInfo.isTopActivityPillarboxed();
                        taskInfo.appCompatTaskInfo.isTopActivityPillarboxShaped();
                final boolean isFirstTimeHorizontalReachabilityEdu = topActivityPillarboxed
                        && !mCompatUIConfiguration.hasSeenHorizontalReachabilityEducation(taskInfo);
                final boolean isFirstTimeVerticalReachabilityEdu = !topActivityPillarboxed
+1 −1
Original line number Diff line number Diff line
@@ -275,7 +275,7 @@ private fun TaskInfo.hasPortraitTopActivity(): Boolean {
        }

        // Then check if the activity is portrait when letterboxed
        appCompatTaskInfo.isTopActivityLetterboxed -> appCompatTaskInfo.isTopActivityPillarboxed
        appCompatTaskInfo.isTopActivityLetterboxed -> appCompatTaskInfo.isTopActivityPillarboxShaped

        // Then check if the activity is portrait
        appBounds != null -> appBounds.height() > appBounds.width()
+31 −26
Original line number Diff line number Diff line
@@ -164,6 +164,9 @@ final class AppCompatUtils {

        appCompatTaskInfo.setIsFromLetterboxDoubleTap(reachabilityOverrides.isFromDoubleTap());

        final boolean isTopActivityLetterboxed = top.areBoundsLetterboxed();
        appCompatTaskInfo.setTopActivityLetterboxed(isTopActivityLetterboxed);
        if (isTopActivityLetterboxed) {
            final Rect bounds = top.getBounds();
            final Rect appBounds = getAppBounds(top);
            appCompatTaskInfo.topActivityLetterboxWidth = bounds.width();
@@ -176,11 +179,12 @@ final class AppCompatUtils {
            appCompatTaskInfo.setLetterboxDoubleTapEnabled(reachabilityOverrides
                    .isLetterboxDoubleTapEducationEnabled());
            if (appCompatTaskInfo.isLetterboxDoubleTapEnabled()) {
            if (appCompatTaskInfo.isTopActivityPillarboxed()) {
                if (appCompatTaskInfo.isTopActivityPillarboxShaped()) {
                    if (reachabilityOverrides.allowHorizontalReachabilityForThinLetterbox()) {
                        // Pillarboxed.
                        appCompatTaskInfo.topActivityLetterboxHorizontalPosition =
                            reachabilityOverrides.getLetterboxPositionForHorizontalReachability();
                                reachabilityOverrides
                                        .getLetterboxPositionForHorizontalReachability();
                    } else {
                        appCompatTaskInfo.setLetterboxDoubleTapEnabled(false);
                    }
@@ -194,11 +198,12 @@ final class AppCompatUtils {
                    }
                }
            }
        }

        final boolean eligibleForAspectRatioButton =
                !info.isTopActivityTransparent && !appCompatTaskInfo.isTopActivityInSizeCompat()
                        && aspectRatioOverrides.shouldEnableUserAspectRatioSettings();
        appCompatTaskInfo.setEligibleForUserAspectRatioButton(eligibleForAspectRatioButton);
        appCompatTaskInfo.setTopActivityLetterboxed(top.areBoundsLetterboxed());
        appCompatTaskInfo.cameraCompatTaskInfo.freeformCameraCompatMode =
                AppCompatCameraPolicy.getCameraCompatFreeformMode(top);
        appCompatTaskInfo.setHasMinAspectRatioOverride(top.mAppCompatController