IVGCVSW-5665 Basic NN Driver support for next OS Version


Signed-off-by: Kevin May <kevin.may@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I1e1db52322092c6b1b7ac6183c3adc90aabcec24
diff --git a/1.3/ArmnnDriver.hpp b/1.3/ArmnnDriver.hpp
index b6b55fa..451b5ab 100644
--- a/1.3/ArmnnDriver.hpp
+++ b/1.3/ArmnnDriver.hpp
@@ -95,9 +95,9 @@
     {
         ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_1()");
 
-        if (!(preference == ExecutionPreference::LOW_POWER ||
-              preference == ExecutionPreference::FAST_SINGLE_ANSWER ||
-              preference == ExecutionPreference::SUSTAINED_SPEED))
+        if (!(preference == V1_1::ExecutionPreference::LOW_POWER ||
+              preference == V1_1::ExecutionPreference::FAST_SINGLE_ANSWER ||
+              preference == V1_1::ExecutionPreference::SUSTAINED_SPEED))
         {
             ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_1: Invalid execution preference");
             cb->notify(V1_0::ErrorStatus::INVALID_ARGUMENT, nullptr);
@@ -138,9 +138,9 @@
     {
         ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_2()");
 
-        if (!(preference == ExecutionPreference::LOW_POWER ||
-              preference == ExecutionPreference::FAST_SINGLE_ANSWER ||
-              preference == ExecutionPreference::SUSTAINED_SPEED))
+        if (!(preference == V1_1::ExecutionPreference::LOW_POWER ||
+              preference == V1_1::ExecutionPreference::FAST_SINGLE_ANSWER ||
+              preference == V1_1::ExecutionPreference::SUSTAINED_SPEED))
         {
             ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_2: Invalid execution preference");
             cb->notify(V1_0::ErrorStatus::INVALID_ARGUMENT, nullptr);
@@ -185,9 +185,9 @@
     {
         ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_3()");
 
-        if (!(preference == ExecutionPreference::LOW_POWER ||
-              preference == ExecutionPreference::FAST_SINGLE_ANSWER ||
-              preference == ExecutionPreference::SUSTAINED_SPEED))
+        if (!(preference == V1_1::ExecutionPreference::LOW_POWER ||
+              preference == V1_1::ExecutionPreference::FAST_SINGLE_ANSWER ||
+              preference == V1_1::ExecutionPreference::SUSTAINED_SPEED))
         {
             ALOGV("hal_1_3::ArmnnDriver::prepareModel_1_3: Invalid execution preference");
             cb->notify_1_3(V1_3::ErrorStatus::INVALID_ARGUMENT, nullptr);
@@ -226,7 +226,7 @@
         return Void();
     }
 
-    Return<DeviceStatus> getStatus() override
+    Return<V1_0::DeviceStatus> getStatus() override
     {
         ALOGV("hal_1_3::ArmnnDriver::getStatus()");
 
@@ -253,32 +253,32 @@
         const android::hardware::hidl_vec<android::hardware::hidl_handle>&,
         const android::hardware::hidl_vec<android::hardware::hidl_handle>&,
         const HidlToken&,
-        const sp<V1_2::IPreparedModelCallback>& callback)
+        const android::sp<V1_2::IPreparedModelCallback>& callback)
     {
         ALOGV("hal_1_3::ArmnnDriver::prepareModelFromCache()");
         callback->notify_1_2(V1_0::ErrorStatus::GENERAL_FAILURE, nullptr);
         return V1_0::ErrorStatus::GENERAL_FAILURE;
     }
 
-    Return<ErrorStatus> prepareModelFromCache_1_3(
+    Return<V1_3::ErrorStatus> prepareModelFromCache_1_3(
         const V1_3::OptionalTimePoint&,
         const android::hardware::hidl_vec<android::hardware::hidl_handle>&,
         const android::hardware::hidl_vec<android::hardware::hidl_handle>&,
         const HidlToken&,
-        const sp<V1_3::IPreparedModelCallback>& callback)
+        const android::sp<V1_3::IPreparedModelCallback>& callback)
     {
         ALOGV("hal_1_3::ArmnnDriver::prepareModelFromCache()");
-        callback->notify_1_3(ErrorStatus::GENERAL_FAILURE, nullptr);
-        return ErrorStatus::GENERAL_FAILURE;
+        callback->notify_1_3(V1_3::ErrorStatus::GENERAL_FAILURE, nullptr);
+        return V1_3::ErrorStatus::GENERAL_FAILURE;
     }
 
     Return<void> allocate(const V1_3::BufferDesc& /*desc*/,
-                          const hidl_vec<sp<V1_3::IPreparedModel>>& /*preparedModels*/,
+                          const hidl_vec<android::sp<V1_3::IPreparedModel>>& /*preparedModels*/,
                           const hidl_vec<V1_3::BufferRole>& /*inputRoles*/,
                           const hidl_vec<V1_3::BufferRole>& /*outputRoles*/,
                           allocate_cb cb) {
         ALOGV("hal_1_3::ArmnnDriver::allocate()");
-        cb(ErrorStatus::GENERAL_FAILURE, nullptr, 0);
+        cb(V1_3::ErrorStatus::GENERAL_FAILURE, nullptr, 0);
         return Void();
     }
 
diff --git a/1.3/ArmnnDriverImpl.cpp b/1.3/ArmnnDriverImpl.cpp
index f5a6e85..6a69765 100644
--- a/1.3/ArmnnDriverImpl.cpp
+++ b/1.3/ArmnnDriverImpl.cpp
@@ -66,9 +66,9 @@
 const char *g_OperandTypeInt32PerformancePowerUsage         = "Armnn.operandTypeInt32Performance.powerUsage";
 
 
-void NotifyCallbackAndCheck(const sp<V1_3::IPreparedModelCallback>& callback,
+void NotifyCallbackAndCheck(const android::sp<V1_3::IPreparedModelCallback>& callback,
                             V1_3::ErrorStatus errorStatus,
-                            const sp<V1_3::IPreparedModel>& preparedModelPtr)
+                            const android::sp<V1_3::IPreparedModel>& preparedModelPtr)
 {
     Return<void> returned = callback->notify_1_3(errorStatus, preparedModelPtr);
     // This check is required, if the callback fails and it isn't checked it will bring down the service
@@ -81,7 +81,7 @@
 
 Return<V1_3::ErrorStatus> FailPrepareModel(V1_3::ErrorStatus error,
                                            const std::string& message,
-                                           const sp<V1_3::IPreparedModelCallback>& callback)
+                                           const android::sp<V1_3::IPreparedModelCallback>& callback)
 {
     ALOGW("ArmnnDriverImpl::prepareModel: %s", message.c_str());
     NotifyCallbackAndCheck(callback, error, nullptr);
@@ -100,7 +100,7 @@
        const armnn::IGpuAccTunedParametersPtr& clTunedParameters,
        const DriverOptions& options,
        const V1_3::Model& model,
-       const sp<V1_3::IPreparedModelCallback>& cb,
+       const android::sp<V1_3::IPreparedModelCallback>& cb,
        bool float32ToFloat16,
        V1_3::Priority priority)
 {
diff --git a/1.3/ArmnnDriverImpl.hpp b/1.3/ArmnnDriverImpl.hpp
index 2b39d4e..3c094fe 100644
--- a/1.3/ArmnnDriverImpl.hpp
+++ b/1.3/ArmnnDriverImpl.hpp
@@ -11,7 +11,13 @@
 
 #include <armnn/ArmNN.hpp>
 
+#if !defined(ARMNN_ANDROID_S)
 using namespace android::nn::hal;
+#endif
+
+#ifdef ARMNN_ANDROID_S
+using namespace android::hardware;
+#endif
 
 namespace V1_0 = ::android::hardware::neuralnetworks::V1_0;
 namespace V1_2 = ::android::hardware::neuralnetworks::V1_2;