Commit Graph

6529 Commits (36c89e7e00153238de2d3982a5e405c74687329e)

Author SHA1 Message Date
Jean Chalard 0c34ee20a8 [QRP5] Fix boldness for predictions, and small refactoring
This is more correct. When predictions, the typed word should
always be null unless explicitly passed. The text color should be
that of a valid typed word only if it's actually the typed word.

Bug: 13170509
Change-Id: I769ae100e112c37c6f02064fe9ef2f81372ca9e5
2014-02-25 19:44:57 +09:00
Jean Chalard 783f193239 [QRP4] Simplification & small correctness fix.
This fixes the color of the predictions when running
on a theme that has different colors for typed and
suggested words (GB theme).
Also, this is easier to understand and to modify from
now on.

Change-Id: Ifdc6d86a1695e83e16103041b06a2451f8d52cc4
2014-02-25 08:59:14 +00:00
Jean Chalard a0984662a1 [QRP3] Refactoring
Rename some variables for clarity and use constants
instead of immediates.

Change-Id: Ie07fbfcc3738ac4e67aefddc339fc54259172c39
2014-02-25 17:05:47 +09:00
Jean Chalard 74224f2c5c [QRP2] Small refactor
Bug: 13170509
Change-Id: Ib9f10b8a137fc773ab0e5dc903e577038e29a9e2
2014-02-25 17:05:47 +09:00
Jean Chalard ef3a45643e [QRP1] Fix a bug where the wrong value would get passed
In the practice it works because this never tries to access
inside the suggestion strip, and the worst that can happen
is a wrong text color for a suggestion. But since the two
colors that would be swapped are the same, nobody ever
notices -- unless they are using the GingerBread theme.

Change-Id: Ic8c70d8b3cdddf92946dfefbbc6d061572626c7a
2014-02-25 17:05:44 +09:00
Tadashi G. Takaoka deb5cedf81 Add Key.getIconId for testability
Bug: 13017434
Change-Id: I94ff45da3f58b74cc9dd4d38179670fbcf619d92
2014-02-25 09:59:38 +09:00
Jean Chalard 6e224a236a Merge "Correctly read the header of APK-embedded dicts" 2014-02-24 13:57:46 +00:00
Jean Chalard 890b44e537 Correctly read the header of APK-embedded dicts
Bug: 13164518
Change-Id: I8768ad887af8b89ad9f29637f606c3c68629c7ca
2014-02-24 22:54:01 +09:00
Jean Chalard 64ace089a8 Merge "Use an executor to serialize opening dictionaries." 2014-02-24 13:43:49 +00:00
Tadashi G. Takaoka 2c55706b0e Merge "Create a utils class for executors." 2014-02-24 13:33:44 +00:00
Jean Chalard 4de2fcdde3 Use an executor to serialize opening dictionaries.
Bug: 13082957
Change-Id: I25570ab4da94337ed60330c0869fe47657096626
2014-02-24 21:05:24 +09:00
Jean Chalard b434acee34 Create a utils class for executors.
Preliminary refactoring to fix
Bug: 13082957

Change-Id: I9f1283c37089bc96140b774b1c559d58031de004
2014-02-24 20:52:49 +09:00
Tadashi G. Takaoka c40eb52e43 Merge "Remove hack from EmojiPalettesView.startEmojiPalettes" 2014-02-24 10:49:59 +00:00
Tadashi G. Takaoka d227b00a72 Remove hack from EmojiPalettesView.startEmojiPalettes
Bug: 12115967
Change-Id: I91c567a9577012ec28c08430c55e56e9c2e25b5f
2014-02-24 19:45:50 +09:00
Jean Chalard 65bce4cabc Merge "Never pass negative values to setSelection." 2014-02-24 09:26:43 +00:00
Tadashi G. Takaoka b08a9e021c Merge "Revert "Prepare for changing text color for functional keys"" 2014-02-24 08:54:55 +00:00
Tadashi G. Takaoka da500b7ec3 Revert "Prepare for changing text color for functional keys"
This reverts commit 194e004e81.
Bug: 10786040

