From 903308d6152952780f4fa1a8b367930e9bbad7af Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Thu, 7 Oct 2021 16:33:07 -0700 Subject: [PATCH] AudioService: initialize sensors if head tracking supported Query ISpatializer to check if head tracking is supported to determine whether to initialize sensors Bug: 202515176 Test: after boot on device with head tracking, grep logcat for SpatializerHelper, verify no "not initializing sensors" message Change-Id: I02de212452c7beaa8c06776c34eb6005da0e9073 Change-Id: I5050a4507c9c84a9fa166943f28b3cd92b789419 --- .../android/server/audio/SpatializerHelper.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/audio/SpatializerHelper.java b/services/core/java/com/android/server/audio/SpatializerHelper.java index b2fa86b69cfc..98452e5adeb5 100644 --- a/services/core/java/com/android/server/audio/SpatializerHelper.java +++ b/services/core/java/com/android/server/audio/SpatializerHelper.java @@ -825,9 +825,18 @@ public class SpatializerHelper { } synchronized void onInitSensors(boolean init) { - final int[] modes = getSupportedHeadTrackingModes(); - if (modes.length == 0) { - Log.i(TAG, "not initializing sensors, no headtracking supported"); + final String action = init ? "initializing" : "releasing"; + if (mSpat == null) { + Log.e(TAG, "not " + action + " sensors, null spatializer"); + return; + } + try { + if (!mSpat.isHeadTrackingSupported()) { + Log.e(TAG, "not " + action + " sensors, spatializer doesn't support headtracking"); + return; + } + } catch (RemoteException e) { + Log.e(TAG, "not " + action + " sensors, error querying headtracking", e); return; } initSensors(init);