summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/InputMethodManagerService.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'android-4.2.2_r1' into mr1.1-stagingRicardo Cerqueira2013-02-151-13/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: core/java/android/os/Trace.java core/java/android/widget/Toast.java core/res/res/values-cs/strings.xml core/res/res/values-el/strings.xml core/res/res/values-iw/strings.xml core/res/res/values/config.xml core/res/res/values/symbols.xml media/java/android/media/AudioService.java packages/SystemUI/res/values-sv/strings.xml packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java policy/src/com/android/internal/policy/impl/keyguard/KeyguardMessageArea.java policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewManager.java policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewMediator.java services/java/com/android/server/NotificationManagerService.java services/java/com/android/server/power/ElectronBeam.java Change-Id: I60b8ddf20a1d7bcf9dc7b1a4ed841aaa4d953294
| * Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"Satoshi Kataoka2013-01-101-9/+0
| | | | | | | | | | | | | | | | This reverts commit 32b812054cce27d1c70b53ba8ac729c7186b105e Bug: 7976890 Change-Id: I75ab60734153719b199cf7281d23f5eb1ad2d1bc
| * Fix a bug where disabled auxilialy IME is unexpectedly re-enabledsatok2012-12-191-0/+9
| | | | | | | | | | | | | | | | Bug: 7872918 This is a serious issue which the disabled system auxilialy IME is unexpectedly re-enabled by re-building internal IMI cache. Change-Id: I0727cc973dfaea9823194021ce94af8665b98373
| * Fix an issue on installing 3rd-party IME by a non-primary usersatok2012-12-041-2/+4
| | | | | | | | | | | | | | | | Bug: 7573552 Currently IMMS doesn't receive install/uninstall messages. Accordingly enabled IMEs' list is not refreshed properly. Change-Id: I25e9798a65f528dd270cd6bb1f14b1d887194787
| * Merge "Hide current soft input when a background user gains window focus." ↵Satoshi Kataoka2012-11-261-3/+11
| |\ | | | | | | | | | into jb-mr1.1-dev
| | * Hide current soft input when a background user gains window focus.Satoshi Kataoka2012-11-201-3/+11
| | | | | | | | | | | | | | | Bug: 7507226 Change-Id: If58f68469e21eaaba8536c4b54b3aa8cf8c08eb5
| * | Fix IME down caret in keyguard nav bar bug.John Spurlock2012-11-201-4/+14
| |/ | | | | | | | | | | | | | | | | The input method manager service now keeps track of whether or not the ime was shown on the keyguard. This prevents activities behind the keyguard from incorrectly showing the down-caret in the keyguard. Bug:7498792 Change-Id: I0de01ec29cb544e902305b0f9d9fb94a73835e7b
| * Fix an inconsistent state with IMMS and Settings when the hard keyboard is ↵Satoshi Kataoka2012-11-161-4/+2
| | | | | | | | | | | | | | connected Bug: 7540140 Change-Id: Iaac951ff457c35751b442e84ac07f1f86be93494
* | Port "Add resource to disable the CM Phone IME selector method"Aaron Echols2012-11-281-2/+8
| | | | | | | | Change-Id: I6fb482e227bf1de4799923cc952d4e3c8ad0d037
* | Squashed commit of the theme engine support.Ricardo Cerqueira2012-11-241-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated 4.2 support for the old T-Mobile theme engine, as usual needs the provider and switcher apps installed as well. I'm finally dropping the 400+ commit history on this, since everybody else keeps picking it up from CM as a single patch anyway... But for the record, nothing of this would be possible without Josh, Ed, and the rest of the TMo guys who wrote and maintained it until 2.2: amit chabra <amit.chabra@t-mobile.com> Amit Kohli <amit.kohli@t-mobile.com> Chris Cogar <chriscogar@t-mobile.com> Dirk Sigurdson <dirk.sigurdson@t-mobile.com> Ed Carrigan <edward.carrigan@t-mobile.com> Gaurav Sharma <gaurav.sharma3@t-mobile.com> Hui Feng <hui.feng@t-mobile.com> John Ritz <john.ritz1@t-mobile.com> Josh Guilfoyle <josh.guilfoyle@t-mobile.com> Mark Roberts <mark.roberts48@t-mobile.com> Pankaj Kumar <Pankaj.kumar6@t-mobile.com> Samuel Cheung <samuel.cheung@t-mobile.com> Sergey Ten <sergey.ten6@t-mobile.com> Change-Id: I7148d51be48f28a2dc4bdf9ec9018f04b268ffc4
* | Framework: Port CM9 features to CM10DvTonder2012-11-211-2/+9
|/ | | | | | | | | | | | | | | This commit includes: - Power menu Reboot - Power menu screenshot - Profiles - Lock screen Calendar - Lock screen Weather - Notification light customization - Battery light customization - IME Selector notification toggle - and a few more things to support Settings Change-Id: Ibd63116df90b06f6ce6adb8a0343059bbb999bfb
* Fix issue #7457380: IME leaves a mark after user switchingDianne Hackborn2012-11-021-7/+7
| | | | | | | | | | | | | | | | | | The gnarly stuff where we keep track of the old input method window as if it was still there was sitting around leaving things in a stuck state. Now we clear this out at key points in the window manager (freezing screen, user change), and the input method manager service is less aggressive about asking the window manager to do it. Also fixed a problem that was causing flickers during some wallpaper transitions -- when we are animating two things on top of the wallpaper and one of them disappears, we need to make sure the wallpaper target points to whatever the current target should be (if any), not left pointing to the old target that has gone away. Change-Id: I2fb9600f569a5bd5e3528aaf24cde9340af56cb0
* Fix a crash in InputMethodManagerService due to permission failure.Amith Yamasani2012-10-241-1/+6
| | | | | | | Clear calling identity before sending broadcast to the current user. Bug: 7403829 Change-Id: If2b27d07d917b892470163e1303883b29a86c0e4
* System server should always send broadcasts to a specific or all usersAmith Yamasani2012-10-221-2/+2
| | | | | | | | | | | | | Bug: 7368245 Log a warning if the system process calls unqualified sendBroadcast() and other calls. As a result of the logging above, found a few more method calls such as bindService() that would benefit from being more explicit to avoid future confusion and reduce the log warnings. Change-Id: I17f15c8be9adf7becd456d6abbab606f19befdbf
* Fix an issue on showInputMethodPickerFromClientSatoshi Kataoka2012-10-091-1/+3
| | | | | Bug: 7302748 Change-Id: Iff4345d26b3d6e4bfedf893bbd6a864c771df01d
* Fix the issue on the input method switch pickerSatoshi Kataoka2012-10-051-2/+2
| | | | | Bug: 7292731 Change-Id: I8cb51dd01e4c467fff511d4ecee79426f9b2ed80
* Close the current input method when attached view doesn't have a handlerSatoshi Kataoka2012-10-031-1/+1
| | | | | Bug: 7187452 Change-Id: Iba4f7ac89f5806e871aaeb97f366935b83b95a5a
* Always accept API calls from processes which have INTERACT_ACROSS_USERS_FULL ↵Satoshi Kataoka2012-10-011-11/+29
| | | | | | | in InputMethodManagerService Bug: 6931482 Change-Id: I1620413578b9e8da6564664219f65bdc00d5ecfd
* Fix ime swtich issueSatoshi Kataoka2012-09-281-0/+3
| | | | | Bug: 7250097 Change-Id: Ibe85aaf7d60e7c3a27363eece528d19a0c8ddca2
* Treat additional inputmethod subtypes per userSatoshi Kataoka2012-09-271-11/+17
| | | | | Bug: 6931482 Change-Id: I4f7c7e69a80534da3a48ac508ff7a9e7511f33ce
* Enable multi-user function for IMFSatoshi Kataoka2012-09-261-135/+402
| | | | | | Bug: 6931482 Change-Id: Ib23849d352db33f0747aa9d5a178f00ac726c13b
* Add subtypeId for keeping enabled "InputMethodSubtype"s even if subtype ↵Satoshi Kataoka2012-09-041-11/+15
| | | | | | | parameters are changed Bug: 6752230 Change-Id: I3a2d512e395fe8645edf6ab82108948b927c629a
* Window position not reported if the window is not moved.Svetoslav Ganov2012-08-061-10/+20
| | | | | | | | | | | 1.If a window is shown but never moved the window window is never notified for its current location. Therefore, accessibility nodes do not contain correct bounds in screen coordinates. bug:6926295 Change-Id: I7df18b095d33ecafffced75aba9e4f4693b0c393
* Make AtomicFile a public API. It's about time!Dianne Hackborn2012-07-311-1/+1
| | | | Change-Id: Ib34e294747405b7ab709cb0bbb2d9a0cc80ce86a
* Workaround: Never reset the default IME if the system is not readysatok2012-06-211-1/+10
| | | | | Bug: 6685037 Change-Id: Ifb311f85154beadd4787ec73669bedfdf1f5172d
* Show even fewer notifications in Setup.Daniel Sandler2012-06-141-0/+4
| | | | | | | | | | | | | | | | | Restricting to pkg="android" didn't filter out things like open wifi networks, etc. So now we have a whitelist: notifications must be sent the "android" pseudo-package, *and* they must have one of these "kind" tags: - android.system.imeswitcher (IME switcher, needed by SUW) - android.system.update (OTAs) Note that OTAs currently use a fullScreenIntent, so they bypass this logic anyway, but for consistency's sake we now allow OTA icons in the status bar explicitly. Bug: 6645469 Change-Id: Ib2e2f22d7a0817a1acaf8137ed4f3c7d3ddf8af5
* Fix issue #5680541: onStartInputView called upon focus lossDianne Hackborn2012-05-221-21/+18
| | | | | | | | | | | We should tell the app that it is inactive, before unbinding. Otherwise when it is told to unbind it will see that it is still supposed to be active and immediately re-bind. Also change the calls to set the active state to go through the message dispatch path, to ensure ordering is correct. Change-Id: I246241eac8f7521f42c4c1eee7f46097337e7303
* Fix issue #6499411: Characters not displayed (but suggestion bar is working)Dianne Hackborn2012-05-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that when dismissing the lock screen, the window manager would briefly turn off force hiding when it started animating the transition and then turn it back on until the transition was done. This would cause it to briefly switch focus to the app behind and then take focus off it. The app would find out it got focus, and re-start input on itself, asking the input method service to do so. At this point the input method service would ask the window manager if the caller really had focus, and it may or may not be told no depending on the timing. If it is told no, then it doesn't allow the focus switch to happen at that point, ignoring the new input connection, and ultimately when focus does really switch the IME is left talking with an old dead input connection. I added some code to the input connection to make sure when we are no longer using one that we mark it inactive and can't use it. This bug was especially difficult to track down because it would only visibly break when a GC happened during this time, causing the weak reference on the input connection to become null. With this change it will now always break (though in the scenario here only if you hit the race condition correctly). Change-Id: I81a6164dc140c548da1a9736e42cd253e8238a80
* Fix the issue on the inconsistent condition of InputMethodSubtypesatok2012-05-211-21/+30
| | | | | Bug: 6510104 Change-Id: I67790e5f59d0d05340b74eca1029c60f381061b8
* Consolidate the initialization of InputMethodManagerService not to use ↵satok2012-05-181-16/+43
| | | | | | | | resource values until system ready Bug: 6477193 InputMethodManagerService have used the resource value of "isDefault" in the constructor. We should wait to use that value until system ready. Change-Id: I682fc109c303d8c7fd33d494c59e8e28d6dc6fa5
* Fix the issue that the insets linger after closing the voice inputsatok2012-05-101-0/+4
| | | | | Bug: 6456954 Change-Id: Idf7700271cf882dfbf35c9d16f0f173a791221bc
* Fix sort order of the input method switcher in IMMSsatok2012-05-091-4/+56
| | | | | Bug: 6333988 Change-Id: Ief392c9157f2a37600e517ec9caf586ffb9d5f0d
* Do not return stale subtypessatok2012-05-081-29/+45
| | | | | Bug: 6294329 Change-Id: I3f0713f94c291298dfd447d1b65bd7c6d2858492
* Reset the default system ime to the proper one when the system locale is changedsatok2012-05-031-23/+101
| | | | | | | | | | The framework automatically enables only valid system default IMEs and IMEs that have at least one English subtype at the initial boot and system locale changes. Settings: I9af4065e4b9f933 Bug: 6422666 Bug: 6422390 Change-Id: I0b86ddba692144521f30e0b9086ddd67bfb9a793
* Move handling of package changes to a background thread.Dianne Hackborn2012-04-191-1/+1
| | | | | | Helps get rid of some jank when installing applications. Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
* Support loading keyboard layout overlays from resources.Jeff Brown2012-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | Added the concept of a keyboard layout overlay, which is a key character map file that has "type OVERLAY". Added support for loading keyboard layout overlays from resources dynamically. The layouts are reloaded whenever they are changed in the Settings application or an application is installed. This is somewhat more aggressive than necessary so we might want to optimize it later. Before system-ready, the input system uses just the generic keyboard layouts that are included on the device system image. After system-ready, it considers the user's selected keyboard layout overlay and attempts to load it as necessary. We need to wait until system-ready before doing this because we need to be in a state where it is safe to start applications or access their resources. Bug: 6110399 Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
* Show physical keyboard control button on the input method switch dialogsatok2012-04-111-3/+69
| | | | | Bug: 5240095 Change-Id: Ica768083f95c33dc1e494a28ba7d8b6eb989b0ef
* Hide ongoing notification icon when the screen is locked.satok2012-04-021-3/+7
| | | | | Bug: 5858903 Change-Id: Ibee9123f4a520e77f4baf8bdd3d75364ab451100
* am 911b505f: am dc5fa185: am 133dc2d7: Merge "Fix issue #6048808: sometimes ↵Dianne Hackborn2012-02-241-33/+78
|\ | | | | | | | | | | | | auto-correct is inactive" into ics-mr1 * commit '911b505f11c719906985f169a4f45930bdec8695': Fix issue #6048808: sometimes auto-correct is inactive
| * Fix issue #6048808: sometimes auto-correct is inactiveDianne Hackborn2012-02-241-33/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My previous change to speed up the time the IME is dismissed was fundamentally flawed. That change basically switched the order the application called the input method manager service from doing startInput() and then windowGainedFocus(), to first windowGainedFocus() and then startInput(). The problem is that the service relies on startInput() being done first, since this is the mechanism to set up the new input focus, and windowGainedFocus() is just updating the IME visibility state after that is done. However, by doing the startInput() first, that means in the case where we are going to hide the IME we must first wait for the IME to re-initialize editing on whatever input has focus in the new window. To address this, the change here tries to find a half-way point between the two. We now do startInput() after windowGainedFocus() only when this will result in the window being hidden. It is not as easy as that, though, because these are calls on to the system service from the application. So being able to do that meant a fair amount of re-arranging of this part of the protocol with the service. Now windowGainedFocus() is called with all of the information also needed for startInput(), and takes care of performing both operations. The client-side code is correspondingly rearranged so that the guts of it where startInput() is called can instead call the windowGainedFocus() entry if appropriate. So... in theory this is safer than the previous change, since it should not be impacting the behavior as much. In practice, however, we are touching and re-arranging a lot more code, and "should" is not a promise. Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
* | Add an api to switch to the next IME and subtypesatok2012-02-101-56/+130
| | | | | | | | | | | | Bug: 5975302 Change-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c
* | Enable subtypes when the implicitly enabled subtype is not ascii capable ↵satok2012-01-111-6/+25
|/ | | | | | | | keyboard Bug: 5806103 Change-Id: I1a83b227498073c47567f73566043c273809adc9
* Hide/show ime switch icon properlysatok2011-11-181-10/+17
| | | | | Bug: 5481999 Change-Id: I4b3dde7285a9ac49da8d5d1133fddd0807b03f4d
* Various performance and other work.Dianne Hackborn2011-10-311-2/+27
| | | | | | | | | | | | | | | | | | - IME service now switches between visible and perceptible depending on whether it is being showm, allowing us to more aggressively free its memory when not shown. - The activity display time is no longer delayed by the activity transition animation. - New -R (repeat) option for launching activities with the am command. - Improved some documentation on Loader to be clear about some methods that apps should not normally call. - FrameworkPerf test now allows you to select individual tests to run. Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
* Hide ime switcher when the screen is turned off.satok2011-10-281-9/+11
| | | | | Bug: 5481999 Change-Id: Ifc870f1350db2a67405c05f6de447a69dc050408
* Fix a warning from the binder, step 3.Jean Chalard2011-10-201-6/+8
| | | | | | | | | | | | This patch fixes the following warning: W/Binder: The following Binder class should be static or leaks might occur: com.android.server .InputMethodManagerService.MethodCallback ...in hope of removing a possible memory leaks. Bugs: 5481376, 5461066 Change-Id: I1764090a7059d9bf9e5d90683d7ac190c83415de
* Fix the behavior for choosing new default IME not to choose an auxiliary IME ↵satok2011-10-101-5/+12
| | | | | | | | as the default IME Bug: 5420127 Change-Id: I3649de36806fc24e1c85c2b15db5e37acad1f120
* Prioritize the order of subtypes in method.xml for implicitly enabled subtypessatok2011-10-031-5/+7
| | | | | Bug: 5401115 Change-Id: I6d9229cd266e27b68a6b9a2892aabfba4fe4de00
* Fix a logic to recconect IME in InputMethodManagerServicesatok2011-09-301-1/+2
| | | | | | Bug: 5380216 Change-Id: I7af67265eebbd28f002210d7ac90dd18f1858f66
* Fix the visiblity of the ime switcher icon.satok2011-09-121-1/+3
| | | | | Bug: 5288866 Change-Id: I99b4aee36c337b2fab1116e9245ddecd826c840c