Change-Id: I4c5287d46cabe287abce5cba77635cf26d2cd192
2014-02-24 17:42:28 +09:00
Jean Chalard f19745728e Never pass negative values to setSelection.
Bug: 13136079
Change-Id: Ieae6bafbd5339a033f0f342ba9af7dcc4ce209fa
2014-02-24 16:52:55 +09:00
Keisuke Kuroyanagi 2b72aa07a9 Disconnect app data search client after fetching all data.
Bug: 13138201
Change-Id: Ibaa3c2c22a4fe44ea23e92ce8576141bbad09b12
2014-02-24 14:47:54 +09:00
Jean Chalard 296adf5710 Merge "Change a heuristic and add a log." 2014-02-21 11:58:16 +00:00
Tadashi G. Takaoka 1269ae3144 Merge "Change make-keyboard-text -java option to point LatinIME/java directory" 2014-02-21 11:54:39 +00:00
Keisuke Kuroyanagi bb6b978a19 Merge "Fix: file descriptor leaking." 2014-02-21 11:37:09 +00:00
Jean Chalard bf075b21a1 Merge "Don't trim newer inputpointers with old data" 2014-02-21 11:19:04 +00:00
Tadashi G. Takaoka 5eb6ea9f27 Change make-keyboard-text -java option to point LatinIME/java directory
Change-Id: I812713da5918049c0e504e48bd0693df2f7bf46d
2014-02-21 19:24:24 +09:00
Keisuke Kuroyanagi ad508d029f Merge "Remove corrupted ver4 dictionaries." 2014-02-21 09:03:19 +00:00
Keisuke Kuroyanagi d24a99cff6 Fix: file descriptor leaking.
File descriptors will be closed in
BinaryDictionary.finalize(); but, this leads to unit test fails.

Bug: 13066902
Change-Id: I2b0d3e54ee91fa844530df54596f86bbbbac81a5
2014-02-21 17:25:34 +09:00
Jean Chalard 2a5ec00301 Don't trim newer inputpointers with old data
We already have a mechanism to avoid this crash, but it wasn't
used every time it needed to. It's possible that ending a batch
input and starting a batch input happen while suggestions
are being pulled out, which would result in pointers that have
been reset being passed for trimming.
Just increasing the sequence number should get rid of the
problem.

Bug: 12178124
Change-Id: I36ef3bc8a78679bc09daa39e665f5ce1bab50c2a
2014-02-21 16:43:11 +09:00
Tadashi G. Takaoka d73044a249 Add ImportantNoticeDialog
Change-Id: Icaeb7dddd16362cd4a6384d295f89c7fbabc8b35
2014-02-21 16:36:15 +09:00
Keisuke Kuroyanagi d934fb43ad Remove corrupted ver4 dictionaries.
Bug: 12916055
Change-Id: I2c390ab1dc483915691b47a605772cbc2dfeaf09
2014-02-21 15:09:37 +09:00
Tadashi G. Takaoka fe39d576dc Support versioned important notice
This change must be checked in together with If38a754d00.

Bug: 10587358
Change-Id: I91580f9468bc5ee7ed1694d7852a60dc6793dac0
2014-02-21 09:54:08 +09:00
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 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 d36328cecf Add test only methods to test personalized dicts.
Bug: 11122480
Change-Id: I79a4a73ff09a2d34d4ca094d705e901fb4bc855c
2014-02-20 22:20:43 +09:00
Keisuke Kuroyanagi 485c1ec685 Merge "Add final and volatile for members of InputLogic." 2014-02-20 10:12:45 +00: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 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 475f9f35b6 Merge "Comments improvements" 2014-02-20 08:22:39 +00: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 78db739cdb Fix build due to Ib4c472756f
Change-Id: I27aad91d3f821b5c0d6a3c6405b4a9d03c5bd814
2014-02-20 16:16:57 +09:00
Jean Chalard ad2cf220a9 Merge "Remove a call to a deprecated method" 2014-02-20 06:40:46 +00: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
Jean Chalard be8ad77ebb Comments improvements
Typo fixes and clarifications

Change-Id: I0f7e0b6e665232bb995172fff10521c7f17599eb
2014-02-20 13:29:43 +09: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 d102eb80da Remove personalization dicts for multilingual users.
Bug: 13067743
Change-Id: I1f50cb137b6054dc9442237586b70fc0aa2bf427
2014-02-19 21:00:27 +09:00
Tadashi G. Takaoka 920c40fe45 Use AlertDialog.setOnDismissListener
AlertDialog.Builder.setOnDismissListener is supported from API 17.

