diff options
author | Oleksiy Vyalov <ovyalov@google.com> | 2017-03-24 14:06:03 -0700 |
---|---|---|
committer | Oleksiy Vyalov <ovyalov@google.com> | 2017-03-24 14:06:03 -0700 |
commit | ead847255f341c6543e27d77af64daccd7da2879 (patch) | |
tree | 8a3e22f2c29985a9112ad335dfd73f9b46a7c300 /camera/CameraBase.cpp | |
parent | 58c2a1c7cfcb05ee515583bd6e62473122e7d526 (diff) |
Make CameraStatus::cameraId to use String16.
Java strings are passed as UTF16 and attempt to pass cameraId
with alpha symbols via CameraStatus leads either to corrupted
or null strings.
Test: build/flash/boot
Test: verified together with ag/1841664 that alpha camera ids
are passed correctly.
Change-Id: Ic6045322137c156aa03bbcdccfe81f8f0ecb0618
Diffstat (limited to 'camera/CameraBase.cpp')
-rw-r--r-- | camera/CameraBase.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/camera/CameraBase.cpp b/camera/CameraBase.cpp index 60effe20ea..c53e6c3358 100644 --- a/camera/CameraBase.cpp +++ b/camera/CameraBase.cpp @@ -56,17 +56,19 @@ status_t CameraInfo::readFromParcel(const android::Parcel* parcel) { } status_t CameraStatus::writeToParcel(android::Parcel* parcel) const { - status_t res; - res = parcel->writeString8(cameraId); + auto res = parcel->writeString16(String16(cameraId)); if (res != OK) return res; + res = parcel->writeInt32(status); return res; } status_t CameraStatus::readFromParcel(const android::Parcel* parcel) { - status_t res; - res = parcel->readString8(&cameraId); + String16 tempCameraId; + auto res = parcel->readString16(&tempCameraId); if (res != OK) return res; + cameraId = String8(tempCameraId); + res = parcel->readInt32(&status); return res; } |