Enable 1P IMEs for concurrent multi-user IME mode
This is a follow up CL to my previous CL [1], which introduced IMMS#experimentalInitializeVisibleBackgroundUserLocked to re-implement how IMEs become recognized by the IMMS and how the initial default IME is picked up for the first use of each user. One thing I forgot to re-implement is that enabling at least one IME for each user in the first use, because Settings.Secure.ENABLED_INPUT_METHODS is empty by default for each user. We need to enable at least one IME for other logic to run. At the same time, the logic to determine what IMEs should be enabled by default has also been complicated and fragile [2][3][4][5][6], mainly because the expected user-observable behavior tends to be quite ad-hoc especially on phone use cases. Luckily on form factors where experimental concurrent multi-user IME is required we in general do not expect users to be able to install 3P IMEs. On such an environment just enabling all the 1P ("1P" here means pre-installed) IMEs should be acceptable at least as the initial implementation. This behavior is fully guarded behind IMMS#mExperimentalConcurrentMultiUserModeEnabled. There must be no observable behavior change unless the above settings is enabled. [1]: I82cfc366b614d7e55a0f4fa11d5eaf5f0f8eb0a8 1ec914a0 [2]: Id624d577d941245cca944498dc6935eb364865cf 1f9a3cbe [3]: I831502db502f4073c9c2f50ce7705a4e45e2e1e3 ed20f8d750ef0b6347448265a14ef2a2c7e1af5c [4]: Ife93d909fb8a24471c425c903e2b7048826e17a3 745e7bca8a622ffdf0d0a8e8e2485eab98182ede [5]: I6571d464a46453934f0a8f5e79018a67a9a3c845 d0dbd81fe2cd34c9a83e2f5217374d3e1a79f950 [6]: I871ccda787eb0f1099ba3574356c1da4b33681f3 b21220ef Bug: 341558132 Test: presubmit Flag: android.view.inputmethod.concurrent_input_methods Change-Id: I414a228e068fa53223234fe1db3e813474841604
Loading
Please register or sign in to comment