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

Commit bc41e4fb authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: Use VNDK version to set feature combination query version

Between V and 25Q2, the ICameraDevice version doesn't change. So it's
not possible to set feature combination query version based on
ICameraDevice version.

Use VNDK version instead. Refactor isVNDKVersion so that it can be
called multiple times without incurring any performance hit.

Flag: EXEMPT bugfix
Test: test_feature_combination ITS tests
Bug: 384527291
Change-Id: Iee1e714cadb2f920f0f29f13b76ad1ccb30e035c
parent 58834550
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ inline ScopedAStatus fromUStatus(const UStatus& status) {
AidlCameraDeviceUser::AidlCameraDeviceUser(const sp<UICameraDeviceUser>& deviceRemote):
      mDeviceRemote(deviceRemote) {
    mInitSuccess = initDevice();
    mVndkVersion = getVNDKVersionFromProp(__ANDROID_API_FUTURE__);
    mVndkVersion = getVNDKVersion();
}

bool AidlCameraDeviceUser::initDevice() {
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ bool AidlCameraService::registerService(::android::CameraService* cameraService)

AidlCameraService::AidlCameraService(::android::CameraService* cameraService):
      mCameraService(cameraService) {
    mVndkVersion = getVNDKVersionFromProp(__ANDROID_API_FUTURE__);
    mVndkVersion = getVNDKVersion();
}
ScopedAStatus AidlCameraService::getCameraCharacteristics(const std::string& in_cameraId,
                                                          SCameraMetadata* _aidl_return) {
+1 −4
Original line number Diff line number Diff line
@@ -2096,11 +2096,8 @@ status_t CameraProviderManager::ProviderInfo::DeviceInfo3::addSessionConfigQuery
    int deviceVersion = HARDWARE_DEVICE_API_VERSION(mVersion.get_major(), mVersion.get_minor());
    if (deviceVersion == CAMERA_DEVICE_API_VERSION_1_3) {
        versionCode = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_VANILLA_ICE_CREAM;
    } else if (deviceVersion >= CAMERA_DEVICE_API_VERSION_1_4) {
        if (flags::feature_combination_baklava()) {
        if (flags::feature_combination_baklava() && getVNDKVersion() > 35) {
            versionCode = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_BAKLAVA;
        } else {
            versionCode = ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION_VANILLA_ICE_CREAM;
        }
    }
    res = c.update(ANDROID_INFO_SESSION_CONFIGURATION_QUERY_VERSION, &versionCode, 1);
+0 −1
Original line number Diff line number Diff line
@@ -90,7 +90,6 @@ enum SystemCameraKind {
#define CAMERA_DEVICE_API_VERSION_1_0 HARDWARE_DEVICE_API_VERSION(1, 0)
#define CAMERA_DEVICE_API_VERSION_1_2 HARDWARE_DEVICE_API_VERSION(1, 2)
#define CAMERA_DEVICE_API_VERSION_1_3 HARDWARE_DEVICE_API_VERSION(1, 3)
#define CAMERA_DEVICE_API_VERSION_1_4 HARDWARE_DEVICE_API_VERSION(1, 4)
#define CAMERA_DEVICE_API_VERSION_3_0 HARDWARE_DEVICE_API_VERSION(3, 0)
#define CAMERA_DEVICE_API_VERSION_3_1 HARDWARE_DEVICE_API_VERSION(3, 1)
#define CAMERA_DEVICE_API_VERSION_3_2 HARDWARE_DEVICE_API_VERSION(3, 2)
+1 −1
Original line number Diff line number Diff line
@@ -3185,7 +3185,7 @@ Camera3Device::RequestThread::RequestThread(wp<Camera3Device> parent,
        mRotationOverride(rotationOverride),
        mSupportSettingsOverride(supportSettingsOverride) {
    mStatusId = statusTracker->addComponent("RequestThread");
    mVndkVersion = getVNDKVersionFromProp(__ANDROID_API_FUTURE__);
    mVndkVersion = getVNDKVersion();
}

Camera3Device::RequestThread::~RequestThread() {}
Loading