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

Commit 153d5b00 authored by Massimo Carli's avatar Massimo Carli
Browse files

Improve AppCompatTaskInfo readability

Flag: EXEMPT Refactoring
Fix: 376426159
Test: atest WmTests:AppCompatUtilsTest
Test: atest WMShellUnitTests:CompatUIControllerTest

Change-Id: Iac970d6745de3358f8d0c82b74843a34b2488b88
parent 8e5e69ab
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