AuthGraph: reduce dependency on authgraph_core

The authgraph_hal library should only depend on libauthgraph_wire, not
on libauthgraph_core, so adjust error processing accordingly.

Test: VtsAidlAuthGraphSessionTest
Bug: 284470121
Change-Id: I48056db6ceeab409d0f165f8e051809129643c6f
diff --git a/security/authgraph/default/Android.bp b/security/authgraph/default/Android.bp
index 9de3bc1..c0f2106 100644
--- a/security/authgraph/default/Android.bp
+++ b/security/authgraph/default/Android.bp
@@ -36,6 +36,7 @@
         "libauthgraph_core",
         "libauthgraph_boringssl",
         "libauthgraph_hal",
+        "libauthgraph_wire",
         "libbinder_rs",
         "liblibc",
         "liblog_rust",
diff --git a/security/authgraph/default/src/main.rs b/security/authgraph/default/src/main.rs
index 2112e58..dc4a8e4 100644
--- a/security/authgraph/default/src/main.rs
+++ b/security/authgraph/default/src/main.rs
@@ -30,7 +30,7 @@
 };
 use authgraph_boringssl as boring;
 use authgraph_core::{key::MillisecondsSinceEpoch, keyexchange as ke, traits};
-use authgraph_hal::{err_to_binder, Innto, TryInnto};
+use authgraph_hal::{errcode_to_binder, Innto, TryInnto};
 use log::{error, info};
 use std::ffi::CString;
 use std::sync::Mutex;
@@ -130,6 +130,13 @@
     }
 }
 
+fn err_to_binder(err: authgraph_core::error::Error) -> binder::Status {
+    if err.0 != authgraph_wire::ErrorCode::Ok && !err.1.is_empty() {
+        error!("failure {:?} message: '{}'", err.0, err.1);
+    }
+    errcode_to_binder(err.0)
+}
+
 /// This nonsecure implementation of the AuthGraph HAL interface directly calls the AuthGraph
 /// reference implementation library code; a real implementation requires the AuthGraph
 /// code to run in a secure environment, not within Android.