Hide the software input based on its state.
This is a 2nd trial of I20ae2749a which is reverted due to a regression. The goals of this CL are two: - Split setImeWindowStatus method into two: keeping IMS status and updating system UI e.g. NavBar icon state. - Hide software keyboard based on a realistic IMS status. IMMS#mImeWindowVis has been used for two purpose, keeping IMS status and updating the NavBar icons, e.g. keyboard icon. However, to update NavBar icon, sometimes IMMS#mImeWindowVis value is updated without any notification from IMS. As the result, the status value becomes incosistent with the real IMS state. This patch extracts NavBar update logic into separate method and keeps IMMS#mImeWindowVis as notified status. Then, use it for hiding software input correctly in IMMS#hideCurrentInputLocked. This CL also removes refreshImeWindowVisibilityLocked method including workaround for fixing Bug 11186297. That issue is no longer reproducible with latest lock screen and almost no effect for existing users and developers. So simply remove them in this CL. BUG: 21446788 BUG: 20764441 BUG: 18722991 Change-Id: I33dc6278fd892f26e56352722bf9449b8b102030
Loading
Please register or sign in to comment