Commit Graph

7631 Commits (52d220e71b2840b35d143afd248fe33e2cfebe91)

Author SHA1 Message Date
Keisuke Kuroynagi 65db026265 Fix: release lock in UserHistoryDictionary.
Change-Id: I050c252910c6b5b0a79cd2d52c525679f2d6091d
2013-07-04 23:12:49 +09:00
Keisuke Kuroynagi f8d2796724 Add methods for dynamic updating binary dictionary.
Bug: 6669677
Change-Id: I7e681ceec2af712214a647630350cb20be6b0354
2013-07-04 21:17:49 +09:00
Keisuke Kuroynagi edd1992ed3 DictionaryWriter to abstract binary dictionary writing.
UserHistoryDictionary should become to use ExpandableBinaryDictionary.

Bug: 6669677

Change-Id: I6831c7dd2d84207d1a8f51ba15d52e0a72205d0c
2013-07-04 21:06:04 +09:00
Tadashi G. Takaoka fe202d6738 Add Azerbaijani keyboard
Bug: 7963448
Change-Id: I39c192b342278e82e30ac6ef12c6d150c817ae70
2013-07-04 14:47:33 +09:00
Tadashi G. Takaoka 0e007eaff6 Add Kazakh keyboard
Bug: 9697273
Change-Id: Ic9943569ed60d601f093181bf135e45a25399121
2013-07-04 13:10:38 +09:00
Kurt Partridge 6d7c647470 Do not output string-encoded MotionEvent.
JsonUtils knows how to output MotionEvents into json; that mechanism
should be reused for SuddenJumpingTouchEventHandler.

Change-Id: Id4c36c05533a3a329bf43ba33d57c0830dc4d196
2013-07-03 10:13:59 -07:00
Keisuke Kuroynagi 55de0bd981 Merge "Use ReentrantReadWriteLock in ExpandableBinaryDictionary." 2013-07-03 11:39:17 +00:00
Tadashi G. Takaoka 5b3a54fada Add missing letter THEH to Perisan keyboard layout
With this change, the phone keyboard layout use quite similar one of
the oridinal PC.  The differences from the ordinal PC keyboard layout
are:

- Add letter JEH between letter TAH and ZAIN at 3rd row.
- Move letter TCHEN from the most left of 1st row to the most left of
  3rd row.

The tablet keyboard layout is the same of of the phone except:

- Add letter ALEF with MADDA above between letter WAW and letter TCHEN
  at 3rd row.

This change also moves the delete key and the enter key on tablet to
1st and 2nd row respectively.

Bug: 9371393
Change-Id: I964589055eb15549fe20e5ec45e02f7dc6b5686e
2013-07-03 19:50:14 +09:00
Tadashi G. Takaoka 614347bfd9 Add missing letter THEH to Arabic keyboard layout
With this change, the tablet keyboard layout both 7inch and 10inch use
quite similar one of the ordinal PC.  The differences from the ordinal
PC keyboard layout are:

- Move letter THAL from the most left of digits' row to the most left
  of 3rd row.
- Move letter DAL from the most right of 1st row to the most right of
  3rd row.
- Omit ligature LAM with ALEF from 3rd row and move to more keys of
  letter LAM on 2nd row.

The phone keyboard layout is the same one of the tablet except:

- Omit letter YEH with HAMZA avobe from 3rd row and move to more keys
  of letter ALEF MAKSURA on 3rd row.

Bug: 9371393
Change-Id: I1cd164ce7c1c3a5cae67b9985f1b167aef028ca0
2013-07-03 19:49:16 +09:00
Keisuke Kuroynagi 0b1c08bf5a Use ReentrantReadWriteLock in ExpandableBinaryDictionary.
Bug: 6669677

Change-Id: I2acde0517d5ed5cbd7b7149709e35fc36651335d
2013-07-03 19:46:08 +09:00
Tadashi G. Takaoka f87e8f7ec1 Handling key repeat by emulating key press and code input
This change also eliminates a reference of
AudioAndHapticFeedbackManager from KeyboardSwitcher and MainKeyboard.

Bug: 6522943
Change-Id: Iac42ec8ff00c66deb76a660ffc07477923a58959
2013-07-02 19:50:34 +09:00
Jean Chalard e5a3b77664 Merge "Move Range out of RichInputConnection and rename it." 2013-07-01 07:20:51 +00:00
Keisuke Kuroynagi 109ba3ace3 Merge "Regenerate old version dictionaries using new format." 2013-07-01 07:16:15 +00:00
Jean Chalard 70ee2201a0 Merge "Do not re-resume suggestion if it's not needed." 2013-07-01 07:12:24 +00:00
Jean Chalard 675bcf191c Move Range out of RichInputConnection and rename it.
Range has grown a bit too big to stay an internal class.

Change-Id: Ic3fbc48a5d10776eedd7559c4d696e5926b88288
2013-07-01 15:41:13 +09:00
Keisuke Kuroynagi a62b5b22ef Regenerate old version dictionaries using new format.
Bug: 9617181
Change-Id: I228a3eac959f81b38e4092015e8e3c429d46fa60
2013-07-01 15:25:33 +09:00
Jean Chalard 3f0858eb2b Fix a bug where no URL means refresh never ends
This patch does two things:
- If there is no URL to download new data from, then the
Refresh button is not shown.
- Even if for some reason refresh starts for a client for
which there is no URL, loading correctly finishes.

Bug: 9388602
Change-Id: I3fd9214da50faa4b59d0bd3e775293dd34f07547
2013-07-01 14:47:30 +09:00
Jean Chalard f0af452ce2 Do not re-resume suggestion if it's not needed.
This is much better interface-wise. It eliminates all blinking
of the line in the practice.

Bug: 8874148
Bug: 8864306
Change-Id: I87754e44784327c2e9c8b162d598d145e20668e8
2013-07-01 14:40:12 +09:00
Kurt Partridge 8142a7b637 Merge "Record number of words entered" 2013-06-28 17:01:18 +00:00
Jean Chalard a5e28acf63 Merge "Fix a bug where AOSP Latin IME would not fill dictionaries" 2013-06-28 13:21:31 +00:00
Jean Chalard 21c3a52914 Merge "Update dictionaries" 2013-06-28 07:52:31 +00:00
Jean Chalard ffe7dbbe7a Update dictionaries
>>> dictionaries/cs_wordlist.combined.gz
Header :
  date : 1355802831 <=> 1372393817
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/de_wordlist.combined.gz
Header :
  date : 1355802835 <=> 1372393817
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/en_GB_wordlist.combined.gz
Header :
  date : 1366272052 <=> 1372393817
  version : 31 <=> 35
