Stop granting default Contacts permission to IMEs.
This partially reverts the previous commit [1], which allowed special components to be granted some pre-configured default permissions. With this CL, we no longer grant Contacts permissions to pre-installed IMEs. Rationals are: 1. Even without this CL, not the all pre-installed IMEs are granted Contacts permission by default, because it was done during the boot time where InputMethodManagerService is not yet completely initialized. The current behavior is confusing not only for users but also for developers. 2. In almost all the cases, IMEs are supposed to be able to work without Contacts permission. Hence it is not too late to ask users to grant the permission to the IME after the initial setup is completed. 3. It is difficult to add new features such as File-Based Encryption (FBE) with keeping the current implementation, because currently we dynamically call mSettings.setCurrentUserId(userId) just to enumerate what IMEs will be enabled for a given user. Adding another condition (whether the user has already unlocked the device or not) would make things more complicated. Note that LatinIME has already support the case where Contacts permission is not granted by default. It does not ask users for anything until Setup-Wizard is completed, and requests Contacts permission only when the user taps a message in the suggestion strip that suggests users to use contacts name for typing suggestions. [1] If8b8cadbd1980ffe7a6fc15bbb5f54a425f6e8f9 adc1cf46 Bug: 24756974 Bug: 26743676 Change-Id: Ief2a40b5971b3eb97d765f934d20ce7f2ef25665
Loading
Please register or sign in to comment