Commit Graph

985 Commits (3547ff4c60f0885a0d5b22f0716d8f7ccb8670be)

Author SHA1 Message Date
Keisuke Kuroyanagi e041bfab5c Update unit test for beginning-of-sentence.
Bug: 14119293
Change-Id: I594a1ca1096f0c12c678dd30eb75de905e55c5bb
2014-06-12 16:07:39 +09:00
Jean Chalard 4863a06544 Special case periods in the spell checker
Special case <valid word>.<valid word> to send as a suggestion
the same string where the periods is replaced by a space.

Bug: 10780091
Change-Id: I43c94675977f9ab5d7ee5671486cb742b39f3974
2014-06-10 19:52:58 +09:00
Jean Chalard e689d37f72 Remove a useless method
Change-Id: I21a4219f682f43f4a84b1ab12d00dd930b35caa1
2014-06-10 12:47:55 +09:00
Jean Chalard 367c199de1 Remove mPrevWordsInfo
This member has outlived its usefulness. It's not clear now that it
makes things really faster, but it does bring a lot of complexity
that we can avoid by removing it.

Change-Id: Ifbc8094a45b56b958fe165b1930f4cc358a97721
2014-06-10 12:07:51 +09:00
Tadashi G. Takaoka f4d3a6a31a Merge "Make keyboard theme test robust" 2014-06-09 03:12:40 +00:00
Keisuke Kuroyanagi bdf745da32 Check isInDictionary() before the distracter test.
Bug: 13142176
Bug: 15428247
Change-Id: I7ce2c09ebbef6ca8c056807c2a35f2f987fd436e
2014-06-09 11:43:45 +09:00
Tadashi G. Takaoka f671725520 Make keyboard theme test robust
Change-Id: I2547c8af6fa73e646f697cb4450140859d87625e
2014-06-09 11:14:40 +09:00
Keisuke Kuroyanagi 1910392eed Add Dictionary.isInDictionary().
Bug: 13142176
Bug: 15428247
Change-Id: If2d1c1fea7a69e41809a828da8dd032211ad144e
2014-06-09 11:04:28 +09:00
Keisuke Kuroyanagi 166d8c2293 Make Distracter filter use getMaxFrequencyOfExactMatches().
Bug: 13142176
Bug: 15428247

