223 Commits

Author SHA1 Message Date
Satoshi Kataoka
b282726d86 Consolidate InputMethodUtils
Change-Id: Ib5a5f3af8ea9eaaa81697d13c20abe28121e7373
2013-07-09 23:20:06 +09:00
Kenny Root
2b21dd0bbe resolved conflicts for merge of ee0a5faf to master
Change-Id: Iba0ad9e665ad98379761995cb7c32415bcf50e48
2013-05-03 14:50:44 -07:00
Satoshi Kataoka
ee0a5fafa7 am 245a3e1c: Merge "Change the initial disabled state of disabled IMEs" into jb-mr2-dev
* commit '245a3e1c1ed265a13d07000ef6e786ec321b85c4':
  Change the initial disabled state of disabled IMEs
2013-05-03 11:19:01 -07:00
Satoshi Kataoka
ed1cdb24ba Change the initial disabled state of disabled IMEs
Bug: 8365223

This change is a supplement for I77f01c70610d82ce9070d4a
The disabled state of disabled pre-installed imes should be changed
to ENABLED_STATE_DISABLED_UNTIL_USED on boot or user switch.

Change-Id: If8ff1b2b95c36d33148def2ab87bd006aa520cc0
2013-05-02 17:53:17 +09:00
Satoshi Kataoka
a1d7a123c4 am f09993ca: am 1a546dca: Merge "Fixed the problem ime invisible status despite being the icon that appears in the statusbar."
* commit 'f09993ca1d01823f9c60c0be45a8169e09dd27d7':
  Fixed the problem ime invisible status despite being the icon that appears in the statusbar.
2013-04-18 15:32:50 -07:00
Satoshi Kataoka
f09993ca1d am 1a546dca: Merge "Fixed the problem ime invisible status despite being the icon that appears in the statusbar."
* commit '1a546dca77b47b86c87ddf4de7a76662ef8bd48b':
  Fixed the problem ime invisible status despite being the icon that appears in the statusbar.
2013-04-18 15:28:18 -07:00
Satoshi Kataoka
5faf1985af am 3e3a7b3b: am f024e7ac: Merge "Fix possible NPE" into jb-mr2-dev
* commit '3e3a7b3b1ed641dfa7c321f48bd228c59dc3c180':
  Fix possible NPE
2013-04-17 20:40:25 -07:00
Satoshi Kataoka
7987a3172b Fix possible NPE
Bug: 8517083
Change-Id: Iea6bdcb0e39ee951b7f90f41cd3350bd1c7c5f71
2013-04-17 18:59:33 +09:00
Jeff Brown
ae9d6aa6d9 am 4c2a7b23: am 4a706bc6: Merge "Correctly manage the lifecycle of IME InputChannels." into jb-mr2-dev
* commit '4c2a7b23f5f012cf00357035f840a32d4da20eb5':
  Correctly manage the lifecycle of IME InputChannels.
2013-04-05 14:09:41 -07:00
Jeff Brown
1951ce86c2 Correctly manage the lifecycle of IME InputChannels.
InputChannels are normally duplicated when sent to a remote process
over Binder but this does not happen if the recipient is running within
the system server process.  This causes problems for KeyGuard because the
InputMethodManagerService may accidentally dispose the channel
that KeyGuard is using.

Fixed the lifecycle of InputChannels that are managed by the IME
framework.  We now return a duplicate of the channel to the application
and then take care to dispose of the duplicate when necessary.
In particular, InputBindResult disposes its InputChannel automatically
when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).

Bug: 8493879
Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
2013-04-04 22:45:12 -07:00
Dianne Hackborn
d734b4f285 am 6b8e7b35: am bf20aa76: Merge "Keep track of who has disabled applications." into jb-mr2-dev
* commit '6b8e7b35ef763d29a30c87a5a95ef941d39a8ee9':
  Keep track of who has disabled applications.
