+19
−8
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
We used to early return when we got an invalid SurfaceControl for any reason, but that'll mess up the Parcel location and make all following reading from this Parcel fail in a very obscure way. To avoid that let's read up everything SurfaceControl wrote and return NULL if it indeed is invalid. Also change to call readStrongBinder() that can return status_t, and check all status_t returned by readStrongBinder() and readNullableStrongBinder() to catch all cases. Note this issue came to ARC++ because our ArcSystemUI crashed earlier, which is the root cause to the invalid SurfaceControl. Therefore this change doesn't aim to fix any issue in normal code path. Bug: 159627603 Test: atest ActivityVisibilityTests#testTurnScreenOnSingleTask failed with using invalid SurfaceControl rather than ClassNotFoundException. Change-Id: Icd2f694f2696458041f449f74186653791236010