Commit Graph

13351 Commits (d908fc8d78eba2b3c1052fe748c8ae6abc7ca998)

Author SHA1 Message Date
Geoff Mendal 231bccb85c Import translations. DO NOT MERGE
Change-Id: I43b3c50621f4e6d86f6eacc6db79e1d9a9e12a16
Auto-generated-cl: translation import
2015-03-11 05:31:19 -07:00
Dan Zivkovic 22af095f78 am 77fd5dbf: Remove dead code, including tests.
* commit '77fd5dbf3e432356dd16eb428c740e446c04373e':
  Remove dead code, including tests.
2015-03-11 01:07:59 +00:00
Dan Zivkovic 77fd5dbf3e Remove dead code, including tests.
Change-Id: Id88b02b74bdfe4ca05b08181ceb6b34d5652fc0c
2015-03-10 17:22:41 -07:00
Dan Zivkovic a6f8f30622 am 70c096d9: Restart background executor.
* commit '70c096d9a1305d3002320eb0d7185b5abb81c086':
  Restart background executor.
2015-03-10 17:16:56 +00:00
Dan Zivkovic 70c096d9a1 Restart background executor.
Bug 19671650.

Change-Id: I1a28a53e94bdb79aeb173f6905c1035022495acc
2015-03-10 10:03:17 -07:00
Chieu Nguyen bc6b315c2b am 21a28abc: Handle empty previous ngram context correctly.
* commit '21a28abc6ac3a2404e7b90327122b1364a283ec9':
  Handle empty previous ngram context correctly.
2015-03-10 15:04:11 +00:00
Dan Zivkovic 13b43c1c7d am 37503590: Kill+restart tasks before/after decoder init.
* commit '375035905de7932b3a34e91fc537fd7561bed6c8':
  Kill+restart tasks before/after decoder init.
2015-03-10 15:04:09 +00:00
Chieu Nguyen 21a28abc6a Handle empty previous ngram context correctly.
Fixes bug where empty previous ngram context not at the
beginning of a sentence incorrectly returned the
beginning-of-sentence marker.

Bug: 19612336
Change-Id: I5ddf3408e20dcedf70487b85c983cd3fc12550e7
2015-03-09 19:02:43 -07:00
Dan Zivkovic 375035905d Kill+restart tasks before/after decoder init.
Bug 19625976.

Change-Id: I6d8b0d2b0a77ccda1bfc914501cf568b92862980
2015-03-09 18:54:48 -07:00
Dan Zivkovic cca7e6f4f7 am bd1bc406: ExecutorUtils lets use schedule a runnable chain.
* commit 'bd1bc4067ff87ce1a21d12a48b1695fe58c8dd4d':
  ExecutorUtils lets use schedule a runnable chain.
2015-03-10 01:27:13 +00:00
Dan Zivkovic bd1bc4067f ExecutorUtils lets use schedule a runnable chain.
Bug 19625976.

Change-Id: Iebbef7fed57a381498301dcf26fefa27d06802f7
2015-03-09 14:58:16 -07:00
Dan Zivkovic 1fa61ab61b am f9e2d271: Use a single background executor.
* commit 'f9e2d271ca101a53a6aac772ca770242805793ef':
  Use a single background executor.
2015-03-09 21:07:46 +00:00
Dan Zivkovic f9e2d271ca Use a single background executor.
Bug 19625976.

Change-Id: Ia03f440a31b059b5af42d162e1145330bf7b5ddf
2015-03-09 13:22:56 -07:00
Dan Zivkovic fdd4fdb516 am 491ca900: Merge "Handle null InputMethodSubtype."
* commit '491ca900a7535ddb19c3ad633475bb68ba18113c':
  Handle null InputMethodSubtype.
2015-03-09 16:20:06 +00:00
Dan Zivkovic 80b74754c6 am 2fcb7c5d: Merge "Log from LatinIME."
* commit '2fcb7c5de5834452f91cce20d0e43a6cf9ea622e':
  Log from LatinIME.
2015-03-09 16:20:04 +00:00
Chieu Nguyen e410a513be am e3ac02e7: Merge "Sync setting disabled if no account."
* commit 'e3ac02e796d64c1cdef0c300338124afe27cfbec':
  Sync setting disabled if no account.
2015-03-09 16:20:01 +00:00
Tom Ouyang f9477310b3 am 8eb2fad5: Merge "Restart suggestions when backspacing into a reverted word."
* commit '8eb2fad5702d4d58476a015a5469a4d84adf4bbc':
  Restart suggestions when backspacing into a reverted word.
2015-03-09 16:20:00 +00:00
Chieu Nguyen 17d8902885 am c4f6a8dc: Make privacy policy link clickable in sync settings.
* commit 'c4f6a8dcd4076ff04977199b4e3a4c79f7d06efe':
  Make privacy policy link clickable in sync settings.
2015-03-09 16:19:58 +00:00
Geoff Mendal 2151095bb2 Merge "Import translations. DO NOT MERGE" 2015-03-09 13:52:01 +00:00
Geoff Mendal 0943bffd77 Merge "Import translations. DO NOT MERGE" into jb-ub-latinimegoogle 2015-03-09 13:43:08 +00:00
Geoff Mendal a2adee6510 Import translations. DO NOT MERGE
Change-Id: Ic46a661195724215df0687cf4395c599a1e84e31
Auto-generated-cl: translation import
2015-03-09 06:37:59 -07:00
Geoff Mendal e617919b1b Import translations. DO NOT MERGE
Change-Id: I251a51c5a8adf9579dcfce60773634fab4f6b87a
Auto-generated-cl: translation import
2015-03-09 06:37:15 -07:00
Geoff Mendal 9926dc1125 Import translations. DO NOT MERGE
Change-Id: Ifd0e7f67f2c4607557a295e9cbbdb35d77a53f91
Auto-generated-cl: translation import
2015-03-09 06:33:10 -07:00
Geoff Mendal 8e08c17407 Import translations. DO NOT MERGE
Change-Id: I0506166a097cc0388afd38c77419d83abf5f85d7
Auto-generated-cl: translation import
2015-03-09 06:32:28 -07:00
Dan Zivkovic 491ca900a7 Merge "Handle null InputMethodSubtype." 2015-03-06 22:51:35 +00:00
Dan Zivkovic 2fcb7c5de5 Merge "Log from LatinIME." 2015-03-06 22:45:17 +00:00
Dan Zivkovic edaa83bb32 Log from LatinIME.
When the DEBUG setting is on, log from this critical class.
This will make it easier to diagnose issues.

