spatializer: integrate pose controller

Implement head tracking functions in Spatializer
class based on the SpatializerPoseController class.

Add new APIs to ISpatializer interface to:
- set head pose sensor
- set screen pose sensor
- set screen orientation
Add new APIs to INativeSpatializerCallback to:
- notify new head to stage pose
- notify new actual headtracking mode

Bug: 188502620
Test: manual test with mock spatializer
Change-Id: I4584df055cd91bc124d081861baa2fe83df69fa5
diff --git a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
index dd91792..4bd1260 100644
--- a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
+++ b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp
@@ -2223,7 +2223,9 @@
         const sp<media::INativeSpatializerCallback>& callback,
         media::GetSpatializerResponse* _aidl_return) {
     _aidl_return->spatializer = nullptr;
-    LOG_ALWAYS_FATAL_IF(callback == nullptr);
+    if (callback == nullptr) {
+        return binderStatusFromStatusT(BAD_VALUE);
+    }
     if (mSpatializer != nullptr) {
         RETURN_IF_BINDER_ERROR(
                 binderStatusFromStatusT(mSpatializer->registerCallback(callback)));