Fix unexpected IME visibility restores

As CL[1] introduced in android S for restoring IME visibility when
navigating app task for consistent experience if previously the
user was interact IME on the app task.

However, forcibly restoring IME visibility seems not suitable when the
window set the softInputMode like ALWAYS_HIDDEN or STATE_HIDEN with
forwarding navigation. Because the app might leverage this flag to
hide soft-keyboard with showing their own UI for input
(e.g. Dialer or Calculator app).

Add a check to not restore IME visibility to fix unexpected IME
visible when the softInputMode is in the above cases

[1]: I63b144bed6c37569d79fba1c2b63dd4f1074f0f6

Fix: 182116748
Test: atest KeyboardVisibilityControlTest#\
      testRestoreImeVisibility_noRestoreForAlwaysHidden
Change-Id: I5e49f0a48a16e0b4a46b69f36be6a9d88211e5d5
1 file changed