2013-03-27 16:40:49 -07:00
Dianne Hackborn
bf20aa767e Merge "Keep track of who has disabled applications." into jb-mr2-dev 2013-03-27 23:32:36 +00:00
Dianne Hackborn
3fa3c28a35 Keep track of who has disabled applications.
Change-Id: I2640d3dc2200b589e2beb42a43cc93efd090f06e
2013-03-27 12:01:52 -07:00
Jeff Brown
c5ebd80c43 am 901b77c6: am ca3d655d: Merge "Use input transport for communications between app and IME." into jb-mr2-dev
* commit '901b77c63bc707c5785a149975e2113a43e38ad6':
  Use input transport for communications between app and IME.
2013-03-26 19:48:23 -07:00
Jeff Brown
c28867a1d6 Use input transport for communications between app and IME.
The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the
application.

This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder.  This results in fewer thread context switches
and fewer object allocations.

What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.

Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
2013-03-26 15:42:39 -07:00
Dianne Hackborn
ac6331be6f am 8277f248: am b685faa2: Merge "Implement #8323587, #8323342, #8323590: new features." into jb-mr2-dev
* commit '8277f24865e52915b4825517860629c0385f79ed':
  Implement #8323587, #8323342, #8323590: new features.
2013-03-23 01:33:03 +00:00
Dianne Hackborn
119bbc378d Implement #8323587, #8323342, #8323590: new features.
8323587: Add feature for supporting app widgets
8323342: Add feature for replacing the home screen
8323590: Add feature for supporting input methods

The app widget service looks for the app widget feature
and refuses to work if it doesn't exist.  I didn't do
this for the input method service because some devices
will probably want to still make use of that mechanism
without supporting third party input methods.

Change-Id: Ie3b089105e104f4d767cdb03cdbe4fdb1c17382e
2013-03-22 17:27:25 -07:00
Michael Wright
0878312fd9 am 621c35e4: am 765ddb4b: Merge "Separate sessionCreated and finishedEvents callbacks" into jb-mr2-dev
* commit '621c35e4fc83c2864a82da31aac767832ce86df6':
  Separate sessionCreated and finishedEvents callbacks
2013-03-22 03:42:25 +00:00
Michael Wright
52a5352626 Separate sessionCreated and finishedEvents callbacks
Bug: 8276952
Change-Id: If7051086c060fcce5d1e958ebbddec0784c851da
2013-03-21 17:47:40 -07:00
Craig Mautner
d99b26285d am 20a402e0: am 8dfe99ce: Merge "Catch BadTokenException and continue." into jb-mr2-dev
* commit '20a402e0dc8d3052ac317e6c13afee22a9502c35':
  Catch BadTokenException and continue.
2013-03-15 19:04:20 +00:00
Craig Mautner
e4bbb1cc45 Catch BadTokenException and continue.
BadTokenException is a normal consequence of swapping IMEs while there
is a DO_SHOW_SOFT_INPUT message in the IIMethodWrapper queue. This
race condition cannot be avoided without an unacceptable lock down of
InputMethodManagerService.

Fixes bug 8387663.
Fixes bug 8263462.

Change-Id: I2c21573cf972145ab08e66604cdb9344139a3f31
2013-03-15 11:38:44 -07:00
Craig Mautner
0317f6db1a am b7ca6804: am 67bea2ef: Merge "Remove WindowManager messages from remote queue." into jb-mr2-dev
* commit 'b7ca680485f90c2507d969d7d64e5bec3acc3c33':
  Remove WindowManager messages from remote queue.
2013-03-14 16:55:12 +00:00
Craig Mautner
ca0ac718cb Remove WindowManager messages from remote queue.
When a new IME is attached it is not enough to remove the
WindowManager messages from the local queue, but the ones in
the previous IME queue must also be removed.

Fixes bug 8263462.

Change-Id: I9e916c6052a83dc7691bcba0b6ab8328b9b7cc36
2013-03-14 09:43:02 -07:00
Craig Mautner
a59d0c81d5 am 35d45010: am dc50ba18: Merge "Put debug back in for b/b8263462." into jb-mr2-dev
* commit '35d450107716d5ea950a19ffe09065ad4cb8b1fc':
  Put debug back in for b/b8263462.
