Merge "Revert "Revert "CameraServiceProxy: Clean up app compat overrides""" into sc-v2-dev am: 6aa8aadc92

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

Change-Id: Idd36e602945fb6bf237aa06f6682ae004bf0c961
This commit is contained in:
TreeHugger Robot
2021-11-09 19:33:34 +00:00
committed by Automerger Merge Worker

View File

@@ -108,8 +108,9 @@ public class CameraServiceProxy extends SystemService
/** /**
* When enabled this change id forces the packages it is applied to override the default * 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 * camera rotate & crop behavior and always return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE .
* combinations is discussed in the table below. * The default behavior along with all possible override combinations is discussed in the table
* below.
*/ */
@ChangeId @ChangeId
@Overridable @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 * 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 * '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 * 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 * on the needed compensation considering the current display rotation.
* the activity. You can check the table below for further details on the possible override
* combinations.
*/ */
@ChangeId @ChangeId
@Overridable @Overridable
@@ -131,68 +130,31 @@ public class CameraServiceProxy extends SystemService
@TestApi @TestApi
public static final long OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK = 191513214L; // buganizer id 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 * Possible override combinations
* *
* |OVERRIDE | |OVERRIDE_ * |OVERRIDE |OVERRIDE_
* |CAMERA_ |OVERRIDE |CAMERA_ * |CAMERA_ |CAMERA_
* |ROTATE_ |CAMERA_ |RESIZEABLE_ * |ROTATE_ |RESIZEABLE_
* |AND_CROP_ |ROTATE_ |AND_SDK_ * |AND_CROP_ |AND_SDK_
* |DEFAULTS |AND_CROP |CHECK * |DEFAULTS |CHECK
* ______________________________________________ * _________________________________________________
* Default | | | * Default Behavior | D |D
* Behavior | D |D |D * _________________________________________________
* ______________________________________________ * Ignore SDK&Resize | D |E
* Ignore | | | * _________________________________________________
* SDK&Resize | D |D |E * SCALER_ROTATE_AND_CROP_NONE | E |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
* ______________________________________________
* Where: * Where:
* E -> Override enabled * E -> Override enabled
* D -> Override disabled * D -> Override disabled
* Default behavior -> Rotate&crop will be enabled only in cases * Default behavior -> Rotate&crop will be calculated depending on the required
* where the fixed app orientation mismatches * compensation necessary for the current display rotation.
* with the orientation of the camera. * Additionally the app must either target M (or below)
* Additionally the app must either target M (or below) * or is declared as non-resizeable.
* or is declared as non-resizeable. * Ignore SDK&Resize -> The Rotate&crop value will depend on the required
* Ignore SDK&Resize -> Rotate&crop will be enabled only in cases * compensation for the current display rotation.
* where the fixed app orientation mismatches * SCALER_ROTATE_AND_CROP_NONE -> Always return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE
* with the orientation of the camera.
*/ */
// Flags arguments to NFC adapter to enable/disable NFC // Flags arguments to NFC adapter to enable/disable NFC
@@ -543,14 +505,8 @@ public class CameraServiceProxy extends SystemService
if ((taskInfo != null) && (CompatChanges.isChangeEnabled( if ((taskInfo != null) && (CompatChanges.isChangeEnabled(
OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS, packageName, OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS, packageName,
UserHandle.getUserHandleForUid(taskInfo.userId)))) { UserHandle.getUserHandleForUid(taskInfo.userId)))) {
if (CompatChanges.isChangeEnabled(OVERRIDE_CAMERA_ROTATE_AND_CROP, packageName, Slog.v(TAG, "OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS enabled!");
UserHandle.getUserHandleForUid(taskInfo.userId))) {
Slog.v(TAG, "OVERRIDE_CAMERA_ROTATE_AND_CROP enabled!");
return CaptureRequest.SCALER_ROTATE_AND_CROP_NONE; 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; boolean ignoreResizableAndSdkCheck = false;
if ((taskInfo != null) && (CompatChanges.isChangeEnabled( if ((taskInfo != null) && (CompatChanges.isChangeEnabled(