Commit Graph

4636 Commits (1aab945b2ac1a1232f1cdcb843251f93ad1c3232)

Author SHA1 Message Date
Kurt Partridge 1bf47582a0 Avoid duplicate MotionEvents
Change-Id: I9c3b352b738698f262f254e581bde34b060e258f
2013-04-17 00:30:54 -07:00
Tadashi G. Takaoka bb5deb82b5 Fix singleton/utility classes initialization in SettingsFragment
This is a follow up of Ide3cd3acba.

Bug: 8632344
Change-Id: Iafe51798a1a74eff5d8fcd6f0117d16b419d447d
2013-04-17 16:16:10 +09:00
Tadashi G. Takaoka 888a194cf1 Fix missing AudioAndHapticFeedbackManager initialization
Bug: 8632344
Change-Id: Ide3cd3acba3987317cff709fa591eadaa71834e8
2013-04-17 15:32:01 +09:00
Kurt Partridge 4ac28ded28 Fix NPE
Change-Id: I8a091fb63dab12a0d2ba69e2fe393249bc68d103
2013-04-16 20:39:47 -07:00
Kurt Partridge 2edb4f22cb Clean up unnecessary log messages
Change-Id: I6c3252f3b31c5874ea2f909f636f58b579c06b8d
2013-04-16 20:39:47 -07:00
Kurt Partridge cd39368c21 Fix logic error
Change-Id: Ia36660c66504ba2fbb7f125704926a08726df87a
2013-04-16 20:39:47 -07:00
Kurt Partridge 2d9d4390fd Small dot in corner was not visible
Framework change perhaps?  Even if not, this makes it more visible

Change-Id: Ib6d36b5a30136c4516adac666bdff36d1cd9b337
2013-04-16 20:39:47 -07:00
Kurt Partridge 125f22dc58 Include nanoTime in filename
System is fast enough that sometimes SystemClock.currentTimeMillis() is duplicated
when used to make a unique filename.

Change-Id: I9454fbb5e10265d36b8e17cba183a1591d52cc7b
2013-04-16 20:29:42 -07:00
Tadashi G. Takaoka edc49d38e6 Fix bug to update last interpolated index of GestureStroke
Bug: 8556775
Change-Id: Ie12e0dc9bfeae45f6883580801e07d44be1d1d33
2013-04-17 11:58:09 +09:00
Jean Chalard ff766f8c4b Merge "Don't insert automatic spaces when text looks like a URL" 2013-04-16 10:07:36 +00:00
Jean Chalard 73ec85b8ad Don't insert automatic spaces when text looks like a URL
This is about as ad-hoc as it gets, but then again, what we want
is probably as ad-hoc as it gets.
All URL boxes I know of double as search bars, and not adding
automatic spaces there sucks (e.g. in Chrome URL bar).
And in other boxes actually you don't want to add a space if
it looks like a URL. QSB isn't even a search box, and it behaves
like this.

So I think this is actually the right answer to the problem.

Bug: 7062925
Change-Id: Ib09472b34644fd5bf2dc84bb97cedeeba28bcd02
2013-04-16 18:03:49 +09:00
Tadashi G. Takaoka 1711f986d4 Merge "Add shadow to gesture preview trail" 2013-04-16 07:57:29 +00:00
Tadashi G. Takaoka c71dde9cb5 Add shadow to gesture preview trail
Bug: 7167303
Change-Id: I8f76fe0aec6cb32388e7c85d04516d1dd7d28c29
2013-04-16 16:50:59 +09:00
Jean Chalard 962c9f059a Merge "Small cleanup" 2013-04-16 06:38:17 +00:00
Jean Chalard 30225f3897 Small cleanup
Change-Id: Iafdbe305712c8a571f0f5abc2032df086d7ac015
2013-04-16 15:30:48 +09:00
Jean Chalard 78d658734d Merge "Don't recapitalize on shift while on symbol layout" 2013-04-16 05:31:43 +00:00
Jean Chalard 1f52364630 Don't recapitalize on shift while on symbol layout
Change-Id: Ibf2cdedf510c296561bb5eeb6ff18c3414d6d6f4
2013-04-16 14:29:02 +09:00
Jean Chalard 8094bf45d7 Match the keyboard state to the recapitalize state.
Bug: 7657025
Change-Id: I2f8fe7fc4596a498322ba5ccabbd0c18a2bc36cf
2013-04-16 14:25:03 +09:00
Jean Chalard e259b9f57d Merge "Clean up RecapitalizeStatus" 2013-04-16 04:57:35 +00:00
Jean Chalard fd15686ae9 Merge "Fix an NPE" 2013-04-16 04:12:18 +00:00
Jean Chalard b794e904a3 Clean up RecapitalizeStatus
Change-Id: Ib4d002f90cd3a0e9ad4c04b883b0c1f05ada3ccf
2013-04-16 13:11:18 +09:00
Jean Chalard a024ac6b20 Merge "Fix an NPE" 2013-04-16 03:43:06 +00:00
Jean Chalard 2b42ad0eaa Fix an NPE
Bug: 8620678
Change-Id: Ia91761f33518a010b2844d34523cadece261c67e
2013-04-16 12:20:10 +09:00
Jean Chalard 7be3ca2ccf Fix an NPE
Bug: 8620758
Change-Id: I39f07939ebb6148a48aae5b915ee807002a5b02d
2013-04-16 12:17:22 +09:00
Jean Chalard 5fca38c538 Merge "Small performance improvement / minor bugfix" 2013-04-15 14:28:16 +00:00
Jean Chalard b76ce1251e Merge "Remove a useless function" 2013-04-15 13:06:33 +00:00
Jean Chalard bc501647fd Remove a useless function
Bug: 8583091
Change-Id: I9195d68e44e9a282e25ccd2978d7b4088f600170
2013-04-15 22:01:37 +09:00
Jean Chalard 1e5bbe4ce8 Small performance improvement / minor bugfix
The only place where it's used is checked for nullity.
Also, it's possible, also difficult, to match a different
recapitalize with the old code, triggering a bug that
this fixes.