Bug 19632709.

Change-Id: I5e14b3705f50cd021ad3d64af106ad28dc8b9321
2015-03-06 14:42:57 -08:00
Dan Zivkovic b86ca76cea Handle null InputMethodSubtype.
Bug 19627494.

Change-Id: I50dc77c59ced0f2e7c07a49ae0cb040197c2ab35
2015-03-06 14:34:57 -08:00
Chieu Nguyen e3ac02e796 Merge "Sync setting disabled if no account." 2015-03-06 17:40:47 +00:00
Tom Ouyang 8eb2fad570 Merge "Restart suggestions when backspacing into a reverted word." 2015-03-06 02:29:35 +00:00
Chieu Nguyen b717f91ffa Sync setting disabled if no account.
Bug: 19361223

Change-Id: Id5e8d34920f5bf3bffb6d6d287557e85d7b72c79
2015-03-05 18:25:56 -08:00
Chieu Nguyen c4f6a8dcd4 Make privacy policy link clickable in sync settings.
Bug: 19361223
Change-Id: I83128d771bf5214a446afd6a3d5244a184d0a4a8
2015-03-05 17:48:02 -08:00
Tom Ouyang 222f647137 Restart suggestions when backspacing into a reverted word.
This is required for the final corrected word to be learned,
as learning only occurs when suggestions are active.

Note: This is already happening when backspacing into a non-reverted
word

Bug: 19619907
Bug: 18465402
Change-Id: I99a1d4f0ca0d62a2cdfa24cc0833ce89391715d9
2015-03-05 17:42:35 -08:00
Dan Zivkovic 4d0d821d13 am 38b9bffa: Handle words longer tha 256 characters.
* commit '38b9bffa3f60785f30d7976879ddf936f747d7dd':
  Handle words longer tha 256 characters.
2015-03-05 19:25:17 +00:00
Dan Zivkovic 38b9bffa3f Handle words longer tha 256 characters.
Bug 19612315.

Change-Id: I75e84df88b4da5cfc6a39b956613972841342c4b
2015-03-05 10:56:14 -08:00
Dan Zivkovic 5512a84d3e am 1ae16dc3: Next-word suggestion bit in keyboard settings.
* commit '1ae16dc3db170802d1b38273f477125a2a969d32':
  Next-word suggestion bit in keyboard settings.
2015-03-04 23:08:09 +00:00
Dan Zivkovic 1ae16dc3db Next-word suggestion bit in keyboard settings.
This feature works in supported languages.
We don't need a user setting.

Bug 19596067.

Change-Id: Icdded772745f9816da47f8a5e3b87b733083b121
2015-03-04 15:02:53 -08:00
Dan Zivkovic 34adcf9996 am 83e95e60: Remove SHORTCUT column in FROM clause.
* commit '83e95e601876a2f7938da8a3f773f9ef088a23ab':
  Remove SHORTCUT column in FROM clause.
2015-03-04 18:20:47 +00:00
Dan Zivkovic 83e95e6018 Remove SHORTCUT column in FROM clause.
The column is no longer used, and is not available on pre-Jellybean devices.

Bug 19595958.

Change-Id: Ief54c7210698d6668b1b7815900a394cc7f27299
2015-03-04 10:16:28 -08:00
Geoff Mendal 9de4a2e4e5 Merge "Import translations. DO NOT MERGE" 2015-03-04 14:00:30 +00:00
Geoff Mendal 7edcc880c2 Merge "Import translations. DO NOT MERGE" into jb-ub-latinimegoogle 2015-03-04 13:59:59 +00:00
Geoff Mendal 00c5719414 Import translations. DO NOT MERGE
Change-Id: I934e85a5a7cef5a490e62033a37e4c8969c36d43
Auto-generated-cl: translation import
2015-03-04 05:55:42 -08:00
Geoff Mendal d878a8101d Import translations. DO NOT MERGE
Change-Id: I3b6d9386687e987a6ca84a194a26b90a669c2562
Auto-generated-cl: translation import
2015-03-04 05:54:58 -08:00
Geoff Mendal 0774260ed3 Import translations. DO NOT MERGE
Change-Id: Ia6ea2cbd9e914d60bdf9220d40991fd60cf8fc43
Auto-generated-cl: translation import
2015-03-04 05:50:53 -08:00
Geoff Mendal 48494a1654 Import translations. DO NOT MERGE
Change-Id: I23cfe9a6401ca62eeb9f6b42a8f979e9d97345b0
Auto-generated-cl: translation import
2015-03-04 05:50:09 -08:00
Mohammadinamul Sheik ebedd8bb8e am 6e29d261: Introduce DictionaryHeaderUtils to get dictionary header values
* commit '6e29d261cb480ef0f0d90867d4582fabce0b9113':
  Introduce DictionaryHeaderUtils to get dictionary header values
2015-03-04 00:38:25 +00:00
Mohammadinamul Sheik 6e29d261cb Introduce DictionaryHeaderUtils to get dictionary header values
Change-Id: I86cef6c7f2f68a75428bb2b9c4d5a1dc1876b541
2015-03-03 16:17:27 -08:00
Chieu Nguyen 8d9c43b5ba am 2281ba76: Merge "Add DictionaryFacilitator dump()."
* commit '2281ba76668db4343e1d01fff82e031657bfcfd5':
  Add DictionaryFacilitator dump().
2015-03-03 23:21:50 +00:00
Chieu Nguyen 2281ba7666 Merge "Add DictionaryFacilitator dump()." 2015-03-03 23:16:49 +00:00
Chieu Nguyen c809dc26a1 Add DictionaryFacilitator dump().
Change-Id: I8b75aded3fc2b9b33128b6ba5a3e8d943dfca352
2015-03-03 14:36:47 -08:00
Jatin Matani 1d22e76800 am 148aab12: Merge "Add util method in ngramcontext for context array"
* commit '148aab122883d5a53c890fd7795039f4aa087302':
  Add util method in ngramcontext for context array