Bug: 10587358
Change-Id: Ie8ce8e283b803f7f6bb58ced446e676339f980eb
2014-02-19 19:05:06 +09:00
Tadashi G. Takaoka ed616083dd Merge "Turn personalization on when important notice dialog is displayed" 2014-02-19 09:46:15 +00:00
Tadashi G. Takaoka 6abc852255 Turn personalization on when important notice dialog is displayed
This change must be checked in together with Ifde70b1d3b.

Bug: 10587358
Change-Id: I9dc48f9d521e0e6f6269e4f184389ba805f3053f
2014-02-19 18:36:32 +09:00
Tadashi G. Takaoka 3a7ed5fdfe Merge "Fix IllegalStateException raied by monkey" 2014-02-19 08:27:37 +00:00
Tadashi G. Takaoka 9fd7447d6c Fix IllegalStateException raied by monkey
Bug: 13082467
Change-Id: I9290974821d22067e7ddd60dce441b11ca533a0f
2014-02-19 16:40:52 +09:00
Keisuke Kuroyanagi 03105290d8 Merge "Throw exception when the header cannot be read." 2014-02-19 04:59:47 +00:00
Tadashi G. Takaoka 776bba098b Merge "Turn off personalization default settings" 2014-02-19 04:25:04 +00:00
Keisuke Kuroyanagi 97a40d030f Throw exception when the header cannot be read.
Bug: 13066902
Change-Id: I8fd0f361a4ca55aaab8a2bd2e11f48f92b87fc93
2014-02-19 12:35:58 +09:00
Keisuke Kuroyanagi e49e007bb2 Fix: Use old suggest after reloading.
Change-Id: Icb2821f61c4203254b7d573cad5ce71fbf0ed841
2014-02-19 12:34:09 +09:00
Tadashi G. Takaoka 0a4ac795d6 Turn off personalization default settings
Because the previous personalization settings default value was on,
this CL changes the preference key of the personalization settings.

Bug: 10587358
Change-Id: I80233e8af4b532d8c67d8fb184c2865862bb35dd
2014-02-19 12:08:50 +09:00
Jean Chalard 80d413caff Merge "Straighten out database cursors behavior." 2014-02-18 11:09:38 +00:00
Jean Chalard 28e0b24965 Merge "Fix a bug where the cache would be out of sync" 2014-02-18 10:58:50 +00:00
Jean Chalard b8ff8ca9d9 Straighten out database cursors behavior.
Some were never closed, other closed twice. This change
makes all Cursor instances behave, having the #close()
call in a finally{} clause, and puts the burden of closing
the cursor squarely on the creator rather than in the
called methods.
There is however one exception that is beyond the scope
of this change: UserDictionarySettings have a Cursor
member, it's never closed, and fixing the problem is not
obvious. This change adds a TODO for now.

It's not very clear if this change actually helps with
bug#12670151, but it may be related and it's a good
think to do anyway.

Bug: 12670151
Change-Id: I87cc44387e7dee3da1488671b93a28d9d73f7dc0
2014-02-18 19:58:23 +09:00
Jean Chalard fe92c174ea Fix a bug where the cache would be out of sync
During recorrection, the cursor position when calling
commitText is not necessarily at the end of the
composing text.
Besides, RichInputConnection assumes the cursor is
always after any composing text. This is not correct,
but in the practice, it seems all code paths work.
We should fix this in the future.

Bug: 13060691
Change-Id: I15f71fff62d36e80cf6e4a022c5e78af634b199d
2014-02-18 19:55:54 +09:00
Jean Chalard 783dabb812 Merge "Cleanup." 2014-02-18 09:54:33 +00:00
Jean Chalard 63be066544 Cleanup.
Less code, less chance of stuff escaping, and a bit of a clarification.
Yay.

Change-Id: I3193fd8ad7ac28195260cbc231c4e498a63a460c
2014-02-18 17:07:46 +09:00
Ken Wakasa 266c8c5b1d Merge "Some cosmetic fixes in LatinIME.java" 2014-02-18 06:08:34 +00:00
Ken Wakasa 12ff7da19d Some cosmetic fixes in LatinIME.java
Change-Id: Ia2d04ab992f5a0cc736150b2691b2f8ae8f0955d
2014-02-18 14:56:50 +09:00
Jean Chalard 9967f0a1d0 Avoid crashing when the Content URL is not found.
I'm not sure when this can happen, but it seems it does
at least on older versions of the platform. Let's avoid
crashing.