Change-Id: I717d6df489025c75d1caca290a9086c3b39a9306
2013-04-15 21:18:50 +09:00
Jean Chalard a5a2f3e3c7 Remove gesture suggestions with an INT_MIN score
Bug: 7980115
Change-Id: I8de31068992aec712eaad132857d9dc61f28e30a
2013-04-15 20:55:49 +09:00
Jean Chalard 033958330d Merge "Have Latin IME re-capitalize a selected string" 2013-04-15 11:29:28 +00:00
Jean Chalard 2995abe7aa Have Latin IME re-capitalize a selected string
Upon pressing Shift, if there is currently a selected string, have
Latin IME change its capitalization.
This does not yet have the keyboard mode follow the mode - the change
is complicated enough as is.

Bug: 7657025
Change-Id: I54fe8485f44e04efd72c71ac9feee5ce21ba06f2
2013-04-15 20:23:01 +09:00
Jean Chalard 0e9ee4d3bf If there are no suggestion span, recompute suggestions.
Bug: 8084810
Change-Id: I1743c09c43ca6835bb2f607684b037bf17d36335
2013-04-15 19:33:23 +09:00
Jean Chalard 059e084e98 Merge "Reject a previously user-refused suggestion." 2013-04-15 07:45:34 +00:00
Jean Chalard d40f3f6bc1 Reject a previously user-refused suggestion.
If the user gestures a word, then hits backspace in
disapproval, and gestures about the same thing again,
make sure that we don't suggest the same thing again.

Bug: 7549311
Change-Id: I793bc4df7c3841fa8f2f4146707c26e873f374c1
2013-04-15 16:36:44 +09:00
Tadashi G. Takaoka 216fb6a042 Remove unnecessary harmful finish() from SettingsActivity
Bug: 8560722
Change-Id: I825b135bd13aca17e712330660978b834648dbc3
2013-04-15 16:26:40 +09:00
Tadashi G. Takaoka 1ec4c07a13 Merge "Ignore modifier key while sliding key input" 2013-04-15 06:19:10 +00:00
Tadashi G. Takaoka f224941c37 Merge "Suppress calling onPressKey and onReleaseKey while detecting gesture" 2013-04-15 06:18:48 +00:00
Tadashi G. Takaoka 29105a725d Add preference dependency to gesture input related options
Bug: 8613600
Change-Id: I279d3264080aede59203205c45763c7f8ff08ae6
2013-04-15 15:07:49 +09:00
Tadashi G. Takaoka 8dfbb740e1 Ignore modifier key while sliding key input
Bug: 8284624
Change-Id: I839d7a769d98f29be647dbe511ba3f73ca44446d
2013-04-15 14:39:02 +09:00
Tadashi G. Takaoka e2af9b7eb5 Merge "Reset vertical correction when more suggestions are in modal mode" 2013-04-15 04:57:33 +00:00
Tadashi G. Takaoka 51c38a441a Reset vertical correction when more suggestions are in modal mode
Bug: 8605150
Change-Id: Iadbebfb80e765c97e58e8524eb87419f2a9e41d4
2013-04-15 13:56:03 +09:00
Jean Chalard 03d1dff38d Merge "Fix Binary dict tests" 2013-04-15 03:53:54 +00:00
Jean Chalard c2e9c511cb Fix Binary dict tests
There are two problems here. The first one is the tests would send
an invalid unicode character. Although we could want dicttool to
handle this more gracefully, it's fine for now.

The second problem is much more serious. If a node has more than
128 children, then the java code will crash trying to read the
dictionary back because of a bug that this change fixes. In
theory, it's possible that happens when we try to load the user
history dictionary back from the disk - native code is not affected
so there is no other point that may cause a problem.
In the practice, that means you'd need to have 129 words with a
common prefix (including empty string) but all different after
this. It's almost impossible with Google Keyboard since there are
only so many keys on the keyboard that you can make a word out
of, and then again you'd have to do it repeatedly until it
actually enters the user history dictionary, wait for it to get
saved on the disk.
The bad news is, if you manage to get this far, the keyboard will
crash every time and won't be able to get up until you clear
data for the package.
The good news is, the dictionary itself is not corrupted and only
the reading code is wrong. So updating to a newer version would
actually even recover from this situation.

All in all, considering how almost-impossible this is to trigger,
I don't think even a single user actually did hit this bug.

Bug: 8583091
Change-Id: Iabb2a7f47cbd9ed3193d2a3487318d280753e071
2013-04-15 12:48:16 +09:00
Tadashi G. Takaoka a91da76683 Suppress calling onPressKey and onReleaseKey while detecting gesture
Bug: 8284624
Change-Id: I14470bb2373965aefa921b2c94948450bfa438e3
2013-04-15 10:59:54 +09:00
Kurt Partridge ededdc6a8b Merge "Avoid NPE" 2013-04-12 18:10:49 +00:00
Jean Chalard 2cd1136b8e Merge "Remove the dialog to insert words to the dictionary." 2013-04-12 12:33:24 +00:00
Jean Chalard 91bcf5eb5d Merge "Restart suggestions when the cursor moves." 2013-04-12 12:27:50 +00:00
Jean Chalard 02ce3dc2d1 Fix a bug with bad application completions
Bug: 8561056
Change-Id: I91fb0ac76dabfc841bafc0e2c0ea9f63e6f604f9
2013-04-12 20:53:06 +09:00
Jean Chalard 6a114fa700 Restart suggestions when the cursor moves.
This uses the old suggestions. It does not try to recompute
new suggestions if there are no old suggestions yet: this is
coming in a later change.
If there are no suggestions, this shows the word itself
as a suggestion.

Bug: 8084810
Change-Id: I4c2e25df0ff3673be1825f57a0c19a9d23d47a48
2013-04-12 20:49:03 +09:00
Jean Chalard d24f939712 Merge "Make shortcut-only user dict entry non-words." 2013-04-12 11:02:00 +00:00
Jean Chalard fb5869e9ff Merge "Add a class to encapsulate getting the metadata URI" 2013-04-12 11:01:36 +00:00
Jean Chalard 6a2a4b8e4d Make shortcut-only user dict entry non-words.
Bug: 7369456
Change-Id: Iecd6f6d617f31bd2aa6749516711aeb1f0549622
2013-04-12 16:17:09 +09:00
Jean Chalard 1a51833828 Remove the dialog to insert words to the dictionary.
Bug: 8562529
Change-Id: Ibd853f0cb995e7fb35f8730eafcef73ead58c869
2013-04-12 15:58:50 +09:00
Kurt Partridge 2927223edd Merge "Better isolate ResearchLogging data" 2013-04-11 21:56:01 +00:00
Jean Chalard 8987cccf89 Add a class to encapsulate getting the metadata URI
Bug: 8376173
Change-Id: Icaac8ad412e0180c44e6a955943e3b208981b2ea
2013-04-11 17:52:16 +09:00
Jean Chalard b5d5190deb Merge "Add some utility functions." 2013-04-11 07:35:22 +00:00
Jean Chalard 1cbb0b8f2a Add some utility functions.
Bug: 7657025
Change-Id: I4889721b5348c77ed56c5157557e9988dea48a02
2013-04-11 16:16:19 +09:00
Tadashi G. Takaoka bd8e92d843 Add debug message to detect unusual zero width condition
Bug: 8452013
Change-Id: I0169dc6b0d08d1b4d9e01a5fa2ad01e9db292bda
2013-04-11 15:08:36 +09:00
Tadashi G. Takaoka f67a388197 Merge "Add TypefaceUtils" 2013-04-11 05:32:58 +00:00
Tadashi G. Takaoka 08ae0d5ca0 Add TypefaceUtils
Change-Id: I2d939bc1e3279253902b28ff12bbf7861716b64d
2013-04-11 14:27:42 +09:00
Tadashi G. Takaoka 6d0027a46a Merge "Use SparseIntArray instead of TreeMap<Integer, Integer>" 2013-04-11 05:06:35 +00:00
Tadashi G. Takaoka cee512b63e Merge "More precise geometry checking for more keys keyboard" 2013-04-11 03:51:42 +00:00
Jean Chalard 3722f0877e Merge "Fix two bugs in dicttool" 2013-04-11 03:07:30 +00:00
Tadashi G. Takaoka a4463d7a9a More precise geometry checking for more keys keyboard
Bug: 8484528
Change-Id: I0dd09530a5262fee9c19bb0f11d5830b00306944
2013-04-11 10:44:54 +09:00
Kurt Partridge cdaee868a3 Merge "Preserve a class for testing" 2013-04-10 23:45:33 +00:00
Kurt Partridge 3684036eed Preserve a class for testing
Addresses b/8583091

Change-Id: I89605223784312d9572dfc7c8aaa7e5eba44c4f6
2013-04-10 16:40:17 -07:00
Kurt Partridge 6108624a00 Better isolate ResearchLogging data
Calls to LatinIME#onStartInputViewInternal log important information
about the context in which an IME is used.  This is reported as a
single LogStatement.  Previously, this was not placed into a separate
LogUnit, and was mixed in with general word data.  This change wraps
this LogStatement in its own LogUnit.

Change-Id: I0fecd41c8a1de622a764cc4b5d6902336697046c
2013-04-10 11:53:38 -07:00
Kurt Partridge dfa5628cd3 Better release build reporting
The ResearchLogger reports whether a build is a release build or not
to avoid polluting data with IME debugging work by developers.
Previously this was done by checking a constant flag, which was also
serving the dual purpose of masking out debug code in release builds.

This change introduces a heuristic to determine whether a build was
created by a developer (using the package versionName), and annotating
the data sent to the server appropriately.

Change-Id: Icbad17c66b703cabf6d23d05e2c7c41bcceaae45
2013-04-10 11:52:37 -07:00
Jean Chalard ca0fdbbe2e Fix two bugs in dicttool
Both bugs only affect debug mode. One has the wrong object tested
with equals, the other has the iteration failing in some cases.

Change-Id: Ie9100d257a3f9e3be340cf3e38116f63417bdc1a
2013-04-10 22:10:31 +09:00
Jean Chalard fb3e805722 Merge "Fix a bug where a space would not be inserted before a gesture" 2013-04-10 11:19:31 +00:00
Jean Chalard 30b8004b56 Fix a bug where a space would not be inserted before a gesture
Bug: 8583675
Change-Id: I14924fef5663f48481994c02c56be45f9f85be65
2013-04-10 20:10:28 +09:00
Tadashi G. Takaoka c7d4158979 Merge "Use private object as a lock instead of synchronized method" 2013-04-10 09:56:27 +00:00
Tadashi G. Takaoka 12e77de212 Merge "Use private lock object instead of synchronized method" 2013-04-10 09:35:12 +00:00
Tadashi G. Takaoka 1e256f5888 Merge "Protect simultaneously modifying gesture preview data" 2013-04-10 09:34:59 +00:00
Tadashi G. Takaoka 951ea3c06d Use private object as a lock instead of synchronized method
Change-Id: I0b9a935d8c97ddfb18ab7950a9d6bf542863072a
2013-04-10 18:34:01 +09:00
Tadashi G. Takaoka ce811f50d2 Use private lock object instead of synchronized method
Change-Id: Ifc62bacbd0583a7d102009681a94bdd9ccff7d47
2013-04-10 18:27:11 +09:00
Tadashi G. Takaoka ad205b2e3f Protect simultaneously modifying gesture preview data
Bug: 8556775
Change-Id: I83272e3adbfc0c9cc14f9e8b479e926aabf4fa2a
2013-04-10 18:18:54 +09:00
Jean Chalard 99b93d17d5 Fix a bug where autocorrection status would be wrong.
Change-Id: Ic220129dc59f585164dbf63591cd1c96de17fe6f
2013-04-10 17:49:19 +09:00
Tadashi G. Takaoka 262d5bd9f9 Don't override EXTRA_SHOW_FRAGMENT if exists
Bug: 8541190
Change-Id: I37d3de12558efd55f157389d2e0b51fc83dc5da1
2013-04-10 16:24:17 +09:00
Tadashi G. Takaoka 10af4b6e45 Merge "Separate StringUtils.capitalizeFirstCharacter" 2013-04-10 06:30:33 +00:00
Tadashi G. Takaoka d20c5a78e2 Separate StringUtils.capitalizeFirstCharacter
Bug: 8582061
Change-Id: Iac8f65defdd92d7df533bdf0e2937ad897d96363
2013-04-10 14:55:23 +09:00
Keisuke Kuroynagi 87fdde6ec4 Typing double letters via a 'circle' on the key.
Bug: 8550980
Change-Id: I5e432dea0e025ccea196f80e90a6bf945488e130
2013-04-10 12:43:13 +09:00
Tadashi G. Takaoka f606fd8554 Hide Setup Wizard icon for stock keyboard
Bug: 8581647
Change-Id: Id530f1a33a5c919f4a732ec0d545dfbe76e56316
2013-04-10 12:24:40 +09:00
Tadashi G. Takaoka 869ea1e555 Use SparseIntArray instead of TreeMap<Integer, Integer>
Change-Id: I56a64228a5fd85d440d0d08ac67cba8bf2e5690d
2013-04-10 10:15:26 +09:00
Tadashi G. Takaoka 4fdfce6dcc Merge "Refactor SpellCheckerProximityInfo as extending ProximityInfo" 2013-04-10 01:06:36 +00:00
Kurt Partridge 09ab6495a2 Merge "[FileEncap18] Clean up uploading scheduling" 2013-04-09 19:08:40 +00:00
Jean Chalard 19dcd15493 Merge "Offer to add any OOV typed word to the dictionary." 2013-04-09 10:28:47 +00:00
Jean Chalard ddafcf82dc Merge "Fix bugs and add tests" 2013-04-09 08:35:28 +00:00
Jean Chalard 9310f42a36 Offer to add any OOV typed word to the dictionary.
That includes gestures, which used not to work.

Bug: 8532637
Change-Id: I04606565d7000faadf954c4a806c39d4d162a2c1
2013-04-09 12:05:54 +09:00
Kurt Partridge 1f70a4d681 Merge "Allow logging while replaying" 2013-04-09 02:33:09 +00:00
Kurt Partridge d117c1a116 Merge "Do not record log split time when handling separator" 2013-04-09 02:31:48 +00:00
Ken Wakasa d17c8bd929 Update comments
Change-Id: I6aef328ec9041666cc168c8323bed04d39591b71
2013-04-08 23:05:45 +09:00
Jean Chalard c87449497c Fix bugs and add tests
Change-Id: I6b56b91ace57f4a49584b5dceb71b145859f839e
2013-04-05 12:11:19 +09:00
Jean Chalard 7d3836d63a Move a generic string utility to StringUtils
Change-Id: I9cc2e9a7ac0b3346af40bcb083f939333336cf09
2013-04-05 12:09:14 +09:00
Tadashi G. Takaoka 6e3f307266 Refactor SpellCheckerProximityInfo as extending ProximityInfo
Change-Id: I544eec9d661796d57749dbaa2163bc1e2a891353
2013-04-02 19:06:32 +09:00
Jean Chalard ecb59eff90 Revert "[DO NOT MERGE] Activate hardware keyboard handling"
This reverts commit c741f1f83b
DO NOT MERGE is ignored and this is merged anyway :(

Change-Id: Ie044cdfc6021933379ec97ad7346c5c8591f70bf
2013-04-02 16:08:48 +09:00
Jean Chalard c741f1f83b [DO NOT MERGE] Activate hardware keyboard handling
Change-Id: Ifdec9338a454291621b2b87c899f5d4301480b27
2013-04-02 15:38:13 +09:00
Kurt Partridge 30772c3758 Allow logging while replaying
Previously logging was disabled during replay.  This makes it impossible to use logged data as a
regression test, since the new log was unavailable.  This change corrects this problem.

Change-Id: I19dc31def2f2f87fd219dc561c739d18e4ab9c9c
2013-04-01 16:49:39 -07:00
Kurt Partridge 636b8c4231 Do not record log split time when handling separator
Previously handleSeparator() caused the ResearchLogger to mark the time at which a LogUnit should be
broken.  However, this causes the motion data associated with a separator to be associated with the
LogUnit of the previous word.  This change corrects this bug.

Change-Id: I8b4d4fa6de2a013de9e2a28bb668c446a07f1957
2013-04-01 16:48:15 -07:00
Kurt Partridge 5779bc91e6 Merge "Split LogUnits differently." 2013-04-01 23:08:21 +00:00