tree 7b9f9f3681149fcd42cfc336cb5ad6800a0ddbd8
parent ec7416713c99e17cbfbb8fa23c9d5ddbfa897677
author Seigo Nonaka <nona@google.com> 1447853346 +0900
committer Seigo Nonaka <nona@google.com> 1449245953 -0800

Allow IMEs to opt out the opaque navigation guard view.

Previous CLs [1][2] introduced an opaque navigation guard view to
avoid the island effect (the real nav bar is transparent but the IME
shows its UI with assuming that the real nav bar is opaque).
 [1] I460912ee7c117480c57b947ed31eca330819f32c
 [2] I6a93f30aec83f1cecfb854073046cbc87ab4aa66
Although the current guard view works fine for that particular case,
there are two major situations where having an opaque navigation
guard view does not make much sense.
  1. The IME shows no software keyboard at all.
     Some IMEs automatically hide software keyboard when a hardware
     keyboard is attached.
  2. The IME relies on floating UI that is disjoint from the bottom of
     the screen.
The main goal of this CL is to address case 2 because unlike case 1
the system is not able to automatically detect the case 2.  Only IME
developers know when the opaque guard view should be opted out.
Of course, if IME developers can opt out the opaque guard view,
it means that they can also work around case 1 without relying on
the system, but again it is not the primary goal of this CL.
With this CL IMEs are now able to opt out the opaque navigation guard
view by calling Window#setNavigationBarColor(Color.TRANSPARENT) from
InputMethodService#onWindowShown().  Note that this API used to have
no effect for IME, hence reusing this here should have no compatibility
issues.
Note that any other color is currently ignored to minimize the impact
on UX.

Bug: 22564251
Change-Id: Iea77915ecc55eedaf19899e72c44f704ba9d852c
