aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/LatinIME.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Create display context when switching IME to new display for AOSP IMElumark2019-09-111-3/+31
| | | | | | | | | | | | | | | | | | | | 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
* Merge "Remove extend touchable region for AOSP keyboard"lumark2019-07-051-4/+1
|\ | | | | | | | | | | am: ff1db79a18 Change-Id: Ic162b5e20213a3f1b2aeaf77250bf1d7edc198c5
| * Remove extend touchable region for AOSP keyboardlumark2019-07-051-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Launch AOSP Keyboard Settings on the same displayYohei Yukawa2019-05-041-2/+19
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Introduce a custom intent action to close software keyboardYohei Yukawa2017-09-011-0/+37
| | | | | | | | | | | | | | | | | | | | | 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
* Start full screen mode on first tap when HW keyborad is connected.Keisuke Kuroyanagi2016-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* Fix runtime crash on KitKat and prior.Yohei Yukawa2016-02-221-2/+8
| | | | | | | | | | | | | | | | | | 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 6c04339c5aadb5118b0e0a8178b3d569956bbad7 Bug: 22564251 Bug: 27302540 Change-Id: Ib7299dd8c3dad4271f8fac453e690c83bda4a954
* Experimental automatic language switching support.Yohei Yukawa2016-01-221-1/+29
| | | | | | | | | | | 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
* Merge remote-tracking branch 'goog/mnc-dr-ryu-dev'David Riley2015-12-211-0/+5
|\
| * Fix AltR+1 -> ESC shortcuts bringing on-screen keyboardDmitry Torokhov2015-11-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Change NavigationBar invisible if the input view is not shown.Seigo Nonaka2015-12-081-0/+13
|/ | | | | | | | | | | | | 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
* Define shortcuts for toggling IME layouts.Dan Zivkovic2015-10-151-11/+16
| | | | | | | | | | | 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)
* [LatinIME] Support MNC permissions.Mohammadinamul Sheik2015-07-151-10/+8
| | | | | | | | | | | | | | | | | | | 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
* Look up thresholds during decoder reset.Dan Zivkovic2015-05-041-1/+1
| | | | | | Bug 20701628. Change-Id: I4de89587776a0859aeda5d2ed76ab1eb4f918458
* Resolve some InputLogic todo comments.Dan Zivkovic2015-03-201-3/+1
| | | | Change-Id: Ic3d7d11ad90cc09edf62f48aa5362e71d692f7dd
* Notify the facilitator on IME start/finish.Dan Zivkovic2015-03-201-0/+3
| | | | | | | | Allows the facilitator to flush language models without a recurring task. Bug 19773937. Change-Id: I01a3c10da26f9df38fee05df33387eb082e2ff33
* Pass DictionaryFacilitator to GestureConsumer#onImeSuggestionsProcessed.David Faden2015-03-191-1/+2
| | | | | Bug: 19712589 Change-Id: I81f9bf09b37487450780d85a1e4f752a9ba49370
* Disable message if personalization is disabled.Chieu Nguyen2015-03-181-1/+1
| | | | | Bug: 19087415. Change-Id: I3974f1b676aa4a9bb04ab7f609b6daf1860c64f1
* Revert "Next-word suggestion bit in keyboard settings."Dan Zivkovic2015-03-161-1/+5
| | | | | | | | This reverts commit 1ae16dc3db170802d1b38273f477125a2a969d32. Bug 19596067. Change-Id: Ie7286acbb70b215d7bd08e271bcf14526b68576f
* Add StatsUtils.onSettingsActivity to collect the settings page stats.Mohammadinamul Sheik2015-03-131-4/+4
| | | | | Bug:19214944 Change-Id: I113f47c49d638790d770fe2781afe7cd1565619d
* Remove ALS from LatinIME.Dan Zivkovic2015-03-111-27/+26
| | | | | | This fixes unit tests and brings us closer to a green build. Change-Id: Iffcc392eda4a7671a238b79cc7367320ca648725
* Remove deprecated distractor filtering methods.Dan Zivkovic2015-03-111-9/+1
| | | | Change-Id: I10ccf75d9c00d66b4e85de6c3c019242f2e90b0e
* Delete user history files.Dan Zivkovic2015-03-111-3/+2
| | | | | | Bug 19669016. Change-Id: I8069fe561347851bf3c27423dbd8ba99d38c049e
* Log from LatinIME.Dan Zivkovic2015-03-061-6/+4
| | | | | | | | | When the DEBUG setting is on, log from this critical class. This will make it easier to diagnose issues. Bug 19632709. Change-Id: I5e14b3705f50cd021ad3d64af106ad28dc8b9321
* Next-word suggestion bit in keyboard settings.Dan Zivkovic2015-03-041-5/+1
| | | | | | | | | This feature works in supported languages. We don't need a user setting. Bug 19596067. Change-Id: Icdded772745f9816da47f8a5e3b87b733083b121
* Add DictionaryFacilitator dump().Chieu Nguyen2015-03-031-0/+1
| | | | Change-Id: I8b75aded3fc2b9b33128b6ba5a3e8d943dfca352
* Move dictionary facilitator handling.Chieu Nguyen2015-03-021-3/+2
| | | | Change-Id: Ibd42982996a36ac52b4c916035491b835f8d14f9
* Ignore the Emoji key when not connected.Dan Zivkovic2015-02-261-1/+1
| | | | | | | | | When the LatinIME does not have an active InputConnection, it will not try to toggle the Emoji keyboard. Bug 19513415. Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
* Merge "Share decoders among latinime components."Jatin Matani2015-02-261-1/+2
|\
| * Share decoders among latinime components.Jatin Matani2015-02-251-1/+2
| | | | | | | | Change-Id: I6c8d3cf10e05e606308cea42d1e935a415ada9f8
* | Stop waking up to decay dynamic dictionaries.Dan Zivkovic2015-02-251-3/+0
| | | | | | | | | | | | Bug 19516048. Change-Id: Ibc27a792b4fa80fa8c6af4721c47a617526e9584
* | Use Keyboard in several interfaces.Mario Tanev2015-02-251-3/+2
|/ | | | | | | | | Simplify interfaces by passing Keyboard instead of KeyboardLayout and ProximityInfo directly. Also require the Keyboard passed be non-null and change the SpellChecker to bail out if there is no keyboard for the locale. Change-Id: I960f15ff60171f55d3e0a96fd6469b7dc3a045e2
* Merge "Add StatsUtils method for handling subtype change."Chieu Nguyen2015-02-231-0/+2
|\
| * Add StatsUtils method for handling subtype change.Chieu Nguyen2015-02-181-0/+2
| | | | | | | | Change-Id: I0f334ab5e6f5aa41ad780641276dc3d2aa232f48
* | Rename in preparation of caching an instance.Dan Zivkovic2015-02-191-1/+1
|/ | | | Change-Id: I112c957e20d4573daaa71aa218b575037585385c
* Remove shortcut support from LatinIME.Dan Zivkovic2015-02-111-5/+0
| | | | | | Note this change does not affect the native decoder interface. Change-Id: I73b7dc008a5acaf75a31a36a2d332b5afabd82d0
* Remove distracter filter from client.Dan Zivkovic2015-02-091-3/+1
| | | | | | Bug 19296201. Change-Id: Ic834e5956347cd86a96bd14024c42ad8ee258659
* Cleanup in preparation of distracter change.Dan Zivkovic2015-02-061-4/+4
| | | | | | Bug 19296201. Change-Id: If016da2b7f4b3ecb9afd6d7aed9d19fbd4938758
* AOSP changes to use KeyboardLayout to support the new DictionaryFacilitatorMohammadinamul Sheik2015-02-041-1/+2
| | | | Change-Id: Ie0c9ce805d9ad009fc9bbaac37b715aff90cd844
* LatinIME portion of "green plus" feature.Dan Zivkovic2015-02-031-107/+0
| | | | | | | | | Removes the feature that adds strings to the user dictionary, aka the "green highlight with a plus sign". Bug 19237189. Change-Id: I2387129a3add2d69d625f2ff16ed8cab3f10a735
* Nuke AmanattoJatin Matani2015-02-021-22/+2
| | | | Change-Id: Ieff2cd37f869dca69abf53ac32a576c2e45cc1e3
* Change DictionaryFacilitator.java to an interface, create itsMario Tanev2015-01-271-2/+2
| | | | | | | | implementation DictionaryFacilitatorImpl.java and add a java-overridable factory DictionaryFacilitatorProvider.java used to create a DictionaryFacilitator. Change-Id: Id4a58ae31feaa4d12a048a772c8d76ff82fdee45
* [3]Ping dictionary stats:Pass DictionaryFacilitatorJatin Matani2014-12-181-1/+2
| | | | | | | | Pass dictionaryFacilitator to StatsUtilsManager from LatinIME Bug:16553957 Change-Id: I912a0b447e5684909ff67e3653a4bd8649cd03c5
* Merge "[2]Pass context to StatsUtilsManager for alarms."Jatin Matani2014-12-181-2/+2
|\
| * [2]Pass context to StatsUtilsManager for alarms.Jatin Matani2014-12-171-2/+2
| | | | | | | | | | | | | | | | Change corresponding to ag/605384 Bug:16553957 Change-Id: I77024957b9497c45296bbbb24ca972b26348a8c3
* | Merge "Remove SubtypeSwitcher"Tadashi G. Takaoka2014-12-171-9/+0
|\ \ | |/ |/|
| * Remove SubtypeSwitcherTadashi G. Takaoka2014-12-121-9/+0
| | | | | | | | Change-Id: Ic4def69a9f742f13c98bc3e518c406658b52797d
* | Passing account info to dictionaryFacilitatorJatin Matani2014-12-161-9/+19
|/ | | | | | | | | | | | | | | | | | | | Attempt to use dictionary facilitor without invoking preference manager. Instead use account from settings only when things are being reset/changed. Discussion forked from ag/591663 Overall, the idea here is to maintain an account information inside dictionary groups. Reset the dictionary groups if account changes (the way we do for locale). Since only user history dictionary is currently affected, the check to reset user history dictionary also includes the check to verify the account. For other things remain the same. SettingsValues holds the current account (and is updated if prefs change due to change in account settings). The updated settings are then propagated to dictionary facilitator via LatinIME#loadSettings. Bug:18104749,18469539 Change-Id: I553e776e7ea125d0fb7a1fe70a4c7eb0b2277fb8
* Add NetworkConnectivityUtils classTadashi G. Takaoka2014-12-111-13/+13
| | | | Change-Id: I7bd71f1d4ef0fc0fe21ddfd9f3e11463f53ac4e7
* Revert "Add keyboard margin options to place the keyboard dynamically."Tadashi G. Takaoka2014-12-091-6/+2
| | | | | | | | This reverts commit 8584db1461d286f8eb966c40eb0bc76e8c9df76a. Bug: 18675223 Bug: 18675476 Change-Id: I4e25d87ac261c44b1943df832115f8cca690103a