Body :
Deleted: Sea 126
Added: LTE 25

>>> dictionaries/en_US_wordlist.combined.gz
Header :
  date : 1366272093 <=> 1372393817
  version : 31 <=> 35
Body :
Added: LTE 25

>>> dictionaries/en_wordlist.combined.gz
Header :
  date : 1366272977 <=> 1372393837
  version : 31 <=> 35
Body :
Deleted: Sea 126
Added: LTE 25

>>> dictionaries/es_wordlist.combined.gz
Header :
  date : 1355802832 <=> 1372393817
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/fr_wordlist.combined.gz
Header :
  date : 1366272255 <=> 1372393818
  version : 31 <=> 35
Body :
Deleted: R'n'B 95
Deleted: count 60
Deleted: d'Inti 34
Added: beurk 25

>>> dictionaries/hr_wordlist.combined.gz
Header :
  date : 1355802836 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/it_wordlist.combined.gz
Header :
  date : 1355802836 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/lt_wordlist.combined.gz
Header :
  date : 1355802843 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/lv_wordlist.combined.gz
Header :
  date : 1355802843 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/nb_wordlist.combined.gz
Header :
  date : 1366003450 <=> 1372393818
  version : 31 <=> 35
Body :
Added: LTE 25

>>> dictionaries/nl_wordlist.combined.gz
Header :
  date : 1355802844 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/ru_wordlist.combined.gz
Header :
  date : 1370244430 <=> 1372393835
  version : 34 <=> 35
Body :
Freq changed: связывание 93 -> 0

>>> dictionaries/sl_wordlist.combined.gz
Header :
  date : 1355802835 <=> 1372393835
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/sr_wordlist.combined.gz
Header :
  date : 1355802853 <=> 1372393835
  version : 29 <=> 35
Body :
Added: LTE 25

>>> dictionaries/sv_wordlist.combined.gz
Header :
  date : 1366003804 <=> 1372393836
  version : 31 <=> 35
Body :
Added: LTE 25

>>> dictionaries/tr_wordlist.combined.gz
Header :
  date : 1355802858 <=> 1372393837
  version : 29 <=> 35
Body :
Added: LTE 25

>>> java/res/raw/main_de.dict
Header :
  date : 1355802835 <=> 1372393817
  version : 29 <=> 35
Body :
Added: LTE 25

>>> java/res/raw/main_en.dict
Header :
  date : 1366272977 <=> 1372393837
  version : 31 <=> 35
Body :
Deleted: Sea 126
Added: LTE 25

>>> java/res/raw/main_es.dict
Header :
  date : 1355802832 <=> 1372393817
  version : 29 <=> 35
Body :
Added: LTE 25

>>> java/res/raw/main_fr.dict
Header :
  date : 1366272255 <=> 1372393818
  version : 31 <=> 35
Body :
Deleted: R'n'B 95
Deleted: count 60
Deleted: d'Inti 34
Added: beurk 25

>>> java/res/raw/main_it.dict
Header :
  date : 1355802836 <=> 1372393818
  version : 29 <=> 35
Body :
Added: LTE 25

>>> java/res/raw/main_ru.dict
Header :
  date : 1370244430 <=> 1372393835
  version : 34 <=> 35
Body :
Freq changed: связывание 93 -> 0

Bug: 9301610
Bug: 9607966
Change-Id: I1117ed85d97fbb0ee50f11bc31776f1970b56f12
2013-06-28 14:54:51 +09:00
Jean Chalard 555c4236db Fix a bug where AOSP Latin IME would not fill dictionaries
There is no reason not to contact the dictionary provider
when we don't have internet permission or when the URL
is empty. It knows how to handle both these cases.

Bug: 9388602
Change-Id: I30c4540551ad2f5e527d3acd1842bbd749feca89
2013-06-28 12:48:41 +09:00
Kurt Partridge 169571b3c0 Record number of words entered
This change records the number of words entered in every LogUnit.
This metric is helpful for determining how much multi-word gestures
and spaceless tapping is used.

Change-Id: I4c6d0f9d78e4ac2dd63fd53ed2ec70b368366f15
2013-06-27 12:30:00 -07:00
Jean Chalard e04794cbbe Fix some warnings
Mostly remove unused imports

Change-Id: If8ceffdfad79b78194094527759f5c334746973e
2013-06-27 21:36:52 +09:00
Satoshi Kataoka 4ded1af210 Improve the language list in the personal dictionary
Bug: 9117704
Change-Id: I26e6f8369a3c7ffa4bb651b4b5a3e6f004121983
2013-06-27 20:31:02 +09:00
Satoshi Kataoka ec69a259c6 Merge "Open an API in ExternalDictionaryGetterForDebug" 2013-06-27 10:32:05 +00:00
Satoshi Kataoka a2bfd46adf Use internal personal dictionary settings on JBMR2 or before
Bug: 9117704
Change-Id: I7e20b03daa23b59211235183cf48d933e32845e4
2013-06-27 19:20:05 +09:00
Satoshi Kataoka bd84a00fc1 Open an API in ExternalDictionaryGetterForDebug
and extend it

Change-Id: Id2ba8dd8928a6327d3b31eb35f7cc314e2d31050
2013-06-27 18:41:07 +09:00
Jean Chalard 2bbd78ab0a Merge "Ignore spans that are not the right size." 2013-06-27 03:06:47 +00:00
Jean Chalard 2f7f6257b6 Ignore spans that are not the right size.
Bug: 8839763
Bug: 8862327
Change-Id: I5d49c86edcbc0fc1b2b147856437cfbadd678377
2013-06-26 23:02:50 +09:00
Ken Wakasa 16c418bebc Merge "Follow-up to I97df1c3d4076fe97657ebc3b086cccd2b97e9a9a" 2013-06-26 11:32:25 +00:00
Jean Chalard 6c0e412137 Merge "Resume suggestion at start input" 2013-06-26 10:18:32 +00:00
Ken Wakasa 0053bc5832 Follow-up to I97df1c3d4076fe97657ebc3b086cccd2b97e9a9a
Change-Id: I741a12508a3a05e2e517e187a7f197e6a661eddb
2013-06-26 18:09:34 +09:00
Ken Wakasa b1b21d4eea Make sure to always keep native methods
Saw a problem with proguard