2013-03-14 02:34:00 +00:00
Craig Mautner
6efb4c746f Put debug back in for b/b8263462.
Previous CL did not fix.

Change-Id: Ief9e8f519480fa41248d53e5b0187c9657f00b79
2013-03-13 11:12:26 -07:00
Craig Mautner
274323ce8f Remove old show/hide messages on new ime (DO NOT MERGE)
The previous show/hide messages in the queue were still trying
to be honored even after a new ime was attached.

Fixes bug 8263462.

Change-Id: Iee60dbd1d58542f73aedeac5ccb54cddeb5d5dfe
2013-03-12 14:44:59 -07:00
Craig Mautner
b11b1f2679 Remove old show/hide messages on new ime
The previous show/hide messages in the queue were still trying
to be honored even after a new ime was attached.

Fixes bug 8263462.

Change-Id: Ie85369346cd3f843389a8e7837f5d97b56885309
2013-03-12 11:25:54 -07:00
Craig Mautner
68811a4521 Add debug for b/8263462.
Look for race condition in soft input method attach.

For bug 8263462.

Change-Id: Id0609a743d57ab685c036372100ddd33819bff03
2013-03-11 12:39:20 -07:00
jungheang.lee
217fd2903d Fixed the problem ime invisible status despite being the icon that appears in the statusbar.
[Reproduce the Path]
Precondition : Set "Auto-rotate screen" option to ENABLE

Calendar App lunch -> Rotate device to "Landscape" -> Touch "+" button(Add new Schedule)
-> Check the ime icons of the Status bar

Ime invisible status despite being the icon that appears in the statusbar.
Displays an icon in the status bar when the ime was actually visible state is modified to check.

Change-Id: If103ab909c5bfa6391eb51a696fb8b8f0b18808c
2013-02-28 16:08:26 +09:00
Satoshi Kataoka
7c4a2a1223 Add a comment for secondary user handling in IMMS
This is a follow up change for I438daf996ba48cdb34f0a6

Bug: 8205725

Change-Id: Iae87580b7d56ed8badf548ac1830ddb12a051148
2013-02-25 16:11:36 +09:00
Satoshi Kataoka
7f7535fd25 Fix an issue where voice input is not enabled by default for the secondary user
Bug: 8205725
Change-Id: I438daf996ba48cdb34f0a6158a0cbb510aae931b
2013-02-18 14:08:07 +09:00
Satoshi Kataoka
f1367b7e90 Do not turn on imes unexpectedly with unit tests
Bug: 7872918

Change-Id: Ie1d74c9fac27de140e7aa85f2eaefcb89aa06ea7
2013-01-28 19:25:55 +09:00
Dianne Hackborn
fd7adedebf Add new disabled state for "optional" built-in apps.
The disabled state allows you to make an app disabled
except for whatever parts of the system still want to
provide access to them and automatically enable them
if the user want to use it.

Currently the input method manager service is the only
part of the system that supports this, so you can put
an IME in this state and it will generally look disabled
but still be available in the IME list and once selected
switched to the enabled state.

Change-Id: I77f01c70610d82ce9070d4aabbadec8ae2cff2a3
2013-01-22 17:10:23 -08:00
Satoshi Kataoka
2d43bf6ba5 Merge "Ensure that the input method dialog is dismissed when changing the hardware keyboard state." 2013-01-18 07:03:32 +00:00
Satoshi Kataoka
04dd24d4ba Ensure that the input method dialog is dismissed when changing the hardware keyboard state.
Change-Id: I51882ecd2b1a12116f43afff7c23454164a6272b
2013-01-18 13:44:57 +09:00
Amith Yamasani
d4fe37bee7 Merge "Rename bindService to bindServiceAsUser to follow convention." 2013-01-16 23:26:30 +00:00
Amith Yamasani
27b89e6658 Rename bindService to bindServiceAsUser to follow convention.
This is for the multi-user version of bindService, not the original.

