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

Commit 0019bffb authored by Mina Granic's avatar Mina Granic Committed by Android (Google) Code Review
Browse files

Merge "Disambiguate between camera compat treatments in config." into main

parents 5e78c8d0 219438a3
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -75,21 +75,25 @@ class AppCompatCameraOverrides {
        mAppCompatCameraOverridesState = new AppCompatCameraOverridesState();
        mAllowMinAspectRatioOverrideOptProp = optPropBuilder.create(
                PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE);
        final BooleanSupplier isCameraCompatTreatmentEnabled = AppCompatUtils.asLazy(
                mAppCompatConfiguration::isCameraCompatTreatmentEnabled);
        final BooleanSupplier isCameraCompatForceRotateTreatmentEnabled = AppCompatUtils.asLazy(
                mAppCompatConfiguration::isCameraCompatForceRotateTreatmentEnabled);
        mCameraCompatAllowRefreshOptProp = optPropBuilder.create(
                PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH,
                isCameraCompatTreatmentEnabled);
                // TODO(b/425491882): check if any camera compat treatment is available.
                isCameraCompatForceRotateTreatmentEnabled);
        mCameraCompatEnableRefreshViaPauseOptProp = optPropBuilder.create(
                PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE,
                isCameraCompatTreatmentEnabled);
                // TODO(b/425491882): check if any camera compat treatment is available.
                isCameraCompatForceRotateTreatmentEnabled);
        mCameraCompatAllowForceRotationOptProp = optPropBuilder.create(
                PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION,
                isCameraCompatTreatmentEnabled);
                isCameraCompatForceRotateTreatmentEnabled);
        mCameraCompatAllowOrientationTreatmentOptProp =
                Flags.enableCameraCompatForDesktopWindowingOptOut() ? optPropBuilder.create(
                PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION,
                isCameraCompatTreatmentEnabled) : null;
                        // TODO(b/425491882): check if simulate requested orientation camera compat
                        //  treatment is available.
                        isCameraCompatForceRotateTreatmentEnabled) : null;
    }

    /**
+2 −2
Original line number Diff line number Diff line
@@ -52,8 +52,8 @@ class AppCompatCameraPolicy {
            @NonNull DisplayContent displayContent) {
        // Not checking DeviceConfig value here to allow enabling via DeviceConfig
        // without the need to restart the device.
        final boolean needsDisplayRotationCompatPolicy =
                wmService.mAppCompatConfiguration.isCameraCompatTreatmentEnabledAtBuildTime();
        final boolean needsDisplayRotationCompatPolicy = wmService.mAppCompatConfiguration
                .isCameraCompatForceRotateTreatmentEnabledAtBuildTime();
        final boolean needsCameraCompatFreeformPolicy =
                DesktopModeFlags.ENABLE_CAMERA_COMPAT_SIMULATE_REQUESTED_ORIENTATION.isTrue()
                        && DesktopModeHelper.canEnterDesktopMode(wmService.mContext);
+6 −6
Original line number Diff line number Diff line
@@ -1274,18 +1274,18 @@ final class AppCompatConfiguration {
    }

    /**
     * @return Whether camera compatibility treatment is currently enabled.
     * @return Whether camera compatibility force-rotate treatment is currently enabled.
     */
    boolean isCameraCompatTreatmentEnabled() {
    boolean isCameraCompatForceRotateTreatmentEnabled() {
        return mDeviceConfig.getFlagValue(KEY_ENABLE_CAMERA_COMPAT_TREATMENT);
    }

    /**
     * @return Whether camera compatibility treatment is enabled at build time. This is used when
     * we need to safely initialize a component before the {@link DeviceConfig} flag value is
     * available.
     * @return Whether camera compatibility force-rotate treatment is enabled at build time. This is
     * used when we need to safely initialize a component before the {@link DeviceConfig} flag value
     * is available.
     */
    boolean isCameraCompatTreatmentEnabledAtBuildTime() {
    boolean isCameraCompatForceRotateTreatmentEnabledAtBuildTime() {
        return mDeviceConfig.isBuildTimeFlagEnabled(KEY_ENABLE_CAMERA_COMPAT_TREATMENT);
    }

+1 −1
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@ final class DisplayRotationCompatPolicy implements AppCompatCameraStatePolicy,
     * </ul>
     */
    private boolean isTreatmentEnabledForDisplay() {
        return mWmService.mAppCompatConfiguration.isCameraCompatTreatmentEnabled()
        return mWmService.mAppCompatConfiguration.isCameraCompatForceRotateTreatmentEnabled()
                && mDisplayContent.getIgnoreOrientationRequest()
                // TODO(b/225928882): Support camera compat rotation for external displays
                && mDisplayContent.getDisplay().getType() == TYPE_INTERNAL;
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ public class ActivityRefresherTests extends WindowTestsBase {
    public void setUp() throws Exception {
        mAppCompatConfiguration = mDisplayContent.mWmService.mAppCompatConfiguration;
        spyOn(mAppCompatConfiguration);
        when(mAppCompatConfiguration.isCameraCompatTreatmentEnabled())
        when(mAppCompatConfiguration.isCameraCompatForceRotateTreatmentEnabled())
                .thenReturn(true);
        when(mAppCompatConfiguration.isCameraCompatRefreshEnabled())
                .thenReturn(true);
Loading