Invert how sound trigger capture is notified
Previously, audio policy client would call an method on the sound
trigger middleware service. This has been replaced by the sound
trigger service registering a callback, in order to avoid a cyclic
dependency between the services.
Bug: 146157104
Change-Id: I876461a7650d337d6dd05fbe80efaf08f8ef20dd
Merged-In: I876461a7650d337d6dd05fbe80efaf08f8ef20dd
diff --git a/services/audiopolicy/service/AudioPolicyService.h b/services/audiopolicy/service/AudioPolicyService.h
index 3f24276..f77a481 100644
--- a/services/audiopolicy/service/AudioPolicyService.h
+++ b/services/audiopolicy/service/AudioPolicyService.h
@@ -34,6 +34,7 @@
#include <media/AudioPolicy.h>
#include <mediautils/ServiceUtilities.h>
#include "AudioPolicyEffects.h"
+#include "CaptureStateNotifier.h"
#include <AudioPolicyInterface.h>
#include <android/hardware/BnSensorPrivacyListener.h>
@@ -274,6 +275,10 @@
virtual status_t getVolumeGroupFromAudioAttributes(const AudioAttributes &aa,
volume_group_t &volumeGroup);
+ status_t registerSoundTriggerCaptureStateListener(
+ const sp<media::ICaptureStateListener>& listener,
+ bool* result) override;
+
virtual status_t setRttEnabled(bool enabled);
bool isCallScreenModeSupported() override;
@@ -897,6 +902,8 @@
DefaultKeyedVector< audio_port_handle_t, sp<AudioPlaybackClient> > mAudioPlaybackClients;
MediaPackageManager mPackageManager; // To check allowPlaybackCapture
+
+ CaptureStateNotifier mCaptureStateNotifier;
};
} // namespace android