Jean Chalard
fd6a52c8d5
Merge "Add some unit tests for punctuation and special keys"
2012-02-07 17:36:39 -08:00
Tadashi G. Takaoka
c217dc9237
Convert one letter Key.outputText to Key.code
...
This change also uses Key.code instead of Key.outputText for the
variety of parentheses keys taht introduced by I85998f17.
Bug: 5975484
Change-Id: I86879c9942d264edc71e5893325a2f582763d12f
2012-02-07 22:34:20 +09:00
Jean Chalard
de60d87a60
Add some unit tests for punctuation and special keys
...
Bug: 5962053
Change-Id: I7dd68767be6e724675428910fa2c00290f76e869
2012-02-07 20:34:56 +09:00
Jean Chalard
816a8a0fd8
Fix a race condition that makes tests unstable
...
Change-Id: Ic19d380eb64855884bc6ded8547c200dd772ffe9
2012-02-07 19:22:37 +09:00
Tadashi G. Takaoka
f6cf387edc
Merge "Recursively resolve @string/resource reference in key key spec parsing"
2012-02-03 03:20:37 -08:00
Tadashi G. Takaoka
aca8870128
Recursively resolve @string/resource reference in key key spec parsing
...
Change-Id: I9d172605e90e828e00f7c4c8d49548498aa3b50d
2012-02-03 20:03:23 +09:00
Jean Chalard
9f17de5b4d
Merge "Stop inserting a space after a manually picked word."
2012-02-03 02:09:05 -08:00
Tadashi G. Takaoka
9f491e34ac
Merge "Filter out empty entry from more keys CSV"
2012-02-03 01:54:49 -08:00
Tadashi G. Takaoka
24cd2617f5
Filter out empty entry from more keys CSV
...
Change-Id: I9a26aaa58f0f502b3bfef9de422370d2b0add8d8
2012-02-03 18:48:01 +09:00
Jean Chalard
fb684cebe8
Stop inserting a space after a manually picked word.
...
Bug: 4994861
Change-Id: I6ae256a94dbaddea4304304779d17025620c5025
2012-02-03 18:45:44 +09:00
Tadashi G. Takaoka
0de2fbd7b6
Fix KeySpecParserTests to read correct icon id
...
Change-Id: Ic002e7fbe84a7001874ebd59e6af8ba695d173de
2012-02-03 18:40:38 +09:00
Tadashi G. Takaoka
909b2940db
Merge "Get rid of Key.setIcon(Drawable)"
2012-02-02 21:51:51 -08:00
Tadashi G. Takaoka
e7948a8692
Get rid of Key.setIcon(Drawable)
...
Change-Id: If6ebbdefcbfd0cc14c72858f9bb44861e8abe079
2012-02-03 14:38:17 +09:00
Jean Chalard
825e2bbd91
Fix a bug when deleting the last char
...
And unit test
Change-Id: Ic4fc3626f8b86e10156d770d41cd6deab5d31f39
2012-02-03 13:03:54 +09:00
Jean Chalard
9242a2bcf8
Fix string iterations in a couple places.
...
Seems I didn't get how to iterate on a String correctly >.>
Talk about a big bug. Anyway, I think it's working now.
Bug: 5955228
Change-Id: I988c900cf2a16c44b9505cfd4f77c7cda7e592f0
2012-02-03 11:15:46 +09:00
Tadashi G. Takaoka
5852a2594f
Parse escaped sequence strictly in CSV parser
...
This change alters the CSV parser behavior. The parser only resolves
* String resource reference. ["@string/res" -> "<content_of_res>"]
* Other occurrence of escape sequence will be intact. ["\x" -> "\x"]
Before this change, escape sequence in moreKeys string is parsed three
times. At first in parsing string resource, next in CSV parser, and at
last in KeySpecParser. So that representing single escape character
itself is a bit annoying, "\\\\\\\\".
Now we can represent single escape character itself in string resource by "\\\\".
Change-Id: Ib978e17b779cc82585eed8241ac3857508b14bc7
2012-02-02 20:19:26 +09:00
Jean Chalard
a456c755ee
Merge "Add unit tests in prevision of magic space removal"
2012-02-02 01:35:36 -08:00
Jean Chalard
cca2183f5a
Add unit tests in prevision of magic space removal
...
Bug: 4994861
Change-Id: I114a1117cf19aa6e514ac7342f733175dc5d5df1
2012-02-02 18:21:10 +09:00
Tadashi G. Takaoka
0086861d5a
Move CSV parser to KeySpecParser
...
Change-Id: I424fb47bc70e9b6aaa5a16ae9b2500d23da75c26
2012-02-02 16:10:14 +09:00
Tadashi G. Takaoka
e01d272603
Make KeySpecParser and CSV parser code point aware
...
This change also renames MoreKeySpecParser to KeySpecParser
Change-Id: I35733cdbb344f16b57ffa2cfe79055c089b4e409
2012-02-02 15:51:40 +09:00
Tadashi G. Takaoka
ff858c7ff5
Use MoreKeySpecParser to parse puctuations strip resources
...
This change also
* Doesn't use Key.getRtlParenthesisCode to get correct parentheses
code in RTL context. Intead uses the outputText feature of
moreKeys specification.
* Move CVS string parser from KeyStyles to Utils.
Bug: 5948247
Change-Id: I45752c7d01b4f7d3f3da900b110a2185b336a1f0
2012-02-01 19:33:26 +09:00
Tadashi G. Takaoka
a5c96f376a
Move long press shift handling from PointerTracker to KeyboardState
...
This change also
* Rename phone shift keyboard to phone symbols keyboard.
Use CODE_SWITCH_ALPHA_SYMBOL code to switch between phone and phone symbols keyboard.
* Remove phone symbols keyboard from tablet.
* Introduces enableLongPress flag of Key.keyActionFlags attribute.
* Remove clumsy long press code from PointerTracker.
* Remove CODE_CAPSLOCK handling from LatinIME.
* Make KeyboardSwitcher to invoke haptic and audio feedback.
Change-Id: I00e1f697a10ab5112aec75e36853b96246ff5054
2012-02-01 19:04:21 +09:00
Tadashi G. Takaoka
3feb99fa6c
Merge "Save/restore alphabet shift locked state while rotating even in symbols mode"
2012-01-31 02:26:41 -08:00
Tadashi G. Takaoka
49bd49c8fb
Save/restore alphabet shift locked state while rotating even in symbols mode
...
Bug: 5730212
Change-Id: Id2342dacd149d6385d61001f880ebcd1883cf0b4
2012-01-31 19:11:39 +09:00
Tadashi G. Takaoka
88e079ae6b
Cleanup redundant methods of KeyboardSet
...
Change-Id: I69fa1b5661695d0323222c2969679f4792b6ef0d
2012-01-31 18:27:37 +09:00
Tadashi G. Takaoka
0ed2d3a449
Fix double tap shift key enable/disable shift locked mode
...
Bug: 5942452
Change-Id: I2c7b1605bceac2b2f929cd4d97c417ef15c6f754
2012-01-31 18:06:54 +09:00
Tadashi G. Takaoka
15c99e9f1a
Support addtionalMoreKeys
...
This change also removes
* Unused more_keys_for_q, w, and p.
Change-Id: Idb99e5f6d8c2ad2d28437f42b35b21c282cd181f
2012-01-30 17:04:25 +09:00
Tadashi G. Takaoka
f057b25cdd
Save and restore previous mode keyboard state at KeyboardState.toggleAlphabetAndSymbols
...
Bug: 5881820
Change-Id: I9b1718b16c60f27c05ba727724c0189aa5284334
2012-01-27 16:03:51 +09:00
Tadashi G. Takaoka
757f8d96ee
Add KeyboardState.SwitchActions.setAlphabetShiftLockShifted
...
Change-Id: I6c49d8eb0a8272840ff03e0940d88a31c3d20bd9
2012-01-26 18:25:48 +09:00
Jean Chalard
a02e703289
Add a missing brace
...
Change-Id: Ia51da6506d78a295b8b70a241208fb81602cf0ea
2012-01-26 16:08:53 +09:00
Jean Chalard
9184d8b235
Add a test for moving cursor then backspace
...
This is a test for the case in
Bug: 5851148
Change-Id: I58ee459d85f463b445a28137bdc6c40bc3067ff5
2012-01-26 15:39:29 +09:00
Jean Chalard
41df8a98fd
Add a test case for backspace at start of line
...
Tests the behavior from
Bug: 5784542
Change-Id: I78ec9d77c5dd1e3ea8eff530f9d7d284a1c094d4
2012-01-26 15:36:27 +09:00
Jean Chalard
60e7718462
Add tests for double space behavior
...
Bug: 5875776
Change-Id: Icc28b6c5c0132a3afc8d603841c9e321f720b7c9
2012-01-26 10:10:38 +09:00
Jean Chalard
d9702a375a
Merge "Add a test for auto-correction."
2012-01-25 02:33:39 -08:00
Jean Chalard
0bfe359ee4
Add a test for auto-correction.
...
Fix two related subtle bugs:
- Stop singling out fat-finger-only corrections for rejection
when touch coordinates are not available.
- Remove a racy check that would happen only in debug mode
Change-Id: Ic904f9b27c091ca6b369052c4e65a630bff81257
2012-01-25 19:29:40 +09:00
Tadashi G. Takaoka
38d6a18821
Use String instaed of CharSequence in Key class
...
Change-Id: Ia76a41daede402ed2a509e110ae97d6bb660c760
2012-01-25 17:04:00 +09:00
Jean Chalard
20f437cc49
Merge "Test that delete actually removes any selected text."
2012-01-24 01:19:26 -08:00
Jean Chalard
1e4684ad24
Test that delete actually removes any selected text.
...
Bug: 5699301
Change-Id: I09a967eb03690251e8bd69503285c982d6958a7d
2012-01-24 18:17:09 +09:00
Tadashi G. Takaoka
83d81f2e34
Fix sliding shift input in caps lock mode
...
Bug: 5881820
Change-Id: I4cbe3eda83c09edc9da8efbdff7d3359c1e140d5
2012-01-24 17:58:23 +09:00
Tadashi G. Takaoka
747ed9e99a
For get the symbols shifted state when switch back from alphabet layout
...
Bug: 5881820
Change-Id: Ic478264e1cd366affc34fbf4cd59f1b6e7efede7
2012-01-24 17:28:00 +09:00
Tadashi G. Takaoka
0f05076990
Get rid of setShifted/setShiftLocked from SwitchActions
...
Change-Id: Ib54b0575be190556690ef2dfb14077842745f038
2012-01-24 12:27:09 +09:00
Tadashi G. Takaoka
9507b4a086
Merge "Add more sliding input unit test"
2012-01-23 19:00:56 -08:00
Tadashi G. Takaoka
373f452584
Add more sliding input unit test
...
Bug: 5881820
Change-Id: I9249d8b702ba9afbd1c7d0a4889ac5b2e929f85d
2012-01-24 11:49:00 +09:00
Tadashi G. Takaoka
3611068bc6
Move string resources for unit test to donottranslate.xml
...
Bug: 5904617
Change-Id: I2eb677a4dd9686f87fec9f11051775a5c9c670a1
2012-01-24 11:29:16 +09:00
Tadashi G. Takaoka
530f5d7e15
Merge "Support @icon/icon_name for more keys specification"
2012-01-20 03:20:40 -08:00
Tadashi G. Takaoka
b009a24b83
Support @icon/icon_name for more keys specification
...
Change-Id: I8842e5ce77f9d27a0969df947de292c1830e36b7
2012-01-20 20:09:02 +09:00
Jean Chalard
482588c5a2
Merge "Enable DEBUG mode for logic tests."
2012-01-20 02:27:34 -08:00
Jean Chalard
bc10e4145e
Enable DEBUG mode for logic tests.
...
This enables a wealth of useful checks. We want to run unit
tests with debug mode on.
Change-Id: Ic45caaf43a889287f5aec203e7d1ba63136fc58e
2012-01-20 19:23:34 +09:00
Tadashi G. Takaoka
e54a4005d5
Support @string reference in moreKeys attribute
...
Change-Id: If0056d0601149d2ddd0e231a81e7b2409b37fc06
2012-01-20 18:46:33 +09:00
Tadashi G. Takaoka
3eede315dc
Merge "Move MoreKeySpecParser.getResourceId to Utils"
2012-01-20 00:01:29 -08:00
Tadashi G. Takaoka
86641ef6e8
Merge "Change more key specification type to String from CharSequence"
2012-01-20 00:01:24 -08:00
Tadashi G. Takaoka
0718590486
Move MoreKeySpecParser.getResourceId to Utils
...
Change-Id: I0640dbe76a8ff2dc45b504eca631942811571736
2012-01-20 16:28:18 +09:00
Tadashi G. Takaoka
bd7b160cfb
Change more key specification type to String from CharSequence
...
Change-Id: I5e910f8225a248fc6403771836dec4c0b7294caa
2012-01-20 16:27:32 +09:00
Jean Chalard
83c72d1dae
Add the first tests for the input login in LatinIME class
...
Change-Id: Ifcf9ab55ee01bf7c6c6829e699246e5654975456
2012-01-20 13:00:40 +09:00
Tadashi G. Takaoka
f36f90a173
Fix KeyboardState switching back from alphabet-chording input correctly
...
Bug: 5881820
Change-Id: I108bbc25baa331cc87f00955b48188b3557d10dd
2012-01-19 18:53:38 +09:00
Tadashi G. Takaoka
d26d63b35d
Fix KeyboardState to pass KeyboardStateMultiTouchTests
...
Change-Id: If2b9ee7cf3fad7633d64b98758f802792d66f7a8
2012-01-19 18:48:02 +09:00
Tadashi G. Takaoka
01d9fc966a
Cleanup KeyboardState a bit
...
Rename KeyboardShiftState variable and reorder some statements.
Change-Id: I7e8842836f35876f8697f9906343f7d4a1f9db4f
2012-01-19 18:42:11 +09:00
Tadashi G. Takaoka
23bacdb6a5
Fix MoreKeySpecParser to be able to handle outputText correctly
...
The issue was introduced by Id2320f4d.
Bug: 5887936
Change-Id: Ifec3aefb5b168f790de696ece104b84cdab46539
2012-01-19 12:51:27 +09:00
Tadashi G. Takaoka
06bc1db017
Add more multitouch tests
...
Change-Id: I424a4b608fec084cb787003ef4417ccf273366ae
2012-01-18 19:35:01 +09:00
Tadashi G. Takaoka
60c4594ee6
Get rid of hasDistinctMultitouch reference from KeyboardState
...
Change-Id: I0a783a425302fbc381d056f5b0d757c27f2a9f14
2012-01-18 18:11:46 +09:00
Tadashi G. Takaoka
64e01baade
Add KeyboardStateTestsBase and helper methods
...
Change-Id: I17d908b60bbf784dae7add8355f699a63f7eb90a
2012-01-18 16:46:38 +09:00
Tadashi G. Takaoka
5731b939c7
Remove KeyboardSwicther.toggleCapslock
...
Change-Id: Id613c06e2df770659095d78d42637aed063d0c70
2012-01-17 19:26:24 +09:00
Tadashi G. Takaoka
2a88440419
Rename KeyboardActionListener methods
...
* Rename KeyboardActionListener.onPress to onPressKey
* Rename KeyboardActionListener.onRelease to onReleaseKey
* Merge KeyboardSwicther.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardSwitcher.onReleaseShift and onReleaseSymbol to onReleaseKey.
* Merge KeyboardState.onPressShift, onPressSymbol, and onPressOtherKey to onPressKey.
* Merge KeyboardState.onReleaseShift and onReleaseSymbol to onReleaseKey.
Change-Id: Icf28fd18e238c5e534c292893e4ab5b6b98e72f8
2012-01-17 19:07:20 +09:00
Tadashi G. Takaoka
87e025da11
Remove toggleShift and toggleAlphabetAndSymbols from KeyboardSwitcher
...
Change-Id: I9bb8f78b0a766cd7937d5cbe1c1e5e35898b2997
2012-01-17 16:49:33 +09:00
Tadashi G. Takaoka
1602540764
Remove redundant permission tag
...
Change-Id: I717e2fc9dca13096d76c159f8c3bebff065c6ca1
2012-01-16 20:17:18 +09:00
Tadashi G. Takaoka
4910c9621c
Merge "KeyboardState unit tests for non-distinct multitouch device"
2012-01-16 02:31:37 -08:00
Tadashi G. Takaoka
e47bd3f4fb
KeyboardState unit tests for non-distinct multitouch device
...
Bug: 5708602
Change-Id: Id85db2f8b7b427ba62205f5aaad481a3d33e65fc
2012-01-16 19:14:18 +09:00
Tadashi G. Takaoka
6d5c9c9edc
Add more KeyboardState unit test cases
...
Bug: 5708602
Change-Id: Ib9d2b7a2878f78adecc857fd569fba8965cf4a03
2012-01-16 17:19:54 +09:00
Tadashi G. Takaoka
8ece45bb32
Add auto caps function simulation to MockKeyboardSwitcher
...
Change-Id: I049c224994a37121de031b9fd61edb52eb912e20
2012-01-16 16:30:50 +09:00
Tadashi G. Takaoka
549571cf5c
Make MockKeyboardSwitcher top level class
...
Change-Id: I52c1bc237c20b8bd49fca2431b83843a6e2af10b
2012-01-16 15:49:24 +09:00
Tadashi G. Takaoka
c88026e1df
Update shift state when alphabet keyboard has been set
...
Bug: 5857492
Change-Id: I5ef78af21a76e8cf645e223d1ffa6212690bb1eb
2012-01-16 11:08:29 +09:00
Tadashi G. Takaoka
327c6828a5
Merge "Cleanup KeyboardStateTests a bit"
2012-01-15 17:15:34 -08:00
Tadashi G. Takaoka
d3bf4b172d
Cleanup KeyboardStateTests a bit
...
Move test target KeyboardState into MockKeyboardSwitcher.
Change-Id: I0998a5306a59e777360df9d1321b545313b939f9
2012-01-16 10:04:10 +09:00
Tadashi G. Takaoka
4cabb04971
Use KeyboardSet for unit test
...
Change-Id: I6a08e04628bac0222140e5b1b108f6bcb39859a2
2012-01-13 19:14:42 +09:00
Tadashi G. Takaoka
211680e375
Merge "Fix SuggestTests"
2012-01-13 01:39:43 -08:00
Tadashi G. Takaoka
9c735b8038
Fix SuggestTests
...
We need revised scoring test because dictionary look up algorithm has
been changed significantly since this SuggestTests was made.
Change-Id: I69d527a6bfa24ed0dc189fddad1afab0566c6eb8
2012-01-13 15:25:28 +09:00
Tadashi G. Takaoka
f67f001e40
Merge "Cleanup UtilsTests"
2012-01-12 22:17:33 -08:00
Tadashi G. Takaoka
06eb042616
Merge "Fix UserBigramSuggestTests"
2012-01-12 22:17:28 -08:00
Tadashi G. Takaoka
1d161a9038
Cleanup UtilsTests
...
Change-Id: I5631d010194423fd3d9c216db760ffa726131977
2012-01-13 14:49:14 +09:00
Tadashi G. Takaoka
fb9b0f493c
Fix UserBigramSuggestTests
...
Change-Id: I3363fba44ee70876fd7ba8e27c6ca3c83753b53a
2012-01-13 14:46:45 +09:00
Tadashi G. Takaoka
4015a64a26
Fix SubtypeLocaleTests
...
Change-Id: Id85814aa3bcd9cacbe446b2dfda3ca2ab9146c13
2012-01-13 14:35:43 +09:00
satok
be0cf72253
Move auto correction thresthold to the native code
...
bug: 5858137
Change-Id: Ic4b6270c6e51ef4ed25a6a1d8ddd7fdfa70fd78d
2012-01-12 19:56:15 +09:00
Tadashi G. Takaoka
8cab0b56eb
Get rid of Keyboard.CODE_DUMMY
...
Change-Id: Id2320f4d9b5f22f0ac844ab20ce42b0c4e7c6880
2012-01-10 18:19:36 +09:00
Tadashi G. Takaoka
ee4be6e3c6
Call KeyboardState.onUpdateShiftState from onCodeInput if code is a normal letter
...
This will be helpful to write unit test code.
Change-Id: Ib61cc46ac547084e0dc9ecd3a50814fecf08ace2
2012-01-10 15:13:05 +09:00
Tadashi G. Takaoka
4e1dab8cfa
Move KeyboardBuilder and KeyboardParams classes into Keyboard class
...
This change also moves XmlParseUtils to com.android.inputmethod.latin package.
Bug: 5778201
Change-Id: I7d9faa344460753ce178ad4048e0fadb65c75614
2011-12-18 20:19:16 +09:00
Tadashi G. Takaoka
3708787fe9
Remove LatinKeyboard class
...
Change-Id: I68c667b00dadf2ed9f1c62fb7da37d2cf499cd81
2011-12-18 19:10:42 +09:00
Tadashi G. Takaoka
645128af71
Move KeyboardSwitcher.getKeyboard to KeyboardSet
...
This change also gets rid of XML id from KeyboardId.
Bug: 5002108
Bug: 5679585
Change-Id: I7086c7da3c01ba4ade7f77ee5cc731310da46404
2011-12-16 20:10:57 +09:00
Tadashi G. Takaoka
f2b85d6293
Fix broken build
...
Change-Id: I84c20db21e13422817cfb85af522feaa5295626a
2011-12-16 17:55:54 +09:00
Tadashi G. Takaoka
2d603fff64
Remove EditorInfo from KeyboardId
...
Change-Id: I70919ff30622afa1d8c29ca45589fa617f2c1f0e
2011-12-14 18:58:55 +09:00
Tadashi G. Takaoka
8b1b8aae9c
Cleanup settings key related stuff
...
Change-Id: Ie0d1204e94fcdf9d578974256bf2ae3e87797f13
2011-12-14 16:34:35 +09:00
Tadashi G. Takaoka
689b901156
Merge "Utilize KeyboardSet XML definitions"
2011-12-13 23:31:00 -08:00
Tadashi G. Takaoka
f86109ca56
Utilize KeyboardSet XML definitions
...
This change introduces KeyboardSet and SubKeyboard XML definitions to
represent a set of keyboard layouts.
Bug: 5002108
Bug: 5679585
Change-Id: Ib6c8d5936187381bb6725c9fe574e93871c01a86
2011-12-14 16:28:31 +09:00
Ken Wakasa
d5e35acffb
Reorganize LatinIME native build directory structure. Now it got NDK friendly.
...
Change-Id: I0f62ce8a6a4d2b6134db698f8b8d0576616e524d
2011-12-13 21:16:20 +09:00
Tadashi G. Takaoka
dfbe254de6
Add unit test of KeyboardState
...
Bug: 5708602
Change-Id: I1a8a9f4320948bb500a96df8773b0bfa1a1d4167
2011-12-12 16:34:11 +09:00
Jean Chalard
4606de117b
Stop a flag from escaping.
...
The ultimate intent is to close it up in the settings, as it does not
change while typing, only when the keyboard is open again.
Change-Id: I12ff56e7482c1584877fe5531473bf03e95a60f6
2011-12-09 16:09:04 +09:00
Tadashi G. Takaoka
e22baaadd3
Get rid of usage of key index
...
Change-Id: I7596ce3ae52fde436d06c2dd95ae873c7aa5ef7f
2011-11-29 19:07:54 +09:00
Jean Chalard
6b1f500da4
Resume suggestion when backspacing to the end of a word
...
Bug: 5515381
Change-Id: I26fea896feaf2e9716c7ae3d4f2630360f23ac50
2011-11-29 17:50:36 +09:00
Jean Chalard
5f41b705fc
Fix a bug with the whitelist
...
This bug would kill the case where the whitelist contains
a word to be autocorrected to an uppercased version of
itself, and the user would enter the uppercase version.
In this case, this bug would cause the typed word to be
killed off the list of candidates, and possibly autocorrected
to the *next* candidate.
When the whitelist checks whether this the typed word is
a candidate for whitelisting, this change has it check whether
the whitelisting results in the typed word before returning.
Hence, it can keep the case-insensitive behavior of the
whitelist.
Coincidentally, this change renames the method used to do
this, because it does not comply with the general contract
of Dictionary. This happens to be in the way of another
upcoming change.
Bug: 5420371
Change-Id: Ifb305271acc5f171adf9b18c762ae7975b14be0a
2011-10-07 18:40:23 +09:00
Jean Chalard
3458d61807
Make the whitelist an instanciable class.
...
This goes together with I6b8628b9acc32449e4147a2a754b222fbb76c754
or it will break the build
Bug: 5402436
Change-Id: I07c6266b713773a8de80bb22afdd4c566261f78a
2011-10-06 16:05:21 +09:00
satok
904baab25a
Remove code related to AutoText
...
Bug: 5245751
Change-Id: Ic02f951e8e1dbde9d8964d2c16e4928fb374ca41
2011-10-03 14:38:44 +09:00