Fix readFromParcel in every backend

readFromParcel should check the size before reading a field and set
Parcel's data position on successful exit.

Previously, the first field was read without checking the available
data, which fails when the older version is empty.

Bug: 186632725
Bug: 186633641
Test: ./runtests.sh
Merged-In: I8cbe9cd280833e04ee5f1c58f26eca0a9bdf1076
Change-Id: I8cbe9cd280833e04ee5f1c58f26eca0a9bdf1076
(cherry picked from commit cb2a8b201890cb79fdf3c8a1f1fee13d1d4890fc)
17 files changed