AudioFlinger: fix createEffect() for second client attached

The refactoring of AudioFlinger::createEffect() with AIDL (commit ce182940)
introduced a regression for the case where a second client
connects to an already existing effect.
In this case, the conventional return status of ALREADY_EXISTS is
interpreted as an error by the AIDL infrastructure and the response
data is dropped during the transaction causing the effect creation
to fail.

Test: atest audioeffect_tests:DefaultEffectTest#ManageSourceDefaultEffects

Change-Id: I858dd0ee2a200901ec229d4a5cabdf4a458ee88c
diff --git a/media/libaudioclient/AudioEffect.cpp b/media/libaudioclient/AudioEffect.cpp
index 62f863d..eee7f7e 100644
--- a/media/libaudioclient/AudioEffect.cpp
+++ b/media/libaudioclient/AudioEffect.cpp
@@ -128,6 +128,9 @@
     mStatus = audioFlinger->createEffect(request, &response);
 
     if (mStatus == OK) {
+        if (response.alreadyExists) {
+            mStatus = ALREADY_EXISTS;
+        }
         mId = response.id;
         enabled = response.enabled;
         iEffect = response.effect;