Bug: 11618402
Change-Id: If730b5bd8f20e0f60b884eab5900099116afc5f0
2014-02-18 14:27:58 +09:00
Ken Wakasa 0d32643e69 Merge "Cosmetic fixes" 2014-02-18 03:28:04 +00:00
Ken Wakasa 2312c1954f Cosmetic fixes
Change-Id: I6c755565ba7689357d02d26cc0e92a93031953e8
2014-02-18 12:17:24 +09:00
Tadashi G. Takaoka cc05f468ca Merge "Refactor InputAttributes a bit" 2014-02-18 02:25:46 +00:00
Tadashi G. Takaoka 06fbfc4951 Refactor InputAttributes a bit
Change-Id: I43d65be6de64ba86f83e8528a138e20c4fa1e3ed
2014-02-18 11:11:36 +09:00
Tadashi G. Takaoka affdd36423 Set neutral suggestions should be called after load settings
Bug: 13058751
Change-Id: Iba49e86b90d595473d91753827d499e551dad45c
2014-02-18 11:04:00 +09:00
Tadashi G. Takaoka f0f4e9fc16 Update important notice version even when user select Settings
Bug: 13060852
Change-Id: I463fdf3d51cacf99693fcde2998ea751046d1cc5
2014-02-18 00:14:30 +09:00
Jean Chalard 782c9fee6b Merge "Don't resume suggestion on links." 2014-02-17 11:46:54 +00:00
Jean Chalard 7a7aeffcdc Don't resume suggestion on links.
Bug: 11447084
Change-Id: I5bd558b9dd85d1505aa918f44e8ac3e52ec42d97
2014-02-17 20:36:16 +09:00
Jean Chalard d91cd9919e Merge "Catch exceptions we can't do anything about." 2014-02-17 11:33:39 +00:00
Tadashi G. Takaoka 5cd732f8c5 Stop overriding InputView.dispatchTouchEvent
Bug: 11721001
Bug: 11976254
Change-Id: I950f13ec4084da7fd9c1c25fd7abed1e5d31ed4c
2014-02-17 19:51:47 +09:00
Jean Chalard a149731a67 Catch exceptions we can't do anything about.
This also abstracts away the "package deactivated" case for
simpler and safer code.

Bug: 11072561
Change-Id: Idaaf2ae8d8d5b2c4a15de641bbf2f8c5c7cc9410
2014-02-17 18:49:31 +09:00
Tadashi G. Takaoka 891e4860f8 Merge "Stop overriding SuggestionStripView.dispatchTouchEvent" 2014-02-17 09:20:54 +00:00
Tadashi G. Takaoka e32548f32d Stop overriding SuggestionStripView.dispatchTouchEvent
Bug: 11721001
Bug: 11976254
Change-Id: Idfdeafe45abb16ca54be529b4f4b2c38c22a7fac
2014-02-17 18:11:10 +09:00
Tadashi G. Takaoka 1751615f7d Merge "Remove unnecessary override of MainKeyboardView.dispatchTouchEvent" 2014-02-17 08:26:38 +00:00
Tadashi G. Takaoka 3dd6bdf931 Merge "Add InputMethodSubtypeCompatUtils.isAsciiCapable()" 2014-02-17 08:25:57 +00:00
Tadashi G. Takaoka 800ab579a9 Remove unnecessary override of MainKeyboardView.dispatchTouchEvent
Bug: 11721001
Bug: 11976254
Change-Id: I762bd9e76ea31d67b3e31c3a0a19ee9f040015b8
2014-02-17 17:09:06 +09:00
Tadashi G. Takaoka 4c628b9d5b Merge "Don't show important notice on password field" 2014-02-17 08:04:11 +00:00
Tadashi G. Takaoka 20ddd4cff5 Add InputMethodSubtypeCompatUtils.isAsciiCapable()
Change-Id: I8145f090486f6fe30ef1e992db374cfba0c31012
2014-02-17 16:08:33 +09:00
Tadashi G. Takaoka ce78a2d8ab Don't show important notice on password field
Bug: 10587358
Change-Id: Ieff7960e5e2b8609fddeb173af578a5d9b2c4d98
2014-02-17 15:38:43 +09:00
Tadashi G. Takaoka 4f4fb5ef34 Merge "Use the same label of switch-to-alphabet key on Emoji palette" 2014-02-17 06:13:39 +00:00
Tadashi G. Takaoka 4c680e7bcf Merge "Add go to "Settings" button to important notice dialog" 2014-02-17 06:13:26 +00:00
Tadashi G. Takaoka 28c02b400f Add go to "Settings" button to important notice dialog
This CL also
- removes icons on important notice title.
- changes the "Personalized suggestions" summary text.

