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

Commit ac860c36 authored by Massimo Carli's avatar Massimo Carli
Browse files

[44/n] Simplify AppCompatAspectRatioPolicy naming

Flag: EXEMPT Refactoring
Bug: 360865550
Test: aest WmTests:ActivityRecordTests
Test: aest WmTests:AppCompatLetterboxPolicyTest
Test: aest WmTests:AppCompatOrientationOverridesTest
Test: aest WmTests:AppCompatOrientationPolicyTest
Test: aest WmTests:AppCompatUtilsTest
Test: aest WmTests:DualDisplayAreaGroupPolicyTest
Test: aest WmTests:RootWindowContainerTests
Test: aest WmTests:SizeCompatTests
Test: aest WmTests:TaskFragmentTest

Change-Id: I832d9ee39724dec1d8c09c44ecbf07b39debb923
parent 8b32a703
Loading
Loading
Loading
Loading
+20 −18
Original line number Diff line number Diff line
@@ -8436,7 +8436,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            newParentConfiguration = mTmpConfig;
        }

        mAppCompatController.getAppCompatAspectRatioPolicy().reset();
        mAppCompatController.getAspectRatioPolicy().reset();
        mIsEligibleForFixedOrientationLetterbox = false;
        mResolveConfigHint.resolveTmpOverrides(mDisplayContent, newParentConfiguration,
                isFixedRotationTransforming());
