Merge "Make soundtrigger onResourcesAvailable async" into main
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerHw3Compat.java b/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerHw3Compat.java
index b1165bb..dfd80a0 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerHw3Compat.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger_middleware/SoundTriggerHw3Compat.java
@@ -36,6 +36,8 @@
import android.os.ServiceSpecificException;
import android.os.SystemClock;
+import com.android.server.FgThread;
+
public class SoundTriggerHw3Compat implements ISoundTriggerHal {
private final @NonNull ISoundTriggerHw mDriver;
private final @NonNull Runnable mRebootRunnable;
@@ -217,7 +219,12 @@
@Override
public void onResourcesAvailable() {
- mDelegate.onResourcesAvailable();
+ // This call does not need to be sequenced relative to sessions on the upper levels.
+ // That is, if a new session gets this callback or if a already detached session gets
+ // this callback, because it is delayed, it doesn't matter, since this callback is
+ // purely informative and does not mutate any state -- it merely causes an already legal
+ // operation to be possibly re-attempted.
+ FgThread.getExecutor().execute(mDelegate::onResourcesAvailable);
}
@Override