Commit Graph

30960 Commits (e8365b4136faf38f0540761a6709318104701691)

Author SHA1 Message Date
Jean Chalard 3b4c1d3056 Change a heuristic and add a log.
The heuristic in RichInputConnection makes little sense
when textLength > mExpectedSelStart but we have
more than 1024 characters of text. If there are that many,
it's about 100% sure that 1024 is not the correct cursor
position. With no good guess, we'll just continue trusting
the app, even though we know it's lying : at least it will
make the problem visible to the app author.

Also, there have been a lot of confusion about initialSelStart
and initialSelEnd. The keyboard should log them so that
it helps us and editor authors debug more easily these
common problems.

Issue #65170 in AOSP and
Bug: 12772035
Change-Id: I6665a16c9f2832d33ee323f033bb38bcc092a3b4
2014-02-20 23:49:20 +09:00
Jean Chalard 1b3a142cac Merge "Fix a bug where suggestions would not be updated." 2014-02-20 14:46:35 +00:00
Jean Chalard 6f50c95887 Fix a bug where suggestions would not be updated.
Also fix a small cosmetic bug where the suggestion strip
would flash.

Bug: 12951777
Change-Id: I68b7bb9175571de9c718f737eebd9f67ea04a931
2014-02-20 23:32:04 +09:00
Jean Chalard c2c8368c2e am a118d19f: Merge "Don\'t distrust the cursor pos so much as to bug on IPC delay"
* commit 'a118d19f6c2ad1e6f6bfe34b0ce022e961da4f02':
  Don't distrust the cursor pos so much as to bug on IPC delay
2014-02-20 06:27:56 -08:00
Jean Chalard a118d19f6c Merge "Don't distrust the cursor pos so much as to bug on IPC delay" 2014-02-20 14:22:48 +00:00
Jean Chalard 3c84eb8822 Don't distrust the cursor pos so much as to bug on IPC delay
When the cursor is moved by the user, the RichInputConnection
is told about it. However, to work around a framework bug, it
also looks at how many characters are in the buffer before the
cursor, and if that's more than the value it's been passed, it
deduces that's a framework bug and there are at least as many
characters as seen before the cursor, so it puts the expected
cursor position there.

When you move the cursor, TextView calls onUpdateSelection,
and when you move it fast, you'll get rapid-fire calls to
onUpdateSelection. This is fine, the RIC is equipped to
deal with that.

However, these calls take some time to make it to the IME. In
this instance, when the first call gets through and the IME
calls TextView (synchronously) for text before the cursor, the
cursor has already moved in the app, and TextView returns more
characters than the cursor position was declared to be in this
instance, so the RIC sets that as the expected cursor position.
Sure enough, a split second later, the second call to
onUpdateSelection arrives, with the new cursor position set
where the RIC had found it too early. The RIC takes that as an
"expected" cursor move, and the input does not get reset.

Luckily, we have a way out. As far as we know, the framework bug
only manifests itself upon rotation, which means we should only
have to adjust for it in onStartInputView. Doing it in
onUpdateSelection is too zealous (and probably too distrustful of
the app to send the correct cursor positions).

So we should just take care of the rotation case (by calling
tryFixLyingCursorPosition in onStartInputView) and remove the
compensating code in resetCachesUponCursorMoves.

Bug: 12982502
Change-Id: Ic3c1408a1ec45deaea63b01d98376a79ae567d77
2014-02-20 23:13:14 +09:00
Keisuke Kuroyanagi 52b067e5d4 am e03e4257: Merge "Add test only methods to test personalized dicts."
* commit 'e03e4257f1dc727db383bd56097eb60eeae7ceb8':
  Add test only methods to test personalized dicts.
2014-02-20 05:29:26 -08:00
Keisuke Kuroyanagi e03e4257f1 Merge "Add test only methods to test personalized dicts." 2014-02-20 13:25:59 +00:00
Keisuke Kuroyanagi d36328cecf Add test only methods to test personalized dicts.
Bug: 11122480
Change-Id: I79a4a73ff09a2d34d4ca094d705e901fb4bc855c
2014-02-20 22:20:43 +09:00
Keisuke Kuroyanagi 4ebf561932 am 21f94829: Fix: UserHistoryDictionaryTests.testDecaying().
* commit '21f94829994d5a5c2773605fec6b7eeef920c646':
  Fix: UserHistoryDictionaryTests.testDecaying().
2014-02-20 04:36:23 -08:00
Keisuke Kuroyanagi 21f9482999 Fix: UserHistoryDictionaryTests.testDecaying().
Bug: 13106697
Change-Id: If81f77c3cefdefae94cb9145aa9f700494f8237a
2014-02-20 21:23:57 +09:00
Keisuke Kuroyanagi 0917b6fd8f am a7ee108f: Merge "Record reading error during traversing dictionaries."
* commit 'a7ee108fc549a3b0cd939e875ff3fc3e9dff3973':
  Record reading error during traversing dictionaries.
2014-02-20 02:22:18 -08:00
Keisuke Kuroyanagi a7ee108fc5 Merge "Record reading error during traversing dictionaries." 2014-02-20 10:20:22 +00:00
Keisuke Kuroyanagi cfd8189856 am 485c1ec6: Merge "Add final and volatile for members of InputLogic."
* commit '485c1ec685e6822bf244ef68ba80c1cbda895dc4':
  Add final and volatile for members of InputLogic.
2014-02-20 02:14:43 -08:00
Keisuke Kuroyanagi 485c1ec685 Merge "Add final and volatile for members of InputLogic." 2014-02-20 10:12:45 +00:00
Keisuke Kuroyanagi b96012acef Record reading error during traversing dictionaries.
Bug: 12916055
Change-Id: I439f21aa87cfa1f71e0354370a1514af03d68f6c
2014-02-20 19:12:32 +09:00
Keisuke Kuroyanagi 5bc284a01d am afdb6f01: Merge "Add user history dictionary decaying test."
* commit 'afdb6f011ba89cb967fbf3b9e4f4d0411b648361':
  Add user history dictionary decaying test.
2014-02-20 02:07:12 -08:00
Keisuke Kuroyanagi afdb6f011b Merge "Add user history dictionary decaying test." 2014-02-20 10:05:20 +00:00
Keisuke Kuroyanagi b063377e77 Add final and volatile for members of InputLogic.
Bug: 13107471
Change-Id: I47df79bc6f015c212d1b6d2f63b2efc5da24294e
2014-02-20 18:55:19 +09:00
Keisuke Kuroyanagi 7cf00033b8 am a514ea7e: Merge "Check all enabled IME\'s subtypes to enable personalization."
* commit 'a514ea7e1b39defc0a28b1acca00a2886478b0ed':
  Check all enabled IME's subtypes to enable personalization.
2014-02-20 01:38:15 -08:00
Keisuke Kuroyanagi 2af1763dda am d10e2d85: Merge "Throw IOException when dict header cannot be read."
* commit 'd10e2d85afefb420ff88528cdb3f3b2fe676c857':
  Throw IOException when dict header cannot be read.
2014-02-20 01:38:13 -08:00
Keisuke Kuroyanagi 0bc66daae3 Add user history dictionary decaying test.
Bug: 10667710

Change-Id: Ib2be57d8c4cbbb34f64555d84ea6fd571cfdd247
2014-02-20 18:36:46 +09:00
Keisuke Kuroyanagi a514ea7e1b Merge "Check all enabled IME's subtypes to enable personalization." 2014-02-20 09:33:21 +00:00
Keisuke Kuroyanagi d10e2d85af Merge "Throw IOException when dict header cannot be read." 2014-02-20 09:33:08 +00:00
Keisuke Kuroyanagi afd9b62f00 Throw IOException when dict header cannot be read.
Bug: 13106638
Change-Id: Ib48ef0a191a436552c49b6e817dfa13fe1567ae8
2014-02-20 18:11:17 +09:00
Jean Chalard f0ed3799c5 am 475f9f35: Merge "Comments improvements"
* commit '475f9f35b61f9dfe8a15cf274a60e8fd073d9df9':
  Comments improvements
2014-02-20 00:25:26 -08:00
Jean Chalard 475f9f35b6 Merge "Comments improvements" 2014-02-20 08:22:39 +00:00
Tadashi G. Takaoka 4aa83faea0 am 1672ccbb: Change important notice version preference file
* commit '1672ccbbb6167f434842093feaadc2bcd5634eab':
  Change important notice version preference file
2014-02-20 00:11:20 -08:00
Tadashi G. Takaoka 1672ccbbb6 Change important notice version preference file
This CL also reset the notice version to 1.
This CL must be checked in together with Iea8d9ff038.

Change-Id: I838f7b5b295388d64d6aba90f50b06654eba16e5
2014-02-20 16:50:34 +09:00
Tadashi G. Takaoka 63cb2a5853 am 78db739c: Fix build due to Ib4c472756f
* commit '78db739cdbc9a92ec836f4dc97c6b97de8535a33':
  Fix build due to Ib4c472756f
2014-02-19 23:20:29 -08:00
Tadashi G. Takaoka 78db739cdb Fix build due to Ib4c472756f
Change-Id: I27aad91d3f821b5c0d6a3c6405b4a9d03c5bd814
2014-02-20 16:16:57 +09:00
Jean Chalard 88a522cf9b am ad2cf220: Merge "Remove a call to a deprecated method"
* commit 'ad2cf220a9f05d0cee8670ebc9f963daa788cf85':
  Remove a call to a deprecated method
2014-02-19 22:42:05 -08:00
Jean Chalard ad2cf220a9 Merge "Remove a call to a deprecated method" 2014-02-20 06:40:46 +00:00
Tadashi G. Takaoka 93562fc0df am 251ed3b3: Merge "Revert "Turn off personalization default settings""
* commit '251ed3b358693d06f60fb87914f8b3955f077429':
  Revert "Turn off personalization default settings"
2014-02-19 22:28:08 -08:00
Tadashi G. Takaoka 251ed3b358 Merge "Revert "Turn off personalization default settings"" 2014-02-20 06:26:48 +00:00
Tadashi G. Takaoka c2ba73ab41 Revert "Turn off personalization default settings"
This reverts commit 0a4ac795d6.

Bug: 10587358
Change-Id: Ib4c472756fb9a6ebba4a66d34a9652f1b5afc714
2014-02-20 06:06:29 +00:00
Keisuke Kuroyanagi 6b23749dec Check all enabled IME's subtypes to enable personalization.
Bug: 13067743

Change-Id: I6fc68b5151430a5ab51777f4c381e20f5a657924
2014-02-20 15:05:37 +09:00
Jean Chalard c44b7312ad Remove a call to a deprecated method
...that would cause a crash

Bug: 13082186
Change-Id: Ie12575c27dfdd2029bc9d5f0647e444f69770afc
2014-02-20 14:40:38 +09:00
Tadashi G. Takaoka eb1cf55cd9 am f16d63c6: Tweak key popup animation parameters
* commit 'f16d63c644acac34085943adc21d73c91d5f58b9':
  Tweak key popup animation parameters
2014-02-19 21:38:51 -08:00
Tadashi G. Takaoka f16d63c644 Tweak key popup animation parameters
Key popup show up start scale 98%
Key popup dismiss end scale 94%
Key popup show up duration 17ms
Key popup dismiss duration 53ms

Bug: 11518021
Change-Id: Icfde99969163f05cfaed1050ea074545d44db13b
2014-02-20 14:20:44 +09:00
Jean Chalard be8ad77ebb Comments improvements
Typo fixes and clarifications

Change-Id: I0f7e0b6e665232bb995172fff10521c7f17599eb
2014-02-20 13:29:43 +09:00
Baligh Uddin 6ba93ce718 am bb173540: (-s ours) Merge "Import translations. DO NOT MERGE"
* commit 'bb17354041ed4fff635e2f324bd55a3d79a5cfe5':
  Import translations. DO NOT MERGE
2014-02-19 14:20:09 -08:00
Baligh Uddin bb17354041 Merge "Import translations. DO NOT MERGE" 2014-02-19 22:16:21 +00:00
Baligh Uddin d520f3927a Merge "Import translations. DO NOT MERGE" into jb-ub-latinimegoogle 2014-02-19 22:16:00 +00:00
Keisuke Kuroyanagi c1f67233c8 am 34fb9625: Call PersonalizationDictionarySessionRegistrar.init().
* commit '34fb962513ce25ad81149bfc4034b40131ce03fa':
  Call PersonalizationDictionarySessionRegistrar.init().
2014-02-19 06:36:18 -08:00
Keisuke Kuroyanagi 34fb962513 Call PersonalizationDictionarySessionRegistrar.init().
Wrongly removed in I1f50cb137b6054dc9.

Bug: 13067743
Change-Id: I27cd221cb7f6e403c3fc128d65d14dbf628b6f55
2014-02-19 23:27:14 +09:00
Keisuke Kuroyanagi f8c4a401b6 am 4377ae31: Merge "Fix: crash when opening a broken dictionary."
* commit '4377ae31cff5650fad43acc5b2fe63a10b6df038':
  Fix: crash when opening a broken dictionary.
2014-02-19 05:48:45 -08:00
Keisuke Kuroyanagi 4377ae31cf Merge "Fix: crash when opening a broken dictionary." 2014-02-19 13:45:23 +00:00
Keisuke Kuroyanagi 303e767728 Fix: crash when opening a broken dictionary.
Bug: 13085169
Change-Id: Icfb6184dfefc6a336432203c071d9e30ae8bf990
2014-02-19 22:11:09 +09:00
Keisuke Kuroyanagi ae034a1eb9 am d102eb80: Remove personalization dicts for multilingual users.
* commit 'd102eb80da07de6b9541c3e8d767441d84257b8d':
  Remove personalization dicts for multilingual users.
2014-02-19 04:05:54 -08:00