2015-03-03 22:03:02 +00:00
Jatin Matani 148aab1228 Merge "Add util method in ngramcontext for context array" 2015-03-03 21:59:52 +00:00
Jatin Matani a568e0acb4 Add util method in ngramcontext for context array
Change-Id: I2e3e2ac7706be50ed2055b0c69b30e25a516a879
2015-03-03 13:20:53 -08:00
Dan Zivkovic dd226fbe63 am 63a0bdb4: Forgot to remove reference to deleted class.
* commit '63a0bdb41bdc6dc3cd94f3354bf3bda4d057fa93':
  Forgot to remove reference to deleted class.
2015-03-03 20:16:49 +00:00
Dan Zivkovic 63a0bdb41b Forgot to remove reference to deleted class.
Change-Id: Ic662a536e468390a3f7266daf9c56e4fc5a70ac6
2015-03-03 12:11:00 -08:00
Dan Zivkovic b128db8fc6 am 15cccfcb: Merge "Remove no-op broadcast receiver from LatinIME."
* commit '15cccfcb0d6d693883104b261f8750286084d718':
  Remove no-op broadcast receiver from LatinIME.
2015-03-03 19:59:09 +00:00
Dan Zivkovic 15cccfcb0d Merge "Remove no-op broadcast receiver from LatinIME." 2015-03-03 19:55:25 +00:00
Dan Zivkovic fbfc62209a Remove no-op broadcast receiver from LatinIME.
Bug 19583388.

Change-Id: Ia1ca481e2eae0c9791932f7f28a9072cc3dbbe7c
2015-03-03 11:03:11 -08:00
Geoff Mendal e3abfc4e05 Merge "Import translations. DO NOT MERGE" 2015-03-03 08:45:00 +00:00
Geoff Mendal b3ceffad18 Merge "Import translations. DO NOT MERGE" into jb-ub-latinimegoogle 2015-03-03 08:44:47 +00:00
Chieu Nguyen c36a0c37b4 am ddee4914: Merge "Move dictionary facilitator handling."
* commit 'ddee491450bd4447d1dcf102f472fe7038cbfb1d':
  Move dictionary facilitator handling.
2015-03-02 23:34:01 +00:00
Chieu Nguyen ddee491450 Merge "Move dictionary facilitator handling." 2015-03-02 23:30:42 +00:00
Chieu Nguyen 0103d75aaf Move dictionary facilitator handling.
Change-Id: Ibd42982996a36ac52b4c916035491b835f8d14f9
2015-03-02 15:24:51 -08:00
Jatin Matani 49ef421bca am 55d96519: Merge "Turn off cloud sync if we have managed profiles"
* commit '55d9651929729548c16270de0a83e3a01c7f2a9b':
  Turn off cloud sync if we have managed profiles
2015-03-02 20:25:50 +00:00
Jatin Matani 55d9651929 Merge "Turn off cloud sync if we have managed profiles" 2015-03-02 20:21:29 +00:00
Jatin Matani 854edce6dd Turn off cloud sync if we have managed profiles
UserManager#getUserProfiles > 1 implies managed
profile.

Workflow:
- Disable sync prefs
- Execute an async task to check for managed profile; if
  managed profile is found, remove the sync prefs. If not, enable
  the preference;
- Move the logging pref from Advanced to Account & Privacy.

Bug:19230544
Change-Id: I4dbd1fe8433b3263ccc74c35dc0ee0bb371122b3
2015-03-02 12:03:57 -08:00
Geoff Mendal 740f8d7224 Import translations. DO NOT MERGE
Change-Id: I95888bc0f4841f69b8c5cba881f92311c607347f
Auto-generated-cl: translation import
2015-03-02 10:03:04 -08:00
Geoff Mendal 27f1c79cf5 Import translations. DO NOT MERGE
Change-Id: I13b83c06aeb29a65f2eeea28415b041b654e48b6
Auto-generated-cl: translation import
2015-03-02 10:02:21 -08:00
Jatin Matani d3b6619d9c am 8b290806: Fix build breakage due to changed resource Id
* commit '8b2908066dc5259870fbf210e0af7eeb01d2b1ef':
  Fix build breakage due to changed resource Id
2015-03-02 17:48:29 +00:00
Jatin Matani 8b2908066d Fix build breakage due to changed resource Id
Change-Id: I09ba038930416d1261ef095ec503f1ac68cd92ea
2015-03-02 09:44:19 -08:00
Geoff Mendal 1312b216a8 Merge "Revert "Import translations. DO NOT MERGE"" 2015-03-02 15:30:38 +00:00
Geoff Mendal dd09e82f64 Revert "Import translations. DO NOT MERGE"
This reverts commit 7989b88833.

Change-Id: Ie0fb3fef89938938da661c030808b1d8110816c9
2015-03-02 15:30:10 +00:00
Geoff Mendal 8a6980828b Merge "Revert "Import translations. DO NOT MERGE"" into jb-ub-latinimegoogle 2015-03-02 15:21:02 +00:00
Geoff Mendal 6504e6135f Revert "Import translations. DO NOT MERGE"
This reverts commit 2f0fcc1e30.

Change-Id: I2d96e769a55a6f95888cb6cd86a185c86555ad83
2015-03-02 15:20:52 +00:00
Geoff Mendal 3d82160002 Merge "Import translations. DO NOT MERGE" 2015-03-02 15:10:59 +00:00
Geoff Mendal e0ab979f0a Merge "Import translations. DO NOT MERGE" into jb-ub-latinimegoogle 2015-03-02 15:07:41 +00:00
Geoff Mendal 7989b88833 Import translations. DO NOT MERGE
Change-Id: I891a5bfa2cfebb4852ba0a1277cf7ae1aec912ae
Auto-generated-cl: translation import
2015-03-02 06:42:15 -08:00
Geoff Mendal a9de6f589f Import translations. DO NOT MERGE
Change-Id: I4cab7c63e46cfef30b344658d8af54e9e0247752
Auto-generated-cl: translation import
2015-03-02 06:41:33 -08:00
Geoff Mendal 2f0fcc1e30 Import translations. DO NOT MERGE
Change-Id: I0cc15dd7b0ad8c710df0c33325a37899d1bd6810
Auto-generated-cl: translation import
2015-03-02 06:37:25 -08:00
Geoff Mendal cceb4c71a7 Import translations. DO NOT MERGE
Change-Id: I675c2cc5bdc246498b5b96058bc528f96ceee071
Auto-generated-cl: translation import
2015-03-02 06:36:42 -08:00
Dan Zivkovic a3b7ff254d am 9770336a: Merge "Label empty suggestions."
* commit '9770336a9b9b65fc62bde6f361e90909d4259769':
  Label empty suggestions.
