diff options
author | 2024-08-17 20:30:26 -0700 | |
---|---|---|
committer | 2024-08-19 18:00:57 +0000 | |
commit | c54c3645456513112dabf0454255cea4f3511220 (patch) | |
tree | 53210da08aaf0f106d87b81f0f47e06cfbc46d27 | |
parent | 04e70e42877cb7c69c8c06a43d2d1ecfb05859c7 (diff) |
audio: Add IAudioManager method
Test: atest AudioRecordPermissionTests
Bug: 355581132
Bug: 338089555
Flag: com.android.media.audio.audioserver_permissions
Change-Id: I2993620145e9067dc72764f7fdccd5b86801f26f
-rw-r--r-- | include/audiomanager/IAudioManager.h | 4 | ||||
-rw-r--r-- | services/audiomanager/IAudioManager.cpp | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/audiomanager/IAudioManager.h b/include/audiomanager/IAudioManager.h index 769670ea99..0b7e16bc7d 100644 --- a/include/audiomanager/IAudioManager.h +++ b/include/audiomanager/IAudioManager.h @@ -27,7 +27,7 @@ namespace android { // ---------------------------------------------------------------------------- - +// TODO(b/309532236) replace this class with AIDL generated parcelable class IAudioManager : public IInterface { public: @@ -43,6 +43,7 @@ public: RELEASE_RECORDER = IBinder::FIRST_CALL_TRANSACTION + 6, PLAYER_SESSION_ID = IBinder::FIRST_CALL_TRANSACTION + 7, PORT_EVENT = IBinder::FIRST_CALL_TRANSACTION + 8, + PERMISSION_UPDATE_BARRIER = IBinder::FIRST_CALL_TRANSACTION + 9, }; DECLARE_META_INTERFACE(AudioManager) @@ -63,6 +64,7 @@ public: /*oneway*/ virtual status_t playerSessionId(audio_unique_id_t piid, audio_session_t sessionId) = 0; /*oneway*/ virtual status_t portEvent(audio_port_handle_t portId, player_state_t event, const std::unique_ptr<os::PersistableBundle>& extras) = 0; + virtual status_t permissionUpdateBarrier() = 0; }; // ---------------------------------------------------------------------------- diff --git a/services/audiomanager/IAudioManager.cpp b/services/audiomanager/IAudioManager.cpp index 3ef5049230..da1aae2acb 100644 --- a/services/audiomanager/IAudioManager.cpp +++ b/services/audiomanager/IAudioManager.cpp @@ -152,6 +152,12 @@ public: data.writeNullableParcelable(extras); return remote()->transact(PORT_EVENT, data, &reply, IBinder::FLAG_ONEWAY); } + + virtual status_t permissionUpdateBarrier() { + Parcel data, reply; + data.writeInterfaceToken(IAudioManager::getInterfaceDescriptor()); + return remote()->transact(PERMISSION_UPDATE_BARRIER, data, &reply, 0); + } }; IMPLEMENT_META_INTERFACE(AudioManager, "android.media.IAudioService"); |