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
Loading
Please register or sign in to comment