Propagate setImeWindowStatus() to WMS
setImeWindowStatus() introduced in the previous CL [1] can help
WindowManagerService (WMS) address Bug 34628091. As a preparation
this CL has InputMethodManagerService propagate relevant information
to WMS WMS for later use.
[1]: I9921b381e02106dbffff5e0b3d13f0a1245ce807
db2afde0e584904ee4ce115ce176a4dfe1773990
Test: Verified the callback in WindowManagerService as follows:
1. Rebuild the system with DEBUG_INPUT_METHOD=true
2. adb logcat -s WindowManager:*
to make sure the visibility passed to
WindowManagerService#updateInputMethodWindowStatus matches
to the actual IME window visibility
Bug: 34628091
Bug: 35079353
Change-Id: I54fb1faf513883a54293a756e4c9d2ae9453d778
This commit is contained in:
@@ -281,6 +281,25 @@ public abstract class WindowManagerInternal {
|
||||
*/
|
||||
public abstract void clearLastInputMethodWindowForTransition();
|
||||
|
||||
/**
|
||||
* Notifies WindowManagerService that the current IME window status is being changed.
|
||||
*
|
||||
* <p>Only {@link com.android.server.InputMethodManagerService} is the expected and tested
|
||||
* caller of this method.</p>
|
||||
*
|
||||
* @param imeToken token to track the active input method. Corresponding IME windows can be
|
||||
* identified by checking {@link android.view.WindowManager.LayoutParams#token}.
|
||||
* Note that there is no guarantee that the corresponding window is already
|
||||
* created
|
||||
* @param imeWindowVisible whether the active IME thinks that its window should be visible or
|
||||
* hidden, no matter how WindowManagerService will react / has reacted
|
||||
* to corresponding API calls. Note that this state is not guaranteed
|
||||
* to be synchronized with state in WindowManagerService.
|
||||
* @param targetWindowToken token to identify the target window that the IME is associated with.
|
||||
*/
|
||||
public abstract void updateInputMethodWindowStatus(IBinder imeToken, boolean imeWindowVisible,
|
||||
IBinder targetWindowToken);
|
||||
|
||||
/**
|
||||
* Returns true when the hardware keyboard is available.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user