commit | 7146ced4a7a50ba6eb65a23bf7e79b1d60b8a94a | [log] [tgz] |
---|---|---|
author | Bharatt Kukreja <bkukreja@google.com> | Tue Oct 25 15:45:29 2022 +0000 |
committer | Bharatt Kukreja <bkukreja@google.com> | Tue Nov 29 18:30:33 2022 +0000 |
tree | 35babf506d6c3da921db6732f5ec018fa2f1d437 | |
parent | 4605759aff83d193cf393d698e06dc032cb6f4fb [diff] |
Add AUTOFRAMING_AUTO mode When an app sets CONTROL_AUTOFRAMING to AUTO, the app needs to fetch the system default for the autoframing state. Test: CTS tests continue to pass Bug: 234004829 Change-Id: I2ef2c10dbe2889e18c28218cea68f3779afdad5f
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp index c49ecb2..60daf2d 100644 --- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp +++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -1752,6 +1752,13 @@ static_cast<camera_metadata_enum_android_scaler_rotate_and_crop_t>(rotateAndCrop)); } +status_t CameraDeviceClient::setAutoframingOverride(uint8_t autoframingValue) { + if (autoframingValue > ANDROID_CONTROL_AUTOFRAMING_AUTO) return BAD_VALUE; + + return mDevice->setAutoframingAutoBehavior( + static_cast<camera_metadata_enum_android_control_autoframing_t>(autoframingValue)); +} + bool CameraDeviceClient::supportsCameraMute() { return mDevice->supportsCameraMute(); }
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.h b/services/camera/libcameraservice/api2/CameraDeviceClient.h index 06844c6..d9193c2 100644 --- a/services/camera/libcameraservice/api2/CameraDeviceClient.h +++ b/services/camera/libcameraservice/api2/CameraDeviceClient.h
@@ -197,6 +197,8 @@ virtual status_t setRotateAndCropOverride(uint8_t rotateAndCrop) override; + virtual status_t setAutoframingOverride(uint8_t autoframingValue) override; + virtual bool supportsCameraMute(); virtual status_t setCameraMute(bool enabled);
diff --git a/services/camera/libcameraservice/api2/CameraOfflineSessionClient.cpp b/services/camera/libcameraservice/api2/CameraOfflineSessionClient.cpp index 4d4d481..ea90987 100644 --- a/services/camera/libcameraservice/api2/CameraOfflineSessionClient.cpp +++ b/services/camera/libcameraservice/api2/CameraOfflineSessionClient.cpp
@@ -81,6 +81,10 @@ return OK; } +status_t CameraOfflineSessionClient::setAutoframingOverride(uint8_t) { + return OK; +} + bool CameraOfflineSessionClient::supportsCameraMute() { // Offline mode doesn't support muting return false;
diff --git a/services/camera/libcameraservice/api2/CameraOfflineSessionClient.h b/services/camera/libcameraservice/api2/CameraOfflineSessionClient.h index 9ea1093..7a3c901 100644 --- a/services/camera/libcameraservice/api2/CameraOfflineSessionClient.h +++ b/services/camera/libcameraservice/api2/CameraOfflineSessionClient.h
@@ -81,6 +81,8 @@ status_t setRotateAndCropOverride(uint8_t rotateAndCrop) override; + status_t setAutoframingOverride(uint8_t autoframingValue) override; + bool supportsCameraMute() override; status_t setCameraMute(bool enabled) override;