This change must be checked in together with Id115d89ba9.

Bug: 10587358
Change-Id: I52ff26fa8ae12445e9014ba08253f69e1be609f4
2014-02-17 14:57:04 +09:00
Tadashi G. Takaoka fe39aec08a Use the same label of switch-to-alphabet key on Emoji palette
Bug: 12115967
Change-Id: I61cf80db933aa2ab220ddcaa88a4c9af7beeb35c
2014-02-17 14:54:39 +09:00
Tadashi G. Takaoka c9072dc8da Remove key show up and dismiss animation
Bug: 11518021
Change-Id: I4a5eb0732f399612141f7c22d83e2210da612d7e
2014-02-17 12:10:09 +09:00
Keisuke Kuroyanagi 95d16561e0 Remove unused code.
Bug: 12810574
Change-Id: I9c7fff60ae0e94d52f3bd19c3e88de5a53b917d7
2014-02-15 17:39:24 +09:00
Keisuke Kuroyanagi 0fc93fe445 Implement PatriciaTriePolicy::getNextWordAndNextToken().
Bug: 12810574
Change-Id: Id1d44f90de9455d9cbe7b6e0a161cae91d6d422c
2014-02-15 17:39:20 +09:00
Keisuke Kuroyanagi 85fe06e759 Merge "Remove unused argument from readDictionaryBinary." 2014-02-14 10:37:56 +00:00
Keisuke Kuroyanagi 8e3a1d0f89 Remove unused argument from readDictionaryBinary.
Bug: 12810574
Change-Id: Ice415ebd8d11162facca3fe8927ef8a616b11424
2014-02-14 19:02:15 +09:00
Tadashi G. Takaoka b136b7dd6f Merge "Add sanity check to KeybaordTextsTable for debugging" 2014-02-14 09:52:36 +00:00
Tadashi G. Takaoka 53a237323a Add sanity check to KeybaordTextsTable for debugging
Bug: 13007104
Change-Id: Id12f75da7a1c6a2a078d41721ee4016794e9dd2a
2014-02-14 18:51:03 +09:00
Jean Chalard fdc4173213 Merge "Fix a view-related crash" 2014-02-14 09:19:34 +00:00
Jean Chalard a7e3e74ddd Fix a view-related crash
Bug: 12788164
Change-Id: If0d815518824a8e57b15e80111c5e6e08e93ba7e
2014-02-14 18:03:34 +09:00
Tadashi G. Takaoka 3c4f05dd66 Remove unused label_tab_key
Change-Id: Ic10b9678c9b0ebab977589aa0093740b9c9f2d90
2014-02-14 17:40:53 +09:00
Tadashi G. Takaoka 17993ed4ef Merge "Fix null KeyDetector reference" 2014-02-14 07:17:33 +00:00
Tadashi G. Takaoka a273319c59 Add PunctuationSuggestions class
This change must be checked in together with I366c477516.

Bug: 12640318
Change-Id: I8d3864b9d9649c9e3306e82b01a6327b11281b1f
2014-02-14 14:13:39 +09:00
Jean Chalard 4197c6f3ab Merge "Show the suggestion strip for the important notice" 2014-02-14 04:07:46 +00:00
Tadashi G. Takaoka ef8a03685f Fix null KeyDetector reference
This change must be checked in together with I737c266c45.

Bug: 13011041
Change-Id: Ia3d25be6de47fa16ab7156a25641e53a23948ff4
2014-02-14 11:42:09 +09:00
Yohei Yukawa 362ab36cf0 Fix a null object reference crash on Emoji Palette
Do nothing if the current EmojiPageKeyboardView is null.

BUG: 13006906
Change-Id: I169b70122ec939075b5be033953b48762fd528fc
2014-02-14 10:36:31 +09:00
Yohei Yukawa 5f9f4b929b Merge "Fix indent." 2014-02-14 01:26:48 +00:00
Jean Chalard 5e09958056 Merge "Backward compatibility hack : send delete when empty." 2014-02-13 10:09:41 +00:00
Jean Chalard 2c48846903 Backward compatibility hack : send delete when empty.
Some apps depend on the keyboard sending something to them
when the text is empty. This is BROKEN. Your app must not lie
to the keyboard about what is before the cursor. If there is something
to delete, you must not pretend there is not and try to catch some
delete event. This will result in a bad user experience. This will not
work with all IMEs. If your app needs this broken behavior, you're
doing it wrong. Seriously guys, we're not in the era of typewriters
any more, there are touch screens, there are gestures, there is
accessibility, there are many innovative IMEs that don't have
keys. Do *NOT* rely on key events.

