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

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

Merge "Simplify the camera compat state." into main

parents 8a60291c 941d05e6
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.wm;

import static android.app.CameraCompatTaskInfo.CAMERA_COMPAT_FREEFORM_NONE;
import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION;
import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT;
import static android.content.pm.ActivityInfo.OVERRIDE_CAMERA_COMPAT_DISABLE_REFRESH;
@@ -33,7 +32,6 @@ import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLAS
import static com.android.server.wm.AppCompatUtils.isChangeEnabled;

import android.annotation.NonNull;
import android.app.CameraCompatTaskInfo.FreeformCameraCompatMode;

import com.android.server.wm.utils.OptPropFactory;
import com.android.window.flags.Flags;
@@ -202,22 +200,10 @@ class AppCompatCameraOverrides {
                && !mActivityRecord.shouldCreateAppCompatDisplayInsets();
    }

    @FreeformCameraCompatMode
    int getFreeformCameraCompatMode() {
        return mAppCompatCameraOverridesState.mFreeformCameraCompatMode;
    }

    void setFreeformCameraCompatMode(@FreeformCameraCompatMode int freeformCameraCompatMode) {
        mAppCompatCameraOverridesState.mFreeformCameraCompatMode = freeformCameraCompatMode;
    }

    static class AppCompatCameraOverridesState {
        // Whether activity "refresh" was requested but not finished in
        // ActivityRecord#activityResumedLocked following the camera compat force rotation in
        // DisplayRotationCompatPolicy.
        private boolean mIsRefreshRequested;

        @FreeformCameraCompatMode
        private int mFreeformCameraCompatMode = CAMERA_COMPAT_FREEFORM_NONE;
    }
}
+0 −6
Original line number Diff line number Diff line
@@ -159,16 +159,10 @@ final class CameraCompatFreeformPolicy implements CameraStateMonitor.CameraCompa
        }

        cameraActivity.recomputeConfiguration();
        updateCameraCompatMode(cameraActivity);
        cameraActivity.getTask().dispatchTaskInfoChangedIfNeeded(/* force= */ true);
        cameraActivity.ensureActivityConfiguration(/* ignoreVisibility= */ false);
    }

    private void updateCameraCompatMode(@NonNull ActivityRecord cameraActivity) {
        cameraActivity.mAppCompatController.getAppCompatCameraOverrides()
                .setFreeformCameraCompatMode(getCameraCompatMode(cameraActivity));
    }

    @Override
    public boolean onCameraClosed(@NonNull String cameraId) {
        // Top activity in the same task as the camera activity, or `null` if the task is
+2 −4
Original line number Diff line number Diff line
@@ -429,13 +429,11 @@ public class CameraCompatFreeformPolicyTests extends WindowTestsBase {
    }

    private void assertInCameraCompatMode(@CameraCompatTaskInfo.FreeformCameraCompatMode int mode) {
        assertEquals(mode, mActivity.mAppCompatController.getAppCompatCameraOverrides()
                        .getFreeformCameraCompatMode());
        assertEquals(mode, mCameraCompatFreeformPolicy.getCameraCompatMode(mActivity));
    }

    private void assertNotInCameraCompatMode() {
        assertEquals(CAMERA_COMPAT_FREEFORM_NONE, mActivity.mAppCompatController
                .getAppCompatCameraOverrides().getFreeformCameraCompatMode());
        assertInCameraCompatMode(CAMERA_COMPAT_FREEFORM_NONE);
    }

    private void assertActivityRefreshRequested(boolean refreshRequested) throws Exception {