Remove IME layering target update deferral
This was originally added in [1] to address the IME layering target becoming the launcher home window, when transitioning from an app to home by pressing the home key. Later in [2], the logic was changed to maintain the IME layering target until it is closing and not removed, to avoid changing the IME layering target during a hide animation, when transitioning from an app that had the IME shown, to one that didn't. In [3], this was further tweaked to not maintain launcher home as the IME layering target in this case, so that transitioning from home to an app that had the IME shown will layer the IME on top of the app, instead of on top of home (and below the app). [4] added a new condition to also maintain the IME layering target if it had the IME shown and the new proposed target is launcher home (or recents). In [5] we introduced the IME screenshot, to be kept on the previous IME layering target, so we can safely move away from it, without any visual inconsistencies. This allowed cleaning up the extra conditions mentioned above, in [6]. This also modified when the IME surface parent is updated, from whenever the IME layering target is updated, to whenever the IME control target is updated. However, this cleanup did not remove the logic for deferring IME layering target updates during Task#moveTaskToFront. As we no longer have (other) edge cases for maintaining the IME layering target, and as the logic for whether a WindowState can be the IME layering target improved to take into account extra states (in isVisibleRequestedOrAdding), it should be safe to remove this deferral. [1]: Ia9b0cc913eeb76a4af20f9ac7b667c5a3d1eafc7 [2]: I016c1e4549cf03c09cf1a30a91bd55fdb2587075 [3]: Ib826b53415b1b1affde76e609d999e1b6f2d2b79 [4]: Ib898bc2e3a5b063fe9eaf8b07d022231dd1326a3 [5]: I6bef36c779a28777408576f57e5d1c67d5d48e3f [6]: Ia6722e1cbccd7adc8aed1828265f6fa4df78df63 Flag: EXEMPT cleanup Bug: 399622420 Test: following cases 1. show IME on app, swipe up to go home / press home key, observe IME does not animate, and the closing app snapshot has the IME 2. show IME on app, open different app task (e.g. start composing an email on Gmail), observe IME remains on previous task, and then starts animating on the new task only after the transition 3. show IME on app, swipe up to go to recents, observe IME does not animate and the app snapshot has the IME Change-Id: I62c25360a2632e9a28628da467076caadd9587a6
Loading
Please register or sign in to comment