This change implements an ugly hack so that these broken apps
may continue half-working with LatinIME. We are very unhappy
about this.

Bug: 12998568
Change-Id: Ia62ae2fbee4fee65b463acf3a79aafcfd0defa1d
2014-02-13 18:41:54 +09:00
Tadashi G. Takaoka 7ae6721ffa Remove RTL aware !code and add corresponding !text
Change-Id: I9021c8fa1cf2d4ac07579237a939c15551509a0b
2014-02-13 17:32:09 +09:00
Tadashi G. Takaoka 3cb77678f5 Fix Armenian switch to alphabet key text
Bug: 7963631
Change-Id: If5768c761ec96d3404900b0c017abc2317cce8d4
2014-02-13 17:26:16 +09:00
Tadashi G. Takaoka 0af6d988a7 Merge "Optimize KeyboardTextsTable" 2014-02-13 08:22:58 +00:00
Tadashi G. Takaoka 0fe4d00068 Optimize KeyboardTextsTable
This change counts all occurrences of each string resource and sort
those in descending order of the occurrence.

Change-Id: I726402157feb0d436a54bd0a7252acd17fd711f9
2014-02-13 17:11:00 +09:00
Tadashi G. Takaoka 36b8962a9a Merge "Fix UserHistoryDictionaryTests" 2014-02-13 07:49:51 +00:00
Tadashi G. Takaoka 32c8d58cef Merge "Fix showing all suggestions when the top suggestion is long" 2014-02-13 07:17:31 +00:00
Tadashi G. Takaoka 0cda0e8a9c Fix UserHistoryDictionaryTests
Change-Id: I5f2f555f9c3f471545921ef80e4cf528976be837
2014-02-13 16:16:44 +09:00
Tadashi G. Takaoka 4f8a8f125e Fix showing all suggestions when the top suggestion is long
This change also fixes Bug#12982404; displays the suggestion word
using entire suggestions strip if there is only one suggestion.

Bug: 12564279
Bug: 12982404
Change-Id: I51806b90c3ee34a2072880245d4e33f7be273c8f
2014-02-13 15:22:36 +09:00
Jean Chalard e0a425681c Merge "Fix a test." 2014-02-13 05:20:58 +00:00
Jean Chalard cf03ff02b1 Fix a test.
This fixes two separate problems:
- The word finds itself with two separate suggestion spans.
This is fine for LatinIME, but it's hard to predict whether it's
fine for other interested parties (other keyboards).
- The test for the blue underline was incorrect.

Change-Id: I3ecc849676851bf25a25238d694adaa956521a26
2014-02-13 14:01:37 +09:00
Tadashi G. Takaoka 8dd47029f1 Merge "Refactor dictionary constructor" 2014-02-13 04:55:16 +00:00
Jean Chalard c3cfabd0eb Merge "Dump settings." 2014-02-13 04:26:52 +00:00
Tadashi G. Takaoka 870d89b1a8 Refactor dictionary constructor
This change must be checked in together with I3923d5af2a.

Bug: 12994268
Change-Id: I19de6efbdfa3b6c6c69a20a836e53962fd5737de
2014-02-13 13:23:55 +09:00
Yohei Yukawa cfe26bbcde Fix indent.
This is a follow up for the previous commit to fix indent.

BUG: 12964092
Change-Id: I0530b1c0dae26ac736ddcc6d426ec6ce57bce4d1
2014-02-13 01:58:58 +09:00
Jean Chalard 367a35d377 Dump settings.
Bug: 10315296
Change-Id: Ieb020a23886514b3ba97611d8a6001f32b322f63
2014-02-12 22:53:15 +09:00
Yohei Yukawa 50fbe4cc09 Merge "Cancel keydown events immediately once the view starts scrolling" 2014-02-12 10:21:08 +00:00
Yohei Yukawa 4c259866c4 Cancel keydown events immediately once the view starts scrolling
The motivation of this patch is to make sure a user never feel
haptic feedback when scrolling the Emoji palette. In order to
achieve it, EmojiPageKeyboardView#releaseCurrentKey() should
be called whenever (delayed) keydown events should be canceled.