Change-Id: I97df1c3d4076fe97657ebc3b086cccd2b97e9a9a
2013-06-26 17:58:39 +09:00
Jean Chalard a690f3bc40 Merge "Readability improvement" 2013-06-26 07:37:15 +00:00
Jean Chalard 173f74bb18 Merge "Fixing follow-up to I548d899b" 2013-06-26 07:36:44 +00:00
Jean Chalard fb72890ac6 Readability improvement
Change-Id: I2f350145f333ba1fa4eb20027b0f41107c2df02c
2013-06-26 16:03:40 +09:00
Jean Chalard 7fcf304c97 Fixing follow-up to I548d899b
I548d899b introduced a new method to fix a sync miss between
the cursor position and the cached cursor position, but did not
take into account that it should also update the cached text
before and after the cursor in this case and that there was
already a method for doing this.

Change-Id: I31bd741893207c822827304e77791b1159774e1a
2013-06-26 15:28:42 +09:00
Keisuke Kuroynagi 5bf1be7162 Add jni methods for dynamically handling a dictionary.
Bug: 6669677
Change-Id: I8a26623adbb41a78e3c023c652be635c635e3b47
2013-06-26 12:51:33 +09:00
Baligh Uddin 4da287d0d1 Merge "Import translations. DO NOT MERGE" 2013-06-25 20:15:49 +00:00
Jean Chalard 2f69348d51 Resume suggestion at start input
Bug: 9568410
Change-Id: I65468268f8613c863fa7f3a497b64656da0a221c
2013-06-25 19:38:31 +09:00
Ken Wakasa fd0945b0da Merge "Make UserLogRingCharBuffer an external class" 2013-06-25 09:40:31 +00:00
Ken Wakasa 9419e02fd9 Make UserLogRingCharBuffer an external class
Change-Id: I9d506995337d64ec11c72939a8d739423ee46efa
2013-06-25 18:38:13 +09:00
Jean Chalard 333362adfc Merge "Fix the one-suggestion case." 2013-06-25 09:10:09 +00:00
Jean Chalard d7d5ff1f99 Fix the one-suggestion case.
When there is only one suggestion, this code does
not work. The reason for that is, it's not homogeneous
at all and takes indices of one thing into another.

Not completely related to b/8839763, but realized
working on this and needed to have it addressed.

Bug: 8839763
Change-Id: I422730cc7eebb69ff421a171025af0390ebcdf92
2013-06-25 18:00:30 +09:00
Keisuke Kuroynagi 38b542629a Merge "Add a parameter isUpdatable to the constructor of BinaryDictionary." 2013-06-25 08:44:48 +00:00
Keisuke Kuroynagi 981717da4c Add a parameter isUpdatable to the constructor of BinaryDictionary.
Bug: 6669677
Change-Id: I6bc25131afd97112e3bbde036a81ab559a9a6460
2013-06-25 17:39:06 +09:00
Ken Wakasa 12ef7d3702 Merge "Cleanup under the utils package" 2013-06-25 08:20:57 +00:00
Ken Wakasa 03118a2760 Cleanup under the utils package
Change-Id: If2f7bd1346cc5085bf57645830f0faac44d017e4
2013-06-25 17:09:12 +09:00
Keisuke Kuroynagi 8bc0b51369 Merge "Allow mmapping dictionary file in writable mode in openNative." 2013-06-25 07:09:37 +00:00
Keisuke Kuroynagi f3b62900c7 Allow mmapping dictionary file in writable mode in openNative.
Bug: 6669677
Change-Id: I447668932de118b158fa029ddc977b3f3cc06cb8
2013-06-25 16:03:33 +09:00
Baligh Uddin d2f0d82220 Import translations. DO NOT MERGE
Change-Id: I17e9ad751b1e628c8a60bc2234180a37716d10e9
Auto-generated-cl: translation import
2013-06-24 22:02:24 -07:00
Jean Chalard 10585620bd Merge "Fix a bug in the cached cursor pos, and simplify selection handling" 2013-06-25 05:00:11 +00:00
Kurt Partridge 1fc6b80009 Merge "Move splash screen to separate file" 2013-06-24 13:40:01 +00:00
Jean Chalard cdf774122d Merge "Fix a small bug" 2013-06-24 10:00:05 +00:00
Ken Wakasa bfaf349c35 Load the native lib eagerly
in the hope of avoiding UnsatisfiedLinkError. This is definitely not a
confident fix as we still don't know the root cause of the issue.

bug: 9325110
Change-Id: I1abf8031b98509f63fce6a2d069d497895ea712c
2013-06-24 18:12:04 +09:00
Ken Wakasa bc1813186d Merge "Move util classes to the latin/utils directory" 2013-06-24 08:49:06 +00:00
Tadashi G. Takaoka fadff6ada1 Merge "Fix possible divided by zeror error" 2013-06-24 08:44:17 +00:00
Tadashi G. Takaoka bafe4b8a4e Fix possible divided by zeror error
Bug: 9534022
Change-Id: I5ab575c724fd7a9e80c76a93d83949e81b2970bb
2013-06-24 17:39:36 +09:00
Jean Chalard ca52e1ca5a Fix a small bug
SpannableStrings are not the only type of Spanned, they are
only the mutable kind. SpannedString is the immutable one.
Spanned is the correct class to use there.

Bug: 8839763
Bug: 8862327
Change-Id: Ic5e6199a51f22368914f2748ac2d0d1ca6a33f78
2013-06-24 17:39:17 +09:00
Ken Wakasa e28eba5074 Move util classes to the latin/utils directory
Change-Id: I1c5b27c8edf231680edb8d96f63b9d04cfc6a6fa
2013-06-24 17:04:40 +09:00
Jean Chalard e8c4b99e56 Refactor text range to be able to get spans larger than the word
This changes how the Range class stores its data, but not its
functionality. It also improves encapsulation a bit.

