Consolidate NNAPI VTS utility code

This CL does additional NNAPI VTS test cleanup, including consolidating
duplicate functionality. Specifically, this CL:
* consolidates the createPreparedModel function, removing the duplicate
* consolidates the std::out ErrorStatus and DeviceStatus code into Utils
* changes non-null constant pointers to constant references
* removes redudant leading namespace specifiers (V1_0::, ::testing, etc.)
* makes the Valdiation tests free functions
* renames device to kDevice and mTestModel to kTestModel

Bug: N/A
Test: mma
Test: VtsHalNeuralnetworksV1_*TargetTest (with sample-all)
Change-Id: Ic401bb1f1760cc10384ac0d30c0c93409b63a9c7
Merged-In: Ic401bb1f1760cc10384ac0d30c0c93409b63a9c7
(cherry picked from commit e16af0a44ba9b76667a598b10a085f808efb8c7c)
diff --git a/neuralnetworks/1.1/vts/functional/GeneratedTestHarness.cpp b/neuralnetworks/1.1/vts/functional/GeneratedTestHarness.cpp
index 6ed5bc1..fddfc2b 100644
--- a/neuralnetworks/1.1/vts/functional/GeneratedTestHarness.cpp
+++ b/neuralnetworks/1.1/vts/functional/GeneratedTestHarness.cpp
@@ -130,9 +130,15 @@
 
 // Top level driver for models and examples generated by test_generator.py
 // Test driver for those generated from ml/nn/runtime/test/spec
-void EvaluatePreparedModel(const sp<IPreparedModel>& preparedModel, const TestModel& testModel) {
+void Execute(const sp<IDevice>& device, const TestModel& testModel) {
+    const Model model = createModel(testModel);
     const Request request = createRequest(testModel);
 
+    // Create IPreparedModel.
+    sp<IPreparedModel> preparedModel;
+    createPreparedModel(device, model, &preparedModel);
+    if (preparedModel == nullptr) return;
+
     // Launch execution.
     sp<ExecutionCallback> executionCallback = new ExecutionCallback();
     Return<ErrorStatus> executionLaunchStatus = preparedModel->execute(request, executionCallback);
@@ -151,53 +157,10 @@
 }
 
 // Tag for the generated tests
-class GeneratedTest : public GeneratedTestBase {
-  protected:
-    void Execute(const TestModel& testModel) {
-        Model model = createModel(testModel);
-
-        // see if service can handle model
-        bool fullySupportsModel = false;
-        Return<void> supportedCall = device->getSupportedOperations_1_1(
-                model, [&fullySupportsModel](ErrorStatus status, const hidl_vec<bool>& supported) {
-                    ASSERT_EQ(ErrorStatus::NONE, status);
-                    ASSERT_NE(0ul, supported.size());
-                    fullySupportsModel = std::all_of(supported.begin(), supported.end(),
-                                                     [](bool valid) { return valid; });
-                });
-        ASSERT_TRUE(supportedCall.isOk());
-
-        // launch prepare model
-        sp<PreparedModelCallback> preparedModelCallback = new PreparedModelCallback();
-        Return<ErrorStatus> prepareLaunchStatus = device->prepareModel_1_1(
-                model, ExecutionPreference::FAST_SINGLE_ANSWER, preparedModelCallback);
-        ASSERT_TRUE(prepareLaunchStatus.isOk());
-        ASSERT_EQ(ErrorStatus::NONE, static_cast<ErrorStatus>(prepareLaunchStatus));
-
-        // retrieve prepared model
-        preparedModelCallback->wait();
-        ErrorStatus prepareReturnStatus = preparedModelCallback->getStatus();
-        sp<IPreparedModel> preparedModel = preparedModelCallback->getPreparedModel();
-
-        // early termination if vendor service cannot fully prepare model
-        if (!fullySupportsModel && prepareReturnStatus != ErrorStatus::NONE) {
-            ASSERT_EQ(nullptr, preparedModel.get());
-            LOG(INFO) << "NN VTS: Early termination of test because vendor service cannot "
-                         "prepare model that it does not support.";
-            std::cout << "[          ]   Early termination of test because vendor service cannot "
-                         "prepare model that it does not support."
-                      << std::endl;
-            GTEST_SKIP();
-        }
-        EXPECT_EQ(ErrorStatus::NONE, prepareReturnStatus);
-        ASSERT_NE(nullptr, preparedModel.get());
-
-        EvaluatePreparedModel(preparedModel, testModel);
-    }
-};
+class GeneratedTest : public GeneratedTestBase {};
 
 TEST_P(GeneratedTest, Test) {
-    Execute(*mTestModel);
+    Execute(kDevice, kTestModel);
 }
 
 INSTANTIATE_GENERATED_TEST(GeneratedTest,