From 7a7e63456bcdba32ea41180d53fc9ecafba9c484 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Fri, 31 May 2019 16:28:21 -0700 Subject: [PATCH] Camera: Filter out NIR cameras for camera1 API This is to reduce application confusion when switching between back and front cameras. Test: Observe dumpsys on a phone with NIR camera device Bug: 133141567 Change-Id: I0c11b99fc3a0304d54562548d109df8c56ba1db1 --- .../libcameraservice/common/CameraProviderManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp index 09638d0289..98f93286a6 100644 --- a/services/camera/libcameraservice/common/CameraProviderManager.cpp +++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp @@ -2058,6 +2058,13 @@ status_t CameraProviderManager::ProviderInfo::DeviceInfo3::getCameraInfo( return OK; } bool CameraProviderManager::ProviderInfo::DeviceInfo3::isAPI1Compatible() const { + // Do not advertise NIR cameras to API1 camera app. + camera_metadata_ro_entry cfa = mCameraCharacteristics.find( + ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT); + if (cfa.count == 1 && cfa.data.u8[0] == ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR) { + return false; + } + bool isBackwardCompatible = false; camera_metadata_ro_entry_t caps = mCameraCharacteristics.find( ANDROID_REQUEST_AVAILABLE_CAPABILITIES);