diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/camera2/ICameraDeviceUser.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp index ae4cf69..1e5822f 100644 --- a/camera/camera2/ICameraDeviceUser.cpp +++ b/camera/camera2/ICameraDeviceUser.cpp @@ -44,6 +44,19 @@ enum { FLUSH }; +namespace { + // Read empty strings without printing a false error message. + String16 readMaybeEmptyString16(const Parcel& parcel) { + size_t len; + const char16_t* str = parcel.readString16Inplace(&len); + if (str != NULL) { + return String16(str, len); + } else { + return String16(); + } + } +}; + class BpCameraDeviceUser : public BpInterface<ICameraDeviceUser> { public: @@ -261,7 +274,7 @@ status_t BnCameraDeviceUser::onTransact( sp<IGraphicBufferProducer> bp; if (data.readInt32() != 0) { - String16 name = data.readString16(); + String16 name = readMaybeEmptyString16(data); bp = interface_cast<IGraphicBufferProducer>( data.readStrongBinder()); |