Skip to content
Snippets Groups Projects
  1. Oct 26, 2017
    • Yohei Yukawa's avatar
      IMMS should preserve enabled/selected IMEs upon boot · 1f9a3cbe
      Yohei Yukawa authored
      This is a follow up CL to my refactoring CL [1], which unintentionally
      changed the condition to reset default enabled IMEs when the device
      boots up.
      
      Previously, InputMethodManagerService (IMMS) resets default enabled
      IMEs upon device boot only for the first boot scenario, by checking
      whether Settings.Secure.DEFAULT_INPUT_METHOD is already set or not.
      
      My refactoring CL accidentally replaced that check with unconditional
      "true", which means now IMMS always resets default enabled IMEs every
      time the device boots up.  This behavior change is of course
      unintentional but has no effect after the user unlocks the device
      because IMMS also discard all the settings change made while
      UserManager.isUserUnlocked() returns false [2].  Hence the above
      behavior change is completely hidden on direct-boot disabled devices,
      where the system behaves as if the user unlocked the device
      immediately after the boot is completed.  The behavior change is
      observable only on direct-boot devices.
      
      Anyway, IMMS should try to do its best to keep the last used IME and
      user selected IMEs even in user locked state as long as those IMEs
      are compatible with direct-boot.  This CL revives the previous
      behavior by adding the same condition check again.
      
       [1]: I5b37c450db4b25b3e635b6d634293a34eec8b9d4
            7924782c
       [2]: Ifa2225070bf8223f8964cf063c86889e312c5e9a
            ed4952ad
      
      Fixes: 67093433
      Fixes: 67491290
      Test: Manually verified as follows
            1. Check out AOSP master
            2. Build an OS image for a direct-boot aware device then
               flash it.
            3. Open
                  development/samples/SoftKeyboard/AndroidManifest.xml
               then add
                  android:directBootAware="true"
               to the IME service.
            4. Open
                  development/samples/SoftKeyboard/res/xml/method.xml
               then add
                  android:isAsciiCapable="true"
               to "en_US" IME subtype.
            5. tapas SoftKeyboard
            6. make -j
            7. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
            8. Open system settings:
                 System -> Languages & input -> Virtual keyboard
      	     -> Manage keyboards
            9. Enable Sample Soft keyboard
           10. Disable Android Keyboard (AOSP)
           11. Open system settings:
                 Security -> Screen lock -> Password
               then set up a device password "aaaa".
           12. Reboot the device.
           13. Make sure that
                * Sample Soft keyboard is shown in the unlock screen.
                * AOSP Keyboard is not enabled in the unlock screen.
      Change-Id: Id624d577d941245cca944498dc6935eb364865cf
      1f9a3cbe
    • Hugo Benichi's avatar
      Merge changes I59b6e04f,I55694d89 · 9009eabb
      Hugo Benichi authored
      * changes:
        Remove Parcelable interface from DefaultNetworkEvent
        Extract logging of default network events
      9009eabb
    • Treehugger Robot's avatar
      28ed9116
    • Colin Cross's avatar
      d4609af9
    • Hans Boehm's avatar
  2. Oct 25, 2017
  3. Oct 24, 2017
Loading