This patch wires up ViewPager.OnPageChangeListener#onPageScrolled
with EmojiPageKeyboardView#releaseCurrentKey() so that delayed
keydown events will be canceled immediately once the ViewParger
starts scrolling.

BUG: 12964092
Change-Id: Iea8c3e090bb16a8622e6b4a850af2bf963aa77d0
2014-02-12 18:56:08 +09:00
Tadashi G. Takaoka 5a885e85c2 Merge "Keep showing key preview even when keyboard has been changed" 2014-02-12 09:40:55 +00:00
Tadashi G. Takaoka dd6ba4b184 Merge "Fix bug in KeyPreviewChoreographer.dismissKeyPreview" 2014-02-12 09:13:37 +00:00
Jean Chalard 8adedbf47c Show the suggestion strip for the important notice
Bug: 10587358
Change-Id: Ia060a9ca9dfc2e7fe0750536a9fea3b9cc5900c4
2014-02-12 17:30:04 +09:00
Tadashi G. Takaoka 075158ccd0 Keep showing key preview even when keyboard has been changed
Bug: 12979147
Change-Id: I7e1f60686d6a8a0fca463174abb0a45f1f62ca43
2014-02-12 15:09:03 +09:00
Tadashi G. Takaoka 7e9b0b42bf Fix bug in KeyPreviewChoreographer.dismissKeyPreview
Bug: 12979147
Change-Id: Ibc60b4565badaebe760194f27984b02f9f966996
2014-02-12 14:50:56 +09:00
Tadashi G. Takaoka 7ffac033ac Make importance notice dialog cancel able
Bug: 10587358
Change-Id: I7415a6f33e6b5542718164fea1555095d23233e5
2014-02-12 11:59:43 +09:00
Tadashi G. Takaoka 6e1710f0d4 Merge "Optimize text resources' ordering a bit" 2014-02-11 13:33:42 +00:00
Tadashi G. Takaoka d495cc36b7 Merge "Get nicer output of make-keyboard-text" 2014-02-11 12:43:32 +00:00
Tadashi G. Takaoka 8bfd6100d9 Optimize text resources' ordering a bit
Change-Id: I19382f1d9a4b6be173d1e9f62edd727ea987fa20
2014-02-11 21:41:55 +09:00
Tadashi G. Takaoka ed509695a4 Get nicer output of make-keyboard-text
Change-Id: I6d30127aac2198d55b1335002f7a66b4aaebf82d
2014-02-11 21:41:21 +09:00
Jean Chalard 3df8bcb7a9 Revert "Display predictions when the cursor is moved after a word."
This change is lacking some comments and break some unit tests.
It needs more work.

This reverts commit 38d31a5e79.

Change-Id: I675854fd0729f2d01b7751e35c6d0117f4f88993
2014-02-10 14:24:30 +00:00
Jean Chalard 38d31a5e79 Display predictions when the cursor is moved after a word.
Bug: 12951777
Change-Id: I744b98df6679edd34ca3c1392e38597325935932
2014-02-10 23:07:00 +09:00
Jean Chalard f9e5b1ee4f Merge "Show important notice strip" 2014-02-10 12:18:10 +00:00
Tadashi G. Takaoka 8dda9e480b Show important notice strip
Bug: 10587358
Change-Id: I1af3faa59afb2fc4cb90176acff1c2b0b1ba369c
2014-02-10 21:15:35 +09:00
Keisuke Kuroyanagi ea24abf878 Merge "Remove unused code." 2014-02-10 07:19:53 +00:00
Keisuke Kuroyanagi 2ef87aee3e Merge "Make PtNode have ProbabilityInfo instead of raw value." 2014-02-10 06:10:51 +00:00
Keisuke Kuroyanagi 69ccac6e51 Remove unused code.
Bug: 12810574
Change-Id: If0ef02a984469a3b6e0c00b1c3c8d98d0d2b5466
2014-02-10 15:05:11 +09:00
Keisuke Kuroyanagi 8ffc631826 Make PtNode have ProbabilityInfo instead of raw value.
Bug: 11281877
Bug: 12810574
Change-Id: Id1cda0afc74c4e30633c735729143491b2274a7b
2014-02-10 15:05:08 +09:00
Tadashi G. Takaoka cbb0a6de3b Merge "Fix possible NPE while finding device override value from resource" 2014-02-10 05:51:44 +00:00