From cd17100fe6d0a1c049694b8f037cb054d1b05f2e Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Mon, 12 Feb 2018 14:13:37 -0800 Subject: [PATCH] Camera: clarify external camera device ID requirements Bug: 64874137 Change-Id: Ibf45a0077952d2ec42cdef80659a019b6d24051f --- camera/provider/2.4/ICameraProvider.hal | 13 +++++++------ current.txt | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/camera/provider/2.4/ICameraProvider.hal b/camera/provider/2.4/ICameraProvider.hal index 3015b7d9e1..abb63661e9 100644 --- a/camera/provider/2.4/ICameraProvider.hal +++ b/camera/provider/2.4/ICameraProvider.hal @@ -35,22 +35,23 @@ import android.hardware.camera.device@3.2::ICameraDevice; * where * - / is the provider HAL HIDL version, * - is the type of devices this provider knows about, such as - * "internal", "legacy", "usb", or "remote" + * "internal", "legacy", "external", or "remote" * - is a non-negative integer starting from 0 to disambiguate * between multiple HALs of the same type. * * The "legacy" type is only used for passthrough legacy HAL mode, and must * not be used by a standalone binderized HAL. * - * The device instance names enumerated by the provider must be of the form + * The device instance names enumerated by the provider in getCameraIdList() or + * ICameraProviderCallback::cameraDeviceStatusChange() must be of the form * "device@.//" where * / is the HIDL version of the interface. is either a small * incrementing integer for "internal" device types, with 0 being the main * back-facing camera and 1 being the main front-facing camera, if they exist. - * Or, for external devices such as type "usb", a unique serial number that can - * be used to identify the device reliably when it is disconnected and - * reconnected. Multiple providers may not enumerate the same device ID. + * Or, for external devices, a unique serial number (if possible) that can be + * used to identify the device reliably when it is disconnected and reconnected. * + * Multiple providers must not enumerate the same device ID. */ interface ICameraProvider { @@ -97,7 +98,7 @@ interface ICameraProvider { getVendorTags() generates (Status status, vec sections); /** - * getCameraDeviceList: + * getCameraIdList: * * Returns the list of internal camera device interfaces known to this * camera provider. These devices can then be accessed via the hardware diff --git a/current.txt b/current.txt index de2511e566..05660a8a42 100644 --- a/current.txt +++ b/current.txt @@ -251,6 +251,7 @@ c8bc853546dd55584611def2a9fa1d99f657e3366c976d2f60fe6b8aa6d2cb87 android.hardwar # ABI preserving changes to HALs during Android P cf72ff5a52bfa4d08e9e1000cf3ab5952a2d280c7f13cdad5ab7905c08050766 android.hardware.camera.metadata@3.2::types +7b4723305354193b889a24153e1292fec62d5a5127bdfba08a5a27440f092de9 android.hardware.camera.provider@2.4::ICameraProvider 6fa9804a17a8bb7923a56bd10493a5483c20007e4c9026fd04287bee7c945a8c android.hardware.gnss@1.0::IGnssCallback fb92e2b40f8e9d494e8fd3b4ac18499a3216342e7cff160714c3bbf3660b6e79 android.hardware.gnss@1.0::IGnssConfiguration 251594ea9b27447bfa005ebd806e58fb0ae4aad84a69938129c9800ec0c64eda android.hardware.gnss@1.0::IGnssMeasurementCallback