Camera: Add camera type to ICameraService.getNumberOfCameras.
Also determine the number of 'normal' cameras present on
camera service startup, and ensure that all normal cameras have
IDs lower than the 'strange' cameras.
Bug: 23194168
Change-Id: I1f7b14825cb52707de698a955f85da1eaa932663
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 3298772..7f4d43f 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -100,7 +100,9 @@
/////////////////////////////////////////////////////////////////////
// ICameraService
+ virtual int32_t getNumberOfCameras(int type);
virtual int32_t getNumberOfCameras();
+
virtual status_t getCameraInfo(int cameraId,
struct CameraInfo* cameraInfo);
virtual status_t getCameraCharacteristics(int cameraId,
@@ -509,6 +511,11 @@
std::set<userid_t> mAllowedUsers;
/**
+ * Check camera capabilities, such as support for basic color operation
+ */
+ int checkCameraCapabilities(int id, camera_info info, int *latestStrangeCameraId);
+
+ /**
* Get the camera state for a given camera id.
*
* This acquires mCameraStatesLock.
@@ -610,6 +617,7 @@
void dumpEventLog(int fd);
int mNumberOfCameras;
+ int mNumberOfNormalCameras;
// sounds
MediaPlayer* newMediaPlayer(const char *file);