Merge "sensors HAL uses "default" service name"
diff --git a/audio/2.0/default/StreamIn.cpp b/audio/2.0/default/StreamIn.cpp
index de7bf13..ad18986 100644
--- a/audio/2.0/default/StreamIn.cpp
+++ b/audio/2.0/default/StreamIn.cpp
@@ -275,7 +275,7 @@
     if (mDataMQ) {
         ALOGE("the client attempts to call prepareForReading twice");
         _hidl_cb(Result::INVALID_STATE,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<ReadStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
     std::unique_ptr<DataMQ> tempDataMQ(
@@ -285,7 +285,7 @@
         ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
         ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<ReadStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
     // TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -293,7 +293,7 @@
     if (status != OK || !mEfGroup) {
         ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<ReadStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
 
@@ -309,7 +309,7 @@
     if (status != OK) {
         ALOGW("failed to start reader thread: %s", strerror(-status));
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<ReadStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
 
diff --git a/audio/2.0/default/StreamOut.cpp b/audio/2.0/default/StreamOut.cpp
index ea6221e..1948b68 100644
--- a/audio/2.0/default/StreamOut.cpp
+++ b/audio/2.0/default/StreamOut.cpp
@@ -259,7 +259,7 @@
     if (mDataMQ) {
         ALOGE("the client attempts to call prepareForWriting twice");
         _hidl_cb(Result::INVALID_STATE,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<WriteStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
     std::unique_ptr<DataMQ> tempDataMQ(
@@ -269,7 +269,7 @@
         ALOGE_IF(!tempDataMQ->isValid(), "data MQ is invalid");
         ALOGE_IF(!tempStatusMQ->isValid(), "status MQ is invalid");
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<WriteStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
     // TODO: Remove event flag management once blocking MQ is implemented. b/33815422
@@ -277,7 +277,7 @@
     if (status != OK || !mEfGroup) {
         ALOGE("failed creating event flag for data MQ: %s", strerror(-status));
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<WriteStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
 
@@ -293,7 +293,7 @@
     if (status != OK) {
         ALOGW("failed to start writer thread: %s", strerror(-status));
         _hidl_cb(Result::INVALID_ARGUMENTS,
-                MQDescriptorSync<uint8_t>(), MQDescriptorSync<WriteStatus>());
+                DataMQ::Descriptor(), StatusMQ::Descriptor());
         return Void();
     }
 
diff --git a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
index eb28e46..516cd00 100644
--- a/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
+++ b/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp
@@ -25,6 +25,8 @@
 #include <hardware/fingerprint.h>
 #include "BiometricsFingerprint.h"
 
+#include <inttypes.h>
+
 namespace android {
 namespace hardware {
 namespace biometrics {
@@ -245,12 +247,12 @@
     if (auth_token != nullptr && auth_token_length > 0) {
         // TODO: cache service?
         sp<IServiceManager> sm = android::defaultServiceManager();
-        sp<IBinder> binder = sm->getService(String16("android.security.keystore"));
+        sp<::android::IBinder> binder = sm->getService(String16("android.security.keystore"));
         sp<IKeystoreService> service = interface_cast<IKeystoreService>(binder);
         if (service != nullptr) {
-            status_t ret = service->addAuthToken(auth_token, auth_token_length);
-            if (ret != ResponseCode::NO_ERROR) {
-                ALOGE("Falure sending auth token to KeyStore: %d", ret);
+            auto ret = service->addAuthToken(auth_token, auth_token_length);
+            if (!ret.isOk()) {
+                ALOGE("Failure sending auth token to KeyStore: %" PRId32, int32_t(ret));
             }
         } else {
             ALOGE("Unable to communicate with KeyStore");
diff --git a/bluetooth/1.0/vts/Android.mk b/bluetooth/1.0/vts/Android.mk
new file mode 100644
index 0000000..85e0c38
--- /dev/null
+++ b/bluetooth/1.0/vts/Android.mk
@@ -0,0 +1,19 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(LOCAL_PATH)/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
diff --git a/bluetooth/1.0/vts/BluetoothHci.vts b/bluetooth/1.0/vts/BluetoothHci.vts
new file mode 100644
index 0000000..1112371
--- /dev/null
+++ b/bluetooth/1.0/vts/BluetoothHci.vts
@@ -0,0 +1,61 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IBluetoothHci"
+
+package: "android.hardware.bluetooth"
+
+import: "android.hardware.bluetooth@1.0::IBluetoothHciCallbacks"
+import: "android.hardware.bluetooth@1.0::types"
+
+interface: {
+    api: {
+        name: "initialize"
+        return_type_hidl: {
+            type: TYPE_ENUM
+            predefined_type: "::android::hardware::bluetooth::V1_0::Status"
+        }
+        arg: {
+            type: TYPE_HIDL_INTERFACE
+            predefined_type: "IBluetoothHciCallbacks"
+            is_callback: false
+        }
+    }
+
+    api: {
+        name: "sendHciCommand"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "sendAclData"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "sendScoData"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "close"
+    }
+
+}
diff --git a/bluetooth/1.0/vts/BluetoothHciCallbacks.vts b/bluetooth/1.0/vts/BluetoothHciCallbacks.vts
new file mode 100644
index 0000000..f2df5b4
--- /dev/null
+++ b/bluetooth/1.0/vts/BluetoothHciCallbacks.vts
@@ -0,0 +1,43 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "IBluetoothHciCallbacks"
+
+package: "android.hardware.bluetooth"
+
+import: "android.hardware.bluetooth@1.0::types"
+
+interface: {
+    api: {
+        name: "hciEventReceived"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "aclDataReceived"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+    api: {
+        name: "scoDataReceived"
+        arg: {
+            type: TYPE_VECTOR
+            vector_value: {
+                type: TYPE_SCALAR
+                scalar_type: "uint8_t"
+            }
+        }
+    }
+
+}
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
new file mode 100644
index 0000000..f9e3276
--- /dev/null
+++ b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/Android.mk
@@ -0,0 +1,19 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(call all-subdir-makefiles)
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk
new file mode 100644
index 0000000..98bb686
--- /dev/null
+++ b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2016 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := HalBluetoothHidlTargetBasicTest
+VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/hidl/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml
new file mode 100644
index 0000000..54fb89b
--- /dev/null
+++ b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target/AndroidTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for VTS Bluetooth HIDL HAL's basic target-side test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="push-group" value="HidlHalTest.push" />
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="HalBluetoothHidlTargetBasicTest" />
+        <option name="binary-test-sources" value="
+            _64bit::DATA/nativetest64/bluetooth_hidl_hal_test/bluetooth_hidl_hal_test,
+            "/>
+        <option name="binary-test-type" value="gtest" />
+        <option name="test-timeout" value="1m" />
+    </test>
+</configuration>
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk
new file mode 100644
index 0000000..81a2db9
--- /dev/null
+++ b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+## Copyright (C) 2016 The Android Open Source Project
+#
+## Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #      http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+# #
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := BluetoothHidlTargetProfilingTest
+VTS_CONFIG_SRC_DIR := testcases/hal/bluetooth/hidl/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..8052b3c
--- /dev/null
+++ b/bluetooth/1.0/vts/functional/vts/testcases/hal/bluetooth/hidl/target_profiling/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2016 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Config for VTS Bluetooth HIDL HAL's target-side profiling test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="push-group" value="HidlHalTest.push" />
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer" />
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="BluetoothHidlTargetProfilingTest" />
+        <option name="binary-test-sources" value="
+            _64bit::DATA/nativetest64/bluetooth_hidl_hal_test/bluetooth_hidl_hal_test,
+            "/>
+        <option name="binary-test-type" value="gtest" />
+        <option name="test-timeout" value="1m" />
+    <option name="enable-profiling" value="true" />
+    </test>
+</configuration>
diff --git a/bluetooth/1.0/vts/types.vts b/bluetooth/1.0/vts/types.vts
new file mode 100644
index 0000000..59eb3d4
--- /dev/null
+++ b/bluetooth/1.0/vts/types.vts
@@ -0,0 +1,32 @@
+component_class: HAL_HIDL
+component_type_version: 1.0
+component_name: "types"
+
+package: "android.hardware.bluetooth"
+
+
+attribute: {
+    name: "::android::hardware::bluetooth::V1_0::Status"
+    type: TYPE_ENUM
+    enum_value: {
+        scalar_type: "int32_t"
+
+        enumerator: "SUCCESS"
+        scalar_value: {
+            int32_t: 0
+        }
+        enumerator: "TRANSPORT_ERROR"
+        scalar_value: {
+            int32_t: 1
+        }
+        enumerator: "INITIALIZATION_ERROR"
+        scalar_value: {
+            int32_t: 2
+        }
+        enumerator: "UNKNOWN"
+        scalar_value: {
+            int32_t: 3
+        }
+    }
+}
+
diff --git a/boot/1.0/default/BootControl.cpp b/boot/1.0/default/BootControl.cpp
index 828da16..9a90076 100644
--- a/boot/1.0/default/BootControl.cpp
+++ b/boot/1.0/default/BootControl.cpp
@@ -93,14 +93,14 @@
 }
 
 
-IBootControl* HIDL_FETCH_IBootControl(const char* hal) {
+IBootControl* HIDL_FETCH_IBootControl(const char* /* hal */) {
     int ret = 0;
     boot_control_module_t* module = NULL;
     hw_module_t **hwm = reinterpret_cast<hw_module_t**>(&module);
-    ret = hw_get_module(hal, const_cast<const hw_module_t**>(hwm));
+    ret = hw_get_module(BOOT_CONTROL_HARDWARE_MODULE_ID, const_cast<const hw_module_t**>(hwm));
     if (ret)
     {
-        ALOGE("hw_get_module %s failed: %d", hal, ret);
+        ALOGE("hw_get_module %s failed: %d", BOOT_CONTROL_HARDWARE_MODULE_ID, ret);
         return nullptr;
     }
     module->init(module);
diff --git a/boot/1.0/default/service.cpp b/boot/1.0/default/service.cpp
index 0dc56bf..f3996ef 100644
--- a/boot/1.0/default/service.cpp
+++ b/boot/1.0/default/service.cpp
@@ -22,5 +22,5 @@
 using android::hardware::defaultPassthroughServiceImplementation;
 
 int main (int /* argc */, char * /* argv */ []) {
-    return defaultPassthroughServiceImplementation<IBootControl>("bootctrl");
+    return defaultPassthroughServiceImplementation<IBootControl>();
 }
diff --git a/boot/1.0/vts/functional/boot_hidl_hal_test.cpp b/boot/1.0/vts/functional/boot_hidl_hal_test.cpp
index 3413a93..36142df 100644
--- a/boot/1.0/vts/functional/boot_hidl_hal_test.cpp
+++ b/boot/1.0/vts/functional/boot_hidl_hal_test.cpp
@@ -35,7 +35,7 @@
 class BootHidlTest : public ::testing::Test {
  public:
   virtual void SetUp() override {
-    boot = IBootControl::getService("bootctrl");
+    boot = IBootControl::getService();
     ASSERT_NE(boot, nullptr);
   }
 
diff --git a/gnss/1.0/IGnssCallback.hal b/gnss/1.0/IGnssCallback.hal
index eb66d78..afef55f 100644
--- a/gnss/1.0/IGnssCallback.hal
+++ b/gnss/1.0/IGnssCallback.hal
@@ -111,9 +111,16 @@
 
         /*
          * Carrier frequency of the signal tracked, for example it can be the
-         * GPS L1 = 1.57542e9 Hz, or L2, L5, varying GLO channels, etc. If
-         * the field is not set, it is the primary common use frequency,
-         * e.g. L1 for GPS.
+         * GPS central frequency for L1 = 1575.45 MHz, or L2 = 1227.60 MHz, L5 =
+         * 1176.45 MHz, varying GLO channels, etc. If the field is not set, it
+         * is the primary common use central frequency, e.g. L1 = 1575.45 MHz
+         * for GPS.
+         *
+         * For an L1, L5 receiver tracking a satellite on L1 and L5 at the same
+         * time, two GnssSvInfo structs must be reported for this same
+         * satellite, in one of the structs, all the values related
+         * to L1 must be filled, and in the other all of the values related to
+         * L5 must be filled.
          *
          * If the data is available, gnssClockFlags must contain
          * HAS_CARRIER_FREQUENCY.
diff --git a/gnss/1.0/IGnssMeasurementCallback.hal b/gnss/1.0/IGnssMeasurementCallback.hal
index de640ae..00e57cd 100644
--- a/gnss/1.0/IGnssMeasurementCallback.hal
+++ b/gnss/1.0/IGnssMeasurementCallback.hal
@@ -480,9 +480,16 @@
 
         /*
          * Carrier frequency of the signal tracked, for example it can be the
-         * GPS L1 = 1.57542e9 Hz, or L2, L5, varying GLO channels, etc. If the
-         * field is not set, it is the primary common use frequency,
-         * e.g. L1 for GPS.
+         * GPS central frequency for L1 = 1575.45 MHz, or L2 = 1227.60 MHz, L5 =
+         * 1176.45 MHz, varying GLO channels, etc. If the field is not set, it
+         * is the primary common use central frequency, e.g. L1 = 1575.45 MHz
+         * for GPS.
+         *
+         * For an L1, L5 receiver tracking a satellite on L1 and L5 at the same
+         * time, two raw measurement structs must be reported for this same
+         * satellite, in one of the measurement structs, all the values related
+         * to L1 must be filled, and in the other all of the values related to
+         * L5 must be filled.
          *
          * If the data is available, gnssClockFlags must contain
          * HAS_CARRIER_FREQUENCY.
@@ -552,12 +559,12 @@
 
         /*
          * Automatic gain control (AGC) level. AGC acts as a variable gain
-         * amplifier adjusting the power of the incoming signal to minimize the
-         * quantization losses. The AGC level may be used to indicate potential
-         * interference. When AGC is at a nominal level, this value
-         * must be set as 0. Higher gain (and/or lower input power) must be
-         * output as a positive number. Hence in cases of strong jamming, in the
-         * band of this signal, this value must go more negative.
+         * amplifier adjusting the power of the incoming signal. The AGC level
+         * may be used to indicate potential interference. When AGC is at a
+         * nominal level, this value must be set as 0. Higher gain (and/or lower
+         * input power) must be output as a positive number. Hence in cases of
+         * strong jamming, in the band of this signal, this value must go more
+         * negative.
          *
          * Note: Different hardware designs (e.g. antenna, pre-amplification, or
          * other RF HW components) may also affect the typical output of of this
diff --git a/graphics/common/1.0/types.hal b/graphics/common/1.0/types.hal
index ebdba77..6fddfaf 100644
--- a/graphics/common/1.0/types.hal
+++ b/graphics/common/1.0/types.hal
@@ -1264,7 +1264,7 @@
    *  red             0.680   0.320
    *  white (D65)     0.3127  0.3290
    *
-   * Gamma: 2.2
+   * Gamma: 2.6
    */
   DCI_P3 = 6,
 
@@ -1309,7 +1309,27 @@
    *
    * Gamma: 2.2
    */
-  ADOBE_RGB = 8
+  ADOBE_RGB = 8,
+
+  /*
+   * DISPLAY_P3 is a color space that uses the DCI_P3 primaries,
+   * the D65 white point and the SRGB transfer functions.
+   * Rendering Intent: Colorimetric
+   * Primaries:
+   *                  x       y
+   *  green           0.265   0.690
+   *  blue            0.150   0.060
+   *  red             0.680   0.320
+   *  white (D65)     0.3127  0.3290
+   *
+   * PC/Internet (sRGB) Gamma Correction (GC):
+   *
+   *  if Vlinear ≤ 0.0031308
+   *    Vnonlinear = 12.92 * Vlinear
+   *  else
+   *    Vnonlinear = 1.055 * (Vlinear)^(1/2.4) – 0.055
+   */
+  DISPLAY_P3 = 9
 };
 
 /*
diff --git a/graphics/composer/2.1/default/HwcClient.cpp b/graphics/composer/2.1/default/HwcClient.cpp
index 54dfd89..621cb14 100644
--- a/graphics/composer/2.1/default/HwcClient.cpp
+++ b/graphics/composer/2.1/default/HwcClient.cpp
@@ -514,7 +514,7 @@
     if (outDescriptor) {
         hidl_cb(Error::NONE, *outDescriptor);
     } else {
-        hidl_cb(Error::NO_RESOURCES, MQDescriptorSync<uint32_t>());
+        hidl_cb(Error::NO_RESOURCES, CommandQueueType::Descriptor());
     }
 
     return Void();
diff --git a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py
index 5faf78a..cd52abf 100644
--- a/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py
+++ b/vehicle/2.0/vts/functional/vts/testcases/hal/vehicle/hidl/host/VehicleHidlTest.py
@@ -20,6 +20,7 @@
 
 from vts.runners.host import asserts
 from vts.runners.host import base_test_with_webdb
+from vts.runners.host import const
 from vts.runners.host import test_runner
 from vts.utils.python.controllers import android_device
 from vts.utils.python.profiling import profiling_utils
@@ -35,6 +36,10 @@
         self.dut.shell.InvokeTerminal("one")
         self.dut.shell.one.Execute("setenforce 0")  # SELinux permissive mode
 
+        results = self.dut.shell.one.Execute("id -u system")
+        system_uid = results[const.STDOUT][0].strip()
+        logging.info("system_uid: %s", system_uid)
+
         self.dut.hal.InitHidlHal(
             target_type="vehicle",
             target_basepaths=self.dut.libPaths,
@@ -45,6 +50,7 @@
             bits=64 if self.dut.is64Bit else 32)
 
         self.vehicle = self.dut.hal.vehicle  # shortcut
+        self.vehicle.SetCallerUid(system_uid)
         self.vtypes = self.dut.hal.vehicle.GetHidlTypeInterface("types")
         logging.info("vehicle types: %s", self.vtypes)