Reconcile changes from master with earler branches
Change-Id: I0a79e72b6b0ce457d03811d2204a20b526b39b11
diff --git a/guest/hals/camera/Android.mk b/guest/hals/camera/Android.mk
index 3aa3403..705c933 100644
--- a/guest/hals/camera/Android.mk
+++ b/guest/hals/camera/Android.mk
@@ -37,14 +37,18 @@
libcamera_metadata \
libhardware
+ifeq (0, $(shell test $(PLATFORM_SDK_VERSION) -lt 27; echo $$?))
+emulator_camera_shared_libraries += libcamera_client
+else
+emulator_camera_static_libraries += android.hardware.camera.common@1.0-helper
+endif
+
ifeq (0, $(shell test $(PLATFORM_SDK_VERSION) -le 22; echo $$?))
emulator_camera_shared_libraries += libjsoncpp
else
emulator_camera_static_libraries += libjsoncpp
endif
-emulator_camera_static_libraries += android.hardware.camera.common@1.0-helper
-
emulator_camera_c_includes := \
device/google/cuttlefish_common \
frameworks/native/include/media/hardware \
diff --git a/guest/hals/camera/EmulatedCamera.h b/guest/hals/camera/EmulatedCamera.h
index 47736c4..24cd863 100644
--- a/guest/hals/camera/EmulatedCamera.h
+++ b/guest/hals/camera/EmulatedCamera.h
@@ -17,6 +17,8 @@
#ifndef HW_EMULATOR_CAMERA_EMULATED_CAMERA_H
#define HW_EMULATOR_CAMERA_EMULATED_CAMERA_H
+#include "guest/libs/platform_support/api_level_fixes.h"
+
/*
* Contains declaration of a class EmulatedCamera that encapsulates
* functionality common to all version 1.0 emulated camera devices ("fake",
@@ -26,15 +28,19 @@
* defined by camera_device_ops_t API.
*/
+#if VSOC_PLATFORM_SDK_BEFORE(O_MR1)
+#include <camera/CameraParameters.h>
+#else
#include <CameraParameters.h>
+using ::android::hardware::camera::common::V1_0::helper::CameraParameters;
+using ::android::hardware::camera::common::V1_0::helper::Size;
+#endif
+
#include "CallbackNotifier.h"
#include "EmulatedBaseCamera.h"
#include "EmulatedCameraDevice.h"
#include "PreviewWindow.h"
-using ::android::hardware::camera::common::V1_0::helper::CameraParameters;
-using ::android::hardware::camera::common::V1_0::helper::Size;
-
namespace android {
/* Encapsulates functionality common to all version 1.0 emulated camera devices
diff --git a/guest/hals/camera/EmulatedFakeCamera3.h b/guest/hals/camera/EmulatedFakeCamera3.h
index ae3cfad..c8d2529 100644
--- a/guest/hals/camera/EmulatedFakeCamera3.h
+++ b/guest/hals/camera/EmulatedFakeCamera3.h
@@ -17,13 +17,21 @@
#ifndef HW_EMULATOR_CAMERA_EMULATED_FAKE_CAMERA3_H
#define HW_EMULATOR_CAMERA_EMULATED_FAKE_CAMERA3_H
+#include "guest/libs/platform_support/api_level_fixes.h"
+
/**
* Contains declaration of a class EmulatedCamera that encapsulates
* functionality of a fake camera that implements version 3 of the camera device
* interace.
*/
+#if VSOC_PLATFORM_SDK_BEFORE(O_MR1)
+#include <camera/CameraMetadata.h>
+#else
#include <CameraMetadata.h>
+using ::android::hardware::camera::common::V1_0::helper::CameraMetadata;
+#endif
+
#include <utils/List.h>
#include <utils/Mutex.h>
#include <utils/SortedVector.h>
@@ -32,8 +40,6 @@
#include "fake-pipeline2/JpegCompressor.h"
#include "fake-pipeline2/Sensor.h"
-using ::android::hardware::camera::common::V1_0::helper::CameraMetadata;
-
namespace android {
/**
diff --git a/guest/libs/platform_support/api_level_fixes.h b/guest/libs/platform_support/api_level_fixes.h
index d0da546..8d1b24d 100644
--- a/guest/libs/platform_support/api_level_fixes.h
+++ b/guest/libs/platform_support/api_level_fixes.h
@@ -63,6 +63,7 @@
#define VSOC_PLATFORM_SDK_N_MR1 25
#define VSOC_PLATFORM_SDK_O 26
#define VSOC_PLATFORM_SDK_O_MR1 27
+#define VSOC_PLATFORM_SDK_P 28
#define VSOC_PLATFORM_SDK_LAST_SHIPPED 27
#define VSOC_PLATFORM_SDK_BEFORE(X) (VSOC_PLATFORM_SDK_VERSION < VSOC_PLATFORM_SDK_##X)