Camera: HIDLized camera HALs, first set

* Common camera definitions (camera.common/1.0)
  * Basic status codes, shared types
* Provider 2.4 API (camera.provider/2.4), including vendor tag APIs
  * Enumerate and acquire camera device instances
  * Mostly equivalent to legacy camera module v2.4.
* Device 1.0 API (camera.device/1.0)
  * Mostly equivalent to legacy camera HAL v1.0.
* Device 3.2 API (camera.device/3.2)
  * Mostly equivalent to legacy camera HAL v3.2.
* Metadata 3.2 API (camera.metadata/3.2)
  * Definitions for valid metadata fields for device 3.2

Only the key initial interfaces are added; default implementations are
in a later CL. Other interfaces that will likely need to be added:

* Other provider minor versions
* Other device 3.x minor versions

Test: make -j32
Bug: 30985004
Bug: 32991603
Change-Id: I1c6a9a269bf45276055707bbc58cfc50d29fa919
diff --git a/camera/device/1.0/Android.bp b/camera/device/1.0/Android.bp
new file mode 100644
index 0000000..6b13c1f
--- /dev/null
+++ b/camera/device/1.0/Android.bp
@@ -0,0 +1,76 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+    name: "android.hardware.camera.device@1.0_genc++",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.camera.device@1.0",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.cpp",
+        "android/hardware/camera/device/1.0/CameraDeviceAll.cpp",
+        "android/hardware/camera/device/1.0/CameraDeviceCallbackAll.cpp",
+        "android/hardware/camera/device/1.0/CameraDevicePreviewCallbackAll.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@1.0_genc++_headers",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.camera.device@1.0",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDevicePreviewCallback.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/1.0/types.h",
+        "android/hardware/camera/device/1.0/ICameraDevice.h",
+        "android/hardware/camera/device/1.0/IHwCameraDevice.h",
+        "android/hardware/camera/device/1.0/BnCameraDevice.h",
+        "android/hardware/camera/device/1.0/BpCameraDevice.h",
+        "android/hardware/camera/device/1.0/BsCameraDevice.h",
+        "android/hardware/camera/device/1.0/ICameraDeviceCallback.h",
+        "android/hardware/camera/device/1.0/IHwCameraDeviceCallback.h",
+        "android/hardware/camera/device/1.0/BnCameraDeviceCallback.h",
+        "android/hardware/camera/device/1.0/BpCameraDeviceCallback.h",
+        "android/hardware/camera/device/1.0/BsCameraDeviceCallback.h",
+        "android/hardware/camera/device/1.0/ICameraDevicePreviewCallback.h",
+        "android/hardware/camera/device/1.0/IHwCameraDevicePreviewCallback.h",
+        "android/hardware/camera/device/1.0/BnCameraDevicePreviewCallback.h",
+        "android/hardware/camera/device/1.0/BpCameraDevicePreviewCallback.h",
+        "android/hardware/camera/device/1.0/BsCameraDevicePreviewCallback.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device@1.0",
+    generated_sources: ["android.hardware.camera.device@1.0_genc++"],
+    generated_headers: ["android.hardware.camera.device@1.0_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device@1.0_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.camera.common@1.0",
+        "android.hardware.graphics.allocator@2.0",
+        "android.hardware.graphics.common@1.0",
+    ],
+}