Refine the recenter operation

This change allows recentering to happen for an individual sensor
rather than to all at once. This avoids unecessary recentering and
rate limiting if the sensor being recentered is not being used in the
current mode.

Test: atest --host libheadtracking-test
Bug: 188502620
Change-Id: Ifb73050e0072e676b5936a22e0cd1be8d31e9596
diff --git a/services/audiopolicy/service/SpatializerPoseController.cpp b/services/audiopolicy/service/SpatializerPoseController.cpp
index f0d7f7c..7e91d76 100644
--- a/services/audiopolicy/service/SpatializerPoseController.cpp
+++ b/services/audiopolicy/service/SpatializerPoseController.cpp
@@ -124,7 +124,7 @@
     // Start new sensor, if valid.
     mHeadSensor = sensor != nullptr ? mPoseProvider->startSensor(sensor, mSensorPeriod)
                                     : SensorPoseProvider::INVALID_HANDLE;
-    mProcessor->recenter();
+    mProcessor->recenter(true, false);
 }
 
 void SpatializerPoseController::setScreenSensor(const ASensor* sensor) {
@@ -136,7 +136,7 @@
     // Start new sensor, if valid.
     mScreenSensor = sensor != nullptr ? mPoseProvider->startSensor(sensor, mSensorPeriod)
                                       : SensorPoseProvider::INVALID_HANDLE;
-    mProcessor->recenter();
+    mProcessor->recenter(false, true);
 }
 
 void SpatializerPoseController::setDesiredMode(HeadTrackingMode mode) {