Change-Id: I5c23fbea2851f891f76f19d9da2cb70ae964569b
2014-06-06 19:38:44 +09:00
Keisuke Kuroyanagi d9b8602f48 Implement getMaxProbabilityOfExactMatches().
Bug: 13142176
Bug: 15428247
Change-Id: I5be6d683be95505412615ca7c88260de1ea05f54
2014-06-06 17:37:46 +09:00
Tadashi G. Takaoka 3ca65c8fd5 Remove unused supportsSwitchingToShortcutIme attribute
Change-Id: I51c5247ac925a158facb79057f704b763b903552
2014-06-06 13:11:57 +09:00
Tadashi G. Takaoka c5dc740673 Add action key test for Lxx theme
Change-Id: I849cec7deb5607e8ce8fb25c1f903f15328fb611
2014-06-06 12:56:57 +09:00
Jean Chalard 07706dc347 Merge "Refactoring" 2014-06-04 07:43:31 +00:00
Jean Chalard 4a1113b6b0 Refactoring
Rename `initialize' to `start' and `deactivate' to `stop' for ease
of understanding. It's completely bizarre that you can "deactivate"
a recapitalization and that will just restart a new one the next time
you press shift. Start and stop are easier to understand.

Change-Id: I455175aebfcfe11198c6c61bf2c6b19efc3f82df
2014-06-04 16:29:29 +09:00
Tadashi G. Takaoka dc62c711aa Reorder keys around the spacebar
This CL reorders keys around the spacebar.
- On phone's symbols and symbols shift layout, the comma key is moved
  to the left of the spacebar to aligned with main layout.
- On tablet's layout, the comma key is moved to the left of the
  spacebar on all layout to aligned with the same layout of
  phone's. Also the comma key has "settings" as more keys.
- In Arabic and Perisan, the comma key of tablet already has some more keys
  This CL remove "/" and add "settings" instead.

Bug: 15281451
Change-Id: I6e0e75e4d4abfb1f356e7499be91424c7c57c58b
2014-06-04 00:45:25 +09:00
Keisuke Kuroyanagi 8f71fab2ed Make prevWord = null if the next word starts from a connector.
This fixes PunctuationTests#
testAutoCorrectionWithSingleQuotesAround.

Bug: 14119293
Bug: 15334309

Change-Id: I604c21a21e89a5fc431fd56ab7b6ad03f4736b01
2014-05-30 20:30:17 +09:00
Jean Chalard d0d3d813d2 Fix tests
DEBUG in LatinIME has been changed by Ie52007dc to mean both
DebugSettings.PREF_DEBUG_MODE and Settings.PREF_KEY_IS_INTERNAL
instead of just DEBUG_MODE as used to be the case. Tests depend
on the debug mode to test many things and they make sure they run
in debug mode or they fail. This has tests understand the change in
policy.

Change-Id: Ie9f29e6a1d85e19704c8940d3fcf97c13c3dbaa6
2014-05-29 22:15:56 +09:00
Keisuke Kuroyanagi c4a3b9f0d6 Merge "Remove PrioritizedSerialExecutor." 2014-05-29 08:52:23 +00:00
Jean Chalard 944923f266 Fix: too many calls to getSuggestedWordsForTypingInput
This reverts commit d941ea18 and builds on it to fix the behavior
of the broken cases.
It also fixes a small, related bug that probably has existed for
a very long time: predictions not displayed when cancelling
double-space-to-period.

Bug: 15148015
Change-Id: I1f9358f8b6f5804f831643611576be347e83999d
2014-05-29 17:36:46 +09:00
Keisuke Kuroyanagi 94f88b4881 Remove PrioritizedSerialExecutor.
Bug: 15320560
Change-Id: Icb88a96ebd685da1d2cba7b07889a2751c603a2e
2014-05-29 17:36:32 +09:00
Keisuke Kuroyanagi b9a3775203 Merge "Add PersonalizationDictionaryTests." 2014-05-29 07:37:47 +00:00
Keisuke Kuroyanagi 8d0a0d1f3e Add PersonalizationDictionaryTests.
Bug: 11778342
Change-Id: Ice88f439ae11714e5ec9dd3b7616d0c2d59ea812
2014-05-29 16:33:21 +09:00
Tadashi G. Takaoka 262b1e7518 Merge "Remove researcher logger" 2014-05-29 07:30:16 +00:00
Tadashi G. Takaoka bbf556e8e1 Remove researcher logger
This CL must be checked in together with I5cc76807e3.

Bug: 15318007
Change-Id: I61423c3377ddc299fb332e742d6626c2e47145bb
2014-05-29 15:10:28 +09:00
Jean Chalard 2381b8cfdc Disable a test that fails for an unknown reason
It works when tested on the actual device, and on some versions
of the platform. Until we know what's wrong with resource loading
when running under the test harness, we need to disable this test.

Change-Id: I2d7ed9db940b9b73739de8325665bdafb6af58cb
2014-05-29 14:02:44 +09:00
Keisuke Kuroyanagi b1e43d58a6 Merge "Stop directly checking SuggestedWordInfo.mKind" 2014-05-28 11:52:00 +00:00
Keisuke Kuroyanagi 4bffac6db9 Stop directly checking SuggestedWordInfo.mKind
Bug: 15298959

Change-Id: Iba6eeb7981634e7ddb896404978b30f6efd6e72f
2014-05-28 20:35:45 +09:00
Jean Chalard fa69784a96 Run test only on KitKat devices
This won't work on < KK because it needs the armenian locale
to be present on the device. I don't know why, but when under
test, apps don't seem to be able to resolve resources for locales
not supported by the system.

Change-Id: Ie0f4fc30954978061cae751024bab5569a2ab2eb
2014-05-28 17:45:28 +09:00
Keisuke Kuroyanagi 3faf4fc5e7 Merge "Return whether the dynamic dict operation was success." 2014-05-27 09:01:46 +00:00
Keisuke Kuroyanagi dfca51726e Return whether the dynamic dict operation was success.
Bug: 12184250
Change-Id: Iee7e00c1e84c95551a077f4dd023c0a9b9ac9466
2014-05-27 17:30:00 +09:00
Keisuke Kuroyanagi 301eeaa976 Fix unit test build.
Change-Id: Id2c92c5035d7b357fa66c7ca671b72a1a33ebf3b
2014-05-27 16:43:11 +09:00
Keisuke Kuroyanagi 00da83ed75 Stop filtering out when perfect freq > top non-perfect freq.
Bug: 13142176
Change-Id: I0290df918a5bd5018bf55231dc462d5e797155c6
2014-05-27 16:09:59 +09:00
Keisuke Kuroyanagi 17bd4eb0c9 Apply distracter filter for UserHistoryDictionary.
Bug: 13142176
Change-Id: I67d63a5c789d7c587bcd7abacd26b2e76da11978
2014-05-27 01:10:04 +09:00
Keisuke Kuroyanagi a6278eb9c1 Use whether it's exact match to detect distracters.
Bug: 13142176
Change-Id: Id5b7286d28897931f7bfe571be45d46ffeef4adf
2014-05-26 21:56:20 +09:00
Tadashi G. Takaoka a91561aa58 Use Java 7 diamond operator
Change-Id: If16ef50ae73147594615d0f49d6a22621eaf1aef
2014-05-24 01:05:42 +09:00
Keisuke Kuroyanagi e782f1f415 Merge "Update RichInputConnectionAndTextRangeTests." 2014-05-23 14:53:29 +00:00
Keisuke Kuroyanagi 9f9988e996 Merge "Introduce EMPTY_PREV_WORDS_INFO and BEGINNING_OF_SENTENCE." 2014-05-23 14:53:13 +00:00
Keisuke Kuroyanagi f2c2657566 Update RichInputConnectionAndTextRangeTests.
Bug: 14119293
Change-Id: I952daaa8e938c67bd9e0e699d71a77a3b0bf8b0d
2014-05-23 23:19:35 +09:00
Keisuke Kuroyanagi a790c5b683 Introduce EMPTY_PREV_WORDS_INFO and BEGINNING_OF_SENTENCE.
Bug: 14119293
Change-Id: I5020e5f0aa64bc3e97b3a3c2c07a60c8b765ed64
2014-05-23 23:19:33 +09:00
Keisuke Kuroyanagi a37f374ad1 Version up dynamic dict format from 401 to 402.
Change-Id: Ibea36af905ade773ae3db3a5456f7b5a0ad7d220
2014-05-23 20:20:56 +09:00
Keisuke Kuroyanagi 1adca93381 Extend jni methods and enable Beginning-of-Sentence.
Bug: 14119293
Change-Id: I78fc877367dd0d6240eeacb750b6d2d0b93cba83
2014-05-23 19:58:58 +09:00
Jean Chalard 47ea762fb2 Add a test for armenian period.
Bug: 11463389
Change-Id: Ib482290672947df61b86cdb4e78461e9ce843f94
2014-05-23 19:35:43 +09:00
Keisuke Kuroyanagi 85befc0873 Merge "Make DistracterFilter interface." 2014-05-23 10:11:57 +00:00
Jean Chalard cfdb1b8d26 Fix some auto-caps problems:
- (mainly for Spanish) auto-caps after inverted bang and what
- (German only) don't auto-cap after digits-period-space

Bug: 15177663
Bug: 12206753
Change-Id: Ia214bc067319469d9debbbfbdcb1dcff980847f0
2014-05-23 18:17:09 +09:00
Keisuke Kuroyanagi f498e53933 Make DistracterFilter interface.
Bug: 13142176
Bug: 15094186
Change-Id: If94b0a155b5ea2ff6b839e7da9d12a9cc6553931
2014-05-23 18:12:37 +09:00
Keisuke Kuroyanagi 1fa3e9044f Move distracter filter to dictionary facilitator.
Bug: 13142176
Bug: 15094186
Change-Id: Ib9e42f8e25538009f3ba62cf1e034cae3f6823c7
2014-05-23 16:10:36 +09:00
Keisuke Kuroyanagi 17f326b745 Add beginning of sentence information in PrevWordsInfo.
Bug: 14119293
Bug: 14425059
Change-Id: I65320920e840082b0b697bb621676716d0933e0c
2014-05-21 15:40:08 +09:00
Ken Wakasa c18b1c42f3 Merge "Fix subtype count in unit test" 2014-05-21 04:39:09 +00:00
Tadashi G. Takaoka c3f92fdc5c Fix subtype count in unit test
This is a follow up of I38552cdbdd

Change-Id: Ia1091518614e8e4fa79219f2cdd7b34f4562181c
2014-05-21 13:01:12 +09:00
Keisuke Kuroyanagi e507d92aa3 Use PrevWordsInfo for get/add/remove n-gram(bigram) entry.
Bug: 14119293
Bug: 14425059
Bug: 15102610
Change-Id: Ib482390f8d15b37d44a1a54e8c243a9eaec3f815
2014-05-21 11:15:38 +09:00
Ken Wakasa 4e21d3711f Revert "Use PrevWordsInfo for get/add/remove n-gram(bigram) entry."
This reverts commit ff50b39176.

Bug: 14119293
Bug: 14425059
Bug: 15102610

Change-Id: If278b4ab236e38d20d8cdc0761b0438911bd4ff9
2014-05-20 14:01:06 +00:00
Keisuke Kuroyanagi ff50b39176 Use PrevWordsInfo for get/add/remove n-gram(bigram) entry.
Bug: 14119293
Bug: 14425059

Change-Id: I12e9ba977c153b514c6591ab52940712fd0874e3
2014-05-20 13:37:04 +09:00
Keisuke Kuroyanagi 83c40a2301 Use PrevWordsInfo instead of String in Java side.
Bug: 14119293
Bug: 14425059

Change-Id: I3d5da84881a49a04550180dd9aac2c37da2ed762
2014-05-19 13:55:40 +09:00
Tadashi G. Takaoka 04e2a494e2 Rename LXX theme to LXX_Dark
Bug: 14419121
Change-Id: I3d73c51d339eafec26871a659575d8b7b8cc441c
2014-05-19 10:27:36 +09:00
Keisuke Kuroyanagi 23246ed18d Use dedicated DictionaryFacilitator for DistracterFilter
Bug: 15002249
Change-Id: Ic77eaa7d627d406daad7dcd15cb4884d9f647312
2014-05-17 01:18:08 +09:00
Tadashi G. Takaoka 3b12718537 Fix keyboard theme selection logic
Bug: 15002666
Change-Id: I5cc52db71ee609edffdb2613e93245e92ac6fc6a
2014-05-16 18:45:09 +09:00
Keisuke Kuroyanagi 34873a66f0 Fix: StringIndexOutOfBoundsException.
Bug: 14985751
Change-Id: I9df2f737555ab02e24e0fbd231a97c1eec26bc57
2014-05-16 15:32:12 +09:00
Keisuke Kuroyanagi e810a266fd Merge "Quit use bigram probability diff for ver4 dict." 2014-05-15 07:07:25 +00:00
Keisuke Kuroyanagi 64341927d2 Quit use bigram probability diff for ver4 dict.
Change-Id: I2cfcfbcf351877d1dff466a24974dbb05908f14e
2014-05-15 16:02:58 +09:00
Keisuke Kuroyanagi aa7329de15 Merge "Add VERSION4_DEV(402) in Java side and use it for tests." 2014-05-14 13:42:24 +00:00
Keisuke Kuroyanagi 04536f14b0 Add VERSION4_DEV(402) in Java side and use it for tests.
Bug: 13406708
Change-Id: I7c9c53bf34d12dced7331a359a83f6444490783a
2014-05-14 22:37:07 +09:00
Jean Chalard 5ce39dfa78 Fix a bug where changing languages kills the composition.
Bug: 14926896
Change-Id: Id2a06c68a51f833db4d8bbc858a232c2696afb6e
2014-05-14 20:34:32 +09:00
Tadashi G. Takaoka 3610039723 Rename LMP to LXX just in case
This CL must be checked in together with I7e2ba67f31.

Change-Id: I51cb982f9cf0ace173d535a60293bb4be83bbb75
2014-05-14 18:39:39 +09:00
Jean Chalard 4b6660f8f9 Merge "Fix unit tests." 2014-05-14 07:18:56 +00:00
Jean Chalard 68730d1c8e Fix unit tests.
Language change has always been strange. That's because we
didn't call the right method >.>
Also, extra values were not passed in correctly.

Change-Id: Ifc345988df944ad691fe22cb71cb519e47a5a223
2014-05-14 16:09:40 +09:00
Xiaojun Bi 25ec32f635 Merge "Implement the distracter filter" 2014-05-13 23:08:40 +00:00
Xiaojun Bi ac20253806 Implement the distracter filter
Bug: 13142176

Change-Id: I85a048cdcbbad3d6020a25f900250d8d7a0fe3da
2014-05-13 15:52:14 -07:00
Keisuke Kuroyanagi 5c154edb55 Merge "Add large unit test for dictionary migration." 2014-05-13 06:40:28 +00:00
Keisuke Kuroyanagi 3c7f140e8e Add large unit test for dictionary migration.
Bug: 13406708
Change-Id: Ic1eb627139a1ff57c0000d95d9bd57aa3609f753
2014-05-13 15:16:30 +09:00
Keisuke Kuroyanagi 61fc329901 Merge "Support bigram historical information migration." 2014-05-13 02:56:36 +00:00
Keisuke Kuroyanagi 620a05ae59 Support bigram historical information migration.
Bug: 13406708
Change-Id: I4bae53e43cb7653eac3b5bd13da2d2bc8aaf88a9
2014-05-13 01:28:30 +09:00
Jean Chalard 61ddac28de Merge "Add initial reordering rules for Myanmar" 2014-05-12 11:29:53 +00:00
Keisuke Kuroyanagi 6b1160f899 Merge "Support unigram historical information migration." 2014-05-12 10:27:41 +00:00
Keisuke Kuroyanagi 9d7e8c717f Support unigram historical information migration.
Bug: 13406708
Change-Id: Ibed15b3bc5d5ae68faefa379028dbe10d32b0c0f
2014-05-12 19:21:06 +09:00
Jean Chalard 281dbc3973 Add initial reordering rules for Myanmar
Bug: 13945569
Change-Id: Ib546ba110e87bf72afa7f42c878cc5f638bff6c7
2014-05-12 19:17:47 +09:00
Tadashi G. Takaoka 4fb490ff90 Merge "Fix javadoc comment of keyboard layout tests" 2014-05-12 08:23:04 +00:00
Tadashi G. Takaoka e6f467c0fe Fix javadoc comment of keyboard layout tests
Change-Id: I22592486ab306a57c4f6ca5a94e0ff69b68a58d6
2014-05-12 17:09:33 +09:00
Tadashi G. Takaoka 722f5c7966 Remove voice key from keyboard layout
Bug: 14419121
Change-Id: I71031f1ed9735a5a05dc584299b56512fb0b6866
2014-05-12 17:07:01 +09:00
Tadashi G. Takaoka de3afcfdcc Fix import and javadoc comments of unit tests
Change-Id: Ic3f249bf9e3a5ec7ffd07abd4bc38d343bb14d39
2014-05-12 16:25:49 +09:00
Tadashi G. Takaoka 139773d016 Enable voice and language switch keys for keyboard layout tests
Change-Id: I19ee05e30d09eb13753b737961882e345591c1df
2014-05-12 16:09:53 +09:00
Tadashi G. Takaoka d5e3f02586 Add pseudo LMP theme
This CL introduce pseudo LMP theme. This keyboard theme is a
placeholder and not final. The drawables and colors that this CL
introduces should be replaced with the final assets.

Bug: 14419121
Change-Id: I7a37c884e4ee0cac09ad21ff729996c2b9c1b4af
2014-05-12 11:52:41 +09:00
Tadashi G. Takaoka 59c3ef1ff8 Refactor KeyboardTheme
This CL introduces two preference keys in addition to the existing one.

- pref_keyboard_theme: The new preference key that is used only in the
  preference settings.

- pref_keyboard_layout_20110916: The previous preference key that
  holds keyboard color scheme settings. This is superseded by the next
  key.

- pref_keyboard_theme_20140509: The new preference key that holds
  keyboard theme settings. This value is forcibly reset to LMP theme
  on a LMP device. On a KitKat and previous device, the settings of
  the pref_keyboard_layout_20110916 is carried on into this
  preference.

This CL must be checked in together with Id7b3ddd8aa.

Change-Id: I2d55602d026e30b38d8f822d2124f5c5e4a9a812
2014-05-12 10:59:10 +09:00
Ken Wakasa 4f5ea4dfc2 Merge "Revert "Refactor KeyboardTheme"" 2014-05-09 11:28:51 +00:00
Ken Wakasa d47dca429e Revert "Refactor KeyboardTheme"
This reverts commit 19688b584b.

Build breakage.

Change-Id: I95d4be1578824eaee5a2fb08ec277250727ac668
2014-05-09 11:28:19 +00:00
Tadashi G. Takaoka c2a49f3006 Merge "Refactor KeyboardTheme" 2014-05-09 08:26:05 +00:00
Tadashi G. Takaoka 19688b584b Refactor KeyboardTheme
This CL introduces two preference keys in addition to the existing one.

- pref_keyboard_theme: The new preference key that is used only in the
  preference settings.

- pref_keyboard_layout_20110916: The previous preference key that
  holds keyboard color scheme settings. This is superseded by the next
  key.

- pref_keyboard_theme_20140509: The new preference key that holds
  keyboard theme settings. This value is forcibly reset to LMP theme
  on a LMP device. On a KitKat and previous device, the settings of
  the pref_keyboard_layout_20110916 is carried on into this
  preference.

This CL must be checked in together with Ifcedeabbec.

Change-Id: Ibe75146e2c1c7eebf964ca86550baf244fedb79a
2014-05-09 16:21:02 +09:00
Keisuke Kuroyanagi eaa347bc1a Merge "Add VERSION4_TEST for testing." 2014-05-09 07:06:06 +00:00
Keisuke Kuroyanagi 455dc84cf2 Add VERSION4_TEST for testing.
Bug: 13406708
Change-Id: I0b434717ea3edbb131650af634c53cfbfe113c3e
2014-05-09 15:17:01 +09:00
Tadashi G. Takaoka ebac0aa28f Reorder accented letters of English
This is a follow up change of Idff0b6d08e.

Bug: 13177865
Change-Id: I00ea7cda954efbd248d2abc2fa6d4995d6acbf19
2014-05-09 12:06:42 +09:00
Tadashi G. Takaoka 71c96c079f Merge "Add Marathi keyboard layout" 2014-05-02 01:20:07 +00:00
Tadashi G. Takaoka a5ab5d830c Add Marathi keyboard layout
Bug: 10028772
Change-Id: I7bca05bbbfdb2e5f61d5db611dff62ace3b71e31
2014-05-01 18:25:56 +09:00
Jean Chalard 29c00ff538 Introduce clustering punctuation
Bug: 10081730
Change-Id: If198fa3df68ecb267da0a278da41fd509d6165f1
2014-05-01 15:45:24 +09:00
Keisuke Kuroyanagi 1737b7ff5c Use ReentrantReadWriteLock in ExpandableBinaryDictionary.
Bug: 8187060
Change-Id: Ic665f0a5e940708aa9addedac068a64900b307e7
2014-04-28 20:56:01 +09:00
Keisuke Kuroyanagi 67c0ed8f8c Handle user history dictionary as an ExpandableBinaryDictionary.
Bug: 13755213
Change-Id: I1ea8a6df007af7153852f2d32bf5e8ec669c432b
2014-04-24 14:48:01 -07:00
Keisuke Kuroyanagi 2dcb5c1b4d Remove clearAndFlushDictionary() and use clear().
clearAndFlushDictionary() was needed when dictionaries are constructed
in java side. All expandable dictionaries now use native code; thus,
this method is same to clear() and no longer needed.

Bug: 13755213
Change-Id: Ifd836e64f8ff807930f7cd2319b103b65e8fce70
2014-04-24 11:25:47 -07:00
Keisuke Kuroyanagi 3b7984752c Support creating BinaryDictionary without creating dict file.
Bug: 14166482
Change-Id: Ic8c78ec2c8f39358a1f085a041b608972a380eef
2014-04-22 13:18:34 -07:00
Keisuke Kuroyanagi ce76821dce Revert "Support creating BinaryDictionary without creating dict file."
This reverts commit 89939b8708.

Change-Id: I8ca1b55609ad305a93178063bd88bd1cede872af
2014-04-22 19:34:44 +00:00
Keisuke Kuroyanagi 89939b8708 Support creating BinaryDictionary without creating dict file.
Bug: 14166482
Change-Id: Ib065279f96e227ab0fee7c8141560c4ada744d3b
2014-04-22 12:01:33 -07:00
Tadashi G. Takaoka c13c1adfa7 Sort keys from top-left to bottom-right order
Change-Id: I228748824de62e9e46fa43db200d23f41eb6d2ce
2014-04-21 18:36:11 -07:00
Tadashi G. Takaoka 5326dcfb7d Use unmodifiable list to return keys from Keyboard
Change-Id: I85a0b18d2d78632e9a9f074eda1de9225001f876
2014-04-21 14:31:27 -07:00