diff options
Diffstat (limited to 'media/libmedia/IMediaPlayerService.cpp')
-rw-r--r-- | media/libmedia/IMediaPlayerService.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp index 41969b1..d3e2e19 100644 --- a/media/libmedia/IMediaPlayerService.cpp +++ b/media/libmedia/IMediaPlayerService.cpp @@ -121,10 +121,17 @@ public: return interface_cast<ICrypto>(reply.readStrongBinder()); } - virtual status_t enableRemoteDisplay(bool enable) { + virtual status_t enableRemoteDisplay(const char *iface) { Parcel data, reply; data.writeInterfaceToken(IMediaPlayerService::getInterfaceDescriptor()); - data.writeInt32(enable); + + if (iface != NULL) { + data.writeInt32(1); + data.writeCString(iface); + } else { + data.writeInt32(0); + } + remote()->transact(ENABLE_REMOTE_DISPLAY, data, &reply); return reply.readInt32(); } @@ -217,8 +224,11 @@ status_t BnMediaPlayerService::onTransact( } break; case ENABLE_REMOTE_DISPLAY: { CHECK_INTERFACE(IMediaPlayerService, data, reply); - bool enable = data.readInt32(); - reply->writeInt32(enableRemoteDisplay(enable)); + const char *iface = NULL; + if (data.readInt32()) { + iface = data.readCString(); + } + reply->writeInt32(enableRemoteDisplay(iface)); return NO_ERROR; } break; case ADD_BATTERY_DATA: { |