Merge Android 24Q1 Release (ab/11220357)

Bug: 319669529
Merged-In: Icb155191cf9f485824b77976010d02c4f5b2ec11
Change-Id: I5f76b576a4d54af06fffab14aa8ada776e8f9eb8
diff --git a/neuralnetworks/V1_2/benchmark/java/Android.bp b/neuralnetworks/V1_2/benchmark/java/Android.bp
new file mode 100644
index 0000000..0f3ce9f
--- /dev/null
+++ b/neuralnetworks/V1_2/benchmark/java/Android.bp
@@ -0,0 +1,47 @@
+// Copyright (C) 2019 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.
+
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: [
+        "Android-Apache-2.0",
+    ],
+}
+
+android_test {
+    name: "VtsHalNeuralnetworksV1_2BenchmarkTestCases",
+    defaults: ["cts_defaults"],
+    compile_multilib: "both",
+    test_suites: [
+        "vts",
+        "vts10",
+    ],
+    static_libs: [
+        "androidx.test.rules",
+        "android.hidl.manager-V1.2-java",
+        "compatibility-device-util-axt",
+        "ctstestrunner-axt",
+        "junit",
+        "NeuralNetworksApiBenchmark_Lib",
+        // Assets settings: test/mlts/models/assets
+        "test_mlts_models_assets",
+    ],
+    jni_libs: ["libnnbenchmark_jni"],
+    enforce_uses_libs: false,
+    dex_preopt: {
+        enabled: false,
+    },
+    srcs: ["src/**/*.java"],
+    sdk_version: "system_current",
+}
diff --git a/neuralnetworks/V1_2/benchmark/java/Android.mk b/neuralnetworks/V1_2/benchmark/java/Android.mk
deleted file mode 100644
index 082779a..0000000
--- a/neuralnetworks/V1_2/benchmark/java/Android.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2019 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_PACKAGE_NAME := VtsHalNeuralnetworksV1_2BenchmarkTestCases
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-
-# Don't include this package in any target
-LOCAL_MODULE_TAGS := optional
-# And when built explicitly put it in the data partition
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-# Include both the 32 and 64 bit versions
-LOCAL_MULTILIB := both
-
-# Tag this module as a cts test artifact
-LOCAL_COMPATIBILITY_SUITE := vts vts10
-
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules android.hidl.manager-V1.2-java \
-    compatibility-device-util-axt ctstestrunner-axt junit NeuralNetworksApiBenchmark_Lib
-LOCAL_JNI_SHARED_LIBRARIES := libnnbenchmark_jni
-
-# Disable dexpreopt and <uses-library> check for test.
-LOCAL_ENFORCE_USES_LIBRARIES := false
-LOCAL_DEX_PREOPT := false
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_ASSET_DIR := test/mlts/models/assets
-
-LOCAL_SDK_VERSION := system_current
-
-include $(BUILD_CTS_PACKAGE)
diff --git a/neuralnetworks/V1_3/benchmark/java/Android.bp b/neuralnetworks/V1_3/benchmark/java/Android.bp
new file mode 100644
index 0000000..bbc8200
--- /dev/null
+++ b/neuralnetworks/V1_3/benchmark/java/Android.bp
@@ -0,0 +1,47 @@
+// Copyright (C) 2019 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.
+
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: [
+        "Android-Apache-2.0",
+    ],
+}
+
+android_test {
+    name: "VtsHalNeuralnetworksV1_3BenchmarkTestCases",
+    defaults: ["cts_defaults"],
+    compile_multilib: "both",
+    test_suites: [
+        "vts",
+        "vts10",
+    ],
+    static_libs: [
+        "androidx.test.rules",
+        "android.hidl.manager-V1.2-java",
+        "compatibility-device-util-axt",
+        "ctstestrunner-axt",
+        "junit",
+        "NeuralNetworksApiBenchmark_Lib",
+        // Assets settings: test/mlts/models/assets
+        "test_mlts_models_assets",
+    ],
+    jni_libs: ["libnnbenchmark_jni"],
+    enforce_uses_libs: false,
+    dex_preopt: {
+        enabled: false,
+    },
+    srcs: ["src/**/*.java"],
+    sdk_version: "system_current",
+}
diff --git a/neuralnetworks/V1_3/benchmark/java/Android.mk b/neuralnetworks/V1_3/benchmark/java/Android.mk
deleted file mode 100644
index 6850fa0..0000000
--- a/neuralnetworks/V1_3/benchmark/java/Android.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2019 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_PACKAGE_NAME := VtsHalNeuralnetworksV1_3BenchmarkTestCases
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-
-# Don't include this package in any target
-LOCAL_MODULE_TAGS := optional
-# And when built explicitly put it in the data partition
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-# Include both the 32 and 64 bit versions
-LOCAL_MULTILIB := both
-
-# Tag this module as a cts test artifact
-LOCAL_COMPATIBILITY_SUITE := vts vts10
-
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules android.hidl.manager-V1.2-java \
-    compatibility-device-util-axt ctstestrunner-axt junit NeuralNetworksApiBenchmark_Lib
-LOCAL_JNI_SHARED_LIBRARIES := libnnbenchmark_jni
-
-# Disable dexpreopt and <uses-library> check for test.
-LOCAL_ENFORCE_USES_LIBRARIES := false
-LOCAL_DEX_PREOPT := false
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_ASSET_DIR := test/mlts/models/assets
-
-LOCAL_SDK_VERSION := system_current
-
-include $(BUILD_CTS_PACKAGE)
diff --git a/treble/vintf/DeviceMatrixTest.cpp b/treble/vintf/DeviceMatrixTest.cpp
index 1f9b712..fa4c2d2 100644
--- a/treble/vintf/DeviceMatrixTest.cpp
+++ b/treble/vintf/DeviceMatrixTest.cpp
@@ -69,10 +69,16 @@
     ASSERT_LE(syspropVndkVersionNumber, __ANDROID_API_V__)
         << kVndkVersionProp << " must be less or equal than "
         << __ANDROID_API_V__;
