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

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

Merge "[36/n] Create AppCompatSizeCompatModePolicy" into main

parents 48d882f7 4785772d
Loading
Loading
Loading
Loading
+44 −372

File changed.

Preview size limit exceeded, changes collapsed.

+10 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ class AppCompatController {
    private final AppCompatDeviceStateQuery mAppCompatDeviceStateQuery;
    @NonNull
    private final AppCompatLetterboxPolicy mAppCompatLetterboxPolicy;
    @NonNull
    private final AppCompatSizeCompatModePolicy mAppCompatSizeCompatModePolicy;

    AppCompatController(@NonNull WindowManagerService wmService,
                        @NonNull ActivityRecord activityRecord) {
@@ -67,6 +69,8 @@ class AppCompatController {
                wmService.mAppCompatConfiguration);
        mDesktopAppCompatAspectRatioPolicy = new DesktopAppCompatAspectRatioPolicy(activityRecord,
                mAppCompatOverrides, mTransparentPolicy, wmService.mAppCompatConfiguration);
        mAppCompatSizeCompatModePolicy = new AppCompatSizeCompatModePolicy(mActivityRecord,
                mAppCompatOverrides);
    }

    @NonNull
@@ -152,9 +156,15 @@ class AppCompatController {
        return mAppCompatOverrides.getAppCompatLetterboxOverrides();
    }

    @NonNull
    AppCompatSizeCompatModePolicy getAppCompatSizeCompatModePolicy() {
        return mAppCompatSizeCompatModePolicy;
    }

    void dump(@NonNull PrintWriter pw, @NonNull String prefix) {
        getTransparentPolicy().dump(pw, prefix);
        getAppCompatLetterboxPolicy().dump(pw, prefix);
        getAppCompatSizeCompatModePolicy().dump(pw, prefix);
    }

}
+439 −0

File added.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
@@ -251,6 +251,11 @@ final class AppCompatUtils {
        }
    }

    static void offsetBounds(@NonNull Configuration inOutConfig, int offsetX, int offsetY) {
        inOutConfig.windowConfiguration.getBounds().offset(offsetX, offsetY);
        inOutConfig.windowConfiguration.getAppBounds().offset(offsetX, offsetY);
    }

    private static void clearAppCompatTaskInfo(@NonNull AppCompatTaskInfo info) {
        info.topActivityLetterboxVerticalPosition = TaskInfo.PROPERTY_VALUE_UNSET;
        info.topActivityLetterboxHorizontalPosition = TaskInfo.PROPERTY_VALUE_UNSET;
+3 −1
Original line number Diff line number Diff line
@@ -201,8 +201,10 @@ class TransparentPolicy {
            // never has letterbox.
            return true;
        }
        final AppCompatSizeCompatModePolicy scmPolicy = mActivityRecord.mAppCompatController
                .getAppCompatSizeCompatModePolicy();
        if (mActivityRecord.getTask() == null || mActivityRecord.fillsParent()
                || mActivityRecord.hasAppCompatDisplayInsetsWithoutInheritance()) {
                || scmPolicy.hasAppCompatDisplayInsetsWithoutInheritance()) {
            return true;
        }
        return false;
Loading