2015-02-27 21:36:56 +00:00
Dan Zivkovic 9770336a9b Merge "Label empty suggestions." 2015-02-27 21:33:02 +00:00
Chieu Nguyen 33fdb46b5e am 98886775: Merge "Handle double space inserting a period."
* commit '98886775cfb95dc7f6ab50653215373b94b13941':
  Handle double space inserting a period.
2015-02-27 21:27:32 +00:00
Chieu Nguyen 98886775cf Merge "Handle double space inserting a period." 2015-02-27 21:24:36 +00:00
Chieu Nguyen fdf3cc41ee Handle double space inserting a period.
Change-Id: I109f0e9cf3e972bf60aa3fbbe817337aef70ea3c
2015-02-27 13:19:21 -08:00
Mohammadinamul Sheik 35a9bdbee8 am 62cbaba7: Merge "Update the MAX supported file version for downloaded static Dictionaries."
* commit '62cbaba715878ea31811d4fc7300741510931f6d':
  Update the MAX supported file version for downloaded static Dictionaries.
2015-02-27 21:18:30 +00:00
Mohammadinamul Sheik 62cbaba715 Merge "Update the MAX supported file version for downloaded static Dictionaries." 2015-02-27 21:09:04 +00:00
Dan Zivkovic 24c275ccb9 Label empty suggestions.
When talkback is enabled, empty strings will have a content description.

Bug 19479836.

Change-Id: I25679a2bdeff238a5330ba406d5bc7e6e2868ba1
2015-02-27 12:44:28 -08:00
Dan Zivkovic 29de00a52d am 69c04cad: Race condition in cursor move.
* commit '69c04cadc7c017f9de53f13ea045347b80316d4a':
  Race condition in cursor move.
2015-02-27 18:36:42 +00:00
Mohammadinamul Sheik 377ba98b75 Update the MAX supported file version for downloaded static Dictionaries.
Change-Id: I72d37cc21585b18f4a41ff32627024502f10e993
2015-02-27 10:30:23 -08:00
Dan Zivkovic 69c04cadc7 Race condition in cursor move.
The method WordComposer.moveCursorByAndReturnIfInsideComposingWord() iterates
through all the code points in the word that's currently being composed, and
it tries to adjust the cursor position by a given amount (left or right).
It copies the code points to a new array while processing. But the code point
count comes from a member variable. If the member variable changes while the
method is processing the copy of the code points, it can run over the length
of the code point array.

Bug 18876474.

Change-Id: Ib3a2d90a4e82b76d381efa774e6b3d6bca99c869
2015-02-27 10:29:47 -08:00
Jatin Matani 730151b3f4 am c83352d5: Merge "Refresh pref settings for cloud sync"
* commit 'c83352d527bbae430f52b6494ad3e391d950520a':
  Refresh pref settings for cloud sync
2015-02-26 22:15:45 +00:00
Jatin Matani c83352d527 Merge "Refresh pref settings for cloud sync" 2015-02-26 22:10:02 +00:00
Jatin Matani 8ec328fb2e Refresh pref settings for cloud sync
- Show the opt-in text
- Show the account picker if user presses 'enable sync'. Previously
  we disabled the sync pref which was confusing.
- Remove the debug tags from some prefs; and improve messaging overall

General rules;
- sync is turned ON : user checks 'enable sync' pref AND
  accepts the opt-in AND chooses an account
- sync is turned OFF: when user signs out

Demo link
https://drive.google.com/a/google.com/file/d/0B9tNQOWdRuiWSUdVVE5rVDJudlk/view?usp=sharing

Change-Id: I2e7933796b15e47005ba9970a8c1294416ef31a0
2015-02-26 11:43:42 -08:00
Dan Zivkovic e0c1315966 am edd94a44: Ignore the Emoji key when not connected.
* commit 'edd94a449e293c07779ac50e98aca3ad92910d92':
  Ignore the Emoji key when not connected.
2015-02-26 19:33:49 +00:00
Dan Zivkovic edd94a449e Ignore the Emoji key when not connected.
When the LatinIME does not have an active InputConnection, it will not try
to toggle the Emoji keyboard.

Bug 19513415.

Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
2015-02-26 11:10:37 -08:00
Jatin Matani c8828eb8b4 am 48b07124: Merge "Share decoders among latinime components."
* commit '48b071249cd662a5448ae0178e16b0b5026ee4cf':
  Share decoders among latinime components.
2015-02-26 18:00:12 +00:00
Jatin Matani 48b071249c Merge "Share decoders among latinime components." 2015-02-26 17:54:26 +00:00
Dan Zivkovic 1512af3662 am 7d7f0820: Stop waking up to decay dynamic dictionaries.
* commit '7d7f082075768c03e4b1d4b84ba2e6ef6cba1132':
  Stop waking up to decay dynamic dictionaries.
2015-02-26 04:36:00 +00:00
Dan Zivkovic 7d7f082075 Stop waking up to decay dynamic dictionaries.
Bug 19516048.

Change-Id: Ibc27a792b4fa80fa8c6af4721c47a617526e9584
2015-02-25 20:13:59 -08:00
Dan Zivkovic 458cc72c15 am e4619f02: Merge "Don\'t assume that correctable words are invalid"
* commit 'e4619f029e84fd845b0771871218274b99c30ffa':
  Don't assume that correctable words are invalid
2015-02-26 03:48:37 +00:00
Dan Zivkovic e4619f029e Merge "Don't assume that correctable words are invalid" 2015-02-26 03:44:20 +00:00
Mohammadinamul Sheik d11e4cd964 am 48ba1ea1: Merge "Make DictionaryFactory.killDictionary public"
* commit '48ba1ea19f7e18a24813a9301ed620612c2e53d7':
  Make DictionaryFactory.killDictionary public
2015-02-26 03:37:56 +00:00
Mohammadinamul Sheik 48ba1ea19f Merge "Make DictionaryFactory.killDictionary public" 2015-02-26 03:33:08 +00:00
Dan Zivkovic 5551302d27 Don't assume that correctable words are invalid
Currently, the Delight3DictionaryFacilitator sets a boolean flag when the top
suggestion score exceeds the auto-correction threshold. This flag is used to
trigger auto-correction of the typed word. Also, the existing logic assumes
that if allowsToBeAutoCorrected then the word is invalid, which is no longer
true after we stopped using whitelists.