@@ -8467,7 +8467,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        // If activity in fullscreen mode is letterboxed because of fixed orientation then bounds
        // are already calculated in resolveFixedOrientationConfiguration.
        // Don't apply aspect ratio if app is overridden to fullscreen by device user/manufacturer.
        if (!mAppCompatController.getAppCompatAspectRatioPolicy()
        if (!mAppCompatController.getAspectRatioPolicy()
                    .isLetterboxedForFixedOrientationAndAspectRatio()
                && !mAppCompatController.getAppCompatAspectRatioOverrides()
                    .hasFullscreenOverride()) {
@@ -8504,7 +8504,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
                // Fixed orientation letterboxing is possible on both large screen devices
                // with ignoreOrientationRequest enabled and on phones in split screen even with
                // ignoreOrientationRequest disabled.
                && (mAppCompatController.getAppCompatAspectRatioPolicy()
                && (mAppCompatController.getAspectRatioPolicy()
                    .isLetterboxedForFixedOrientationAndAspectRatio()
                        // Limiting check for aspect ratio letterboxing to devices with enabled
                        // ignoreOrientationRequest. This avoids affecting phones where apps may
@@ -8513,7 +8513,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
                        // accurate on phones shouldn't make the big difference and is expected
                        // to be already well-tested by apps.
                        || (isIgnoreOrientationRequest
                && mAppCompatController.getAppCompatAspectRatioPolicy().isAspectRatioApplied()))) {
                && mAppCompatController.getAspectRatioPolicy().isAspectRatioApplied()))) {
            // TODO(b/264034555): Use mDisplayContent to calculate smallestScreenWidthDp from all
            // rotations and only re-calculate if parent bounds have non-orientation size change.
            resolvedConfig.smallestScreenWidthDp =
@@ -8633,13 +8633,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        // letterboxed for fixed orientation. Aspect ratio restrictions are also applied if
        // present. But this doesn't return true when the activity is letterboxed only because
        // of aspect ratio restrictions.
        if (mAppCompatController.getAppCompatAspectRatioPolicy()
                .isLetterboxedForFixedOrientationAndAspectRatio()) {
        final AppCompatAspectRatioPolicy aspectRatioPolicy =
                mAppCompatController.getAspectRatioPolicy();
        if (aspectRatioPolicy.isLetterboxedForFixedOrientationAndAspectRatio()) {
            return APP_COMPAT_STATE_CHANGED__STATE__LETTERBOXED_FOR_FIXED_ORIENTATION;
        }
        // Letterbox for limited aspect ratio.
        if (mAppCompatController.getAppCompatAspectRatioPolicy()
                .isLetterboxedForAspectRatioOnly()) {
        if (aspectRatioPolicy.isLetterboxedForAspectRatioOnly()) {
            return APP_COMPAT_STATE_CHANGED__STATE__LETTERBOXED_FOR_ASPECT_RATIO;
        }

@@ -8966,8 +8966,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        final Rect prevResolvedBounds = new Rect(resolvedBounds);
        resolvedBounds.set(containingBounds);

        mAppCompatController.getAppCompatAspectRatioPolicy()
                .applyDesiredAspectRatio(newParentConfig, parentBounds, resolvedBounds,
        final AppCompatAspectRatioPolicy aspectRatioPolicy = mAppCompatController
                .getAspectRatioPolicy();

        aspectRatioPolicy.applyDesiredAspectRatio(newParentConfig, parentBounds, resolvedBounds,
                        containingBoundsWithInsets, containingBounds);

        if (appCompatDisplayInsets != null) {
@@ -8996,8 +8998,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        // for comparison with size compat app bounds in {@link resolveSizeCompatModeConfiguration}.
        mResolveConfigHint.mTmpCompatInsets = appCompatDisplayInsets;
        computeConfigByResolveHint(getResolvedOverrideConfiguration(), newParentConfig);
        mAppCompatController.getAppCompatAspectRatioPolicy()
                .setLetterboxBoundsForFixedOrientationAndAspectRatio(new Rect(resolvedBounds));
        aspectRatioPolicy.setLetterboxBoundsForFixedOrientationAndAspectRatio(
                new Rect(resolvedBounds));
    }

    /**
@@ -9014,8 +9016,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        // Use tmp bounds to calculate aspect ratio so we can know whether the activity should use
        // restricted size (resolved bounds may be the requested override bounds).
        mTmpBounds.setEmpty();
        mAppCompatController.getAppCompatAspectRatioPolicy()
                .applyAspectRatioForLetterbox(mTmpBounds, parentAppBounds, parentBounds);
        final AppCompatAspectRatioPolicy aspectRatioPolicy = mAppCompatController
                .getAspectRatioPolicy();
        aspectRatioPolicy.applyAspectRatioForLetterbox(mTmpBounds, parentAppBounds, parentBounds);
        // If the out bounds is not empty, it means the activity cannot fill parent's app bounds,
        // then they should be aligned later in #updateResolvedBoundsPosition()
        if (!mTmpBounds.isEmpty()) {
@@ -9026,8 +9029,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            // restrict, the bounds should be the requested override bounds.
            mResolveConfigHint.mTmpOverrideDisplayInfo = getFixedRotationTransformDisplayInfo();
            computeConfigByResolveHint(resolvedConfig, newParentConfiguration);
            mAppCompatController.getAppCompatAspectRatioPolicy()
                    .setLetterboxBoundsForAspectRatio(new Rect(resolvedBounds));
            aspectRatioPolicy.setLetterboxBoundsForAspectRatio(new Rect(resolvedBounds));
        }
    }

@@ -9277,11 +9279,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
     * Returns the min aspect ratio of this activity.
     */
    float getMinAspectRatio() {
        return mAppCompatController.getAppCompatAspectRatioPolicy().getMinAspectRatio();
        return mAppCompatController.getAspectRatioPolicy().getMinAspectRatio();
    }

    float getMaxAspectRatio() {
        return mAppCompatController.getAppCompatAspectRatioPolicy().getMaxAspectRatio();
        return mAppCompatController.getAspectRatioPolicy().getMaxAspectRatio();
    }

    /**
+4 −4
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ class AppCompatController {
    @NonNull
    private final AppCompatOrientationPolicy mOrientationPolicy;
    @NonNull
    private final AppCompatAspectRatioPolicy mAppCompatAspectRatioPolicy;
    private final AppCompatAspectRatioPolicy mAspectRatioPolicy;
    @NonNull
    private final AppCompatReachabilityPolicy mReachabilityPolicy;
    @NonNull
@@ -56,7 +56,7 @@ class AppCompatController {
        mAppCompatOverrides = new AppCompatOverrides(activityRecord, packageManager,
                wmService.mAppCompatConfiguration, optPropBuilder, mAppCompatDeviceStateQuery);
        mOrientationPolicy = new AppCompatOrientationPolicy(activityRecord, mAppCompatOverrides);
        mAppCompatAspectRatioPolicy = new AppCompatAspectRatioPolicy(activityRecord,
        mAspectRatioPolicy = new AppCompatAspectRatioPolicy(activityRecord,
                mTransparentPolicy, mAppCompatOverrides);
        mReachabilityPolicy = new AppCompatReachabilityPolicy(activityRecord,
                wmService.mAppCompatConfiguration);
@@ -79,8 +79,8 @@ class AppCompatController {
    }

    @NonNull
    AppCompatAspectRatioPolicy getAppCompatAspectRatioPolicy() {
        return mAppCompatAspectRatioPolicy;
    AppCompatAspectRatioPolicy getAspectRatioPolicy() {
        return mAspectRatioPolicy;
    }

    @NonNull
+1 −1
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ class AppCompatOrientationOverrides {
        mOrientationOverridesState.updateOrientationRequestLoopState();

        return mOrientationOverridesState.shouldIgnoreRequestInLoop()
                && !mActivityRecord.mAppCompatController.getAppCompatAspectRatioPolicy()
                && !mActivityRecord.mAppCompatController.getAspectRatioPolicy()
                    .isLetterboxedForFixedOrientationAndAspectRatio();
    }

+4 −5
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ class AppCompatSizeCompatModePolicy {
        // activity will be displayed within them even if it is in size compat mode. They should be
        // saved here before resolved bounds are overridden below.
        final AppCompatAspectRatioPolicy aspectRatioPolicy = mActivityRecord.mAppCompatController
                .getAppCompatAspectRatioPolicy();
                .getAspectRatioPolicy();
        final boolean useResolvedBounds = aspectRatioPolicy.isAspectRatioApplied();
        final Rect containerBounds = useResolvedBounds
                ? new Rect(resolvedBounds)
@@ -249,8 +249,7 @@ class AppCompatSizeCompatModePolicy {
        resolvedBounds.set(containingBounds);
        // The size of floating task is fixed (only swap), so the aspect ratio is already correct.
        if (!appCompatDisplayInsets.mIsFloating) {
            mActivityRecord.mAppCompatController.getAppCompatAspectRatioPolicy()
                    .applyAspectRatioForLetterbox(resolvedBounds, containingAppBounds,
            aspectRatioPolicy.applyAspectRatioForLetterbox(resolvedBounds, containingAppBounds,
                            containingBounds);
        }

@@ -364,7 +363,7 @@ class AppCompatSizeCompatModePolicy {
        }

        final Rect letterboxedContainerBounds = mActivityRecord.mAppCompatController
                .getAppCompatAspectRatioPolicy().getLetterboxedContainerBounds();
                .getAspectRatioPolicy().getLetterboxedContainerBounds();

        // The role of AppCompatDisplayInsets is like the override bounds.
        mAppCompatDisplayInsets =
@@ -446,7 +445,7 @@ class AppCompatSizeCompatModePolicy {
            }
        }
        final AppCompatAspectRatioPolicy aspectRatioPolicy = mActivityRecord.mAppCompatController
                .getAppCompatAspectRatioPolicy();
                .getAspectRatioPolicy();
        return !mActivityRecord.isResizeable() && (mActivityRecord.info.isFixedOrientation()
                || aspectRatioPolicy.hasFixedAspectRatio())
                // The configuration of non-standard type should be enforced by system.
+1 −1
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ final class AppCompatUtils {
            return "SIZE_COMPAT_MODE";
        }
        final AppCompatAspectRatioPolicy aspectRatioPolicy = activityRecord.mAppCompatController
                .getAppCompatAspectRatioPolicy();
                .getAspectRatioPolicy();
        if (aspectRatioPolicy.isLetterboxedForFixedOrientationAndAspectRatio()) {
            return "FIXED_ORIENTATION";
        }
Loading