Bug: 8839763
Bug: 8862327
Change-Id: I5bd583b3fc96a99b93a2632882d8fd587c03ab76
2013-06-24 12:31:14 +09:00
Tadashi G. Takaoka 564ad4927c Merge "Enable long-press digit input for tablets" 2013-06-24 01:16:57 +00:00
Kurt Partridge 1a0750dc95 Move splash screen to separate file
Change-Id: I5cad5d5814303d7ca4abadd3fca1c37bd1bc357e
2013-06-22 10:24:13 -07:00
Jean Chalard b7a2fd16a1 Merge "Defer disk-intensive tasks until after the keyboard is shown" 2013-06-21 10:57:33 +00:00
Jean Chalard 673c727b7a Defer disk-intensive tasks until after the keyboard is shown
Bug: 8689779
Change-Id: Ia78d3540f44ec0028c3246a8e0163e9ecf061ecf
2013-06-21 19:41:45 +09:00
Jean Chalard e5dee0af4a Fix a bug in the cached cursor pos, and simplify selection handling
The documentation for setComposingRegion states explicitly
that it does not move the cursor. This is just a bug.
This does not have any ill effects right now, but it will have
in later changes if not fixed.

As for the selection handling, the specific test that this code
removes used to serve a purpose, but it does not any more because
the code using the value has been much sanitized. Now the variable
can just take the obvious value, and become so self-explanatory
that the comments are unnecessary.

Change-Id: I548d899b38776bd3ab5f5361aab0d89d98f12e73
2013-06-21 18:15:07 +09:00
Tadashi G. Takaoka 9b570b5e62 Fix punctuations strip
Bug: 9508186
Change-Id: I8f0fbf4e0578cf9116d4c57e7e5747d38c89387e
2013-06-21 13:22:37 +09:00
Tadashi G. Takaoka ecd3b51444 Enable long-press digit input for tablets
Bug: 6632204
Change-Id: I8a62e78367c87c2fbb8f14575aef98035fa8440e
2013-06-21 13:00:23 +09:00
Baligh Uddin 0c178ffc8e Merge "Import translations. DO NOT MERGE" 2013-06-20 16:41:32 +00:00
Jean Chalard 93f74bafbb Merge "Add tests to dicttool test." 2013-06-20 08:34:38 +00:00
Jean Chalard 23d4eb55ba Add tests to dicttool test.
Bug: 8526576
Change-Id: Idd6f9cd076d5915361c68f5c29afbba67dd54eba
2013-06-20 17:29:37 +09:00
Tadashi G. Takaoka 7937f09264 Lengthen CHAR LIMIT of settings_system_default
Bug: 9495443
Change-Id: Ib52d0ab357e79ae6004411f4b4201570a228bc71
2013-06-20 12:08:37 +09:00
Baligh Uddin d5e245bcaa Import translations. DO NOT MERGE
Change-Id: Ic7508cb2b5098403786af2f2e220d908dab51e8d
Auto-generated-cl: translation import
2013-06-19 15:50:15 -07:00
Tadashi G. Takaoka 9380b56db6 Support digits more keys in Hebrew phone keyboard
Bug: 9431432
Change-Id: Ie1d438e0483022eac97cec52a64e49fbd3c7d503
2013-06-19 10:14:06 +09:00
Tadashi G. Takaoka c90181d6aa Use system default key press volume
Bug: 9475973
Change-Id: I6ae825b161dde69e19b52d73fb9aa782e2aa7423
2013-06-18 21:34:30 +09:00
Tadashi G. Takaoka af69a14c96 Use system default vibration pattern
Bug: 9468462
Change-Id: Ifa46a56873c10888da8eaa2782fe07ef138a141b
2013-06-18 21:33:51 +09:00
Jean Chalard 3b5a503ebf Merge "Optimize ProximityInfo#computeNearestNeighbors()" 2013-06-18 11:45:06 +00:00
Jean Chalard d55baf06d9 Optimize ProximityInfo#computeNearestNeighbors()
This cuts the time spent in computeNearestNeigbors by
a factor of 6 to 20, with an average at about 8.
This method representing about 25% of the total time
spent when switching keyboards, this change is a
20% improvement in layout switching time.

Bug: 8689779
Change-Id: Icb465f6010b317c7156057891c3341e51a198688
2013-06-18 20:33:52 +09:00
Tadashi G. Takaoka 3be8263035 Get value text from ValueProxy
As a preparation to show "system default" in the settings. LatinIME
can't know the actual system default value.

Bug: 9468462
Change-Id: I0b7898d1ca29ded7a619dd636d2ad16eb0db292e
2013-06-18 18:27:17 +09:00
Jean Chalard 2a81943d16 Fix a bug with recapitalization
This is a shameful bug :/

Bug: 9410367
Change-Id: I54ddbcd0323fa2c11fbd2aa8a1b3d2e07f6e83c8
2013-06-17 20:39:06 +09:00
Kurt Partridge 14718ab898 Merge "Log score, kind, and sourceDict for manual suggestion and gesture" 2013-06-14 17:03:03 +00:00
Jean Chalard 78b881bf5a Merge "Fix a bug with long user dict entries" 2013-06-14 08:59:51 +00:00
Tadashi G. Takaoka 97eaa543d5 Don't count Spacer into histograms
Change-Id: I202a25da4e1a722aa35c57665d73bc5990404c4e
2013-06-14 16:21:37 +09:00
Jean Chalard 6233ee3633 Fix a bug with long user dict entries
Bug: 9410958
Change-Id: I966e452c6dbdcb444abbb6ffb316849a7c85a73b
2013-06-14 12:40:35 +09:00
Kurt Partridge fc98325c61 Log score, kind, and sourceDict for manual suggestion and gesture
b/9422713

Change-Id: I4880fad6a5b10d09ca11b63311f14862bee724e5
2013-06-13 11:03:49 -07:00
Jean Chalard 27d9c6f795 Merge "Cache subtype lists reasonably." 2013-06-13 01:49:41 +00:00
Kurt Partridge e72d1a07b6 Merge "Allow downloadable dictionaries in development builds" 2013-06-12 21:22:34 +00:00
Kurt Partridge 3d9ebf213c Merge "Make intents unique to AOSP" 2013-06-12 18:11:17 +00:00
Kurt Partridge 14dd52b8c0 Merge "Adjust settings for development-only versions" 2013-06-12 16:50:55 +00:00
Kurt Partridge eac0eb89f2 Merge "Fix ResearchLogger feedback bug" 2013-06-12 15:38:45 +00:00
Jean Chalard ff6445ed0e Cache subtype lists reasonably.
This will spare a lot of IPC for Latin IME at the cost of very little
retained memory.
This improves the loading by potentially a lot - between 15 and 30%
when the layout is cached (which should now be the case almost every
time), and half that if it's not. More importantly, it makes the
load time less sensitive to high device load, which is one of the
sore points.

