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

Skip to content
Commit 0a1d3c22 authored by Cosmin Băieș's avatar Cosmin Băieș
Browse files

Revert^2 "Fix SHOW_IMPLICIT and SHOW_EXPLICIT handling"

cf811952

Re-submitting original CL as the issue has been fixed by setting the
correct (SHOW_EXPLICIT) flag for the InputMethodStressTest suite.

Original CL:

Fix SHOW_IMPLICIT and SHOW_EXPLICIT handling

This fixes a bug introduced in the refactor from [1], where
SHOW_IMPLICIT and SHOW_EXPLICIT requests would not be handled correctly,
as they represent the same underlying bit flag value.

IntDefs were added to help understand which set of flags to use
based on call site. Requests originating from InputMethodManager
(and a few from InputMethodService) must utilise InputMethodManager
flags (i.e SHOW_IMPLICIT). When reaching the ImeVisibilityStateComputer,
these are translated to InputMethodService flags (i.e. SHOW_EXPLICIT).

Additonally, this documents and tests that `ImeVisibilityStateComputer`
keeps the strongest state set until a hide request (i.e. an implicit
show request just after a forced / explicit show request, without
any hide requests in between, will still have the
forced / explicit state set).

[1]: Id1115ceb951e4bb0361a32b824d966cc70b7d132

Bug: 289188559
Test: atest DefaultImeVisibilityApplierTest
  DefaultImeVisibilityTest
  ImeVisibilityStateComputerTest
  com.android.inputmethodservice.InputMethodServiceTest

Change-Id: I2117053c5a45253b9537f903a1ac6b3c8bef69af
parent 9b489184
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment