Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ead84725 authored by Oleksiy Vyalov's avatar Oleksiy Vyalov
Browse files

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
parent 58c2a1c7
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -56,17 +56,19 @@ status_t CameraInfo::readFromParcel(const android::Parcel* parcel) {
}
}


status_t CameraStatus::writeToParcel(android::Parcel* parcel) const {
status_t CameraStatus::writeToParcel(android::Parcel* parcel) const {
    status_t res;
    auto res = parcel->writeString16(String16(cameraId));
    res = parcel->writeString8(cameraId);
    if (res != OK) return res;
    if (res != OK) return res;

    res = parcel->writeInt32(status);
    res = parcel->writeInt32(status);
    return res;
    return res;
}
}


status_t CameraStatus::readFromParcel(const android::Parcel* parcel) {
status_t CameraStatus::readFromParcel(const android::Parcel* parcel) {
    status_t res;
    String16 tempCameraId;
    res = parcel->readString8(&cameraId);
    auto res = parcel->readString16(&tempCameraId);
    if (res != OK) return res;
    if (res != OK) return res;
    cameraId = String8(tempCameraId);

    res = parcel->readInt32(&status);
    res = parcel->readInt32(&status);
    return res;
    return res;
}
}