Bug: 8689779
Change-Id: I2e07736f1a92c38eed0e203bc690761a181da8b9
2013-06-12 18:04:52 +09:00
Kurt Partridge 2a1a463e2e Adjust settings for development-only versions
Change-Id: I4f08632d97f182d312edc82bda3c3897a71099ad
2013-06-12 02:01:45 -07:00
Tadashi G. Takaoka dfd96be03a Retun an empty Path instead of null
Bug: 9374496
Change-Id: If74306104e9d25288e1b216a328304da376c1bdb
2013-06-12 17:35:02 +09:00
Kurt Partridge 19ba5e67af Fix ResearchLogger feedback bug
If the logger feedback screen is up and the user hits the home button or the
keyboard otherwise closes, the system won't let the user enter feedback again,
because it is waiting for the user to finish the first one.

With this change, the state associated with the feedback screen is
cleared when the user closes the keyboard.

b/9398772

Change-Id: I832a82793ad42e31b6b3fdb04fabcea75facde7d
2013-06-12 00:37:46 -07:00
Kurt Partridge 2c1796c226 Make intents unique to AOSP
This is to avoid confusion if multiple IMEs are installed with
dictionary pack components

Change-Id: Ibc91951e4fdd5db13f681e4cb06197da98527bbc
2013-06-11 15:04:00 -07:00
Baligh Uddin 2933f9e8b3 Merge "Import translations. DO NOT MERGE" 2013-06-11 16:26:45 +00:00
Jean Chalard 4d8f9f1cab Cache three main keyboards to improve average switch time
This typically improves the average loading time by about
35%, after the first time.

Bug: 8689779
Change-Id: I7b0ab6b942af1d3250b9dcbf875f27f9f64692f3
2013-06-11 12:01:56 +09:00
Baligh Uddin 1f140aff16 Import translations. DO NOT MERGE
Change-Id: I211045009e5013d31e4f97ce41c96159d5c5a601
Auto-generated-cl: translation import
2013-06-10 13:26:13 -07:00
Baligh Uddin 8ea77542f9 Merge "Import translations. DO NOT MERGE" 2013-06-07 17:10:49 +00:00
Satoshi Kataoka fe95e7b1bf Merge "Fix possible NPE" 2013-06-07 11:09:52 +00:00
Tadashi G. Takaoka 77f63c8ac6 Don't use RichInputMethodManager in setup wizard
In setup wizard, InputMethodManager may not be able to be aware that
this IME is installed, especially just after the IME is installed via
GooglePlay app and hit the open button on the app to launch the setup
wizard.

Bug: 9299618
Change-Id: I00c8544178b41074253d49ae9481996ec56593d2
2013-06-07 19:09:44 +09:00
Satoshi Kataoka 6c8136d157 Fix possible NPE
Bug: 9314901
Change-Id: Id80f59df38ae72766b097fd1c23326fedd302439
2013-06-07 19:08:58 +09:00
Tadashi G. Takaoka b0e0c5a844 Merge "Defer getting no language subtype" 2013-06-07 10:00:19 +00:00
Jean Chalard 0ad1489625 Fix an illegal argument exception
This is a bit of a shot in the dark, as I really don't see how this
can happen, but this should fix it in the correct way no matter
how it's actually happening.

Bug: 9301836
Change-Id: I472865b7a78883942c9fd46773238c23788674f8
2013-06-07 18:23:00 +09:00
Tadashi G. Takaoka 254b484e75 Defer getting no language subtype
Bug: 9318351
Change-Id: I55338c001070655a3f90df3dbe1351bd4180d520
2013-06-07 18:20:31 +09:00
Tadashi G. Takaoka 091a453292 Merge "Add HTC One special edition" 2013-06-06 08:39:10 +00:00
Tadashi G. Takaoka eab37ec2e5 Add HTC One special edition
Bug: 9109493
Change-Id: I6eb060a93d7afbcc5aaa2aaece242044db255829
2013-06-06 17:33:23 +09:00
Jean Chalard 6910032972 Merge "Use an iterator to remove stuff from an ArrayList." 2013-06-06 08:19:41 +00:00
Jean Chalard 0dc422e0c7 Use an iterator to remove stuff from an ArrayList.
Silly me >.>

Bug: 9306154
Change-Id: Ic00e9d6a31cd1d7aacefe68b7be9c2199e297b0d
2013-06-06 17:03:16 +09:00
Kurt Partridge efd26bb319 Allow downloadable dictionaries in development builds
Bug: 9305379

Change-Id: Iab32753070a056d3861a45aa898911b7ab67dfb6
2013-06-05 22:14:54 -07:00
Satoshi Kataoka f6a1a76524 Merge "Fix a possible NPE" 2013-06-06 05:02:46 +00:00
Satoshi Kataoka 6f9c6f2c64 Fix a possible NPE
Bug: 9301208
Change-Id: Id120c99ab9ef698d16cf7b8beea30c98c95d23a1
2013-06-06 12:01:22 +09:00
Baligh Uddin f93850f06f Import translations. DO NOT MERGE
Change-Id: I79a9506c568d47a7304ff55b75676fe02bfb22a1
Auto-generated-cl: translation import
2013-06-05 15:07:26 -07:00
Tadashi G. Takaoka cbd219a761 Move Base64Reader to utils package
Change-Id: Id46898c5cae268f05850d79938929b7707f27320
2013-06-05 19:39:36 +09:00
Tadashi G. Takaoka 9c440d1373 Merge "Remove unnecessary Drawable.setState" 2013-06-05 08:34:59 +00:00
Tadashi G. Takaoka 9d4e251826 Merge "Add CsvUtils that conform to RFC 4180" 2013-06-05 06:28:06 +00:00
Tadashi G. Takaoka 3201e98647 Remove unnecessary Drawable.setState
Change-Id: I362933ea4d5bcb1ccfebb5b22f6ccecf12337f4b
2013-06-05 14:30:16 +09:00
Tadashi G. Takaoka 3ceeb6bcc6 Add CsvUtils that conform to RFC 4180
Bug: 9070153
Change-Id: I66e55dd2f30fddfeb849edb97bc1cbda6b126d92
2013-06-05 12:26:22 +09:00
Tadashi G. Takaoka 0bfc2bc419 Merge "Add CODE_CAPSLOCK for long press shift key" 2013-06-05 02:19:02 +00:00
Tadashi G. Takaoka 9552badf3c Add CODE_CAPSLOCK for long press shift key
This change utilizes the no panel auto more key feature to implement
long press shift key for shift lock.

