Allows it to be used in more projects
Bug: 154161590
Test: Manually opened each setting that was impacted
Change-Id: Ife59074e5f8ffa76c2c81cca4022ca200bb59526
Since the beginning [1], ChooseLockPassword#validatePassword() has never
accepted non-ASCII characters [2]. Hence we can safely specify
EditorInfo#IME_FLAG_FORCE_ASCII so that IMEs can optimize their UX based
on this flag. Note that EditorInfo#IME_FLAG_FORCE_ASCII is just a hint
for the IME so there should be no behavior change in the system side.
Note also that EditorInfo#IME_FLAG_FORCE_ASCII has been used in KeyGuard
(keyguard_password_view.xml) since JB MR-1 [3] so this flag is considered
to be well tested.
[1]: 00d2476d8f
[2]: Only character c where 32 <= c <= 126 is accepted
[3]: Id75286113771ca1407e9db182172b580f870b612
Test: Run `adb shell dumpsys input_method` when the password entry
field is focused to make sure that 'imeOptions' parameter
has 0x80000000 bit. Tested the following scenarios:
- PIN on a direct-boot disabled device
- PIN on a direct-boot enabled device
- Password on a direct-boot disabled device
- Password on a direct-boot enabled device
Fixes: 27858858
Change-Id: I3075e24c6dac4d49f4d0e56a0d4d8434a323754d
This is the 2nd attempt to have CryptKeeper stop depending on
InputMethodManager#showSoftInputUnchecked() do avoid non-deterministic
behaviors. Note that the original one [1] was reverted [2] due to
ClassCastException as crypt_keeper_pin_field.xml was not updated to
use ImeAwareEditText.
We have been receiving more and more strange bug reports regarding
the initial IME visibility on CryptKeeper (Bug 31915865, Bug 35198715,
and Bug 36148078). Most likely we have introduced more bugs before
fixing previous bugs.
As the first step to disentangle multiple problems, this CL addresses
a long standing issue that CryptKeeper relies on @hide internal API
InputMethodManager#showSoftInputUnchecked(). As explained in
Bug 36015425, IMM#showSoftInputUnchecked() is considered harmful in
terms of bypassing standard IME focus handling flows, which prevents
us from taking advantage of historical debugging mechanism that we
have added recently in Bug 35079353.
[1]: I3cffeec286d9372ff05e85a49b82287cb1add8a2
4ae46cd1ad
[2]: I776ad2e6ba0eabacb3d6be6de23ba37fe5ce7bc7
cf026ead80
Test: Manually verified that Bug 31915865 is still broken but this CL
does not make it worse.
1. Flash an image into a non direct-boot device.
2. Set up a device boot password.
3. adb reboot
After the step 3, the software keyboard shows up automatically
then suddenly disappears (Bug 35198715). Do the same test for
device boot PIN instead of password.
Bug: 36015425
Change-Id: I182b05d3ff59fb3b4732d60d0d5a464f0e0e0235
We have been receiving more and more strange bug reports regarding
the initial IME visibility on CryptKeeper (Bug 31915865, Bug 35198715,
and Bug 36148078). Most likely we have introduced more bugs before
fixing previous bugs.
As the first step to disentangle multiple problems, this CL addresses
a long standing issue that CryptKeeper relies on @hide internal API
InputMethodManager#showSoftInputUnchecked(). As explained in
Bug 36015425, IMM#showSoftInputUnchecked() is considered harmful in
terms of bypassing standard IME focus handling flows, which prevents
us from taking advantage of historical debugging mechanism that we
have added recently in Bug 35079353.
Test: Manually verified that Bug 31915865 is still broken but this CL
does not make it worse.
1. Flash an image into a non direct-boot device.
2. Set up a device boot password.
3. adb reboot
After the step 3, the software keyboard shows up automatically
then suddenly disappears (Bug 35198715).
Bug: 36015425
Change-Id: I3cffeec286d9372ff05e85a49b82287cb1add8a2
Move duplicate code for switching input method from crypt_keeper_*_field.xml to an include.
Bug: 16375532
Change-Id: I0f9000d4a8c4bc8751b8cefd98fe429cbb02c37a
White on black material theme
Center text
Remove fade to black task
Fix emergency call button
Note - does not implement all requirements of frames in the defect. More
to follow.
Bug: 15328359
Change-Id: I878e59dccffff366ba2484bb77482e168cbd2b81
- use standard IME, but force it into ASCII if it's the default IME
- provide an IME switcher if there are multiple IME's, in case the
ASCII-capable one is a different one
- make the IME shown by default
Bug: 5004456
Bug: 4698473
Change-Id: Id40a164cfe599bfdb67b81f60d4ab8a52208de88