Merge changes Ia5d46ad8,I60cec00d into oc-dr1-dev
am: e65f392b6f

Change-Id: I1236dc30b5092318e596904a86a3df8c74fda960
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..4929ba5
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,5 @@
+yim@google.com
+trong@google.com
+zhuoyao@google.com
+yuexima@google.com
+ryanjcampbell@google.com
diff --git a/audio/V2_0/build/Android.bp b/audio/V2_0/build/Android.bp
index 0a50416..4266f1a 100644
--- a/audio/V2_0/build/Android.bp
+++ b/audio/V2_0/build/Android.bp
@@ -93,9 +93,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -165,9 +162,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/audio/common/V2_0/build/Android.bp b/audio/common/V2_0/build/Android.bp
index 485b349..0d49052 100644
--- a/audio/common/V2_0/build/Android.bp
+++ b/audio/common/V2_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/audio/effect/V2_0/build/Android.bp b/audio/effect/V2_0/build/Android.bp
index 1a439b5..f2937ba 100644
--- a/audio/effect/V2_0/build/Android.bp
+++ b/audio/effect/V2_0/build/Android.bp
@@ -114,9 +114,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -200,9 +197,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/audio/effect/V2_0/target/AndroidTest.xml b/audio/effect/V2_0/target/AndroidTest.xml
index 949c16a..fe0122e 100644
--- a/audio/effect/V2_0/target/AndroidTest.xml
+++ b/audio/effect/V2_0/target/AndroidTest.xml
@@ -17,6 +17,7 @@
     <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
         <option name="abort-on-push-failure" value="false"/>
         <option name="push-group" value="HalHidlTargetTest.push"/>
+        <option name="push" value="DATA/hardware/interfaces/audio/effect/2.0/xml/audio_effects_conf_V2_0.xsd->/data/local/tmp/audio_effects_conf_V2_0.xsd"/>
     </target_preparer>
     <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/audio/effect/V2_0/target_profiling/AndroidTest.xml b/audio/effect/V2_0/target_profiling/AndroidTest.xml
index 1dbdf0e..ca6e8d9 100644
--- a/audio/effect/V2_0/target_profiling/AndroidTest.xml
+++ b/audio/effect/V2_0/target_profiling/AndroidTest.xml
@@ -22,6 +22,7 @@
         <option name="push" value="DATA/lib64/android.hardware.audio.common@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio.common@2.0-vts.profiler.so"/>
         <option name="push" value="DATA/lib/android.hardware.audio.effect@2.0-vts.profiler.so->/data/local/tmp/32/android.hardware.audio.effect@2.0-vts.profiler.so"/>
         <option name="push" value="DATA/lib64/android.hardware.audio.effect@2.0-vts.profiler.so->/data/local/tmp/64/android.hardware.audio.effect@2.0-vts.profiler.so"/>
+        <option name="push" value="DATA/hardware/interfaces/audio/effect/2.0/xml/audio_effects_conf_V2_0.xsd->/data/local/tmp/audio_effects_conf_V2_0.xsd"/>
     </target_preparer>
     <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
     <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
diff --git a/automotive/evs/V1_0/build/Android.bp b/automotive/evs/V1_0/build/Android.bp
index 694cc80..87aef34 100644
--- a/automotive/evs/V1_0/build/Android.bp
+++ b/automotive/evs/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -147,9 +144,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/automotive/evs/V1_0/target/Android.mk b/automotive/evs/V1_0/target/Android.mk
new file mode 100644
index 0000000..b511a08
--- /dev/null
+++ b/automotive/evs/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalEvsV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/evs/V1_0/target/AndroidTest.xml b/automotive/evs/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..025c8b3
--- /dev/null
+++ b/automotive/evs/V1_0/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalEvsV1_0Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalEvsV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.automotive.evs@1.0"/>
+        <option name="test-timeout" value="15m"/>
+    </test>
+</configuration>
diff --git a/automotive/evs/V1_0/target_profiling/Android.mk b/automotive/evs/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..9070902
--- /dev/null
+++ b/automotive/evs/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalEvsV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/automotive/evs/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/automotive/evs/V1_0/target_profiling/AndroidTest.xml b/automotive/evs/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..2ce2141
--- /dev/null
+++ b/automotive/evs/V1_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalEvsV1_0Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalEvsV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalEvsV1_0TargetTest/VtsHalEvsV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.automotive.evs@1.0"/>
+        <option name="test-timeout" value="15m"/>
+    </test>
+</configuration>
diff --git a/automotive/vehicle/V2_0/build/Android.bp b/automotive/vehicle/V2_0/build/Android.bp
index 4054b7c..514ae0f 100644
--- a/automotive/vehicle/V2_0/build/Android.bp
+++ b/automotive/vehicle/V2_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/automotive/vehicle/V2_1/build/Android.bp b/automotive/vehicle/V2_1/build/Android.bp
index ed24785..8921d1a 100644
--- a/automotive/vehicle/V2_1/build/Android.bp
+++ b/automotive/vehicle/V2_1/build/Android.bp
@@ -75,9 +75,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -135,9 +132,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py b/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
index cecb45a..0748103 100644
--- a/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
+++ b/automotive/vehicle/V2_1/host/VtsHalAutomotiveVehicleV2_1HostTest.py
@@ -60,9 +60,6 @@
         self.vtypes = self.dut.hal.vehicle.GetHidlTypeInterface("types")
         logging.info("vehicle types: %s", self.vtypes)
         self.halProperties = {}
