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

Commit 0e3de559 authored by Massimo Carli's avatar Massimo Carli
Browse files

[11/n] Rename AppCompat Capability suffix to Overrides

Rename *Capability classes to *Overrides for a better
description of theit purpose.

Flag: EXEMPT refactor
Bug: 345156325
Test: atest WmTests:AppCompatOrientationPolicyTest
Test: atest WmTests:AppCompatOrientationOverridesTest
Test: atest WmTests:LetterboxUiControllerTest
Test: atest WmTests:SizeCompatTests
Test: atest WmTests:TransparentPolicyTest

Change-Id: I31c7e1c12b756cab6c4095aa9e84e57a638bb9f3
parent 8785aaf6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -8183,8 +8183,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
    }
    void setRequestedOrientation(@ActivityInfo.ScreenOrientation int requestedOrientation) {
        if (mAppCompatController.getAppCompatCapability()
                .getAppCompatOrientationCapability()
        if (mAppCompatController.getAppCompatOverrides()
                .getAppCompatOrientationOverrides()
                .shouldIgnoreRequestedOrientation(requestedOrientation)) {
            return;
        }
@@ -10821,7 +10821,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
        proto.write(SHOULD_OVERRIDE_MIN_ASPECT_RATIO,
                mLetterboxUiController.shouldOverrideMinAspectRatio());
        proto.write(SHOULD_IGNORE_ORIENTATION_REQUEST_LOOP,
                mAppCompatController.getAppCompatCapability().getAppCompatOrientationCapability()
                mAppCompatController.getAppCompatOverrides().getAppCompatOrientationOverrides()
                        .shouldIgnoreOrientationRequestLoop());
        proto.write(SHOULD_OVERRIDE_FORCE_RESIZE_APP,
                mLetterboxUiController.shouldOverrideForceResizeApp());
+5 −5
Original line number Diff line number Diff line
@@ -27,18 +27,18 @@ class AppCompatController {
    @NonNull
    private final AppCompatOrientationPolicy mOrientationPolicy;
    @NonNull
    private final AppCompatCapability mAppCompatCapability;
    private final AppCompatOverrides mAppCompatOverrides;

    AppCompatController(@NonNull WindowManagerService wmService,
                        @NonNull ActivityRecord activityRecord) {
        mTransparentPolicy = new TransparentPolicy(activityRecord,
                wmService.mLetterboxConfiguration);
        mAppCompatCapability = new AppCompatCapability(wmService, activityRecord,
        mAppCompatOverrides = new AppCompatOverrides(wmService, activityRecord,
                wmService.mLetterboxConfiguration);
        // TODO(b/341903757) Remove BooleanSuppliers after fixing dependency with aspectRatio.
        final LetterboxUiController tmpController = activityRecord.mLetterboxUiController;
        mOrientationPolicy = new AppCompatOrientationPolicy(activityRecord,
                mAppCompatCapability, tmpController::shouldApplyUserFullscreenOverride,
                mAppCompatOverrides, tmpController::shouldApplyUserFullscreenOverride,
                tmpController::shouldApplyUserMinAspectRatioOverride,
                tmpController::isSystemOverrideToFullscreenEnabled);
    }
@@ -54,7 +54,7 @@ class AppCompatController {
    }

    @NonNull
    AppCompatCapability getAppCompatCapability() {
        return mAppCompatCapability;
    AppCompatOverrides getAppCompatOverrides() {
        return mAppCompatOverrides;
    }
}
+19 −14
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ import static android.view.WindowManager.PROPERTY_COMPAT_IGNORE_REQUESTED_ORIENT

import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.AppCompatCapability.asLazy;
import static com.android.server.wm.AppCompatOverrides.asLazy;

import android.annotation.NonNull;
import android.content.pm.ActivityInfo;
@@ -40,9 +40,14 @@ import com.android.server.wm.utils.OptPropFactory;
import java.util.function.BooleanSupplier;
import java.util.function.LongSupplier;

class AppCompatOrientationCapability {
/**
 * Encapsulates all the configurations and overrides about orientation used by
 * {@link AppCompatOrientationPolicy}.
 */
class AppCompatOrientationOverrides {

    private static final String TAG = TAG_WITH_CLASS_NAME ? "AppCompatCapability" : TAG_ATM;
    private static final String TAG = TAG_WITH_CLASS_NAME
            ? "AppCompatOrientationOverrides" : TAG_ATM;

    @NonNull
    private final ActivityRecord mActivityRecord;
@@ -53,13 +58,13 @@ class AppCompatOrientationCapability {
    private final OptPropFactory.OptProp mAllowIgnoringOrientationRequestWhenLoopDetectedOptProp;

    @NonNull
    final OrientationCapabilityState mOrientationCapabilityState;
    final OrientationOverridesState mOrientationOverridesState;

    AppCompatOrientationCapability(@NonNull OptPropFactory optPropBuilder,
    AppCompatOrientationOverrides(@NonNull OptPropFactory optPropBuilder,
                                   @NonNull LetterboxConfiguration letterboxConfiguration,
                                   @NonNull ActivityRecord activityRecord) {
        mActivityRecord = activityRecord;
        mOrientationCapabilityState = new OrientationCapabilityState(mActivityRecord,
        mOrientationOverridesState = new OrientationOverridesState(mActivityRecord,
                System::currentTimeMillis);
        final BooleanSupplier isPolicyForIgnoringRequestedOrientationEnabled = asLazy(
                letterboxConfiguration::isPolicyForIgnoringRequestedOrientationEnabled);
@@ -101,7 +106,7 @@ class AppCompatOrientationCapability {
            @ActivityInfo.ScreenOrientation int requestedOrientation) {
        if (mIgnoreRequestedOrientationOptProp.shouldEnableWithOverrideAndProperty(
                isCompatChangeEnabled(OVERRIDE_ENABLE_COMPAT_IGNORE_REQUESTED_ORIENTATION))) {
            if (mOrientationCapabilityState.mIsRelaunchingAfterRequestedOrientationChanged) {
            if (mOrientationOverridesState.mIsRelaunchingAfterRequestedOrientationChanged) {
                Slog.w(TAG, "Ignoring orientation update to "
                        + screenOrientationToString(requestedOrientation)
                        + " due to relaunching after setRequestedOrientation for "
@@ -150,9 +155,9 @@ class AppCompatOrientationCapability {
                .shouldEnableWithOptInOverrideAndOptOutProperty(loopDetectionEnabled)) {
            return false;
        }
        mOrientationCapabilityState.updateOrientationRequestLoopState();
        mOrientationOverridesState.updateOrientationRequestLoopState();

        return mOrientationCapabilityState.shouldIgnoreRequestInLoop()
        return mOrientationOverridesState.shouldIgnoreRequestInLoop()
                && !mActivityRecord.isLetterboxedForFixedOrientationAndAspectRatio();
    }

@@ -161,17 +166,17 @@ class AppCompatOrientationCapability {
     * android.app.Activity#setRequestedOrientation}.
     */
    void setRelaunchingAfterRequestedOrientationChanged(boolean isRelaunching) {
        mOrientationCapabilityState
        mOrientationOverridesState
                .mIsRelaunchingAfterRequestedOrientationChanged = isRelaunching;
    }

    boolean getIsRelaunchingAfterRequestedOrientationChanged() {
        return mOrientationCapabilityState.mIsRelaunchingAfterRequestedOrientationChanged;
        return mOrientationOverridesState.mIsRelaunchingAfterRequestedOrientationChanged;
    }

    @VisibleForTesting
    int getSetOrientationRequestCounter() {
        return mOrientationCapabilityState.mSetOrientationRequestCounter;
        return mOrientationOverridesState.mSetOrientationRequestCounter;
    }

    private boolean isCompatChangeEnabled(long overrideChangeId) {
@@ -192,7 +197,7 @@ class AppCompatOrientationCapability {
                .isTreatmentEnabledForActivity(mActivityRecord);
    }

    static class OrientationCapabilityState {
    static class OrientationOverridesState {
        // Corresponds to OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR
        final boolean mIsOverrideToNosensorOrientationEnabled;
        // Corresponds to OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT
@@ -219,7 +224,7 @@ class AppCompatOrientationCapability {
        @VisibleForTesting
        LongSupplier mCurrentTimeMillisSupplier;

        OrientationCapabilityState(@NonNull ActivityRecord activityRecord,
        OrientationOverridesState(@NonNull ActivityRecord activityRecord,
                @NonNull LongSupplier currentTimeMillisSupplier) {
            mCurrentTimeMillisSupplier = currentTimeMillisSupplier;
            mIsOverrideToNosensorOrientationEnabled =
+8 −8
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ class AppCompatOrientationPolicy {
    private final ActivityRecord mActivityRecord;

    @NonNull
    private final AppCompatCapability mAppCompatCapability;
    private final AppCompatOverrides mAppCompatOverrides;

    @NonNull
    private final BooleanSupplier mShouldApplyUserFullscreenOverride;
@@ -56,12 +56,12 @@ class AppCompatOrientationPolicy {

    // TODO(b/341903757) Remove BooleanSuppliers after fixing dependency with spectRatio component
    AppCompatOrientationPolicy(@NonNull ActivityRecord activityRecord,
                               @NonNull AppCompatCapability appCompatCapability,
                               @NonNull AppCompatOverrides appCompatOverrides,
                               @NonNull BooleanSupplier shouldApplyUserFullscreenOverride,
                               @NonNull BooleanSupplier shouldApplyUserMinAspectRatioOverride,
                               @NonNull BooleanSupplier isSystemOverrideToFullscreenEnabled) {
        mActivityRecord = activityRecord;
        mAppCompatCapability = appCompatCapability;
        mAppCompatOverrides = appCompatOverrides;
        mShouldApplyUserFullscreenOverride = shouldApplyUserFullscreenOverride;
        mShouldApplyUserMinAspectRatioOverride = shouldApplyUserMinAspectRatioOverride;
        mIsSystemOverrideToFullscreenEnabled = isSystemOverrideToFullscreenEnabled;
@@ -99,11 +99,11 @@ class AppCompatOrientationPolicy {
            return SCREEN_ORIENTATION_PORTRAIT;
        }

        if (mAppCompatCapability.isAllowOrientationOverrideOptOut()) {
        if (mAppCompatOverrides.isAllowOrientationOverrideOptOut()) {
            return candidate;
        }

        if (displayContent != null && mAppCompatCapability
        if (displayContent != null && mAppCompatOverrides
                .isOverrideOrientationOnlyForCameraEnabled()
                && (displayContent.mDisplayRotationCompatPolicy == null
                || !displayContent.mDisplayRotationCompatPolicy
@@ -127,9 +127,9 @@ class AppCompatOrientationPolicy {
            return SCREEN_ORIENTATION_USER;
        }

        final AppCompatOrientationCapability.OrientationCapabilityState capabilityState =
                mAppCompatCapability.getAppCompatOrientationCapability()
                        .mOrientationCapabilityState;
        final AppCompatOrientationOverrides.OrientationOverridesState capabilityState =
                mAppCompatOverrides.getAppCompatOrientationOverrides()
                        .mOrientationOverridesState;

        if (capabilityState.mIsOverrideToReverseLandscapeOrientationEnabled
                && (isFixedOrientationLandscape(candidate)
+8 −8
Original line number Diff line number Diff line
@@ -57,9 +57,9 @@ import java.util.function.BooleanSupplier;
/**
 * Encapsulate logic related to operations guarded by an app override.
 */
public class AppCompatCapability {
public class AppCompatOverrides {

    private static final String TAG = TAG_WITH_CLASS_NAME ? "AppCompatCapability" : TAG_ATM;
    private static final String TAG = TAG_WITH_CLASS_NAME ? "AppCompatOverrides" : TAG_ATM;

    @NonNull
    private final LetterboxConfiguration mLetterboxConfiguration;
@@ -95,9 +95,9 @@ public class AppCompatCapability {
    @NonNull
    private final OptPropFactory.OptProp mAllowUserAspectRatioFullscreenOverrideOptProp;

    private final AppCompatOrientationCapability mAppCompatOrientationCapability;
    private final AppCompatOrientationOverrides mAppCompatOrientationOverrides;

    AppCompatCapability(@NonNull WindowManagerService wmService,
    AppCompatOverrides(@NonNull WindowManagerService wmService,
                        @NonNull ActivityRecord activityRecord,
                        @NonNull LetterboxConfiguration letterboxConfiguration) {
        mLetterboxConfiguration = letterboxConfiguration;
@@ -107,8 +107,8 @@ public class AppCompatCapability {
        final OptPropFactory optPropBuilder = new OptPropFactory(packageManager,
                activityRecord.packageName);

        mAppCompatOrientationCapability =
                new AppCompatOrientationCapability(optPropBuilder, mLetterboxConfiguration,
        mAppCompatOrientationOverrides =
                new AppCompatOrientationOverrides(optPropBuilder, mLetterboxConfiguration,
                        mActivityRecord);

        mFakeFocusOptProp = optPropBuilder.create(PROPERTY_COMPAT_ENABLE_FAKE_FOCUS,
@@ -172,8 +172,8 @@ public class AppCompatCapability {
    }

    @NonNull
    AppCompatOrientationCapability getAppCompatOrientationCapability() {
        return mAppCompatOrientationCapability;
    AppCompatOrientationOverrides getAppCompatOrientationOverrides() {
        return mAppCompatOrientationOverrides;
    }

    /**
Loading