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

Commit 716f7b3f authored by Ilya Polenov's avatar Ilya Polenov Committed by Gerrit Code Review
Browse files

Fix PointerCoords Parcel incorrectly storing values as Int32



PointerCoords stores its values as float and its Parcel should
do the same. Wrong behaviour may be noticed when MotionEvent is
injected using Instrumentation method sendPointerSync. All its
PointerCoords values(size, orientation, pressure, etc) will be
casted to integer omitting their decimal part. This fix addresses
this issue.

Change-Id: Ifa3dfce4d5c2e6c060852f4208cb5684e827c7e6
Signed-off-by: default avatarIlya Polenov <daioptych@gmail.com>
parent 7ad885e2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ status_t PointerCoords::readFromParcel(Parcel* parcel) {
    }

    for (uint32_t i = 0; i < count; i++) {
        values[i] = parcel->readInt32();
        values[i] = parcel->readFloat();
    }
    return OK;
}
@@ -231,7 +231,7 @@ status_t PointerCoords::writeToParcel(Parcel* parcel) const {

    uint32_t count = __builtin_popcountll(bits);
    for (uint32_t i = 0; i < count; i++) {
        parcel->writeInt32(values[i]);
        parcel->writeFloat(values[i]);
    }
    return OK;
}