From af88452fa97c6ba619a3cfddc303670e16f405d7 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 5 May 2021 22:27:54 -0700 Subject: [PATCH] VTS: Cast camera device to lower versions If the camera device is of a certain version, it can be casted to all lower version numbers. Test: VtsHalCameraProviderV2_4TargetTest Bug: 187010354 Change-Id: Ib9515d898948fb2e04d20b0087d98334fa71def0 --- .../VtsHalCameraProviderV2_4TargetTest.cpp | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp index 7bb300ed2e..deb420d1e2 100644 --- a/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp +++ b/camera/provider/2.4/vts/functional/VtsHalCameraProviderV2_4TargetTest.cpp @@ -7155,17 +7155,24 @@ void CameraHidlTest::castDevice(const sp& device, sp* device3_5 /*out*/, sp* device3_7 /*out*/) { ASSERT_NE(nullptr, device3_5); - if (deviceVersion == CAMERA_DEVICE_API_VERSION_3_5) { - auto castResult = device::V3_5::ICameraDevice::castFrom(device); - ASSERT_TRUE(castResult.isOk()); - *device3_5 = castResult; - } - ASSERT_NE(nullptr, device3_7); - if (deviceVersion == CAMERA_DEVICE_API_VERSION_3_7) { - auto castResult = device::V3_7::ICameraDevice::castFrom(device); - ASSERT_TRUE(castResult.isOk()); - *device3_7 = castResult; + + switch (deviceVersion) { + case CAMERA_DEVICE_API_VERSION_3_7: { + auto castResult = device::V3_7::ICameraDevice::castFrom(device); + ASSERT_TRUE(castResult.isOk()); + *device3_7 = castResult; + } + [[fallthrough]]; + case CAMERA_DEVICE_API_VERSION_3_5: { + auto castResult = device::V3_5::ICameraDevice::castFrom(device); + ASSERT_TRUE(castResult.isOk()); + *device3_5 = castResult; + break; + } + default: + // no-op + return; } }