+
+    if (syspropVndkVersionNumber == __ANDROID_API_V__) {
+      GTEST_SKIP()
+          << "VNDK version 35 may not have matching VINTF VNDK version.";
+    }
   }
 
   ASSERT_NE("", syspropVndkVersion)
       << kVndkVersionProp << " must not be empty.";
+
   std::string vintfVndkVersion = vendor_matrix_->getVendorNdkVersion();
   ASSERT_NE("", vintfVndkVersion)
       << "Device compatibility matrix does not declare proper VNDK version.";
diff --git a/treble/vintf/VtsNoHidl.cpp b/treble/vintf/VtsNoHidl.cpp
index dc0569b..d684977 100644
--- a/treble/vintf/VtsNoHidl.cpp
+++ b/treble/vintf/VtsNoHidl.cpp
@@ -29,7 +29,7 @@
 static constexpr int kMaxNumberOfHidlHalsU = 100;
 // TODO(b/232439834) This number will be 0 for Android V. There is still some
 // cleanup left to do.
-static constexpr int kMaxNumberOfHidlHalsV = 10;
+static constexpr int kMaxNumberOfHidlHalsV = 4;
 
 // Tests that the device is not registering any HIDL interfaces.
 // HIDL is being deprecated. Only applicable to devices launching with Android
diff --git a/treble/vintf/libvts_vintf_test_common/common.cpp b/treble/vintf/libvts_vintf_test_common/common.cpp
index 7653a7a..3c3fd19 100644
--- a/treble/vintf/libvts_vintf_test_common/common.cpp
+++ b/treble/vintf/libvts_vintf_test_common/common.cpp
@@ -15,6 +15,7 @@
  */
 
 #include <libvts_vintf_test_common/common.h>
+#include <vintf/parse_string.h>
 
 namespace android::vintf::testing {