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/3.2/Android.bp b/camera/device/3.2/Android.bp
new file mode 100644
index 0000000..2791faf
--- /dev/null
+++ b/camera/device/3.2/Android.bp
@@ -0,0 +1,76 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+genrule {
+    name: "android.hardware.camera.device@3.2_genc++",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.camera.device@3.2",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceAll.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceCallbackAll.cpp",
+        "android/hardware/camera/device/3.2/CameraDeviceSessionAll.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.camera.device@3.2_genc++_headers",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.camera.device@3.2",
+    srcs: [
+        "types.hal",
+        "ICameraDevice.hal",
+        "ICameraDeviceCallback.hal",
+        "ICameraDeviceSession.hal",
+    ],
+    out: [
+        "android/hardware/camera/device/3.2/types.h",
+        "android/hardware/camera/device/3.2/ICameraDevice.h",
+        "android/hardware/camera/device/3.2/IHwCameraDevice.h",
+        "android/hardware/camera/device/3.2/BnCameraDevice.h",
+        "android/hardware/camera/device/3.2/BpCameraDevice.h",
+        "android/hardware/camera/device/3.2/BsCameraDevice.h",
+        "android/hardware/camera/device/3.2/ICameraDeviceCallback.h",
+        "android/hardware/camera/device/3.2/IHwCameraDeviceCallback.h",
+        "android/hardware/camera/device/3.2/BnCameraDeviceCallback.h",
+        "android/hardware/camera/device/3.2/BpCameraDeviceCallback.h",
+        "android/hardware/camera/device/3.2/BsCameraDeviceCallback.h",
+        "android/hardware/camera/device/3.2/ICameraDeviceSession.h",
+        "android/hardware/camera/device/3.2/IHwCameraDeviceSession.h",
+        "android/hardware/camera/device/3.2/BnCameraDeviceSession.h",
+        "android/hardware/camera/device/3.2/BpCameraDeviceSession.h",
+        "android/hardware/camera/device/3.2/BsCameraDeviceSession.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.camera.device@3.2",
+    generated_sources: ["android.hardware.camera.device@3.2_genc++"],
+    generated_headers: ["android.hardware.camera.device@3.2_genc++_headers"],
+    export_generated_headers: ["android.hardware.camera.device@3.2_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",
+    ],
+}