Change-Id: I3995d25dc35aea3c67b5aa29299815462eff9cad
2013-06-04 18:20:06 +09:00
Kurt Partridge 0dbae77496 Merge "Avoid an NPE" 2013-06-04 02:46:54 +00:00
Kurt Partridge 5fc9d6cc04 Avoid an NPE
Change-Id: I174eb8e92820fe6e7f8d3b89afae12d94063ef5d
2013-06-03 19:30:57 -07:00
Baligh Uddin 174f1b222f Import translations. DO NOT MERGE
Change-Id: I718dc281137ceca3015d7355238f91e16f4b9cbc
Auto-generated-cl: translation import
2013-06-03 15:18:17 -07:00
Tadashi G. Takaoka cbc7acb6f5 Merge "Expand suggestion strip when center suggestion is long" 2013-06-03 14:45:05 +00:00
Kurt Partridge 763fd9d5e9 Merge "Fix revert of committed words" 2013-06-03 13:03:26 +00:00
Tadashi G. Takaoka b4ae86f0de Merge "Rename methods for readability" 2013-06-03 09:57:48 +00:00
Tadashi G. Takaoka 2a529b85d0 Merge "Clear previous suggestions when gesture typing starts" 2013-06-03 09:27:55 +00:00
Tadashi G. Takaoka 9ff7354d78 Clear previous suggestions when gesture typing starts
Bug: 8651076
Change-Id: Ic65ed3e3696409edea4e35080c11e4d1869a5a7e
2013-06-03 17:59:26 +09:00
Tadashi G. Takaoka 2a9882a433 Rename methods for readability
Change-Id: I8fc2c90cf8d3dce11740f8e61edf6dfde9b1c116
2013-06-03 17:52:21 +09:00
Jean Chalard 3b94fd7b97 Merge "Update dictionaries" 2013-06-03 07:58:39 +00:00
Jean Chalard e73802f335 Update dictionaries
>>> dictionaries/ru_wordlist.combined.gz
Header :
  date : 1366974711 <=> 1370244430
  MULTIPLE_WORDS_DEMOTION_RATE : 0 <=> 50
  version : 32 <=> 34
Body :
Deleted: МДА 2
Freq changed: а 0 -> 60
Freq changed: в 0 -> 60
Deleted: возбужденные 0
Freq changed: гей 92 -> 0
Freq changed: жид 80 -> 0
Freq changed: зареган 0 -> 50
Freq changed: и 0 -> 60
Freq changed: к 0 -> 60
Deleted: клевом 0
Freq changed: куи 29 -> 0
Freq changed: лох 69 -> 0
Freq changed: о 0 -> 60
Freq changed: ребут 0 -> 50
Freq changed: с 0 -> 60
Freq changed: у 0 -> 60
Freq changed: хуй 77 -> 0
Freq changed: хукера 38 -> 0
Freq changed: широко 0 -> 144
Deleted: щеткой 70
Freq changed: щёткой 69 -> 70
Freq changed: я 0 -> 60
Added: жены 134
Added: звони 100
Added: клёвом 50
Added: мда 0

>>> java/res/raw/main_ru.dict
Header :
  date : 1366974711 <=> 1370244430
  version : 32 <=> 34
  MULTIPLE_WORDS_DEMOTION_RATE : 0 <=> 50
Body :
(same changes)

Change-Id: Ie10bdd1f33cac43c5be35e99faef7cfdfe877d2b
2013-06-03 16:41:12 +09:00
Tadashi G. Takaoka 043273b00f Expand suggestion strip when center suggestion is long
Bug: 9059710
Change-Id: I7fa2658cc6442e86f69c991f1e99db6fb1ef909c
2013-06-03 16:12:59 +09:00
Tadashi G. Takaoka 0e66ab7433 Merge "Fix ArrayIndexOutOfBoundException" 2013-06-03 07:12:07 +00:00
Tadashi G. Takaoka 72ac390ce6 Fix ArrayIndexOutOfBoundException
Change-Id: I243fc4965365680615eed834efe9ae0240e7f2a8
2013-06-03 15:35:49 +09:00
Kurt Partridge c4119c8063 Merge "Uncommit an extra LogUnit" 2013-06-03 05:38:43 +00:00
Kurt Partridge a2f3f17de6 Merge "Compare scrubbed strings when uncommitting LogUnits" 2013-06-03 03:03:58 +00:00
Kurt Partridge 743302888b Merge "Uncommit separator LogUnits" 2013-06-03 03:01:23 +00:00
Kurt Partridge 3d20946272 Merge "Uncommit LogUnits when reverting textInput" 2013-06-03 02:58:20 +00:00
Kurt Partridge 4efb5c3b65 Merge "Remove uncommit on reverting batch input" 2013-06-03 02:54:33 +00:00
Kurt Partridge 94ef54321e Fix revert of committed words
Now that separators are put into their own LogUnits, they must be handled
when going through a revert.

Bug: 9088919

Change-Id: Ibebd0752bb2fa38d74ac96001d63070dd419cee3
2013-06-02 19:22:35 -07:00
Kurt Partridge f07024e0fa Compare scrubbed strings when uncommitting LogUnits
A LogUnit is only uncommitted if the LogUnit's word matches what is
expected.  But a LogUnit never stores numbers, only scrubbed words that
replace numbers with a special character.  So when uncommitting, the
text from the TextView must also be scrubbed for the comparison to pass
correctly.

Bug: 9088919

Change-Id: I9b56f10afce6d0cc84eb9ead3b9a9b1e061ae39c
2013-06-02 19:17:31 -07:00
Kurt Partridge bdff287a0d Uncommit separator LogUnits
Now that separators have their own LogUnits, they must be uncommitted
from the LogBuffer when backspacing over them.

