Fix invalidation of transformed, opaque views

There is an optimization in the invalidation logic which notes
when opaque views are invalidated and avoids drawing any of the
content behind those views. This runs afoul of some invalidation
logic that invalidates previous positions of views prior to
transforming them. The opaque-dirty optimization guarantees that
the background behind the old positions of these views will not
be painted, causing the views to leave behind artifacts from
their previous positions.

The fix is to disable the optimization when the view in question is
transformed (has a non-identity matrix).

Issue #5678545: Invalidation logic broken for software-rendered
opaque/transformed views

Change-Id: Ia365ab97725bf36e08797bf319945a52ffca4616
1 file changed