Disable handling display change transition for remote
If display space is changed, a transaction will be passed
to DisplayManagerService#performTraversalInternal, and
the transaction may contain setDisplayProjection if display
size/orientation is changed.
With shell transition, the transaction can be the sync
transaction. And the sync transaction may be applied by the
remote animator. But since [1], the command setDisplayProjection
requires a signature permission ACCESS_SURFACE_FLINGER. Then if
the remote is launcher, the display coordinate will not be
updated because without the permission.
So simply use the default transition handler (SystemUI has the
permission) if the transition contains a display change (the
appearance will be the same as legacy transition). Also shell
rotation is not fully implemented yet, it may be still
flickering even if launcher has the permission.
[1]: Id9d9012d4ede9c8330f0ce1096bcb78e51b7c5df
Bug: 267118962
Test: Open an activity which calls setRequestedOrientation
in onResume, it will have a normal rotation animation.
Change-Id: If2f3885007ed5b1c69eaa31e4a9c8be7eb54a017
3 files changed