Bug 19518376.

Change-Id: Ifa7f6a09c07d25ac68c6cf3aec91f358bd88689f
2015-02-25 17:59:58 -08:00
Mohammadinamul Sheik 20fb37afee Make DictionaryFactory.killDictionary public
Change-Id: I9a0733392651714b3ba232cdb805565a5238eb93
2015-02-25 17:53:35 -08:00
Jatin Matani b684d2d2e4 Share decoders among latinime components.
Change-Id: I6c8d3cf10e05e606308cea42d1e935a415ada9f8
2015-02-25 17:48:30 -08:00
Mario Tanev 86ae0ffe9d am 487e038f: Use Keyboard in several interfaces.
* commit '487e038ff329b6099ff5343fb2d7bdc60a6fd699':
  Use Keyboard in several interfaces.
2015-02-26 01:34:54 +00:00
Mario Tanev 487e038ff3 Use Keyboard in several interfaces.
Simplify interfaces by passing Keyboard instead of
KeyboardLayout and ProximityInfo directly.  Also require
the Keyboard passed be non-null and change the SpellChecker
to bail out if there is no keyboard for the locale.

Change-Id: I960f15ff60171f55d3e0a96fd6469b7dc3a045e2
2015-02-25 17:20:00 -08:00
Dan Zivkovic 6e8c45a4da am ed378c78: Auto-correct without whitelist in Delight3.
* commit 'ed378c78a15757c7386d84c6cd7470d56ed00c76':
  Auto-correct without whitelist in Delight3.
2015-02-25 21:25:12 +00:00
Dan Zivkovic ed378c78a1 Auto-correct without whitelist in Delight3.
Bug 19390471.

Change-Id: Ie09b916ca80591c98f48ae1d74d4fd5b0c5d6b33
2015-02-25 11:47:43 -08:00
Martin Paraskevov 2d91e5419f am 2b8d763c: Pass ComposedData to the decoder instead of WordComposer.
* commit '2b8d763c65b2482fcdc7efe301907ac18133fa42':
  Pass ComposedData to the decoder instead of WordComposer.
2015-02-25 02:27:21 +00:00
Martin Paraskevov 2b8d763c65 Pass ComposedData to the decoder instead of WordComposer.
Change-Id: I8bd544d03d9087a02294b08a9986cad229dae795
2015-02-24 17:59:47 -08:00
Mario Tanev af096dff14 am a3ac6f24: Merge "Don\'t call resetDictionaries if DictionaryFacilitatorLruCache.get() hasn\'t been called yet. This breaks the AOSP SpellChecker. This seems to be a bug introduced recently, when the DictionaryFacilitatorLruCache was turned into a "cache" of 1 elemen
* commit 'a3ac6f24cc6a22651e09a1bf7fc018d4af945333':
  Don't call resetDictionaries if DictionaryFacilitatorLruCache.get() hasn't been called yet. This breaks the AOSP SpellChecker.  This seems to be a bug introduced recently, when the DictionaryFacilitatorLruCache was turned into a "cache" of 1 element.
2015-02-25 00:25:09 +00:00
Mario Tanev a3ac6f24cc Merge "Don't call resetDictionaries if DictionaryFacilitatorLruCache.get() hasn't been called yet. This breaks the AOSP SpellChecker. This seems to be a bug introduced recently, when the DictionaryFacilitatorLruCache was turned into a "cache" of 1 element." 2015-02-25 00:20:32 +00:00
Mohammadinamul Sheik 85c78f7124 am 24c28243: Do not crash when dictioanryInfo is NULL
* commit '24c282437dd7dd4b135e3410b5459ca83d304524':
  Do not crash when dictioanryInfo is NULL
2015-02-24 23:57:21 +00:00
Mario Tanev 1a6d01b61e Don't call resetDictionaries if DictionaryFacilitatorLruCache.get()
hasn't been called yet. This breaks the AOSP SpellChecker.  This seems
to be a bug introduced recently, when the
DictionaryFacilitatorLruCache was turned into a "cache" of 1 element.

Change-Id: I55f6c18b274c9a33fd62cb25bcd02f64788d5ff0
2015-02-24 15:56:43 -08:00
Mohammadinamul Sheik 24c282437d Do not crash when dictioanryInfo is NULL
Bug: 19417599
Change-Id: I82174401c595b57b42fc74bc478b551869729ba6
2015-02-24 15:45:10 -08:00
Jatin Matani 3c0997c961 am f7058c2a: Merge "Pass long timestamps to DictionaryFacilitator"
* commit 'f7058c2a89d3e081b2a279ef4853409924d42346':
  Pass long timestamps to DictionaryFacilitator
2015-02-24 21:01:53 +00:00
Jatin Matani f7058c2a89 Merge "Pass long timestamps to DictionaryFacilitator" 2015-02-24 20:57:34 +00:00
Tom Ouyang 30a9af899f am edb2d238: Check for null TextRange in InputLogic.unlearnWordBeingDeleted
* commit 'edb2d2380214fa3a6d5416cc916f58360214d123':
  Check for null TextRange in InputLogic.unlearnWordBeingDeleted
2015-02-24 20:07:20 +00:00
Tom Ouyang edb2d23802 Check for null TextRange in InputLogic.unlearnWordBeingDeleted
Change-Id: Ia0df0ab740c76185f94966f59a74a6ebdd1cffe8
2015-02-24 11:30:42 -08:00
Mohammadinamul Sheik 57b2d854b3 am 1d5ec613: Use DECODER_DICT_SUFFIX on fallback to the default main dict resource.
* commit '1d5ec6136cf2d2c84453120407957ddb64c7b2b7':
  Use DECODER_DICT_SUFFIX on fallback to the default main dict resource.
2015-02-24 01:33:33 +00:00
Mohammadinamul Sheik 1d5ec6136c Use DECODER_DICT_SUFFIX on fallback to the default main dict resource.
Change-Id: Icec45c364732c0aa9ac713846cad23439b9e42b5
2015-02-23 17:25:08 -08:00
Jatin Matani 94b8523566 Pass long timestamps to DictionaryFacilitator
Change-Id: I95500f210ed409c0ff254b08b68fe3b5b59ba4f4
2015-02-23 16:50:02 -08:00
Mohammadinamul Sheik 95b179e699 am bae3c4ba: Merge "Make checksum and header checks decoder dependent."
* commit 'bae3c4bac563d2379b462334b55ee78cc24ba0a0':
  Make checksum and header checks decoder dependent.
