Simplify FINISH_INPUT_NO_FALLBACK_CONNECTION handling
This is the 6th CL for Bug 26851566 [1][2][3][4][5]. In the CLs [3][5], the approach we took was to extend an existing IPC method IInputMethodClient#setActive(boolean active, boolean fullscreen) by adding one more parameter "reportToImeController". However, it seems that such an approach made its handling code hard to maintain, because the IPC method needed to behave in a completely different manner depending on the newly introduced parameter. To avoid such a confusion and to make subsequent refactoring easier, this CL introduces a new IPC method IInputMethodClient#setInteractive( boolean interactive, boolean fullscreen) to clarify what we are actually doing. In most cases there must be no observable behavior change. One possible behavior change is when setInteractive() gets called when IMM#mCurRootView.getView() is not available. In the previous CL, we fell back to previous behavior as if FINISH_INPUT_NO_FALLBACK_CONNECTION was not defined. However it looks like such a fallback mechanism is not an intentional behavior. The main use case is still verified with existing CTS tests [6][7]. [1]: Ic11956fe745a829da1ec7c09ea214e9b3961c8e0 0df88124 [2]: If06daf71160aa44a4254ac125561974ecbdef4f2 2c6e80be [3]: I8a657e75e274d842fb46b60375f6aeafeab96a59 152eacec [4]: I16f4a34360a2f64b69978724648a9be741f140b5 3d62f739 [5]: Id4e71a822bfde5fe6a263bbe094c0d238017efe1 3d62f739 [6]: Iba0332ed3b767a9a15768b64947b9cde31105af1 e2f4138156c784746becde6a01c19f0c3de6ac32 [7]: I346ef42f2546a2925bf44ca7719ae19399e15e78 84c5ec2f81d4be5285b9c5f1d0e943f808e9158c Bug: 26851566 Bug: 156215187 Test: atest InputMethodStartInputLifecycleTest Change-Id: I0c95d7e70357ac98b336cd1b51a7405ba92a9a6f
Loading
Please register or sign in to comment