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

Commit 9fff2e2d authored by Emilian Peev's avatar Emilian Peev Committed by Automerger Merge Worker
Browse files

CameraServiceProxy: Clean up app compat overrides am: 852aa2cb

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16150896

Change-Id: I83725c8ba2f1db15e62da542256035723c56f2bd
parents 47202a3e 852aa2cb
Loading
Loading
Loading
Loading
+26 −70
Original line number Diff line number Diff line
@@ -108,8 +108,9 @@ public class CameraServiceProxy extends SystemService

    /**
     * When enabled this change id forces the packages it is applied to override the default
     * camera rotate & crop behavior. The default behavior along with all possible override
     * combinations is discussed in the table below.
     * camera rotate & crop behavior and always return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE .
     * The default behavior along with all possible override combinations is discussed in the table
     * below.
     */
    @ChangeId
    @Overridable
@@ -121,9 +122,7 @@ public class CameraServiceProxy extends SystemService
     * When enabled this change id forces the packages it is applied to ignore the current value of
     * 'android:resizeableActivity' as well as target SDK equal to or below M and consider the
     * activity as non-resizeable. In this case, the value of camera rotate & crop will only depend
     * on potential mismatches between the orientation of the camera and the fixed orientation of
     * the activity. You can check the table below for further details on the possible override
     * combinations.
     * on the needed compensation considering the current display rotation.
     */
    @ChangeId
    @Overridable
@@ -131,68 +130,31 @@ public class CameraServiceProxy extends SystemService
    @TestApi
    public static final long OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK = 191513214L; // buganizer id

    /**
     * This change id forces the packages it is applied to override the default camera rotate & crop
     * behavior. Enabling it will set the crop & rotate parameter to
     * {@link android.hardware.camera2.CaptureRequest#SCALER_ROTATE_AND_CROP_90} and disabling it
     * will reset the parameter to
     * {@link android.hardware.camera2.CaptureRequest#SCALER_ROTATE_AND_CROP_NONE} as long as camera
     * clients include {@link android.hardware.camera2.CaptureRequest#SCALER_ROTATE_AND_CROP_AUTO}
     * in their capture requests.
     *
     * This treatment only takes effect if OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS is also enabled.
     * The table below includes further information about the possible override combinations.
     */
    @ChangeId
    @Overridable
    @Disabled
    @TestApi
    public static final long OVERRIDE_CAMERA_ROTATE_AND_CROP = 190069291L; //buganizer id

    /**
     * Possible override combinations
     *
     *            |OVERRIDE     |          |OVERRIDE_
     *            |CAMERA_      |OVERRIDE  |CAMERA_
     *            |ROTATE_      |CAMERA_   |RESIZEABLE_
     *            |AND_CROP_    |ROTATE_   |AND_SDK_
     *            |DEFAULTS     |AND_CROP  |CHECK
     * ______________________________________________
     * Default    |             |          |
     * Behavior   | D           |D         |D
     * ______________________________________________
     * Ignore     |             |          |
     * SDK&Resize | D           |D         |E
     * ______________________________________________
     * Default    |             |          |
     * Behavior   | D           |E         |D
     * ______________________________________________
     * Ignore     |             |          |
     * SDK&Resize | D           |E         |E
     * ______________________________________________
     * Rotate&Crop|             |          |
     * disabled   | E           |D         |D
     * ______________________________________________
     * Rotate&Crop|             |          |
     * disabled   | E           |D         |E
     * ______________________________________________
     * Rotate&Crop|             |          |
     * enabled    | E           |E         |D
     * ______________________________________________
     * Rotate&Crop|             |          |
     * enabled    | E           |E         |E
     * ______________________________________________
     *                             |OVERRIDE     |OVERRIDE_
     *                             |CAMERA_      |CAMERA_
     *                             |ROTATE_      |RESIZEABLE_
     *                             |AND_CROP_    |AND_SDK_
     *                             |DEFAULTS     |CHECK
     * _________________________________________________
     * Default Behavior            | D           |D
     * _________________________________________________
     * Ignore SDK&Resize           | D           |E
     * _________________________________________________
     * SCALER_ROTATE_AND_CROP_NONE | E           |D, E
     * _________________________________________________
     * Where:
     * E                            -> Override enabled
     * D                            -> Override disabled
     * Default behavior ->  Rotate&crop will be enabled only in cases
     *                      where the fixed app orientation mismatches
     *                      with the orientation of the camera.
     * Default behavior             -> Rotate&crop will be calculated depending on the required
     *                                 compensation necessary for the current display rotation.
     *                                 Additionally the app must either target M (or below)
     *                                 or is declared as non-resizeable.
     * Ignore SDK&Resize -> Rotate&crop will be enabled only in cases
     *                      where the fixed app orientation mismatches
     *                      with the orientation of the camera.
     * Ignore SDK&Resize            -> The Rotate&crop value will depend on the required
     *                                 compensation for the current display rotation.
     * SCALER_ROTATE_AND_CROP_NONE  -> Always return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE
     */

    // Flags arguments to NFC adapter to enable/disable NFC
@@ -543,14 +505,8 @@ public class CameraServiceProxy extends SystemService
            if ((taskInfo != null) && (CompatChanges.isChangeEnabled(
                        OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS, packageName,
                        UserHandle.getUserHandleForUid(taskInfo.userId)))) {
                if (CompatChanges.isChangeEnabled(OVERRIDE_CAMERA_ROTATE_AND_CROP, packageName,
                        UserHandle.getUserHandleForUid(taskInfo.userId))) {
                    Slog.v(TAG, "OVERRIDE_CAMERA_ROTATE_AND_CROP enabled!");
                    Slog.v(TAG, "OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS enabled!");
                    return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE;
                } else {
                    Slog.v(TAG, "OVERRIDE_CAMERA_ROTATE_AND_CROP disabled!");
                    return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE;
                }
            }
            boolean ignoreResizableAndSdkCheck = false;
            if ((taskInfo != null) && (CompatChanges.isChangeEnabled(