2015-02-23 21:53:10 +00:00
Mohammadinamul Sheik bae3c4bac5 Merge "Make checksum and header checks decoder dependent." 2015-02-23 21:47:28 +00:00
Chieu Nguyen fd35422dfa am 53b4bfdb: Merge "Add StatsUtils method for handling subtype change."
* commit '53b4bfdba01477860993bff29eefc337e3fd1d99':
  Add StatsUtils method for handling subtype change.
2015-02-23 19:18:13 +00:00
Chieu Nguyen 53b4bfdba0 Merge "Add StatsUtils method for handling subtype change." 2015-02-23 19:11:15 +00:00
Dan Zivkovic 3466a3bd7e am 08f3cdb3: Hide app icon when keyboard is a system app.
* commit '08f3cdb3c87e56ac62f5ac3c573beade592b4b06':
  Hide app icon when keyboard is a system app.
2015-02-23 18:29:55 +00:00
Dan Zivkovic 08f3cdb3c8 Hide app icon when keyboard is a system app.
The objective is to show an app icon when the user installs the keyboard from
the Play Store, but not show the icon when it comes from the system image.
The latter rule applies to AOSP keyboards and to the Google Keyboard on a
Nexus device.

This change partially reverts ag/613096.

Bug 19001197.

Change-Id: Icb202deffe9f1ab2bde9b3c9d221347da6793a19
2015-02-23 10:21:20 -08:00
Mohammadinamul Sheik eeeec21bac Make checksum and header checks decoder dependent.
Change-Id: I0ec4aa69d9b5f013ae926cc368e25225d9d3073b
2015-02-20 18:30:23 -08:00
Jatin Matani c372b3bce4 am 1c11f3fe: Merge "Remove unused APIs in DIctionaryFacilitator"
* commit '1c11f3fe0ef5e92af3f8c1c9f9e157ea400c6c35':
  Remove unused APIs in DIctionaryFacilitator
2015-02-21 01:22:34 +00:00
Jatin Matani 1c11f3fe0e Merge "Remove unused APIs in DIctionaryFacilitator" 2015-02-21 01:17:25 +00:00
Jatin Matani 83e9a29c33 Remove unused APIs in DIctionaryFacilitator
Change-Id: Iae20a0a3b7c1aa0c2f6d29cef780fb50dc9010cb
2015-02-20 11:19:27 -08:00
Dan Zivkovic f1ce7e1c53 am fe3c4ef9: Merge "Spell checker uses cache of size 1."
* commit 'fe3c4ef9401d7cdcf07498d97820980fa90528fb':
  Spell checker uses cache of size 1.
2015-02-20 19:11:16 +00:00
Dan Zivkovic fe3c4ef940 Merge "Spell checker uses cache of size 1." 2015-02-20 19:06:48 +00:00
Dan Zivkovic 29aa3df3da Spell checker uses cache of size 1.
This is a step in the direction of removing the LRU cache completely.

Change-Id: I8886f7ef74e6b1b35135e68f169cb461682964e9
2015-02-20 11:05:44 -08:00
Jatin Matani b42013ae4f am 01b02373: Add tests for Contact* classes
* commit '01b023730ee3d86d60016c21915608376c724442':
  Add tests for Contact* classes
2015-02-20 18:01:07 +00:00
Jatin Matani 01b023730e Add tests for Contact* classes
Also add empty implementation for dictionary
facilitator iteration APIs
Change-Id: Ia847e3faa75075c819fcfda89193d1024d2d5aca
2015-02-20 09:14:27 -08:00
Dan Zivkovic 6ed6306e1f am 40b75456: Rename in preparation of caching an instance.
* commit '40b754565ce86247e2ae95e9de6b54b53a35fca8':
  Rename in preparation of caching an instance.
2015-02-20 01:16:26 +00:00
Dan Zivkovic 40b754565c Rename in preparation of caching an instance.
Change-Id: I112c957e20d4573daaa71aa218b575037585385c
2015-02-19 15:41:58 -08:00
Dan Zivkovic 4b0697938b am 3bfc9d46: Merge "Schedule with 0 delay is the same as execute."
* commit '3bfc9d46923a2f769ac2072ac817b01b720fabb2':
  Schedule with 0 delay is the same as execute.
2015-02-19 22:51:46 +00:00
Dan Zivkovic 3bfc9d4692 Merge "Schedule with 0 delay is the same as execute." 2015-02-19 22:42:55 +00:00
Dan Zivkovic c38d83eb1a am 7041313f: Merge "If contacts observer is running, return early."
* commit '7041313f717db3bc89db46c9c59703bd99366095':
  If contacts observer is running, return early.
2015-02-19 22:20:25 +00:00
Dan Zivkovic 6a000183c5 Schedule with 0 delay is the same as execute.
Change-Id: Ifadae8aee668edbe2b507735d3ed6e68d52ef329
2015-02-19 14:19:23 -08:00
Dan Zivkovic 7041313f71 Merge "If contacts observer is running, return early." 2015-02-19 22:16:33 +00:00
Tom Ouyang c47894641b am 076f76cc: Merge "Add more options for calling removeWordFromPersonalizedDicts."
* commit '076f76cc124a98906e643147dc6867488bdbf491':
  Add more options for calling removeWordFromPersonalizedDicts.
2015-02-19 21:37:37 +00:00
Tom Ouyang 076f76cc12 Merge "Add more options for calling removeWordFromPersonalizedDicts." 2015-02-19 21:31:38 +00:00
Tom Ouyang edea47ff2e Add more options for calling removeWordFromPersonalizedDicts.
Bug: 19441205

Change-Id: I41aff536a64271d2dc9489a20df33d64170756cc
2015-02-19 12:03:42 -08:00
Dan Zivkovic 705b118672 If contacts observer is running, return early.
Change-Id: I084a251b0f72288243c73b6166d992b427449635
2015-02-19 11:54:18 -08:00
Dan Zivkovic e3e7589f85 am 0b03f13c: Sanitize the usage of executors.
* commit '0b03f13cabec84d2d841fde47ce9fec0d531b6a1':
  Sanitize the usage of executors.
2015-02-19 19:49:07 +00:00
Dan Zivkovic 0b03f13cab Sanitize the usage of executors.
There should be 1 executor each for static and dynamic language models.
This prevents too many dynamic LM updates from running in parallel,
competing for resources.