Change-Id: Ib2de35941196accf387b1a276a77e6f9af805ec0
2013-01-16 12:30:11 -08:00
Satoshi Kataoka
8e303cc5dd Refactor utilities for InputMethodManagerSerivce that we want to share with the Settings application
Bug: 7872918

Change-Id: I0bc9954f163a3ec38d08b9ba842a8a31176eb6a6
2013-01-15 12:52:47 +09:00
Satoshi Kataoka
9062fd8d55 am 50fc82fd: am 30b074fc: am 2495d08a: am 5327322a: Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev
* commit '50fc82fdf025bc1fee8f0eb50fa88e4591c8daae':
  Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
2013-01-11 10:54:31 -08:00
Satoshi Kataoka
30b074fcbf am 2495d08a: am 5327322a: Merge "Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"" into jb-mr1.1-dev
* commit '2495d08a5c06556deb7c3993add337037b8b492e':
  Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
2013-01-10 18:17:35 -08:00
Satoshi Kataoka
9d08143fa7 Revert "Fix a bug where disabled auxilialy IME is unexpectedly re-enabled"
This reverts commit 32b812054cce27d1c70b53ba8ac729c7186b105e

Bug: 7976890

Change-Id: I75ab60734153719b199cf7281d23f5eb1ad2d1bc
2013-01-10 17:42:56 +09:00
satok
52ed1fdf10 am 5ce02267: am 7ad7b2c4: am 32b81205: Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
* commit '5ce0226708ec75b8636d062ae89aeb410c06659c':
  Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
2012-12-19 10:27:42 -08:00
satok
7ad7b2c437 am 32b81205: Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
* commit '32b812054cce27d1c70b53ba8ac729c7186b105e':
  Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
2012-12-19 10:23:04 -08:00
satok
32b812054c Fix a bug where disabled auxilialy IME is unexpectedly re-enabled
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
2012-12-19 21:06:57 +09:00
Mita Yun
d44280e288 resolved conflicts for merge of ebcbfb3f to master
Change-Id: I0658dd4a1418fbad91d9663e5b52418a979dc683
2012-12-10 16:50:22 -08:00
Mita Yun
ed218c706d Use asynchronous messages for input method events.
Improves the throughput of IME event handling by ensuring that
input events do not get serialized behind UI traversal and
drawing messages such as when the UI is animating.

Added support for creating an asynchronous Handler as part of a
HandlerCaller.  It turns out we should be using an asynchronous
Handler not only in IME dispatch but also in accessibility and
wallpaper events where HandlerCaller is used.  So fixed those
services to also use an asynchronous Handler.

Change-Id: I0b19140c9d5ca6ee300c1a150c48312fd55ed8eb
2012-12-06 18:11:32 -08:00
satok
fb21aa84a8 am 8ec9f8f0: am dc5b21a5: am 487f8e93: Merge "Fix an issue on installing 3rd-party IME by a non-primary user" into jb-mr1.1-dev
* commit '8ec9f8f074ea35cad6e6a75a87e4bde947f12ea1':
  Fix an issue on installing 3rd-party IME by a non-primary user
2012-12-05 12:28:17 -08:00
satok
81f8b7c667 Fix an issue on installing 3rd-party IME by a non-primary user
Bug: 7573552

Currently IMMS doesn't receive install/uninstall messages. Accordingly enabled IMEs' list is not refreshed properly.

Change-Id: I25e9798a65f528dd270cd6bb1f14b1d887194787
2012-12-04 21:16:59 +09:00
Satoshi Kataoka
48d3111ef1 am c86ae7cf: am 1c37b800: am 1af08411: Merge "Hide current soft input when a background user gains window focus." into jb-mr1.1-dev
* commit 'c86ae7cf318f6c9d8cf581447e8897fbc1245ef3':
  Hide current soft input when a background user gains window focus.
2012-11-27 17:34:02 -08:00
Satoshi Kataoka
1af0841137 Merge "Hide current soft input when a background user gains window focus." into jb-mr1.1-dev 2012-11-26 19:39:20 -08:00