-        for config in self.vehicle.getAllPropConfigs():
-            logging.info('property %d -> %s', config['prop'], config)
-            self.halProperties[config['prop']] = config
 
     def tearDownClass(self):
         """Disables the profiling.
@@ -78,8 +75,25 @@
             self.coverage.SetCoverageData(dut=self.dut, isGlobal=True)
 
     def isPropertySupported(self, propertyId):
-        """Check whether a Vehicle HAL property is supported."""
-        return propertyId in self.halProperties
+        """Check whether a Vehicle HAL property is supported.
+
+           Args:
+               propertyId: the numeric identifier of the vehicle property.
+
+           Returns:
+                  True if the HAL implementation supports the property, False otherwise.
+        """
+        if propertyId in self.halProperties:
+            return self.halProperties[propertyId] is not None
+        ok, config = self.vehicle.getPropConfigs([propertyId])
+        logging.info("propertyId = %s, ok = %s, config = %s",
+            propertyId, ok, config)
+        if ok == self.vtypes.StatusCode.OK:
+            self.halProperties[propertyId] = config
+            return True
+        else:
+            self.halProperties[propertyId] = None
+            return False
 
     def getDiagnosticSupportInfo(self):
         """Check which of the OBD2 diagnostic properties are supported."""
@@ -242,7 +256,7 @@
                 # None is acceptable, as a newer fault could have overwritten
                 # the one we're trying to read
                 if value is not None:
-                    asserts.assertEqual(self.vtypes.StatusCode.OK, status)
+                    asserts.assertEqual(self.test.vtypes.StatusCode.OK, status)
                     asserts.assertEqual(self.propertyId, value['prop'])
                     asserts.assertEqual(self.timestamp, value['timestamp'])
 
@@ -256,10 +270,6 @@
             for timestamp in timestamps:
                 freezeCheckRead = FreezeFrameCheckRead(self, timestamp)
                 freezeCheckRead()
-            for timestamp in invalidTimestamps:
-                request = self.emptyValueProperty(
-                    self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME)
-                status, value = self.vehicle.get(request)
         else:
             # freeze frame not supported by this HAL implementation. done
             logging.info("OBD2_FREEZE_FRAME and _INFO not supported.")
@@ -279,8 +289,6 @@
                 return propValue
 
             def validateGet(self, status, value):
-                # If we get freeze frame data here, something is wrong
-                asserts.assertEqual(None, value)
                 asserts.assertEqual(
                     self.test.vtypes.StatusCode.INVALID_ARG, status)
 
@@ -302,7 +310,7 @@
         class FreezeFrameClearCheckWrite(self.CheckWrite):
             def __init__(self, test, timestamp):
                 self.test = test
-                self.propertyId = self.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
+                self.propertyId = self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
                 self.timestamp = timestamp
                 self.areaId = 0
 
@@ -319,7 +327,7 @@
             def __init__(self, test, timestamp):
                 self.test = test
                 self.propertyId = \
-                    self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME_CLEAR
+                    self.test.vtypes.VehicleProperty.OBD2_FREEZE_FRAME
                 self.timestamp = timestamp
                 self.areaId = 0
 
@@ -328,8 +336,6 @@
                 return propValue
 
             def validateGet(self, status, value):
-                # If we get freeze frame data here, something is wrong
-                asserts.assertEqual(None, value)
                 asserts.assertEqual(
                     self.test.vtypes.StatusCode.INVALID_ARG, status)
 
diff --git a/biometrics/fingerprint/V2_1/build/Android.bp b/biometrics/fingerprint/V2_1/build/Android.bp
index 8ab1ab4..c4fb80e 100644
--- a/biometrics/fingerprint/V2_1/build/Android.bp
+++ b/biometrics/fingerprint/V2_1/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/bluetooth/V1_0/build/Android.bp b/bluetooth/V1_0/build/Android.bp
index 9d263bd..d289977 100644
--- a/bluetooth/V1_0/build/Android.bp
+++ b/bluetooth/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/boot/V1_0/build/Android.bp b/boot/V1_0/build/Android.bp
index f3cf3da..f020db0 100644
--- a/boot/V1_0/build/Android.bp
+++ b/boot/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/broadcastradio/V1_0/build/Android.bp b/broadcastradio/V1_0/build/Android.bp
index 286b693..04244cd 100644
--- a/broadcastradio/V1_0/build/Android.bp
+++ b/broadcastradio/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -147,9 +144,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/broadcastradio/V1_1/build/Android.bp b/broadcastradio/V1_1/build/Android.bp
index dd33221..f64c410 100644
--- a/broadcastradio/V1_1/build/Android.bp
+++ b/broadcastradio/V1_1/build/Android.bp
@@ -84,9 +84,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -150,9 +147,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/broadcastradio/V1_1/target/Android.mk b/broadcastradio/V1_1/target/Android.mk
new file mode 100644
index 0000000..7ec9a3c
--- /dev/null
+++ b/broadcastradio/V1_1/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalBroadcastradioV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target/AndroidTest.xml b/broadcastradio/V1_1/target/AndroidTest.xml
new file mode 100644
index 0000000..00c6a69
--- /dev/null
+++ b/broadcastradio/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalBroadcastradioV1_0Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalBroadcastradioV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.broadcastradio@1.1"/>
+        <option name="test-timeout" value="15m"/>
+    </test>
+</configuration>
diff --git a/broadcastradio/V1_1/target_profiling/Android.mk b/broadcastradio/V1_1/target_profiling/Android.mk
new file mode 100644
index 0000000..a4ee112
--- /dev/null
+++ b/broadcastradio/V1_1/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalBroadcastradioV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/broadcastradio/V1_1/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/broadcastradio/V1_1/target_profiling/AndroidTest.xml b/broadcastradio/V1_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..07ae310
--- /dev/null
+++ b/broadcastradio/V1_1/target_profiling/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalBroadcastradioV1_1TargetProfiling test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.broadcastradio@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.broadcastradio@1.1-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.broadcastradio@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.broadcastradio@1.1-vts.profiler.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalBroadcastradioV1_1TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalBroadcastradioV1_1TargetTest/VtsHalBroadcastradioV1_1TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.broadcastradio@1.1"/>
+        <option name="test-timeout" value="15m"/>
+    </test>
+</configuration>
diff --git a/build/soong/hal2vts.go b/build/soong/hal2vts.go
index 9e79acc..01ac1fd 100644
--- a/build/soong/hal2vts.go
+++ b/build/soong/hal2vts.go
@@ -130,9 +130,11 @@
 	return h.generatedHeaders
 }
 
-func hal2vtsFactory() (blueprint.Module, []interface{}) {
+func hal2vtsFactory() android.Module {
 	h := &hal2vts{}
-	return android.InitAndroidModule(h, &h.properties)
+	h.AddProperties(&h.properties)
+	android.InitAndroidModule(h)
+	return h
 }
 
 func vtsList(config android.Config) *android.Paths {
diff --git a/camera/common/V1_0/build/Android.bp b/camera/common/V1_0/build/Android.bp
index 3af91a2..47e91b2 100644
--- a/camera/common/V1_0/build/Android.bp
+++ b/camera/common/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/camera/device/V1_0/build/Android.bp b/camera/device/V1_0/build/Android.bp
index c0cac42..8232106 100644
--- a/camera/device/V1_0/build/Android.bp
+++ b/camera/device/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -151,9 +148,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/camera/device/V3_2/build/Android.bp b/camera/device/V3_2/build/Android.bp
index 62ac728..9094150 100644
--- a/camera/device/V3_2/build/Android.bp
+++ b/camera/device/V3_2/build/Android.bp
@@ -85,9 +85,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -151,9 +148,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/camera/metadata/V3_2/build/Android.bp b/camera/metadata/V3_2/build/Android.bp
index 96bffd4..ca9b055 100644
--- a/camera/metadata/V3_2/build/Android.bp
+++ b/camera/metadata/V3_2/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/camera/provider/V2_4/build/Android.bp b/camera/provider/V2_4/build/Android.bp
index b4b28da..e80e66c 100644
--- a/camera/provider/V2_4/build/Android.bp
+++ b/camera/provider/V2_4/build/Android.bp
@@ -87,9 +87,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -153,9 +150,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/configstore/Android.bp b/configstore/Android.bp
index cdc8905..2e98897 100644
--- a/configstore/Android.bp
+++ b/configstore/Android.bp
@@ -3,4 +3,5 @@
 
 subdirs = [
     "V1_0",
+    "V1_1",
 ]
diff --git a/configstore/V1_0/build/Android.bp b/configstore/V1_0/build/Android.bp
index 26fec59..373af03 100644
--- a/configstore/V1_0/build/Android.bp
+++ b/configstore/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/configstore/V1_0/target_replay/Android.mk b/configstore/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..2132348
--- /dev/null
+++ b/configstore/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalConfigstoreV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_0/target_replay/AndroidTest.xml b/configstore/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..b6d5d8c
--- /dev/null
+++ b/configstore/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalConfigstoreV1_0TargetReplay test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/SurfaceFlingerConfigs.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/SurfaceFlingerConfigs.vts"/>
+        <option name="push" value="spec/hardware/interfaces/configstore/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/configstore/1.0/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.configstore@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.configstore@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.configstore@1.0-vts.driver.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalConfigstoreV1_0TargetReplay"/>
+        <option name="binary-test-type" value="hal_hidl_replay_test"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/configstore/V1_0/android.hardware.configstore_1.0_16680329225052.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.configstore@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.configstore@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/configstore/V1_1/Android.bp b/configstore/V1_1/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/configstore/V1_1/Android.bp
@@ -0,0 +1,6 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+    "*",
+]
diff --git a/configstore/V1_1/build/Android.bp b/configstore/V1_1/build/Android.bp
new file mode 100644
index 0000000..ef5dd2f
--- /dev/null
+++ b/configstore/V1_1/build/Android.bp
@@ -0,0 +1,140 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.configstore@1.1-vts.spec",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.configstore@1.1-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.1-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore@1.1-vts.driver",
+    generated_sources: ["android.hardware.configstore@1.1-vts.driver_genc++"],
+    generated_headers: ["android.hardware.configstore@1.1-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore@1.1-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.configstore@1.1",
+        "android.hardware.configstore@1.0",
+        "android.hardware.configstore@1.0-vts.driver",
+    ],
+    export_shared_lib_headers: [
+        "android.hardware.configstore@1.0",
+        "android.hardware.configstore@1.0-vts.driver",
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-Wno-unused-private-field",
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.configstore@1.1-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.configstore@1.1-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.configstore@1.1 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/configstore/1.1/ $(genDir)/android/hardware/configstore/1.1/",
+    srcs: [
+        ":android.hardware.configstore@1.1_hal",
+    ],
+    out: [
+        "android/hardware/configstore/1.1/SurfaceFlingerConfigs.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.configstore@1.1-vts.profiler",
+    generated_sources: ["android.hardware.configstore@1.1-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.configstore@1.1-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.configstore@1.1-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.configstore@1.1",
+        "android.hardware.configstore@1.0",
+        "android.hardware.configstore@1.0-vts.profiler",
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-unused-parameter",
+        "-Wno-unused-variable",
+        "-Wno-unused-private-field",
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/configstore/V1_1/target/Android.mk b/configstore/V1_1/target/Android.mk
new file mode 100644
index 0000000..bb9ddcd
--- /dev/null
+++ b/configstore/V1_1/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalConfigstoreV1_1Target
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_1/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_1/target/AndroidTest.xml b/configstore/V1_1/target/AndroidTest.xml
new file mode 100644
index 0000000..246ddd6
--- /dev/null
+++ b/configstore/V1_1/target/AndroidTest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalConfigstoreV1_1Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalConfigstoreV1_1Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalConfigstoreV1_1TargetTest/VtsHalConfigstoreV1_1TargetTest" />
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalConfigstoreV1_1TargetTest/VtsHalConfigstoreV1_1TargetTest" />
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.configstore@1.1"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/configstore/V1_1/target_profiling/Android.mk b/configstore/V1_1/target_profiling/Android.mk
new file mode 100644
index 0000000..6409e6f
--- /dev/null
+++ b/configstore/V1_1/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalConfigstoreV1_1TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/configstore/V1_1/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/configstore/V1_1/target_profiling/AndroidTest.xml b/configstore/V1_1/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..0513224
--- /dev/null
+++ b/configstore/V1_1/target_profiling/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalConfigstoreV1_1TargetProfiling test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.configstore@1.1-vts.profiler.so->/data/local/tmp/32/android.hardware.configstore@1.1-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.configstore@1.1-vts.profiler.so->/data/local/tmp/64/android.hardware.configstore@1.1-vts.profiler.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalConfigstoreV1_1TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalConfigstoreV1_1TargetTest/VtsHalConfigstoreV1_1TargetTest" />
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalConfigstoreV1_1TargetTest/VtsHalConfigstoreV1_1TargetTest" />
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="binary-test-stop-native-servers" value="true"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.configstore@1.1"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/contexthub/V1_0/build/Android.bp b/contexthub/V1_0/build/Android.bp
index 9a16c0a..f1af8e5 100644
--- a/contexthub/V1_0/build/Android.bp
+++ b/contexthub/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/drm/V1_0/build/Android.bp b/drm/V1_0/build/Android.bp
index 729cc45..81bb65c 100644
--- a/drm/V1_0/build/Android.bp
+++ b/drm/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -152,9 +149,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/dumpstate/V1_0/build/Android.bp b/dumpstate/V1_0/build/Android.bp
index 6da14ea..27c5f48 100644
--- a/dumpstate/V1_0/build/Android.bp
+++ b/dumpstate/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/dumpstate/V1_0/target/Android.mk b/dumpstate/V1_0/target/Android.mk
new file mode 100644
index 0000000..04ea176
--- /dev/null
+++ b/dumpstate/V1_0/target/Android.mk
@@ -0,0 +1,24 @@
+#
+# Copyright (C) 2017 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 := VtsHalDumpstateV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/dumpstate/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
+
diff --git a/dumpstate/V1_0/target/AndroidTest.xml b/dumpstate/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..14431d7
--- /dev/null
+++ b/dumpstate/V1_0/target/AndroidTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalDumpstateV1_0Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalDumpstateV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalDumpstateV1_0TargetTest/VtsHalDumpstateV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="binary-test-disable-framework" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.dumpstate@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/gatekeeper/V1_0/build/Android.bp b/gatekeeper/V1_0/build/Android.bp
index c566980..b9d3330 100644
--- a/gatekeeper/V1_0/build/Android.bp
+++ b/gatekeeper/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/gatekeeper/V1_0/target_replay/Android.mk b/gatekeeper/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..d53e149
--- /dev/null
+++ b/gatekeeper/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalGatekeeperV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/gatekeeper/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/gatekeeper/V1_0/target_replay/AndroidTest.xml b/gatekeeper/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..9d1cf7e
--- /dev/null
+++ b/gatekeeper/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalGatekeeperV1_0TargetReplay test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/Gatekeeper.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/Gatekeeper.vts"/>
+        <option name="push" value="spec/hardware/interfaces/gatekeeper/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/gatekeeper/1.0/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.gatekeeper@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.gatekeeper@1.0-vts.driver.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalGatekeeperV1_0TargetReplay"/>
+        <option name="binary-test-type" value="hal_hidl_replay_test"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_450525506023.vts.trace"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/gatekeeper/V1_0/android.hardware.gatekeeper_1.0_39493054816.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.gatekeeper@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.gatekeeper@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/gnss/V1_0/build/Android.bp b/gnss/V1_0/build/Android.bp
index 214de8b..338033f 100644
--- a/gnss/V1_0/build/Android.bp
+++ b/gnss/V1_0/build/Android.bp
@@ -130,9 +130,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -227,9 +224,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/graphics/allocator/V2_0/build/Android.bp b/graphics/allocator/V2_0/build/Android.bp
index b442eef..ed5ddd2 100644
--- a/graphics/allocator/V2_0/build/Android.bp
+++ b/graphics/allocator/V2_0/build/Android.bp
@@ -72,9 +72,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -130,9 +127,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/graphics/bufferqueue/V1_0/build/Android.bp b/graphics/bufferqueue/V1_0/build/Android.bp
index 512dfa9..d9a996c 100644
--- a/graphics/bufferqueue/V1_0/build/Android.bp
+++ b/graphics/bufferqueue/V1_0/build/Android.bp
@@ -79,9 +79,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -141,9 +138,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/graphics/common/V1_0/build/Android.bp b/graphics/common/V1_0/build/Android.bp
index 07d50dc..e5c1d82 100644
--- a/graphics/common/V1_0/build/Android.bp
+++ b/graphics/common/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/graphics/composer/V2_1/build/Android.bp b/graphics/composer/V2_1/build/Android.bp
index 8014599..9ed171a 100644
--- a/graphics/composer/V2_1/build/Android.bp
+++ b/graphics/composer/V2_1/build/Android.bp
@@ -81,9 +81,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -145,9 +142,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/graphics/mapper/V2_0/build/Android.bp b/graphics/mapper/V2_0/build/Android.bp
index 1707a07..0af0d66 100644
--- a/graphics/mapper/V2_0/build/Android.bp
+++ b/graphics/mapper/V2_0/build/Android.bp
@@ -75,9 +75,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -135,9 +132,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/health/V1_0/build/Android.bp b/health/V1_0/build/Android.bp
index 2e621ce..ea7c913 100644
--- a/health/V1_0/build/Android.bp
+++ b/health/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/ir/V1_0/build/Android.bp b/ir/V1_0/build/Android.bp
index b2e9e7c..2b91e17 100644
--- a/ir/V1_0/build/Android.bp
+++ b/ir/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/keymaster/V3_0/build/Android.bp b/keymaster/V3_0/build/Android.bp
index 055a2e6..c8f9127 100644
--- a/keymaster/V3_0/build/Android.bp
+++ b/keymaster/V3_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/light/V2_0/build/Android.bp b/light/V2_0/build/Android.bp
index b4cfd7e..ea2a888 100644
--- a/light/V2_0/build/Android.bp
+++ b/light/V2_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/media/V1_0/build/Android.bp b/media/V1_0/build/Android.bp
index 2354adf..1ea4f95 100644
--- a/media/V1_0/build/Android.bp
+++ b/media/V1_0/build/Android.bp
@@ -72,9 +72,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -130,9 +127,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/media/omx/V1_0/build/Android.bp b/media/omx/V1_0/build/Android.bp
index 7308f9d..0465545 100644
--- a/media/omx/V1_0/build/Android.bp
+++ b/media/omx/V1_0/build/Android.bp
@@ -98,9 +98,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -172,9 +169,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/memtrack/V1_0/build/Android.bp b/memtrack/V1_0/build/Android.bp
index 1801bf8..0da1ffe 100644
--- a/memtrack/V1_0/build/Android.bp
+++ b/memtrack/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/neuralnetworks/Android.bp b/neuralnetworks/Android.bp
new file mode 100644
index 0000000..cdc8905
--- /dev/null
+++ b/neuralnetworks/Android.bp
@@ -0,0 +1,6 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+    "V1_0",
+]
diff --git a/neuralnetworks/V1_0/Android.bp b/neuralnetworks/V1_0/Android.bp
new file mode 100644
index 0000000..995dd5b
--- /dev/null
+++ b/neuralnetworks/V1_0/Android.bp
@@ -0,0 +1,6 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+subdirs = [
+    "*",
+]
diff --git a/neuralnetworks/V1_0/build/Android.bp b/neuralnetworks/V1_0/build/Android.bp
new file mode 100644
index 0000000..a4f777c
--- /dev/null
+++ b/neuralnetworks/V1_0/build/Android.bp
@@ -0,0 +1,141 @@
+// This file was auto-generated. Do not edit manually.
+// Use test/vts-testcase/hal/update_makefiles.py to generate this file.
+
+// Generate .vts spec files.
+hal2vts {
+    name: "android.hardware.neuralnetworks@1.0-vts.spec",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.0_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.0/Device.vts",
+        "android/hardware/neuralnetworks/1.0/PreparedModel.vts",
+        "android/hardware/neuralnetworks/1.0/types.vts",
+    ],
+}
+
+// Build VTS driver.
+genrule {
+    name: "android.hardware.neuralnetworks@1.0-vts.driver_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mDRIVER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.0_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.0/Device.vts.cpp",
+        "android/hardware/neuralnetworks/1.0/PreparedModel.vts.cpp",
+        "android/hardware/neuralnetworks/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mDRIVER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.0_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.0/Device.vts.h",
+        "android/hardware/neuralnetworks/1.0/PreparedModel.vts.h",
+        "android/hardware/neuralnetworks/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.neuralnetworks@1.0-vts.driver",
+    generated_sources: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++"],
+    generated_headers: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers"],
+    export_generated_headers: ["android.hardware.neuralnetworks@1.0-vts.driver_genc++_headers"],
+    shared_libs: [
+        "libcamera_metadata",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libhwbinder",
+        "liblog",
+        "libprotobuf-cpp-full",
+        "libutils",
+        "libvts_common",
+        "libvts_datatype",
+        "libvts_drivercomm",
+        "libvts_measurement",
+        "libvts_multidevice_proto",
+        "android.hidl.allocator@1.0",
+        "android.hardware.neuralnetworks@1.0",
+        
+    ],
+    export_shared_lib_headers: [
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
+// Build VTS profiler.
+genrule {
+    name: "android.hardware.neuralnetworks@1.0-vts.profiler_genc++",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mPROFILER -tSOURCE -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.0_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.0/Device.vts.cpp",
+        "android/hardware/neuralnetworks/1.0/PreparedModel.vts.cpp",
+        "android/hardware/neuralnetworks/1.0/types.vts.cpp",
+    ],
+}
+
+genrule {
+    name: "android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers",
+    tools: ["hidl-gen", "vtsc"],
+    cmd: "$(location hidl-gen) -o $(genDir) -Lvts -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.neuralnetworks@1.0 && $(location vtsc) -mPROFILER -tHEADER -b$(genDir) android/hardware/neuralnetworks/1.0/ $(genDir)/android/hardware/neuralnetworks/1.0/",
+    srcs: [
+        ":android.hardware.neuralnetworks@1.0_hal",
+    ],
+    out: [
+        "android/hardware/neuralnetworks/1.0/Device.vts.h",
+        "android/hardware/neuralnetworks/1.0/PreparedModel.vts.h",
+        "android/hardware/neuralnetworks/1.0/types.vts.h",
+    ],
+}
+
+cc_library_shared {
+    name: "android.hardware.neuralnetworks@1.0-vts.profiler",
+    generated_sources: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++"],
+    generated_headers: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers"],
+    export_generated_headers: ["android.hardware.neuralnetworks@1.0-vts.profiler_genc++_headers"],
+    shared_libs: [
+        "libbase",
+        "libcutils",
+        "libfmq",
+        "libhidlbase",
+        "libhidltransport",
+        "libvts_common",
+        "libvts_profiling",
+        "libvts_multidevice_proto",
+        "libprotobuf-cpp-full",
+        "android.hardware.neuralnetworks@1.0",
+        
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+
+        // These warnings are in code generated with vtsc
+        // b/31362043
+        "-Wno-duplicate-decl-specifier",
+        "-Wno-implicitly-unsigned-literal",
+    ],
+}
+
diff --git a/neuralnetworks/V1_0/target/Android.mk b/neuralnetworks/V1_0/target/Android.mk
new file mode 100644
index 0000000..521fc01
--- /dev/null
+++ b/neuralnetworks/V1_0/target/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalNeuralnetworksV1_0Target
+VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target
+include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target/AndroidTest.xml b/neuralnetworks/V1_0/target/AndroidTest.xml
new file mode 100644
index 0000000..84dbdbc
--- /dev/null
+++ b/neuralnetworks/V1_0/target/AndroidTest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalNeuralnetworksV1_0Target test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetTest.push"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalNeuralnetworksV1_0Target"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="precondition-lshal" value="android.hardware.neuralnetworks@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/neuralnetworks/V1_0/target_profiling/Android.mk b/neuralnetworks/V1_0/target_profiling/Android.mk
new file mode 100644
index 0000000..37d2011
--- /dev/null
+++ b/neuralnetworks/V1_0/target_profiling/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalNeuralnetworksV1_0TargetProfiling
+VTS_CONFIG_SRC_DIR := testcases/hal/neuralnetworks/V1_0/target_profiling
+include test/vts/tools/build/Android.host_config.mk
diff --git a/neuralnetworks/V1_0/target_profiling/AndroidTest.xml b/neuralnetworks/V1_0/target_profiling/AndroidTest.xml
new file mode 100644
index 0000000..24131d4
--- /dev/null
+++ b/neuralnetworks/V1_0/target_profiling/AndroidTest.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalNeuralnetworksV1_0TargetProfiling test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlTargetProfilingTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="DATA/lib/android.hardware.neuralnetworks@1.0-vts.profiler.so->/data/local/tmp/32/android.hardware.neuralnetworks@1.0-vts.profiler.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.neuralnetworks@1.0-vts.profiler.so->/data/local/tmp/64/android.hardware.neuralnetworks@1.0-vts.profiler.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalNeuralnetworksV1_0TargetProfiling"/>
+        <option name="binary-test-source" value="_32bit::DATA/nativetest/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+        <option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsHalNeuralnetworksV1_0TargetTest/VtsHalNeuralnetworksV1_0TargetTest"/>
+        <option name="binary-test-type" value="hal_hidl_gtest"/>
+        <option name="enable-profiling" value="true"/>
+        <option name="precondition-lshal" value="android.hardware.neuralnetworks@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/nfc/V1_0/build/Android.bp b/nfc/V1_0/build/Android.bp
index da4c32b..53209c9 100644
--- a/nfc/V1_0/build/Android.bp
+++ b/nfc/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/power/V1_0/build/Android.bp b/power/V1_0/build/Android.bp
index 32dc0f7..a2c74b8 100644
--- a/power/V1_0/build/Android.bp
+++ b/power/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/radio/V1_0/build/Android.bp b/radio/V1_0/build/Android.bp
index 3910e1e..e6f03ef 100644
--- a/radio/V1_0/build/Android.bp
+++ b/radio/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -152,9 +149,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/radio/V1_1/build/Android.bp b/radio/V1_1/build/Android.bp
index e45f7cc..2689191 100644
--- a/radio/V1_1/build/Android.bp
+++ b/radio/V1_1/build/Android.bp
@@ -84,9 +84,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -150,9 +147,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/radio/deprecated/V1_0/build/Android.bp b/radio/deprecated/V1_0/build/Android.bp
index 026ef95..da9ffc2 100644
--- a/radio/deprecated/V1_0/build/Android.bp
+++ b/radio/deprecated/V1_0/build/Android.bp
@@ -78,9 +78,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -140,9 +137,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/renderscript/V1_0/build/Android.bp b/renderscript/V1_0/build/Android.bp
index ebc0450..32e4db8 100644
--- a/renderscript/V1_0/build/Android.bp
+++ b/renderscript/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/renderscript/V1_0/target_profiling/AndroidTest.xml b/renderscript/V1_0/target_profiling/AndroidTest.xml
index 1d87e03..1e1223f 100644
--- a/renderscript/V1_0/target_profiling/AndroidTest.xml
+++ b/renderscript/V1_0/target_profiling/AndroidTest.xml
@@ -29,6 +29,6 @@
         <option name="binary-test-type" value="hal_hidl_gtest"/>
         <option name="enable-profiling" value="true"/>
         <option name="precondition-lshal" value="android.hardware.renderscript@1.0"/>
-        <option name="test-timeout" value="2m"/>
+        <option name="test-timeout" value="5m"/>
     </test>
 </configuration>
diff --git a/script/build/template/vts_build_template.bp b/script/build/template/vts_build_template.bp
index 0bd41e2..a9070f9 100644
--- a/script/build/template/vts_build_template.bp
+++ b/script/build/template/vts_build_template.bp
@@ -67,9 +67,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -124,9 +121,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/sensors/V1_0/build/Android.bp b/sensors/V1_0/build/Android.bp
index 5824821..100ac11 100644
--- a/sensors/V1_0/build/Android.bp
+++ b/sensors/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/soundtrigger/V2_0/build/Android.bp b/soundtrigger/V2_0/build/Android.bp
index d339e88..3c9f435 100644
--- a/soundtrigger/V2_0/build/Android.bp
+++ b/soundtrigger/V2_0/build/Android.bp
@@ -78,9 +78,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -140,9 +137,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/bar/V1_0/build/Android.bp b/tests/bar/V1_0/build/Android.bp
index 63e4cf9..dfc5408 100644
--- a/tests/bar/V1_0/build/Android.bp
+++ b/tests/bar/V1_0/build/Android.bp
@@ -87,9 +87,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -155,9 +152,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/baz/V1_0/build/Android.bp b/tests/baz/V1_0/build/Android.bp
index 7ef1b8d..db0a36e 100644
--- a/tests/baz/V1_0/build/Android.bp
+++ b/tests/baz/V1_0/build/Android.bp
@@ -82,9 +82,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -147,9 +144,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/expression/V1_0/build/Android.bp b/tests/expression/V1_0/build/Android.bp
index 7ecb5b6..9e2de50 100644
--- a/tests/expression/V1_0/build/Android.bp
+++ b/tests/expression/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/extension/light/V2_0/build/Android.bp b/tests/extension/light/V2_0/build/Android.bp
index 3a06f75..542a023 100644
--- a/tests/extension/light/V2_0/build/Android.bp
+++ b/tests/extension/light/V2_0/build/Android.bp
@@ -75,9 +75,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -135,9 +132,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/foo/V1_0/build/Android.bp b/tests/foo/V1_0/build/Android.bp
index 87377e0..7cbdc9b 100644
--- a/tests/foo/V1_0/build/Android.bp
+++ b/tests/foo/V1_0/build/Android.bp
@@ -85,9 +85,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -152,9 +149,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/hash/V1_0/build/Android.bp b/tests/hash/V1_0/build/Android.bp
index 0998e6a..dec5e2d 100644
--- a/tests/hash/V1_0/build/Android.bp
+++ b/tests/hash/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/inheritance/V1_0/build/Android.bp b/tests/inheritance/V1_0/build/Android.bp
index 56acaa6..771aa05 100644
--- a/tests/inheritance/V1_0/build/Android.bp
+++ b/tests/inheritance/V1_0/build/Android.bp
@@ -79,9 +79,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -142,9 +139,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/libhwbinder/V1_0/build/Android.bp b/tests/libhwbinder/V1_0/build/Android.bp
index 2a47be3..c627bca 100644
--- a/tests/libhwbinder/V1_0/build/Android.bp
+++ b/tests/libhwbinder/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/memory/V1_0/build/Android.bp b/tests/memory/V1_0/build/Android.bp
index e4d3bc6..73cea09 100644
--- a/tests/memory/V1_0/build/Android.bp
+++ b/tests/memory/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/msgq/V1_0/build/Android.bp b/tests/msgq/V1_0/build/Android.bp
index 9f46d0d..5957117 100644
--- a/tests/msgq/V1_0/build/Android.bp
+++ b/tests/msgq/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tests/pointer/V1_0/build/Android.bp b/tests/pointer/V1_0/build/Android.bp
index 3c056da..e9a4d86 100644
--- a/tests/pointer/V1_0/build/Android.bp
+++ b/tests/pointer/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tetheroffload/config/V1_0/build/Android.bp b/tetheroffload/config/V1_0/build/Android.bp
index a738f67..ac1d51c 100644
--- a/tetheroffload/config/V1_0/build/Android.bp
+++ b/tetheroffload/config/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -119,6 +116,7 @@
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tetheroffload.config@1.0",
+        
     ],
     cflags: [
         "-Wall",
@@ -126,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tetheroffload/control/V1_0/build/Android.bp b/tetheroffload/control/V1_0/build/Android.bp
index 5840b14..d2d55b3 100644
--- a/tetheroffload/control/V1_0/build/Android.bp
+++ b/tetheroffload/control/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -129,6 +126,7 @@
         "libvts_multidevice_proto",
         "libprotobuf-cpp-full",
         "android.hardware.tetheroffload.control@1.0",
+        
     ],
     cflags: [
         "-Wall",
@@ -136,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/thermal/V1_0/build/Android.bp b/thermal/V1_0/build/Android.bp
index b48ac1a..aee3411 100644
--- a/thermal/V1_0/build/Android.bp
+++ b/thermal/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/thermal/V1_0/target_replay/Android.mk b/thermal/V1_0/target_replay/Android.mk
new file mode 100644
index 0000000..afe0919
--- /dev/null
+++ b/thermal/V1_0/target_replay/Android.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2017 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 := VtsHalThermalV1_0TargetReplay
+VTS_CONFIG_SRC_DIR := testcases/hal/thermal/V1_0/target_replay
+include test/vts/tools/build/Android.host_config.mk
diff --git a/thermal/V1_0/target_replay/AndroidTest.xml b/thermal/V1_0/target_replay/AndroidTest.xml
new file mode 100644
index 0000000..aa1f542
--- /dev/null
+++ b/thermal/V1_0/target_replay/AndroidTest.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsHalThermalV1_0TargetReplay test cases">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="abort-on-push-failure" value="false"/>
+        <option name="push-group" value="HalHidlHostTest.push"/>
+        <option name="cleanup" value="true"/>
+        <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/Thermal.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/Thermal.vts"/>
+        <option name="push" value="spec/hardware/interfaces/thermal/1.0/vts/types.vts->/data/local/tmp/spec/android/hardware/thermal/1.0/types.vts"/>
+        <option name="push" value="DATA/lib/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/32/android.hardware.thermal@1.0-vts.driver.so"/>
+        <option name="push" value="DATA/lib64/android.hardware.thermal@1.0-vts.driver.so->/data/local/tmp/64/android.hardware.thermal@1.0-vts.driver.so"/>
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer"/>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsHalThermalV1_0TargetReplay"/>
+        <option name="binary-test-type" value="hal_hidl_replay_test"/>
+        <option name="hal-hidl-replay-test-trace-path" value="test/vts-testcase/hal-trace/thermal/V1_0/android.hardware.thermal_1.0_414823138144.vts.trace"/>
+        <option name="hal-hidl-package-name" value="android.hardware.thermal@1.0"/>
+        <option name="precondition-lshal" value="android.hardware.thermal@1.0"/>
+        <option name="test-timeout" value="5m"/>
+    </test>
+</configuration>
diff --git a/treble/hidl_shim/Android.mk b/treble/hidl_shim/Android.mk
new file mode 100644
index 0000000..01bacd7
--- /dev/null
+++ b/treble/hidl_shim/Android.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2017 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 := VtsTrebleHidlShim
+include test/vts/tools/build/Android.host_config.mk
\ No newline at end of file
diff --git a/treble/hidl_shim/AndroidTest.xml b/treble/hidl_shim/AndroidTest.xml
new file mode 100644
index 0000000..a186b03
--- /dev/null
+++ b/treble/hidl_shim/AndroidTest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 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 VtsTrebleHidlShim">
+    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
+        <option name="push-group" value="HostDrivenTest.push" />
+    </target_preparer>
+    <target_preparer class="com.android.tradefed.targetprep.VtsPythonVirtualenvPreparer">
+    </target_preparer>
+    <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
+        <option name="test-module-name" value="VtsTrebleHidlShim" />
+        <option name="test-case-path" value="vts/testcases/hal/treble/hidl_shim/VtsTrebleHidlShimTest" />
+    </test>
+</configuration>
diff --git a/treble/hidl_shim/VtsTrebleHidlShimTest.py b/treble/hidl_shim/VtsTrebleHidlShimTest.py
new file mode 100644
index 0000000..f05a44e
--- /dev/null
+++ b/treble/hidl_shim/VtsTrebleHidlShimTest.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2017 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.
+#
+
+import logging
+
+from vts.runners.host import asserts
+from vts.runners.host import base_test
+from vts.runners.host import test_runner
+from vts.utils.python.common import vintf_utils
+from vts.utils.python.controllers import android_device
+from vts.utils.python.file import target_file_utils
+from vts.utils.python.os import path_utils
+
+
+class VtsTrebleHidlShimTest(base_test.BaseTestClass):
+    """Ensures existence of at least one HIDL shim library (32 or 64-bit)."""
+
+    VENDOR_MANIFEST_FILE_PATH = '/vendor/manifest.xml'
+    SHIM_DIRS = [
+        '/system/lib/', '/system/lib64/', '/vendor/lib/', '/vendor/lib64/'
+    ]
+
+    def setUpClass(self):
+        self.dut = self.registerController(android_device)[0]
+        self.dut.shell.InvokeTerminal(
+            'VtsTrebleHidlShim')  # creates a remote shell instance.
+        self.shell = self.dut.shell.VtsTrebleHidlShim
+
+    def missingHidlShims(self, hal_dictionary):
+        """Finds HALs listed in hal_dictionary that are missing shims on device.
+
+        Args:
+            hal_dictionary:
+                {key: hal_name@version, value: vintf_utils.HalDescription object}
+        Returns:
+            a list of the hal_keys (hal_name@version) for which no HIDL shim was
+            found on device
+        """
+        missing_hidl_shims = []
+        for hal_key, hal_info in hal_dictionary.iteritems():
+            for shim_dir in self.SHIM_DIRS:
+                hidl_shim_path = path_utils.JoinTargetPath(
+                    shim_dir, hal_key + '.so')
+                found = target_file_utils.Exists(hidl_shim_path, self.shell)
+                if found:
+                    break
+            if not found:
+                missing_hidl_shims.append(hal_key)
+        return missing_hidl_shims
+
+    def testHidlShimExists(self):
+        """Checks that at least one HIDL shim (32 or 64-bit) exists on device.
+
+        For all HALs registered in /vendor/manifest.xml, at least one HIDL shim
+        must exist on device under one of the dirs listed in self.SHIM_DIRS.
+        """
+        vendor_manifest_xml = target_file_utils.ReadFileContent(
+            self.VENDOR_MANIFEST_FILE_PATH, self.shell)
+        manifest_hwbinder_hals, manifest_passthrough_hals = vintf_utils.GetHalDescriptions(
+            vendor_manifest_xml)
+
+        missing_hidl_shims_hwbinder = self.missingHidlShims(
+            manifest_hwbinder_hals)
+        missing_hidl_shims_passthrough = self.missingHidlShims(
+            manifest_passthrough_hals)
+
+        asserts.assertTrue(
+            len(missing_hidl_shims_hwbinder) == 0 and
+            len(missing_hidl_shims_passthrough) == 0,
+            ('No HIDL shim library (neither 32 or 64-bit) was found on device for the following HALs: %s, %s'
+             ) % (missing_hidl_shims_hwbinder, missing_hidl_shims_passthrough))
+
+
+if __name__ == "__main__":
+    test_runner.main()
diff --git a/treble/hidl_shim/__init__.py b/treble/hidl_shim/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/treble/hidl_shim/__init__.py
diff --git a/treble/vintf/Android.bp b/treble/vintf/Android.bp
index f151f3e..5b626a5 100644
--- a/treble/vintf/Android.bp
+++ b/treble/vintf/Android.bp
@@ -20,12 +20,20 @@
     ],
     shared_libs: [
         "libbase",
-        "libutils",
+        "libcutils",
         "libhidlbase",
         "libhidltransport",
+        "liblog",
+        "libutils",
+        "libz",
+    ],
+    static_libs: [
         "libhidl-gen-hash",
         "libhidl-gen-utils",
+        "libselinux",
+        "libtinyxml2",
         "libvintf",
     ],
+    group_static_libs: true,
 }
 
diff --git a/treble/vintf/vts_treble_vintf_test.cpp b/treble/vintf/vts_treble_vintf_test.cpp
index 4f83174..9192f21 100644
--- a/treble/vintf/vts_treble_vintf_test.cpp
+++ b/treble/vintf/vts_treble_vintf_test.cpp
@@ -40,6 +40,7 @@
 using android::vintf::HalManifest;
 using android::vintf::Transport;
 using android::vintf::Version;
+using android::vintf::VintfObject;
 
 using std::cout;
 using std::endl;
@@ -119,7 +120,7 @@
     ASSERT_NE(passthrough_manager_, nullptr)
         << "Failed to get passthrough service manager." << endl;
 
-    vendor_manifest_ = ::android::vintf::VintfObject::GetDeviceHalManifest();
+    vendor_manifest_ = VintfObject::GetDeviceHalManifest();
     ASSERT_NE(vendor_manifest_, nullptr) << "Failed to get vendor HAL manifest."
                                          << endl;
   }
@@ -239,7 +240,7 @@
     sp<android::hidl::base::V1_0::IBase> hal_service =
         GetHalService(fq_name, instance_name);
     EXPECT_NE(hal_service, nullptr)
-        << fq_name.package() << " not available." << endl;
+        << fq_name.string() << " not available." << endl;
   };
 
   ForEachHalInstance(is_available);
@@ -299,6 +300,25 @@
   ForEachHalInstance(is_released);
 }
 
+// Tests that vendor and framework are compatible.
+TEST(CompatiblityTest, VendorFrameworkCompatibility) {
+  string error;
+
+  EXPECT_TRUE(VintfObject::GetDeviceHalManifest()->checkCompatibility(
+      *VintfObject::GetFrameworkCompatibilityMatrix(), &error))
+      << error;
+
+  EXPECT_TRUE(VintfObject::GetFrameworkHalManifest()->checkCompatibility(
+      *VintfObject::GetDeviceCompatibilityMatrix(), &error))
+      << error;
+
+  EXPECT_TRUE(VintfObject::GetRuntimeInfo()->checkCompatibility(
+      *VintfObject::GetFrameworkCompatibilityMatrix(), &error))
+      << error;
+
+  EXPECT_EQ(0, VintfObject::CheckCompatibility({}, &error)) << error;
+}
+
 int main(int argc, char **argv) {
   ::testing::InitGoogleTest(&argc, argv);
   return RUN_ALL_TESTS();
diff --git a/tv/cec/V1_0/build/Android.bp b/tv/cec/V1_0/build/Android.bp
index 2cd74f2..8c4cd99 100644
--- a/tv/cec/V1_0/build/Android.bp
+++ b/tv/cec/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/tv/input/V1_0/build/Android.bp b/tv/input/V1_0/build/Android.bp
index 932bdd6..99edc91 100644
--- a/tv/input/V1_0/build/Android.bp
+++ b/tv/input/V1_0/build/Android.bp
@@ -78,9 +78,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -140,9 +137,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/usb/V1_0/build/Android.bp b/usb/V1_0/build/Android.bp
index d01d318..9f7ce78 100644
--- a/usb/V1_0/build/Android.bp
+++ b/usb/V1_0/build/Android.bp
@@ -76,9 +76,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -137,9 +134,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/vibrator/V1_0/build/Android.bp b/vibrator/V1_0/build/Android.bp
index b029ca3..0ee0a8c 100644
--- a/vibrator/V1_0/build/Android.bp
+++ b/vibrator/V1_0/build/Android.bp
@@ -73,9 +73,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -132,9 +129,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/vr/V1_0/build/Android.bp b/vr/V1_0/build/Android.bp
index ee741b9..1497c9c 100644
--- a/vr/V1_0/build/Android.bp
+++ b/vr/V1_0/build/Android.bp
@@ -70,9 +70,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -127,9 +124,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/wifi/V1_0/build/Android.bp b/wifi/V1_0/build/Android.bp
index 053d733..1951f58 100644
--- a/wifi/V1_0/build/Android.bp
+++ b/wifi/V1_0/build/Android.bp
@@ -109,9 +109,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -192,9 +189,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
diff --git a/wifi/supplicant/V1_0/build/Android.bp b/wifi/supplicant/V1_0/build/Android.bp
index 115cf55..ef5841c 100644
--- a/wifi/supplicant/V1_0/build/Android.bp
+++ b/wifi/supplicant/V1_0/build/Android.bp
@@ -106,9 +106,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],
@@ -187,9 +184,6 @@
 
         // These warnings are in code generated with vtsc
         // b/31362043
-        "-Wno-unused-parameter",
-        "-Wno-unused-variable",
-        "-Wno-unused-private-field",
         "-Wno-duplicate-decl-specifier",
         "-Wno-implicitly-unsigned-literal",
     ],