Change-Id: I8ec439e0ea2d92fba275bc20a0b8c9193346a0c1
2015-02-19 11:40:57 -08:00
Chieu Nguyen 40833d2dd7 Add StatsUtils method for handling subtype change.
Change-Id: I0f334ab5e6f5aa41ad780641276dc3d2aa232f48
2015-02-18 16:00:59 -08:00
Mohammadinamul Sheik baefd1c87e am 95711bfc: Add Decoder specific dictionary suffix to resource lookup
* commit '95711bfcee07d848883316cf07439408f5b332a1':
  Add Decoder specific dictionary suffix to resource lookup
2015-02-13 07:19:55 +00:00
Mohammadinamul Sheik 95711bfcee Add Decoder specific dictionary suffix to resource lookup
Change-Id: Ia2c74acdc8ac6f7b605bb06a1078d23b32f388a1
2015-02-12 19:56:46 -08:00
Dan Zivkovic 920b3fd32a am cf84f8ce: Switch from script to language codes.
* commit 'cf84f8ce0c65923dc9a66e386c17ab9de338accf':
  Switch from script to language codes.
2015-02-13 00:09:43 +00:00
Dan Zivkovic cf84f8ce0c Switch from script to language codes.
Unfortunately, our Locale objects don't always have a script code.
But we can get almost the same functionality by specifying script
codes for some languages, and defaulting the rest to Latin.

Change-Id: Id81ff67bf44c84f44707a2e167c2787c60c6ecee
2015-02-12 15:42:25 -08:00
Dan Zivkovic 07d64c553d am 98596e51: Map ISO 15924 codes to internal IME script codes.
* commit '98596e51a1ec262bd0f90154e156928e1458d4fc':
  Map ISO 15924 codes to internal IME script codes.
2015-02-12 19:23:33 +00:00
Dan Zivkovic 98596e51a1 Map ISO 15924 codes to internal IME script codes.
This way we can support all the languages for which we define a script code.

Bug 19340741.

Change-Id: Ia80eca4cc2511b70f11058f73bd31746948ded19
2015-02-12 11:00:06 -08:00
Jatin Matani 2a307fdd0a am 4084fa5c: Refactor content provider code from ContactsDict
* commit '4084fa5caeee09ef7993957c5e922dab14c57f3f':
  Refactor content provider code from ContactsDict
2015-02-12 00:39:30 +00:00
Jatin Matani 4084fa5cae Refactor content provider code from ContactsDict
Break contacts binary dictionary into two parts
- one that talks to contacts content provider and maintains
  local state. Includes a manager class and a content observer
- other one that just manages the dict code.

Change-Id: Ie8f89ac9ce174c803ff3168ee0bee5cbe7721d5b
2015-02-11 16:29:14 -08:00
Dan Zivkovic 28f9aa1fad am 5254c01d: Fix master build.
* commit '5254c01d4cc024527479d4dc5fab2ed2516c395c':
  Fix master build.
2015-02-11 23:04:40 +00:00
Dan Zivkovic 5254c01d4c Fix master build.
For some reason, we can't import android.os package in our Constants.

Change-Id: I357ed72d13c5039a83c6e2489cdf5ef74d0ffea8
2015-02-11 13:32:13 -08:00
Dan Zivkovic fe674a441f am 12d80ebe: Remove shortcut support from LatinIME.
* commit '12d80ebead6a1d7f704a5a3af3b6fe3313ceab05':
  Remove shortcut support from LatinIME.
2015-02-11 21:11:52 +00:00
Dan Zivkovic 12d80ebead Remove shortcut support from LatinIME.
Note this change does not affect the native decoder interface.

Change-Id: I73b7dc008a5acaf75a31a36a2d332b5afabd82d0
2015-02-11 13:02:41 -08:00
Mario Tanev 1c7d6283fc am 2979fad2: Merge "Add new class spellcheck.UserDictionaryLookup that can look up the system "Personal dictionary" in the event that the DictionaryFacilitator doesn\'t."
* commit '2979fad21384bb595ba2baca8f5bbbfc053be921':
  Add new class spellcheck.UserDictionaryLookup that can look up the system "Personal dictionary" in the event that the DictionaryFacilitator doesn't.
2015-02-10 23:32:09 +00:00
Mario Tanev 2979fad213 Merge "Add new class spellcheck.UserDictionaryLookup that can look up the system "Personal dictionary" in the event that the DictionaryFacilitator doesn't." 2015-02-10 23:25:50 +00:00
Jatin Matani 5bfe1c5697 am a7805e98: Add a addOrIncrement term api to DicFacilitator
* commit 'a7805e9870430eac3049129d47bebb312d457477':
  Add a addOrIncrement term api to DicFacilitator
2015-02-10 21:41:29 +00:00
Jatin Matani a7805e9870 Add a addOrIncrement term api to DicFacilitator
The API is used by the decoder to add term to the
dictionary.

Change-Id: I607c8c676b7650f3052b2d3ed3f7f656573fca45
2015-02-10 11:45:54 -08:00
Mario Tanev 8aa310aa5a Add new class spellcheck.UserDictionaryLookup that can look up the
system "Personal dictionary" in the event that the DictionaryFacilitator
doesn't.

Change-Id: Ib4f15ec4d8f06ea43c2e063f5a13a2f699afbb8a
2015-02-10 10:56:35 -08:00
Dan Zivkovic e18ab4a7c7 am 644a709a: Remove distracter filter from client.
* commit '644a709a5fec65c3ac1c96f18af397458fac7658':
  Remove distracter filter from client.
2015-02-09 21:03:55 +00:00
Dan Zivkovic 644a709a5f Remove distracter filter from client.
Bug 19296201.

Change-Id: Ic834e5956347cd86a96bd14024c42ad8ee258659
2015-02-09 11:52:12 -08:00
Mohammadinamul Sheik 2c36c9944e am aadfef6f: Merge "Move decoder specific constants to DecoderSpecificConstants.java"
* commit 'aadfef6ffaf4fd4249a92252e401cbd98cf79d54':
  Move decoder specific constants to DecoderSpecificConstants.java
2015-02-06 22:52:26 +00:00
Mohammadinamul Sheik aadfef6ffa Merge "Move decoder specific constants to DecoderSpecificConstants.java" 2015-02-06 22:46:08 +00:00
Dan Zivkovic 3237983b37 am d6a8adcb: Cleanup in preparation of distracter change.
* commit 'd6a8adcb044dd8b73a1c96776a835b411a978b46':
  Cleanup in preparation of distracter change.
