Fix IAAudioService interface

Do not call data.checkInterface(this) unless needed,
and properly handle invalid interface.

This prevents stripping the file descriptor from the dump()
binder call.

Test: adb shell dumpsys media.aaudio
Bug: 38396780
Change-Id: I14c847e098145f49d4d5732787d3cc435dd05226
diff --git a/media/libaaudio/src/binding/IAAudioService.cpp b/media/libaaudio/src/binding/IAAudioService.cpp
index ef4a51f..247d1d2 100644
--- a/media/libaaudio/src/binding/IAAudioService.cpp
+++ b/media/libaaudio/src/binding/IAAudioService.cpp
@@ -244,10 +244,10 @@
     int64_t nanoseconds;
     aaudio_result_t result;
     ALOGV("BnAAudioService::onTransact(%i) %i", code, flags);
-    data.checkInterface(this);
 
     switch(code) {
         case OPEN_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             request.readFromParcel(&data);
 
             //ALOGD("BnAAudioService::client openStream request dump --------------------");
@@ -261,6 +261,7 @@
         } break;
 
         case CLOSE_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             result = closeStream(stream);
             //ALOGD("BnAAudioService::onTransact CLOSE_STREAM 0x%08X, result = %d",
@@ -270,6 +271,7 @@
         } break;
 
         case GET_STREAM_DESCRIPTION: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             aaudio::AudioEndpointParcelable parcelable;
             result = getStreamDescription(stream, parcelable);
@@ -288,6 +290,7 @@
         } break;
 
         case START_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             result = startStream(stream);
             ALOGV("BnAAudioService::onTransact START_STREAM 0x%08X, result = %d",
@@ -297,6 +300,7 @@
         } break;
 
         case PAUSE_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             result = pauseStream(stream);
             ALOGV("BnAAudioService::onTransact PAUSE_STREAM 0x%08X, result = %d",
@@ -306,6 +310,7 @@
         } break;
 
         case STOP_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             result = stopStream(stream);
             ALOGV("BnAAudioService::onTransact STOP_STREAM 0x%08X, result = %d",
@@ -315,6 +320,7 @@
         } break;
 
         case FLUSH_STREAM: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             result = flushStream(stream);
             ALOGV("BnAAudioService::onTransact FLUSH_STREAM 0x%08X, result = %d",
@@ -324,6 +330,7 @@
         } break;
 
         case REGISTER_AUDIO_THREAD: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             data.readInt32(&pid);
             data.readInt32(&tid);
@@ -336,6 +343,7 @@
         } break;
 
         case UNREGISTER_AUDIO_THREAD: {
+            CHECK_INTERFACE(IAAudioService, data, reply);
             data.readInt32(&stream);
             data.readInt32(&pid);
             data.readInt32(&tid);