Implement UX for IME with freeform windows
UX desires for this are: when IME appears for a freeform window, 1. Temporarily push the freeform window up to make room for IME 1a. However, do not push the top of the window off the screen 2. Any part of the window left under the IME becomes inset and thus handled by adjustPan or adjustResize. 3. Return the window to its original position when IME closes. 3a. Unless the window is moved while IME is up. 4. If the window is moved around while IME is up, do not change the content (ie. don't adjust insets). This CL includes some fixes to related bugs as well: - During adjustPan, the caption is now "unscrolled" so that it remains at the top of the window. Previously, the caption would be scrolled out of the window along with the content. This is done via setTranslation so it won't trigger relayout. - The starting bounds of task-drag uses the task bounds instead of dim bounds. Dim bounds was based on the visible frame which excludes the IME inset; so, it was causing the window to be resized if the user tried to drag the window while IME was open. Going through the history, this was done to resolve some issue with resizing dialog activities. I've verified that behavior in this case is the same before and after this CL. Bug: 119375946 Test: Manual since UX: open desktop display, open apps that use IME (both adjustPan and adjustResize). Also, atest WindowFrameTests Change-Id: Id81d0b0a5f82be28fabed3ad22e713fc4fa7536d
Loading
Please register or sign in to comment