Initial submit of Vehicle HAL 2.1

Major changes / decisions:

- created empty IVehicle@2.1 interface to distinguish HAL impls
  from client's (Car Service) perspective;
- created default 2.1 implementation that currently delegates all
  calls to existing 2.0 implementation
- had to refactor a little bit 2.0 thus components could be esily
  imported in 2.1

TOOD:
- move OBD and VMS code to 2.1
- decouple "DefaultVehicleHal.cpp"
- rename "DefaultVehicleHal" to Emulator (let's call things by their names)

b/34716856

Test: todo

Change-Id: Ib23650ca1277f0dfb24e5c789d65a19dce8b1abc
diff --git a/automotive/vehicle/2.1/Android.bp b/automotive/vehicle/2.1/Android.bp
new file mode 100644
index 0000000..12bb4ed
--- /dev/null
+++ b/automotive/vehicle/2.1/Android.bp
@@ -0,0 +1,64 @@
+// This file is autogenerated by hidl-gen. Do not edit manually.
+
+filegroup {
+    name: "android.hardware.automotive.vehicle@2.1_hal",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.vehicle@2.1_genc++",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.1/types.cpp",
+        "android/hardware/automotive/vehicle/2.1/VehicleAll.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.automotive.vehicle@2.1_genc++_headers",
+    tools: ["hidl-gen"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.automotive.vehicle@2.1",
+    srcs: [
+        "types.hal",
+        "IVehicle.hal",
+    ],
+    out: [
+        "android/hardware/automotive/vehicle/2.1/types.h",
+        "android/hardware/automotive/vehicle/2.1/IVehicle.h",
+        "android/hardware/automotive/vehicle/2.1/IHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.1/BnHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.1/BpHwVehicle.h",
+        "android/hardware/automotive/vehicle/2.1/BsVehicle.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.automotive.vehicle@2.1",
+    generated_sources: ["android.hardware.automotive.vehicle@2.1_genc++"],
+    generated_headers: ["android.hardware.automotive.vehicle@2.1_genc++_headers"],
+    export_generated_headers: ["android.hardware.automotive.vehicle@2.1_genc++_headers"],
+    shared_libs: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libutils",
+        "libcutils",
+        "android.hardware.automotive.vehicle@2.0",
+    ],
+    export_shared_lib_headers: [
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "libutils",
+        "android.hardware.automotive.vehicle@2.0",
+    ],
+}