Skip to content
Snippets Groups Projects
  1. Jan 07, 2024
  2. Nov 28, 2023
  3. Nov 14, 2023
  4. Nov 13, 2023
  5. Oct 13, 2023
  6. Sep 04, 2023
  7. Aug 27, 2023
  8. Aug 22, 2023
  9. Aug 18, 2023
  10. Aug 15, 2023
  11. Aug 14, 2023
  12. Jul 06, 2023
  13. Jan 12, 2022
    • Ming-Shin Lu's avatar
      Using IME context to inflate layout from S_V2 · 6c752d8e
      Ming-Shin Lu authored
      With CL[1],[2] to migrate InputMethodService as the subclass of the new
      introduced class WindowProviderService in S_V2, IME context resources
      can be managed by associating the window container of IME window when
      its display/window configuration changed.
      
      So we can get rid of createDisplayContext logic from S_V2 with gated
      by SDK version and refining the method of get IME context with
      documentation to make it clear.
      
      [1]: Ie565e30ed5dd3f2cfe27355a6dded76dc3adc14b
      [2]: I64a1614f32d097785915f6105b1813a929e0fe32
      
      Bug: 213118079
      Bug: 133825283
      Test: manual with below steps
       1) adb install -r EditTextVariations.apk
       2) tapas LatinIME
       3) make
       4) adb install -r out/target/product/generic/system/app/LatinIME/\
              LatinIME.apk
       5) adb shell ime enable com.android.inputmethod.latin/.LatinIME
       6) adb shell ime set com.android.inputmethod.latin/.LatinIME
       5) Enable screen auto-rotation
       7) Launch EditTextVariations from launcher's shortcut
       8) Tap the first EditText field to show IME
       9) Rotate the device to the landscape mode
       10) Expect the IME should not be shrunk
      
      Change-Id: If2cc1c5bdb257a9c0af653fa7157cf781a90bf1d
      6c752d8e
  14. Jun 18, 2021
    • Ming-Shin Lu's avatar
      Fix Keyboard Theme update when device orientation changed · 6ae09365
      Ming-Shin Lu authored
      As CL[1] introduces diplayContext to address
      IME service context's Resources / DisplayMetrics update when
      switching IME window to another display after onConfigurationChange.
      
      In LatinIME#onInitializeInterface, we only update keyboard theme context
      and displayContent when the displayId is changed, but overlooked even
      the displayId is the same, the display context's resource configuration
      might changed like the device orientation changd.
      
      It leads getDefaultKeyboardHeight will get wrong config_max_keyboard_height
      fraction value when rotating to landcape because the context resources
      didn't get updated.
      
      Add a check to update keyboard theme context when the current display
      configuation is changed accordingly.
      
      [1]: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
      
      Fix: 186507147
      Test: manual as issue steps
          1) Turn on auto-rotate
          2) Open Settings
          3) Rotating the device to landscape mode
          4) Tap “Search settings", verify if the soft-keyboard shown and the
             size is expected.
      Change-Id: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
      Merged-In: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
      6ae09365
  15. May 28, 2021
    • Ming-Shin Lu's avatar
      Fix Keyboard Theme update when device orientation changed · 407f8a32
      Ming-Shin Lu authored
      As CL[1] introduces diplayContext to address
      IME service context's Resources / DisplayMetrics update when
      switching IME window to another display after onConfigurationChange.
      
      In LatinIME#onInitializeInterface, we only update keyboard theme context
      and displayContent when the displayId is changed, but overlooked even
      the displayId is the same, the display context's resource configuration
      might changed like the device orientation changd.
      
      It leads getDefaultKeyboardHeight will get wrong config_max_keyboard_height
      fraction value when rotating to landcape because the context resources
      didn't get updated.
      
      Add a check to update keyboard theme context when the current display
      configuation is changed accordingly.
      
      [1]: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
      
      Fix: 186507147
      Test: manual as issue steps
          1) Turn on auto-rotate
          2) Open Settings
          3) Rotating the device to landscape mode
          4) Tap “Search settings", verify if the soft-keyboard shown and the
             size is expected.
      Change-Id: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
      407f8a32
  16. Sep 11, 2019
    • lumark's avatar
      Create display context when switching IME to new display for AOSP IME · 87f14f1e
      lumark authored
      To address IME service context's Resources / DisplayMetrics update
      when switching IME window to another display after onConfigurationChange.
      
      We use Context#createDisplayContext to create display specific context when
      display changed, to ensure soft keyboard can re-layout with correct resources.
      
      Bug: 126930163
      Test: manual with AOSP IME as below steps:
           1) Settings > Developer options > enable "Simulated Display" & "Force desktop mode".
           2) Reboot device
           3) Launch app (i.e. Contacts) with bluetooth or usb mouse in Simulated display.
           4) Tap EditText on app to see see if IME window layout correctly on simulated display.
           5) Launch app (i.e Files) on primary display.
           6) Tap EditText on app to see if IME window layout correctly on primary display.
      
      Change-Id: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
      Merged-In: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
      87f14f1e
  17. Jul 09, 2019
    • lumark's avatar
      Create display context when switching IME to new display for AOSP IME · 4d464ec0
      lumark authored
      To address IME service context's Resources / DisplayMetrics update
      when switching IME window to another display after onConfigurationChange.
      
      We use Context#createDisplayContext to create display specific context when
      display changed, to ensure soft keyboard can re-layout with correct resources.
      
      Bug: 126930163
      Test: manual with AOSP IME as below steps:
           1) Settings > Developer options > enable "Simulated Display" & "Force desktop mode".
           2) Reboot device
           3) Launch app (i.e. Contacts) with bluetooth or usb mouse in Simulated display.
           4) Tap EditText on app to see see if IME window layout correctly on simulated display.
           5) Launch app (i.e Files) on primary display.
           6) Tap EditText on app to see if IME window layout correctly on primary display.
      
      Change-Id: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
      4d464ec0
  18. Jul 05, 2019
    • lumark's avatar
      Remove extend touchable region for AOSP keyboard · b4360e65
      lumark authored
      Remove EXTENDED_TOUCHABLE_REGION_HEIGHT from LatinIME#onComputeInsets
      to prevent keyboard touch region covered navigation bar
      when in split-window mode with display density < 240 case.
      
      Fix: 134893742
      Test: manual as below steps:
      1) Set window density as 240 with "adb shell wm density 240"
      2) Launch a app (i.e. Messages) from recents activity, set as split-screen mode.
      3) Tap Search bar to show IME keyboard.
      4) Press home / back / recents key if it works, expect it works.
      
      Change-Id: I596b7276041fecc50d2bc095c7e51664f632368d
      b4360e65
  19. May 04, 2019
    • Yohei Yukawa's avatar
      Launch AOSP Keyboard Settings on the same display · d7628414
      Yohei Yukawa authored
      This CL demonstrates how an IME can show an Activity on the display
      where the IME is shown.  The key points are:
      
       * The current display ID can be obtained as follows.
      
          final int curentDisplayId = inputMethodService
                  .getSystemService(WindowManager.class)
                  .getDefaultDisplay()
                  .getDisplayId();
      
       * When launching an Activity, specify the target display ID as
         follows.
      
          inputMethodService.startActivity(intent, ActivityOptions
                  .makeBasic()
                  .setLaunchDisplayId(curentDisplayId)
                  .toBundle());
      
      Fix: 131718879
      Test: Manually verified as follows.
        1. Build aosp_blueline-userdebug and flash it.
        2. adb shell settings put global force_desktop_mode_on_external_displays 1
        3. adb shell settings put global overlay_display_devices 1920x1080/320
        4. adb reboot
        5. With a mouse, launch any application that has input field
           in the secondary display.
        6. Click that input field to bring up AOSP Keyboard.
        7. Long click the comma key then select the gear icon.
        8. Select "Android Keyboard Settings (AOSP)"
        9. Make sure that the AOSP Keyboard Settings is launched in
           the secondary display, not in the default display.
       10. Go back to the step 7.
       11. Select "Languages"
       12. Subtype Enabler for AOSP Keyboard is shown in the secondary
           display, not in the default display.
      Change-Id: I9f89f371c38d9a7b5a06d018d4b41aa09815ea24
      d7628414
  20. Sep 01, 2017
    • Yohei Yukawa's avatar
      Introduce a custom intent action to close software keyboard · fdfc55d3
      Yohei Yukawa authored
      This CL introduces a custom intent action for apps to ask AOSP Keyboard to
      close its software keyboard with guarding it with a signature-protected
      permission.
      
      Any app that is signed with the same signature as AOSP Keyboard can have
      the following line in AndroidManifest.xml
      
        <uses-permission
                android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/>
      
      to request AOSP Keyboard to close its software keyboard as follows.
      
        sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT")
                .setPackage("com.android.inputmethod.latin"));
      
      Test: Manually verified with a test app.
      Fixes: 65270710
      Change-Id: I4fd2e3a7336ec66c70582a2f274a200cbf035a7f
      fdfc55d3
  21. Mar 15, 2016
    • Keisuke Kuroyanagi's avatar
      Start full screen mode on first tap when HW keyborad is connected. · 48adccf3
      Keisuke Kuroyanagi authored
      LatinIME checks hardware keyboard presence and software keyboard
      visibility to decide whether to start full screen mode.
      This doesn't work well with the recent update on "Show input method"
      (Bug: 22517687, Id4d332e3909590c68345e).
      
      On the first tap, software keyboard is not shown and hardware keyboard
      is connected; so full screen mode is not started. However,
      onEvaluateInputViewShown may return true ant software keyboard may be
      brought up.
      In this care, on the second tap, software keyboard is visible so full
      screen mode will be started regardless of hardware keyboard presence.
      
      This CL checks onEvaluateInputViewShown to decide whether to start
      full screen mode.
      
      Bug: 27234709
      Change-Id: I587262cc36e5fccc59620b4bd2d2c3c05c72232f
      48adccf3
  22. Feb 23, 2016
    • Yohei Yukawa's avatar
      Fix runtime crash on KitKat and prior. · 60b59042
      Yohei Yukawa authored
      This is a follow up CL to the previous CL [1], in which we started
      calling Window#setNavigationBarColor(int) when the window visibility is
      changed.
      
      One thing we missed is that calling Window#setNavigationBarColor(int) on
      KitKant or prior devices would result in a runtime crash.  Hence with
      this CL we do not call that method unless the OS version is N or leter,
      because specifying Color.TRANSPARENT would make sense on N+ devices.
      
        [1]: I14d9490e00caa852035a05830e76114cbe6af8f2
             6c04339c
      
      Bug: 22564251
      Bug: 27302540
      Change-Id: Ib7299dd8c3dad4271f8fac453e690c83bda4a954
      60b59042
  23. Jan 22, 2016
    • Yohei Yukawa's avatar
      Experimental automatic language switching support. · 809c9321
      Yohei Yukawa authored
      With this CL, LatinIME switches the current subtype from its enabled
      subtypes based on the first locale in EditorInfo#hintLocales.
      
      This functionality is still experimental, and will be triggered only
      when EditorInfo#hintLocales is specified by the application.
      
      Bug: 22859862
      Change-Id: Ibd0559b370d8aa0d50d1bada8ecfdac0ed8db898
      809c9321
  24. Dec 09, 2015
    • Seigo Nonaka's avatar
      Change NavigationBar invisible if the input view is not shown. · 6c04339c
      Seigo Nonaka authored
      The opaque navigation bar guard view does not make much sense when the
      IME does not show software keyboard at all.  LatinIME does not show
      any UI when the hardware keyboard is connected.
      
      With Iea77915ecc55eedaf19899e72c44f704ba9d852c, input method can change
      the navigation bar visibility.  This CL changes navigation bar invisible
      when the hardware keyboard is connected.
      
      Bug:22564251
      Change-Id: I14d9490e00caa852035a05830e76114cbe6af8f2
      6c04339c
  25. Nov 03, 2015
    • Dmitry Torokhov's avatar
      Fix AltR+1 -> ESC shortcuts bringing on-screen keyboard · 9a438a32
      Dmitry Torokhov authored
      Change the way we decide whether we want to show on-screen keyboard by
      not only paying attention to modifiers, but also keeping track whether
      the key sequence started in the right state.
      
      We are still misfiring if user presses a non-modifier key and then our
      modifier hot-key, but such sequence is unlikely. Given the fact that we
      do not want to store too much state I believe this deficiency is
      acceptable.
      
      Bug: 25087681
      Bug: 24142161
      
      Change-Id: I1a6b5e8e903c27a87134a6c9a7cd474a0607d5c8
      (cherry picked from commit 7c513455918a52bd28c1c8181cb2880db0973b4b)
      9a438a32
  26. Oct 15, 2015
    • Dan Zivkovic's avatar
      Define shortcuts for toggling IME layouts. · 1fdb8f31
      Dan Zivkovic authored
      Out of the box, we want Alt-Left to toggle Emojis, while Alt-Right
      toggles the shifted symbols layout.
      
      Bug: 23954008
      Bug: 24369173
      
      Change-Id: I93dd66fb469e5d0a831359ff3a786fe68e1d73ea
      (cherry picked from commit 411841b374aa04e333ea5a438dfd539f49ec589a)
      1fdb8f31
  27. Jul 15, 2015
    • Mohammadinamul Sheik's avatar
      [LatinIME] Support MNC permissions. · 60415866
      Mohammadinamul Sheik authored
      This build has been compiled against API 23
      
      This build is approved to go out with the M OTA, but may NOT be released
      to the public until the Play Store has enabled API level 23 apps
      
      Version: 4.1.2300x.build_id
      
      1. Replaces the personalization is on information with the suggest
         contacts.
      2. Enables "Use Contacts" only if the app has permission to read
         contacts.
      3. Disables the contacts dictionary in the Facilitator.
      4. Do not register/read the contacts in the contact observer.
      
      Bug: 22236416
      Change-Id: I9674e13d0d0f4a2014c5024fde0178de684c07e7
      60415866
  28. May 04, 2015
  29. Mar 20, 2015
  30. Mar 18, 2015
  31. Mar 16, 2015
  32. Mar 13, 2015
  33. Mar 12, 2015
    • Dan Zivkovic's avatar
      Remove ALS from LatinIME. · 107fb4c4
      Dan Zivkovic authored
      This fixes unit tests and brings us closer to a green build.
      
      Change-Id: Iffcc392eda4a7671a238b79cc7367320ca648725
      107fb4c4
  34. Mar 11, 2015
Loading