AudioPolicyService: Make device effect init synchronous
This initialization is done prior to exposing the AF and APS
to ServiceManager to ensure consistent state and avoid
nondeterministic bugs.
AudioPolicyService::onAudioSystemReady() is called
during audioserver initialization when both AF and APS
are available to create internal audio client objects.
Test: atest CtsMediaAudioTestCases
Bug: 319515492
Change-Id: Ie6e0817c830da51e9b722b17ebd54f005b6a6055
diff --git a/services/audiopolicy/service/AudioPolicyService.h b/services/audiopolicy/service/AudioPolicyService.h
index bd56366..7aa80cf 100644
--- a/services/audiopolicy/service/AudioPolicyService.h
+++ b/services/audiopolicy/service/AudioPolicyService.h
@@ -322,6 +322,9 @@
// RefBase
virtual void onFirstRef();
+ // Commence initialization when AudioSystem is ready.
+ void onAudioSystemReady();
+
//
// Helpers for the struct audio_policy_service_ops implementation.
// This is used by the audio policy manager for certain operations that