Bug: 9088919

Change-Id: Ib36cc94939b93abe18850a06bced17caf8aaa5b9
2013-06-02 19:15:57 -07:00
Kurt Partridge 8160a21c3a Uncommit an extra LogUnit
The period-generating double-space adds an extra LogUnit --
it must be removed when reverting.

Bug: 9088919

Change-Id: Ic148f40b4030a9b4a0651029bda87f7b94a52252
2013-06-02 00:02:38 -07:00
Kurt Partridge 720840851d Uncommit LogUnits when reverting textInput
Bug: 9088919

Change-Id: I17187aa0afc1c3e9d32269c65f66cfb3a08663cb
2013-06-01 23:42:35 -07:00
Kurt Partridge 4165ef031f Remove uncommit on reverting batch input
Currently when the user reverts a batch input, a LogUnit is uncommitted
from the LogBuffer.  It should not be, because the LogUnit containing the
batch input is never committed in the first place (it is only committed
to the LogBuffer when a key is pressed or a new batch input is entered).

Bug: 9088919

Change-Id: I323af453ce082437a663ccae977b21b775a964bc
2013-06-01 11:15:47 -07:00
Baligh Uddin d3ccd4bf22 Merge "Import translations. DO NOT MERGE" 2013-05-31 23:19:22 +00:00
Jean Chalard 26f489493e Fix the displayed status after download
Bug: 9166225
Change-Id: I7490593d88a5854b9e675b9ead89d2ea9b49315c
2013-05-31 20:28:15 +09:00
Jean Chalard f61999caba Merge "Make it easy to open several dictionaries from tests" 2013-05-31 11:21:37 +00:00
Tadashi G. Takaoka a0c3e02d71 Refactor SuggestionStripLayoutHelper a bit
Bug: 9059710
Change-Id: Ief12029bad75d4dc78090ab97555aece01b873de
2013-05-31 18:14:47 +09:00
Tadashi G. Takaoka 70c2dcffa3 am 6f7e39a6: am e7514a6a: Merge "Add vibration override values for Galaxy S4 and HTC One" into jb-mr2-dev
* commit '6f7e39a6827598492ffbfeedf4c47445519f272e':
  Add vibration override values for Galaxy S4 and HTC One
2013-05-30 23:49:07 -07:00
Tadashi G. Takaoka 6f7e39a682 am e7514a6a: Merge "Add vibration override values for Galaxy S4 and HTC One" into jb-mr2-dev
* commit 'e7514a6a8a9e59ea5cde9f2c3a198f35d111cdc2':
  Add vibration override values for Galaxy S4 and HTC One
2013-05-30 23:47:01 -07:00
Tadashi G. Takaoka e7514a6a8a Merge "Add vibration override values for Galaxy S4 and HTC One" into jb-mr2-dev 2013-05-31 06:45:07 +00:00
Jean Chalard 1562fc91f0 Make it easy to open several dictionaries from tests
Bug: 9127175
Change-Id: I3f1840ee73b364df26dfddb5acb10001e0f2cb61
2013-05-31 15:36:05 +09:00
Tadashi G. Takaoka 723391c945 Merge "Tidy up Utils class a bit" 2013-05-31 06:29:24 +00:00
Kurt Partridge e6125db98d Merge "Catch a permission exception" 2013-05-31 00:30:14 +00:00
Kurt Partridge d63f756013 Catch a permission exception
This change catches a SecurityException if the DictionaryProvider is
unavailable.

Change-Id: I4f2d87327c40765383d8847fd4e934b3cf799488
2013-05-30 13:40:40 -07:00
Tadashi G. Takaoka cbb99c60be Tidy up Utils class a bit
Change-Id: Idc2feb84a902a6cbb7265d1efe06c34e7d63c2c7
2013-05-31 00:32:57 +09:00
Tadashi G. Takaoka 7097aa2d3d Merge "Cleanup unreadable variable names" 2013-05-30 13:09:27 +00:00
Tadashi G. Takaoka d67db32b30 Merge "Separate SuggestionStripLayoutHelper for readablity" 2013-05-30 13:09:17 +00:00
Jean Chalard 1a50999ed9 Merge "Tell the text view we reset state on finish input" 2013-05-30 11:53:50 +00:00
Jean Chalard e90d039e0c Fix two strict mode warnings.
Bug: 9052555
Change-Id: I86e90488679a78a9f6e901b640025619293765a0
2013-05-30 20:12:05 +09:00
Tadashi G. Takaoka 500a9752b1 Cleanup unreadable variable names
Change-Id: Ic97687c58e25e4b0c6833cc25d10854f5f513081
2013-05-30 19:49:51 +09:00
Tadashi G. Takaoka 653603b725 Separate SuggestionStripLayoutHelper for readablity
Change-Id: I82c749c6837c3af7ae290f4cd92f5426ca58b5c7
2013-05-30 19:49:20 +09:00
Jean Chalard 8eb214d7e1 Merge "Fix dictionary pack preference order." 2013-05-30 06:38:27 +00:00
Baligh Uddin 73787ceaa2 Import translations. DO NOT MERGE
Change-Id: I4cd9c57839fe06e2555232074f84d21a45224baa
Auto-generated-cl: translation import
2013-05-29 23:03:48 -07:00
Jean Chalard b3d150aa13 Fix dictionary pack preference order.
It turns out giving them in the right order is not enough, you
also have to actually give them a numeric priority.

Bug: 9165928
Change-Id: I2ecff38f65b70746feeeeb0ed2cc86a586a35363
2013-05-30 12:33:06 +09:00
Jean Chalard ec9670ac3d Merge "Rub some butter on dictionary list scrolling." 2013-05-30 03:31:05 +00:00
Baligh Uddin b4b72d438b Merge "Import translations. DO NOT MERGE" 2013-05-29 21:52:43 +00:00
Jean Chalard 68d9cb62e2 Tell the text view we reset state on finish input
This should be done in onFinishInput rather than onFinishInputView
but for an unknown reason onFinishInput never comes.

Bug: 9113167
Change-Id: Iafb40846a3ed8fad78bfc160d17cd431f81fe891
2013-05-29 18:44:40 +09:00
Jean Chalard 2b34b4eab6 Rub some butter on dictionary list scrolling.
The default implementation for preferences refuses to
cache the views for custom preferences at all. We can
do it, but the system won't do it for us, so this does it.
This makes the screen scrolling smooth again.

