Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a885f5e4 authored by Cosmin Băieș's avatar Cosmin Băieș
Browse files

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
parent 69d6bb8b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment