Commit graph

147 commits

Author SHA1 Message Date
Satoshi Kataoka
3979f060f0 Step 28-A Introduce the session Id to getSuggestion
Change-Id: I39d9bf1a7c272eb16d6ed4698f52457579b40f10
2012-08-15 15:44:45 +09:00
satok
847c8dfe17 Fix JNI
Change-Id: If134baf52e78fbe18b78611a23870f5d10c80955
2012-08-11 13:54:01 +09:00
Ken Wakasa
f3850e5543 Use JNI Region calls also in getSuggestions()
Change-Id: I9cc0208397c202aeb6f7b5bb5ad59e00c5afbd80
2012-08-10 21:09:23 +09:00
Jean Chalard
dc2fb6bc6d Merge "Pass the type from native code all the way to Java." into jb-mr1-dev 2012-08-10 01:26:59 -07:00
Jean Chalard
926ef06a1e Pass the type from native code all the way to Java.
Bug: 6906525
Change-Id: I057390d47a223450e22d8338509e22c28fc0d5f6
2012-08-10 15:51:55 +09:00
Satoshi Kataoka
e9f3e182e4 Add arguments for dic traverse session
Change-Id: I8776ad528eeea9a5fc4dcf394ca13bb80c04fb6d
2012-08-10 12:34:00 +09:00
Ken Wakasa
5bb4206275 Use more JNI Region calls
Change-Id: I371db517ff4749c0b7e5bdb4362e6310c91a24dc
2012-08-10 00:46:20 +09:00
Satoshi Kataoka
9127811493 Pass traverse session
Change-Id: I84bfaaa406e3f51421c08a7ee8f9576ebdba54d4
2012-08-08 23:30:31 +09:00
Satoshi Kataoka
c4e4dfe17d Add traverse session
Bug: 6942265

Change-Id: I384cf701f5ee44c4b1037e5b8ddfa3d570286f55
2012-08-08 20:39:43 +09:00
Jean Chalard
6931df9c17 Pass an array to output suggestion types (A119a)
This needs the matching A119b change to not break the build.
The array is passed, but not used yet.

Bug: 6166228
Change-Id: Ia91d658461d989ee8c94e9b31bb06f4a36f4c5b6
2012-07-12 19:21:42 +09:00
Jean Chalard
3b57631b60 Resolve a TODO: bury some implementation detail in native (A110)
The fact that prediction does not accept a null argument is an
implementation detail, it should not be visible to Java code.

Change-Id: I3a156b323b6db9353de898d33f3f7c81751cecb1
2012-07-12 14:30:30 +09:00
Jean Chalard
18d76afa91 Remove an unused method (A109)
Change-Id: Ib785b7e8c554d030395e2c0ca92edb44eb2b245f
2012-07-12 14:30:03 +09:00
Jean Chalard
251f302985 Stop using a redundant method (A108)
Change-Id: Iffc0bae0a273419e7c50d69526c0c8e402c6461c
2012-07-12 14:30:00 +09:00
Jean Chalard
6a5d17cd2f Remove a useless parameter (A106)
Change-Id: Ic0ecea22212fd1a098a3a168da460374e446f4a3
2012-07-12 11:28:16 +09:00
Jean Chalard
b7d7c5a369 Make a constant really constant (A104)
Change-Id: Ied1f9f96a574b1e6a8ee0a71bfb1604d9c962e1c
2012-07-12 11:16:30 +09:00
Jean Chalard
e4e7e5fc82 Cleanup (A103)
Change-Id: Ib5ebddfdb87ef71a2f8d859fb45d3ac78040e97a
2012-07-11 16:14:58 +09:00
Tadashi Takaoka
5e21ea1a35 Revert "Workaround to avoid a bug in the batch input bigram dictionary lookup"
This reverts commit 1250cdeab2
2012-07-11 00:07:08 -07:00
Tadashi G. Takaoka
1250cdeab2 Workaround to avoid a bug in the batch input bigram dictionary lookup
Change-Id: I8a5641c88c45918d6bed81a0b03efdcff0b380c5
2012-07-11 15:38:13 +09:00
Jean Chalard
9c09fd02eb Inline a method to be able to factorize code (A102)
Change-Id: I121071f80c8af3c1053968dc76aaeca3352ca9a8
2012-07-11 14:57:51 +09:00
Jean Chalard
d6c610400e Inline a wrapper method (A101)
Change-Id: I6ce856ff49a8f8c696851b2487590704010fc758
2012-07-11 14:57:51 +09:00
Tadashi G. Takaoka
eb1443883f Support batch input
Change-Id: Ibe63212fe71cdebb5b897bc5018ae75b2a87555a
2012-07-11 14:53:20 +09:00
Jean Chalard
82d5ed6fcd Small readability improvement (A100)
Change-Id: I6340748654a95d203ed43ceb9a7e6468b5b8ab1c
2012-07-11 11:19:50 +09:00
Jean Chalard
860a9f85ff Pull up some common code again (A99)
Change-Id: I9e9f5664bb12bb25d74c8a076a6ee1024c708145
2012-07-11 11:19:50 +09:00
Jean Chalard
8eaeb60e7f Pull up some identical code (A98)
Change-Id: I6c265956394cf49e74b0256dfa5af06fe6b30467
2012-07-11 11:19:33 +09:00
Jean Chalard
e77f2996ea Inline a method to avoid confusion (A97)
Change-Id: I3c3ffcd3d40493f4bfa0f6596f923b3430e605aa
2012-07-11 11:19:18 +09:00
Jean Chalard
cfae32c610 Remove parameters for easier inlining (A96)
Change-Id: Ied2e291393609300173681e26e82b7dd36b41bd0
2012-07-11 11:16:22 +09:00
Jean Chalard
ea98e026f1 Pull up some more common code (A95)
Change-Id: I3ac7ee823471a6d1da8031e064bce38b0e5a8f5c
2012-07-11 11:15:18 +09:00
Jean Chalard
b4b93dbf3e Pull up common code in the caller (A94)
Change-Id: I84b97886280eca75d5f2b7546f20f8b1bced55bc
2012-07-11 11:13:56 +09:00
Jean Chalard
6f233f7ba1 Remove useless member variables (A93)
Change-Id: Iff0a0e8835f4d630b51a15c0d91881437094e785
2012-07-10 20:18:10 +09:00
Jean Chalard
2ae75ed56b Start converging two identical methods (A92)
Change-Id: I3c85a80610fde664a328f5606d0724f00d445ebe
2012-07-10 20:13:54 +09:00
Tadashi G. Takaoka
d82dcdc924 Add batch input dictionary lookup
Change-Id: I4da3c976838e8eb56c9ec80aafaaf54d759b7981
2012-07-10 20:01:28 +09:00
Jean Chalard
f5943153ad Cleanup old methods (A90)
Change-Id: I5435cef8ac6be523934ffa394952cb120c8e89d6
2012-07-10 19:30:46 +09:00
Jean Chalard
b30d2185f2 Implement the common Dictionary interface (A89)
This will de-duplicate a lot of existing code.

Change-Id: Idaffb2fde23b9741f057bcb2ecb3dde9d12ea5c5
2012-07-10 19:30:42 +09:00
Jean Chalard
a69f12a246 Reduce method visibility (A88)
Change-Id: I29d6afbcba0998558c9b19287a460d9f0e410994
2012-07-10 19:19:47 +09:00
Satoshi Kataoka
71538b08e4 Add input pointers
Change-Id: I95300bf0a847fb86d026e846ff4ad723bb45284f
2012-06-29 18:58:51 +09:00
Jean Chalard
24eec0fa68 Remember the source dictionary for each suggestion.
Change-Id: I3c63372bd5572a479a67eaecfe8c8ea1cabc70d9
2012-06-27 18:17:28 +09:00
Jean Chalard
05efe576f9 Cleanup the dictionary type.
Stop storing an int in each of the different class types, and
just store a string in the top class.

Change-Id: I2af1832743e6fe78e5c1364f6d9cc21252bf5831
2012-06-27 17:31:09 +09:00
Jean Chalard
2f1b6c9ea4 Remove the callback argument to getBigrams() (A16)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I7457ac04f8cd4019fb86c986725aae3de1b1a65e
2012-06-26 17:54:49 +09:00
Jean Chalard
60eed92dc3 Remove the callback argument to getWords() (A15)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I919bf70a1213ab5d7c7a9e5715bd72a6e257148b
2012-06-26 17:36:47 +09:00
Jean Chalard
2225b3bace Do away with Utils#addAllSuggestions (A14)
It's not used any more.

Change-Id: Id9da40fdbf7078f3ac647d1368237d6601f5a2ba
2012-06-26 17:36:47 +09:00
Jean Chalard
d82898c5a9 Change the return type of getWords and getBigrams (A8)
This only returns stuff, but it doesn't change yet how the data
is really passed. It merely adds a way of getting the same data.
Later, the old way will be removed.

Change-Id: If3a064de362175fc5a6781b7a97b65d8730aaf3c
2012-06-26 16:44:26 +09:00
Jean Chalard
bda7eaa63a Remove dependency on WordCallback from BinaryDictionary (A7)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I8245698fbd170e0f5cbad3c0109774bcaddc0614
2012-06-26 16:42:48 +09:00
Satoshi Kataoka
7368009799 Change JNI for Gesture
Change-Id: I774a0052038d16677f60f7efa11fd266cb5f3088
2012-06-25 18:54:37 +09:00
Satoshi Kataoka
c88f61215c Set level 1 as the initial value of the valid words
Bug: 4192129
Change-Id: I867e78ce79c78977d08e8b66881a25b6fe5bf41f
2012-05-29 20:39:39 +09:00
Satoshi Kataoka
2f854e170c Add a JNI to get the frequency
Bug: 4192129
Change-Id: I3f220f5a10114d4eb23956148076cf76220bda0f
2012-05-29 17:21:59 +09:00
satok
0028ed3627 Use "float" instead of "double"
Change-Id: I93ed4d88ede4058f081dd8d634b00dfff4e96d07
2012-05-16 20:45:05 +09:00
Tom Ouyang
4d289d39ae Contacts dictionary rebuilds only when contact names have changed.
Bug: 6396600
Change-Id: Iad693ec4bab6351793d624e5c5b0a9f5c12a60e3
2012-05-11 18:43:53 -07:00
Jean Chalard
522a04ea5b Pass words as int[] to the native code.
We need to get the bigrams during the call to getSuggestions for
bug#6313806. We already give an int[] to getSuggestions and we
wanted to get rid of char[]'s anyway because it doesn't work with
surrogate pairs, so here we go.

Bug: 6313806
Change-Id: I56ce99f1db6b3302cdf42f0527343bded837091e
2012-04-23 16:05:36 +09:00
Jean Chalard
80111f08e2 Pass the previous word down to native code in getSuggestions
Change-Id: I477b631d81ef58461e44954f3ae5fd895928bb97
2012-04-17 20:07:10 +09:00
Jean Chalard
ac27e4544b Pass the previous word to getSuggestions
This is a preparative change to bug#6313806

Change-Id: I1be9ec49b21005c1f45ce459fa93712bc74ef3f0
2012-04-17 12:43:53 +09:00
Tadashi G. Takaoka
78ab80844b Add language suffix to main dictionary
Bug: 6319377
Change-Id: Ie6a887fefa12e33c17bfeb5d22984e7c1a7bdb46
2012-04-11 16:11:34 +09:00
Jean Chalard
b5e1f48987 Remove the now useless Flag class.
Change-Id: Ibe45189b73e2606cf77e30da166dd0d45ae47c5c
2012-04-06 19:47:16 +09:00
Jean Chalard
338d3ec725 Replace the flags in getSuggestions with a boolean.
Change-Id: I0ec44df1979cb1dc21017ea290d2151a2af0e7cd

Conflicts:

	java/src/com/android/inputmethod/latin/Suggest.java
2012-04-06 19:34:48 +09:00
Jean Chalard
24aee9100e Change the flags to a boolean in constructors.
Change-Id: I9939204f3b16346aaebd4d726315ba9c4faf910a
2012-04-06 19:33:01 +09:00
satok
43ebd8a035 Fix the locale of flags in BinaryDictionary
Bug: 6129372
Change-Id: I4958c2aabf651d7e26648a29b75fcc6c77813451
2012-04-04 21:50:42 +09:00
satok
6ba8de2a60 Good bye the proximity logic in Java code
Bug: 4343280
Change-Id: I82f7d08703647a3492ce6e2d3b741146df58927e
2012-03-28 18:42:30 +09:00
satok
01ab7c8b59 ongoing cleanup 2
Change-Id: I66b61cbe491cf8375144e834390beae3209a777d
2012-03-27 16:28:48 +09:00
satok
8980bd4a25 Merge "Cleanup jni 1" 2012-03-23 03:24:08 -07:00
satok
9df4a4527a Cleanup jni 1
Change-Id: Ieb6af8385356e259720b50f1fe46a694a098b30f
2012-03-23 19:03:20 +09:00
Jean Chalard
cc78d03a62 Add processing for French ligatures.
Bug: 5140033
Change-Id: I1c2751fc617e662aad9f67506e28a622f81d0bc9
2012-03-23 16:50:59 +09:00
Jean Chalard
6ca3ac08ed Strengthen java code against bad returns from native
This doesn't really fix the following bug but it may alleviate
the symptoms

Bug: 6191885
Change-Id: I0de3f550cc7c6cdf79b291399785ad31b205d2ac
2012-03-21 16:40:26 +09:00
Tadashi G. Takaoka
cc8c8b99bd Split Utils class to StringUtils, SubtypeUtils, and JniUtils
Change-Id: I09e91675fe7d573dad8c933ad513b21d7e409144
2012-03-08 20:30:38 +09:00
Jean Chalard
ad290d6505 Activate bigram predictions from the binary dictionary
Change-Id: If1cc50539d7677b854b1cd3bea3423c8c0865de5
2012-02-15 19:51:24 -08:00
Jean Chalard
6e082cb30d Convert an internal enum into an int of same underlying value.
Goes together with Id4f4e066

Bug: 5922118
Change-Id: I1e39dd01c67e9284d9d7fe008d868847e69986d7
2012-01-26 13:07:51 +09:00
satok
be0cf72253 Move auto correction thresthold to the native code
bug: 5858137

Change-Id: Ic4b6270c6e51ef4ed25a6a1d8ddd7fdfa70fd78d
2012-01-12 19:56:15 +09:00
Tadashi G. Takaoka
5fdcd7d5cd Fix JNI as 64bit ready
Change-Id: I7a3ed2cee3b20744869aa5cf89ff9fd95f5ab8fe
2011-10-31 20:44:01 +09:00
Tadashi G. Takaoka
ab72a97d7c Cleanup unused import
This change also gets rid of several compiler warnings.

Change-Id: I23962edaadad18a6e0395d528af17b909dcf5dad
2011-10-04 12:46:20 +09:00
Jean Chalard
673cebf9e9 Make use of the FULL_EDIT_DISTANCE flag.
In effect, this stops the spell checker from suggesting overly
long words.
More precisely, it takes advantage of the new facility that
takes into account the whole length of the dictionary word when
computing scores, so words much longer than the input word will
see their score demoted accordingly.

Bug: 5384578
Change-Id: I326cd7c87c3080e7fa8729f78517f8ba13672a9b
2011-09-30 16:00:07 +09:00
satok
40a5f6fa4d Add a flag to demote completed suggestions
Bug: 5390063
Change-Id: I0ef4fbcc705539624269fd2f8c4e782679fc44b3
2011-09-29 19:48:18 +09:00
Jean Chalard
043f784198 Create a way to pass the proximity info to the dictionary
This is a preparative change for inserting the spell checker.

Change-Id: Ie441879cac4f67078ec27a95f1fcbbf3ef373df7
2011-08-04 19:46:21 +09:00
Jean Chalard
e93b1f2209 Allow reading a binary dictionary even without proximity info.
This prepares the way for spell checking, which is to be done
without context so without proximity info.

Bug: 4176026
Change-Id: I1b4bfaefe2611e1b484acdf3c33598cb80f81ff4
2011-06-02 12:10:13 +09:00
Jean Chalard
4250eb27f5 Create a dictionary collection and a dictionary factory.
The dictionary collection is a class complying to the Dictionary
interface that acts as a front end to a collection of arbitrarily many
dictionaries of any type.
The dictionary factory is a helper class for creating various
dictionaries and get some meta information about them.

At the same time, this change makes the BinaryDictionary class
not a singleton any more.

This also needs I9afe61a9 to not break the build.

Change-Id: I61fdcc4867fcda18342807bf1865e6e46979e5d5
2011-04-27 17:06:20 +09:00
Jean Chalard
0c8d5ca023 Fix Eclipse warnings.
This change is only there to fix warning issued by Eclipse.
It should have absolutely no impact on the program logic.

Change-Id: Ie0e242ac6c167297d33de19902340b0f6ecae9e1
2011-04-26 16:39:45 +09:00
Jean Chalard
89bd776cf6 Use user-history bigrams when no input if available.
This also fixes a small inconsistency upon clicking on whitespace
twice in a row.
Also add some unit tests for an introduced and an existing method.

Change-Id: I1be2fb53c9624f4d0f5299009632cb4384fdfc15
2011-04-22 15:46:23 +09:00
Jean Chalard
c899038eee Move language-specific keyboard setting to resources.
Some flag settings used to be stored in a keyboard layout extravalue setting. This
change:
- Introduces the capability of setting such specific flags in values/config.xml
- Retains the ability to use extravalues (for layout-specific settings), though
  there is no more any such setting at the moment.
- Fixes a bug where loading a dictionary from outside does not initialize the flags.
- Moves Flag to another class.

Note: this needs I705ec68c to avoid breaking the build

Change-Id: Ia7703aae3215b06c0b3cb792821649806e8998c1
2011-04-20 17:31:59 +09:00
Jean Chalard
cba93f50c3 Add different ways of reading the dictionary file.
This change adds basic support for an external dictionary provider.
It adds methods for reading the dictionary itself from an asset in
the dictionary provider package directly, obtaining the file name
through the ContentProvider interface; it also adds a way of getting
the data through an InputStream and copying the file locally.

Incidentally this change also adds the code needed to listen for
updating the dictionary provider package and reloading it in time.

This change also goes hand-in-hand with Iab31db6e, which implements
the small closed part of this.

Issue: 3414944

Change-Id: I5e4fff99a59bb99dbdb002102db6c90e6cb41c8a
2011-03-18 12:16:50 -07:00
Tadashi G. Takaoka
071f47140c Refactor BinaryDictionary a bit
This changes:
* Flag initialization code in BinaryDictionary to be more unit test friendly.
* Removing unnecessary class hierarchy of LatinIME inner class WordAlternatives.
* Formatting normalized score neatly.

Change-Id: I9f10c093d4f36258fe883cf3fb10cbbda2770497
2011-03-16 19:46:19 -07:00
Tadashi G. Takaoka
e7a2512aa3 Add Utils.equalsIgnoreCase methods
This change also corrects usage of "frequency", "priority" and "score"
* Frequency is the relative probability in dictionary.
* Score is the relative probability in suggestions.
* Priority is kind a sorted score.

Change-Id: Iafb135a4ecdb401cc505014a07c74dfcac44d699
2011-03-16 16:03:05 -07:00
Jean Chalard
c2bbc6a449 Use translation of fallback umlauts digraphs for German.
For German : handle "ae", "oe" and "ue" to be alternate forms for
umlaut-bearing versions of "a", "o" and "u".

Issue: 3275926

Change-Id: I056c707cdacc464ceab63be56c016c7f8439196c
2011-03-03 11:52:23 +09:00
Tadashi G. Takaoka
2e04770adf Add output variables to BinaryDictionary's test entry
Bug: 3414081
Change-Id: I1d11710476ffadcef67b0dbfbde309e7f8344d8a
2011-02-28 17:25:38 -08:00
Tadashi G. Takaoka
6f4eba814a Add test entry for BinaryDictionary class
Bug: 3414081
Change-Id: I1a3d60698795bf28c477086838e726d498fb6de0
2011-02-28 15:08:04 -08:00
Ken Wakasa
eaef1c5007 Change how to load native lib to be on the safe side
Change-Id: If170d4821b8dbc187f29137ea99d10e30c20955f
2011-02-25 18:21:02 +09:00
satok
8fbd552292 Add proximity info to native
Bug: 3311719

Change-Id: Ie596304070e321ad23fb67a13bf05e2b6af1b54b
2011-02-23 23:04:00 +09:00
Tadashi G. Takaoka
887f11ee43 Remove next letters frequency handling
Bug: 3428942
Change-Id: Id62f467ce4e50c60a56d59bf96770e799a4659e2
2011-02-17 13:59:41 +09:00
Tadashi G. Takaoka
33e0b1e79e Add unit test helper method to BinaryDictionary and Suggest
Bug: 3414081
Change-Id: Idee64010f2f423d3c7c548d0279c7bf287088762
2011-02-08 17:56:55 +09:00
Ken Wakasa
da50e1e98d Fixes in close() in BinaryDictionary.
Avoid using 'synchronized' in finalizer as well.

bug: 3340837
Change-Id: I9b28f54e4490ecb844ba33a379f71b625e4246a2
2011-01-17 15:58:07 +09:00
Ken Wakasa
90d96615bc Clean up: Update variable names to comply with spec of ApplicationInfo.
ApplicationInfo.sourceDir may or may not be apk file name.  It can be a directory as well.
The spec just says it's "Full path to the location of this package".

Also, added error handling in loadDictionary().

Change-Id: I5e64d0aba4b1ec7634f4b3ac5537e7a774433ece
2011-01-09 16:53:33 +09:00
Ken Wakasa
e90b333017 Load main dic in native
Follow up to Id57dce51

bug: 3219819
Change-Id: I00e11ef21d0252ffa88c12dffb9c55b0f2e19a66
2011-01-07 19:51:45 +09:00
Ken Wakasa
458249e703 Consolidate main dictionary files.
This change is a preparation for upcoming optimizations on dictionary file loading.
* We can consolidate dictionary files because we are no longer relying on Asset Manager.
* Stopping compressing dictionary files as planning to use mmap() on the region in the apk file.
* Probably we won't rely on Asset Manager.  Instead we'll probably use offset and size obtained from AssetFileDescriptor.

Change-Id: Id57dce512fd3d2397a58628f8264bd824194da76
2011-01-05 11:31:58 +09:00
satok
f5cded1c6c Fix a crash when MAX_WORD_LENGTH is too short.
Change-Id: Idcb5aa2685321b8d0ac7d846caecbd1c79e4dd77
2010-12-06 22:58:56 +09:00
satok
3008825948 Fix parameters of native functions and refactor Dictionary
- created bigram/unigram dictionary classes

Change-Id: I233a28ed8d611870db3f4cf8f25fc45b5d41529b
2010-12-02 01:16:44 +09:00
satok
d4952c8fe9 Move a logic for finding words with a missing character to the native code.
Change-Id: I58338643830ff4f9708f78a9c26f75c8bf2ebf45
2010-12-01 19:26:36 +09:00
Tadashi G. Takaoka
fa086c9076 Cleanup unused Java import
This change also fixes wrong file mode.

Change-Id: Ifcf4c9444ddcdc62d2e4b394891d6eee135c1e8f
2010-11-29 17:57:48 +09:00
satok
525141a402 Clean up LatinIME java
- remove unused code
- add @Override
- change the inappropriate cast

Change-Id: Ib25b4939e5b4273794ab0f6349776b5b62d89894
2010-08-24 12:40:00 +09:00
satok
979f869096 DO NOT MERGE. Backport LatinIME from master to Gingerbread
TODO: Cleanup will follow.

Change-Id: I4a68ba9f2f55760aa24187f1f13fdfa8a0b70963
2010-08-20 14:37:03 +09:00
Jean-Baptiste Queru
443c360d0a Clarify licensing
-use AOSP copyright instead of Google
-add NOTICE and tag file

Bug: 2548782
Change-Id: If50b2e9e9cc4b4876b0d047fc9f34e2d537a6da4
2010-04-05 09:47:36 -07:00
Amith Yamasani
07b1603a3f Don't let the native code target be included twice when unbundling.
Move java code to a different directory so that the unbundled
version doesn't try to compile the native code again.

Change-Id: I05cf9e643824ddc448821f69805ccb0240c5b986
2010-03-09 15:01:09 -08:00
Renamed from src/com/android/inputmethod/latin/BinaryDictionary.java (Browse further)