Incidentally it also fixes the bug where the button may
not animate on the first element.

Bug: 8882722
Bug: 8883108
Change-Id: I9b2306ac4bf93761a808ebfee3477a65f017cddf
2013-05-29 11:52:04 +09:00
Kurt Partridge 305509ed2f Merge "Remove unused method" 2013-05-29 01:36:27 +00:00
Kurt Partridge b536e2ace5 Remove unused method
The removed method was used in old versions of ALK, never in master.

Change-Id: I607009d4fcca7c7c8493fee51ecd923e6a6b3890
2013-05-28 16:51:19 -07:00
Kurt Partridge 215fabff52 Merge "Rename containsCorrection to containsUserDeletions" 2013-05-28 23:41:26 +00:00
Kurt Partridge 315ab98007 Rename containsCorrection to containsUserDeletions
This change renames containsCorrection to avoid confusion with
CorrectionInfo, and to better clarify its meaning.

Change-Id: I5d8f8e2b03133c15a60d4e8b0f395cda1fff5447
2013-05-28 09:43:04 -07:00
Tadashi G. Takaoka d99abf8cb1 Delete shared preference entry when user select default value
Change-Id: I3fbafd9024c26a99d87376f5d5e359e03988a30f
2013-05-28 20:44:25 +09:00
Tadashi G. Takaoka 39bd6ea0dc Merge "Rename StringUtils.parseCsvString to KeySpecParser.splitKeySpecs" 2013-05-28 11:40:10 +00:00
Tadashi G. Takaoka dbed20ad8d Rename StringUtils.parseCsvString to KeySpecParser.splitKeySpecs
Change-Id: I16e3f3ebc43772cfd96c824afeddfd225404b857
2013-05-28 20:23:37 +09:00
Tadashi G. Takaoka d69e4191b7 Merge "Refactor suggestion strip layout methods a bit" 2013-05-28 11:11:05 +00:00
Tadashi G. Takaoka 389d308fff Refactor suggestion strip layout methods a bit
Bug: 9059710
Change-Id: I8dc698c1d61ca51b65b232e6c586472588a4accb
2013-05-28 20:03:37 +09:00
Tadashi G. Takaoka 4c2ac9ee5f Merge "Rename commaConcatinatedText to commaSplittableText" 2013-05-28 10:58:16 +00:00
Tadashi G. Takaoka c47bc30db8 Rename commaConcatinatedText to commaSplittableText
This is a follow up of I5a32882a08.

Change-Id: I9f0cda2167811f6bba2af042fbde0a821b4cfecd
2013-05-28 19:17:15 +09:00
Tadashi G. Takaoka 68cf2cd931 Merge "Check all regexp patterns in ResourceUtils.getDeviceOverrideValue" 2013-05-28 10:13:43 +00:00
Keisuke Kuroyanagi e168a3c2a5 Merge "Adding additional feature settings." 2013-05-28 10:11:29 +00:00
Tadashi G. Takaoka 4c75ea858a Check all regexp patterns in ResourceUtils.getDeviceOverrideValue
This change also fixes a regexp error of Galaxy S III.

Change-Id: I42a4780bbfd2b083f4e27e61ec513aa875907344
2013-05-28 19:05:40 +09:00
Tadashi G. Takaoka 6d77ae9d81 Merge "Remove KeyboardStart.isInMomentarySwitchState" 2013-05-28 09:23:24 +00:00
Satoshi Kataoka 07e56e76a7 Merge "Implement KIND_OOV_CORRECTION" 2013-05-28 07:27:53 +00:00
Keisuke Kuroyanagi 1b100610b3 Adding additional feature settings.
Change-Id: I9fec0c03b7da9ce0305b494193f4cfe3fca144f3
2013-05-28 00:27:48 -07:00
Tadashi G. Takaoka 1b46738796 Rename "csv" in StringUtils to "commaConcatenatedText"
Change-Id: I5a32882a088e4ff5bfe973a86465d6ff839113d9
2013-05-28 16:13:36 +09:00
Tadashi G. Takaoka e7e7b3234c Remove KeyboardStart.isInMomentarySwitchState
Change-Id: I00f45d8dd7feb6c34c0a65a8545cddd2751796d0
2013-05-28 15:26:03 +09:00
Satoshi Kataoka 3d97b95b90 Implement KIND_OOV_CORRECTION
Bug: 9127749
Change-Id: I96db15a3138e6b522c4c6ad16cc7faad577d3772
2013-05-27 18:53:43 -07:00
Satoshi Kataoka c92e87faf3 Add smoothing utils / matrix libs
Bug: 8556775
Change-Id: I7e0516b344937b84b7d57cc4e5009b7f88e7dc98
2013-05-27 18:08:49 -07:00
Baligh Uddin b4a1c2b510 Import translations. DO NOT MERGE
Change-Id: I1f9b5cf9010256f04a132bb832c128174251d726
Auto-generated-cl: translation import
2013-05-27 15:20:20 -07:00
Baligh Uddin dee9d17c68 Import translations. DO NOT MERGE
Change-Id: Iccfbe700901fe89974beab377bea82d547a1478a
Auto-generated-cl: translation import
2013-05-27 15:08:39 -07:00
Tadashi G. Takaoka 2115f63cba Merge "Add contentDescription attribute to setup wizard video and image" 2013-05-24 22:28:36 +00:00
Keisuke Kuroyanagi 28b6262b54 Merge "Passing options to native suggestion method." 2013-05-24 22:27:19 +00:00
Tadashi G. Takaoka 740d829092 Merge "Use localized toLowerString in AutoCorrection.isValidWord" 2013-05-24 20:00:38 +00:00
Tadashi G. Takaoka 94027c7201 Use Locale.ROOT for locale neutral operations
Bug: 9112465
Change-Id: I6cd63007287b5a1a57cfbabff35d53f66fc5620e
2013-05-24 12:07:30 -07:00
Tadashi G. Takaoka 618407ab7e Use localized toLowerString in AutoCorrection.isValidWord
Bug: 9112465
Change-Id: I63eb4115f393444560e80220d4c90f0f7101b934
2013-05-24 11:47:36 -07:00