camera3: Make front cameras limited mode, back cameras full mode
Bug: 9111852
Change-Id: Iad7ba75adf603a7c2eda1fa07c10ce4aab1aa51b
diff --git a/camera/EmulatedFakeCamera3.cpp b/camera/EmulatedFakeCamera3.cpp
index a321218..ae4716c 100644
--- a/camera/EmulatedFakeCamera3.cpp
+++ b/camera/EmulatedFakeCamera3.cpp
@@ -129,6 +129,12 @@
for (size_t i = 0; i < CAMERA3_TEMPLATE_COUNT; i++) {
mDefaultTemplates[i] = NULL;
}
+
+ /**
+ * Front cameras = limited mode
+ * Back cameras = full mode
+ */
+ mFullMode = facingBack;
}
EmulatedFakeCamera3::~EmulatedFakeCamera3() {
@@ -1323,6 +1329,14 @@
info.update(ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES,
availableVstabModes, sizeof(availableVstabModes));
+ // android.info
+ const uint8_t supportedHardwareLevel =
+ mFullMode ? ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL :
+ ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED;
+ info.update(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
+ &supportedHardwareLevel,
+ /*count*/1);
+
mCameraInfo = info.release();
return OK;
diff --git a/camera/EmulatedFakeCamera3.h b/camera/EmulatedFakeCamera3.h
index e9ef184..0889813 100644
--- a/camera/EmulatedFakeCamera3.h
+++ b/camera/EmulatedFakeCamera3.h
@@ -159,6 +159,9 @@
/* Facing back (true) or front (false) switch. */
bool mFacingBack;
+ /* Full mode (true) or limited mode (false) switch */
+ bool mFullMode;
+
/**
* Cache for default templates. Once one is requested, the pointer must be
* valid at least until close() is called on the device