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