2015-02-06 22:29:27 +00:00
Dan Zivkovic d6a8adcb04 Cleanup in preparation of distracter change.
Bug 19296201.

Change-Id: If016da2b7f4b3ecb9afd6d7aed9d19fbd4938758
2015-02-06 14:25:37 -08:00
Mohammadinamul Sheik 0f7d881dc7 Move decoder specific constants to DecoderSpecificConstants.java
Change-Id: Ie4d325b3152e1e7e424b8b436e222e194e4d9da0
2015-02-05 13:27:36 -08:00
Chieu Nguyen 02ffa6c3c0 am 608ef472: Merge "Add accessor methods for typed word info to SuggestedWords and for word and source dictionary to SuggestedWordInfo."
* commit '608ef4729c26dca2be48eb72f372a278a03ff26d':
  Add accessor methods for typed word info to SuggestedWords and for word and source dictionary to SuggestedWordInfo.
2015-02-05 03:22:03 +00:00
Chieu Nguyen 608ef4729c Merge "Add accessor methods for typed word info to SuggestedWords and for word and source dictionary to SuggestedWordInfo." 2015-02-05 03:16:45 +00:00
Dan Zivkovic 0e86b8dae7 am 23d19626: Use shared constants in old+new facilitators.
* commit '23d19626f3edd142eab2c58e41e40fdfc27b8b2b':
  Use shared constants in old+new facilitators.
2015-02-05 03:12:59 +00:00
Dan Zivkovic 23d19626f3 Use shared constants in old+new facilitators.
Change-Id: I18b701df6ecbcc20ff0c664c218289179c4b2b2d
2015-02-04 18:55:39 -08:00
Chieu Nguyen 4e94109031 Add accessor methods for typed word info to SuggestedWords and for word
and source dictionary to SuggestedWordInfo.

Change-Id: Ic3bdf67a9edd5352f3b911f5cb72a25986e31e2c
2015-02-04 18:35:20 -08:00
Dan Zivkovic a02f82c48d am 6e0467c2: Fix accidentally inverted if check.
* commit '6e0467c20e51bc64f494141cecdfc0fe560d749b':
  Fix accidentally inverted if check.
2015-02-05 02:31:07 +00:00
Dan Zivkovic 68946c796d am c0eb5712: Don\'t check user dictionary, except for spelling.
* commit 'c0eb57124fd295ceb85c3350de3189c40594ee96':
  Don't check user dictionary, except for spelling.
2015-02-05 02:31:05 +00:00
Dan Zivkovic 6e0467c20e Fix accidentally inverted if check.
Change-Id: I9c28f4154f69c63564a2bda357c16cef4e68dc0d
2015-02-04 18:23:38 -08:00
Dan Zivkovic c0eb57124f Don't check user dictionary, except for spelling.
We check different lists of dictionaries based on the use case.

Bug 19270992.

Change-Id: Ide69f2855978ebad32a58e9689b3a8d47e095994
2015-02-04 18:23:38 -08:00
Dan Zivkovic 74198f967a am c4977b5f: Merge "Removing code from RichInputConnection."
* commit 'c4977b5f8990ce73a7c9c26daa5b7cfb201fe024':
  Removing code from RichInputConnection.
2015-02-05 02:10:59 +00:00
Dan Zivkovic 7bb8e5083a am 7b2646dd: Merge "Selections spans should not split surrogate pair."
* commit '7b2646dd58769f7c4a078febfb79810b953bf2ad':
  Selections spans should not split surrogate pair.
2015-02-05 02:10:58 +00:00
Mohammadinamul Sheik 124039cfe1 am bae68484: Merge "AOSP changes to use KeyboardLayout to support the new DictionaryFacilitator"
* commit 'bae6848434c0618887bd3fd441dd5ce16a2375fd':
  AOSP changes to use KeyboardLayout to support the new DictionaryFacilitator
2015-02-05 02:10:56 +00:00
Dan Zivkovic baf0bd90a3 am c71e4d65: Remnant of green [+] feature.
* commit 'c71e4d65343bf782d80ce508786befa6ee3261cf':
  Remnant of green [+] feature.
2015-02-05 02:10:54 +00:00
Dan Zivkovic c4977b5f89 Merge "Removing code from RichInputConnection." 2015-02-05 01:14:46 +00:00
Dan Zivkovic a6d2cf5ec7 Removing code from RichInputConnection.
Followup CL that removes some more unused methods and variables.

Change-Id: I4163c7cd017f59d1fd445adb6294fc89dcaafe6e
2015-02-04 16:47:56 -08:00
Dan Zivkovic 7b2646dd58 Merge "Selections spans should not split surrogate pair." 2015-02-05 00:47:29 +00:00
Mohammadinamul Sheik bae6848434 Merge "AOSP changes to use KeyboardLayout to support the new DictionaryFacilitator" 2015-02-05 00:44:10 +00:00
Dan Zivkovic f3c319fb8a Selections spans should not split surrogate pair.
When committing a span after a revert, the offset logic was such that it
split a surrogate unicode pair used to express an emoji.
Checking the last character of the span lets us avoid this problem.

Fix for bug 19255233.

Change-Id: I07d18d9002b5075f7925319dd05962011656c311
2015-02-04 16:35:18 -08:00
Mohammadinamul Sheik b00c054125 AOSP changes to use KeyboardLayout to support the new DictionaryFacilitator
Change-Id: Ie0c9ce805d9ad009fc9bbaac37b715aff90cd844
2015-02-04 12:50:31 -08:00
Dan Zivkovic c71e4d6534 Remnant of green [+] feature.
Change-Id: I059b1062e1d73b2fa439d9d4ee04ff0182795335
2015-02-04 11:57:16 -08:00
Dan Zivkovic e105a6fde0 am 0d3f01f3: Remove last vestiges of contextual+personal dictionary.
* commit '0d3f01f3014e7a519b08c9337bc4b73670f741ef':
  Remove last vestiges of contextual+personal dictionary.
2015-02-04 19:44:55 +00:00
Dan Zivkovic 0d3f01f301 Remove last vestiges of contextual+personal dictionary.
Change-Id: I20746381583ee8a4d7d42b1243f5c7ba45529e5e
2015-02-04 11:38:19 -08:00