Commit Graph

283 Commits (4ef27c035892888df82d9c9f32ac12ed48c8308f)

Author SHA1 Message Date
Tadashi G. Takaoka ad662adeef Disable delete key repeating while in slide input mode
Bug: 8915171
Change-Id: I04f84c29f10abc0207072d2165c75dd20f053f92
2013-05-13 17:23:08 +09:00
Ken Wakasa cb3bba3c4e Rename GesturePreviewTrail.java -> GestureTrail.java
Try reducing some confusions between GesturePreviewTrail.java and GestureTrailsPreview.java

Change-Id: I5fe2ee740cf1b32210530188153f6f6937e34b68
2013-05-13 13:42:22 +09:00
Tadashi G. Takaoka 05124d0193 Move gesture preview trail parameters to resource
Bug: 7167303
Change-Id: I22b56588dc5a1c9d5eaec3a39b5f32c9e5a8a5b4
2013-05-08 17:51:45 +09:00
Tadashi G. Takaoka 84ac8f31fb Move empty listner to KeyboardActionListener.Adapter
Change-Id: Ic7bad73c089de015746c667bbfb2c09bd429a9fc
2013-05-07 16:40:15 +09:00
Tadashi G. Takaoka 13d5da8b88 Don't triger onPress and startLongPressTimer when gesture is canceled
Bug: 8650846
Change-Id: Ice5ef07d6833422906b0b756206e097f75d1f2db
2013-04-22 19:36:08 +09:00
Tadashi G. Takaoka 1ec4c07a13 Merge "Ignore modifier key while sliding key input" 2013-04-15 06:19:10 +00:00
Tadashi G. Takaoka 8dfbb740e1 Ignore modifier key while sliding key input
Bug: 8284624
Change-Id: I839d7a769d98f29be647dbe511ba3f73ca44446d
2013-04-15 14:39:02 +09:00
Tadashi G. Takaoka a91da76683 Suppress calling onPressKey and onReleaseKey while detecting gesture
Bug: 8284624
Change-Id: I14470bb2373965aefa921b2c94948450bfa438e3
2013-04-15 10:59:54 +09:00
Ken Wakasa 9c3860ce46 Rename ProductionFlag.IS_EXPERIMENTAL to USES_DEVELOPMENT_ONLY_DIAGNOSTICS
bug: 8393568
Change-Id: Ie5edf44a3627aca9416145aff56bf05bbf2a05f3
2013-03-18 23:15:47 +09:00
Tadashi G. Takaoka ff961ddf8c Add preliminary graphics of sliding key input preview
Bug: 7548583
Change-Id: Idde6a62f9e64458055c99c893b71c02d1adc7b04
2013-01-24 18:14:20 +09:00
Tadashi G. Takaoka 8aa9963a89 Fix Apache license comment
Change-Id: Ic56167f952a7f4449da366e1e81610e72c966086
2013-01-21 22:23:37 +09:00
Tadashi G. Takaoka ab334eb646 Add PointerTracker.isOldestPointerInQueue
Change-Id: Ic6f38253c94067ec7aa7b5add4452fa144fd9352
2013-01-21 18:26:46 +09:00
Tadashi G. Takaoka b2f5d15250 Cancel update batch input timer only when point is added
Bug: 7972004
Change-Id: Ie5db5910efba851976da2284cafc69be2910d354
2013-01-10 14:31:07 +09:00
Tadashi G. Takaoka e56686f43a Merge "Cancel update batch input timer whenever MotionEvent is received" 2013-01-09 01:12:59 -08:00
Tadashi G. Takaoka 915f348b35 Cancel update batch input timer whenever MotionEvent is received
Bug: 7911739
Change-Id: Id2cd98385371fd98435943ed66ec5381dfaa48e0
2013-01-09 17:55:42 +09:00
Tadashi G. Takaoka 8353e751ca Don't cancel gesture typing while more keys keyboard is shown
Bug: 7964225
Change-Id: I4c572527b6f399282bdd963e38c147c7e69815ac
2013-01-09 16:56:59 +09:00
Tadashi G. Takaoka 7c1e853387 Call onCancelBatchInput only when onStartBatchInput has been called
This NPE issue (Bug: 7903331) has been introduced by Ie68c7698.

Bug: 7903331
Change-Id: I44884f5608fe47d9db7a2c93a752d17b9ae39a22
2012-12-21 14:31:03 +09:00
Tom Ouyang ac69ab400d Refactor more keys menu framework (part 3)
Make it possible to re-enter gesture input even after triggering the long-press
menu. This is useful for new users who may pause at the start of a word. Works
for both single and bi-manual gestures.

Bug: 7595193
Change-Id: Ieaecfd5385ed6c10ae9347b99c2e35a0de5e895d
2012-12-13 21:45:51 -08:00
Tom Ouyang 35580bad6f Refactor more keys menu framework (part 2)
- Integrate pointer tracking between more keys menu, more suggestions menu, and main keyboard.
- Adds multi-touch support for more keys menus. Long press with one finger and select keys with another finger.

Bug: 7508007

Change-Id: I394f28cd79e342d6bcfea573af72aa33b9def00f
2012-12-13 13:17:28 -08:00
Tom Ouyang fa2d543785 Refactor more keys menu framework (part 1)
Eliminate use of slower popup window for rendering the more keys menu and more suggestions menu.
These menus are now drawn directly on the preview placer view.

Change-Id: I40638724a6ffde2be4b5d0341d2a5db7ff7be930
2012-12-07 16:34:25 -08:00
Tadashi G. Takaoka 8e2b34cdb2 Cancel batch input when orientation has been changed
Bug: 7665231
Bug: 7662486
Change-Id: I7b6095026dbf1b9b2f6d3b29f2ab83c462ab374e
2012-12-06 14:24:05 -08:00
Tadashi G. Takaoka 08d8a676c2 Dismiss sliding key input preview when touch event is canceled
This is a follow up of Id807af31.

Bug: 7662486
Change-Id: I13895140f1214592257d0023c1450875a4885ee9
2012-12-04 16:37:26 +09:00
Tadashi G. Takaoka 84f5816cf1 Merge "Groundwork for sliding key input preview" 2012-12-03 01:19:51 -08:00
Tadashi G. Takaoka 547b638194 Groundwork for sliding key input preview
Bug: 7548583
Change-Id: Id807af31f581c08ff8074ed1f6766337bea9469f
2012-12-03 18:16:12 +09:00
Tadashi G. Takaoka 6f0a60d10d Cancel gesture preview update when gesture typing is canceled
Bug: 7594165
Change-Id: I2854a49b2a2e5d3e36cafc5196191359fd2bf003
2012-12-03 15:04:01 +09:00
Tadashi G. Takaoka b5fc0e02d0 Cancel update batch input timer when gesture typing has been canceled
Bug: 7594165
Change-Id: I9dc42919bd196c249c79668570004d3f541cc9ec
2012-11-30 16:30:56 +09:00
Tadashi G. Takaoka 2db9e1c447 Fix typo in method name
This is a follow up of I6f851248.

Change-Id: I3fe17f3c81ed35e7c38ac9701e73c6b2c1ca8d63
2012-11-28 14:35:37 +09:00
Tadashi G. Takaoka 72fd0968e5 Provide gesture data even if the finger stays still
Bug: 7595187
Change-Id: I6f85124815f18706b2b2b5b5da2783dffd246e8c
2012-11-27 18:33:16 +09:00
Tadashi G. Takaoka b3f789799a Cancel gesture typing by sliding out from keyboard
Bug: 7594165
Change-Id: I7849d763e49b57716e8418fb8b6f90eca3a5d2ec
2012-11-22 17:49:56 +09:00
Tadashi G. Takaoka 93b5c2ce63 Make sure PointerTrackerQueue is non-null
Change-Id: I2106cf64bed1472fb39d24e7e5bdee7238a30bfe
2012-11-01 15:26:06 +09:00
Tadashi G. Takaoka 0c8a08c141 Merge "Straighten an if-else-if blocks into if-return blocks" 2012-10-31 21:23:35 -07:00
Tadashi G. Takaoka a232930d9c Straighten an if-else-if blocks into if-return blocks
Change-Id: If3eede1257658f27384e3efc72586fabbed19f7b
2012-11-01 13:14:19 +09:00
Tadashi G. Takaoka 13ae76d7a3 Cleaup non-distinct multitouch related stuff
Change-Id: I09072267217caad2513f83b61d7db1c6d74e18d1
2012-11-01 13:04:49 +09:00
Tadashi G. Takaoka 831198a4e4 Consolidate two helper methods (refactor step 3)
Change-Id: I8b8522d1e5342fc73346ba2748e75f0c1d5bf03c
2012-10-31 19:45:29 +09:00
Tadashi G. Takaoka 2a3b15b267 Flatten nested if-else blocks into plain if-else blocks (refactor step 2.5)
Change-Id: I42aad04658e14e8fd703e3828676719a333ec8f9
2012-10-31 19:44:45 +09:00
Tadashi G. Takaoka 3c6d3a4df8 Separate nested if-blocks into helper methods (refactor step 2)
Change-Id: Ic0ed243f8c1fbf62793565ee37175270b47f0801
2012-10-31 19:34:43 +09:00
Tadashi G. Takaoka 8b449c6dda Separate nested if-blocks into helper methods (refactor step 1)
Change-Id: I87ef8b174295fb12a91fec35acd3b0cc152ad8f0
2012-10-31 18:40:28 +09:00
Tadashi G. Takaoka 240871ecaf Move code point constants from Keyboard to Constants class
Change-Id: Iee01d4d2b916d0b584531104ac865ae6e6370a3d
2012-10-29 16:04:20 +09:00
Tadashi G. Takaoka 477088c612 am 6b169dc9: am 718a0744: am 0cbc19b0: Merge "Restrict bogus move event detector to a horizontal movement" into jb-mr1-dev
* commit '6b169dc91d7533d36bc1f5864bcaf05450af3beb':
  Restrict bogus move event detector to a horizontal movement
2012-10-16 17:31:56 -07:00
Tadashi G. Takaoka d631778e1c Restrict bogus move event detector to a horizontal movement
The bogus move detection threshold is in proportional to a diagonal
length of a key. It was in proportional to a key width.

Bug: 7346614
Change-Id: I796add8aea16dd05e9844d6c4fba8072eece39c6
2012-10-16 14:53:54 -07:00
Tadashi G. Takaoka dd7db83423 am a13087e1: am 9c318bc5: am ac2a154a: Merge "Detect bogus down-move-up event and add workaround" into jb-mr1-dev
* commit 'a13087e1abf48f8599795b9abb4f49a596a6f32c':
  Detect bogus down-move-up event and add workaround
2012-10-12 11:14:00 -07:00
Tadashi G. Takaoka b0952888eb Detect bogus down-move-up event and add workaround
Bug: 7032858
Change-Id: I2e76bf49f1e07b436d05c19881e2f2c4fed21621
2012-10-12 20:45:08 +09:00
Tadashi G. Takaoka ad181915f7 Fix excessive canceling of long-press timer while gesturing
Change-Id: I2a68c777e66a6b83d16885780a92a21e91bd3f9e
2012-10-11 17:51:45 +09:00
Tadashi G. Takaoka c1f2c3a646 am c66a2d1d: am 61155c70: am 9d423536: Merge "Don\'t cancel long press timer too early" into jb-mr1-dev
* commit 'c66a2d1da69de796a2a7acb5dd6903cb5668585c':
  Don't cancel long press timer too early
2012-10-11 00:52:05 -07:00
Tadashi G. Takaoka c9ba26994b Don't cancel long press timer too early
Bug: 7328861
Change-Id: I1b77ec4a30ae15b2edda42a1ff58ebc528288553
2012-10-11 15:58:56 +09:00
Tadashi G. Takaoka 4020289147 am 6b0fa314: am f5c10d00: am 7a17c1fc: Tuning gesture detection parameters
* commit '6b0fa314d780ea77bd2c65b9bdd87297d50a0f6b':
  Tuning gesture detection parameters
2012-10-09 07:48:45 -07:00
Tadashi G. Takaoka 7a17c1fcb5 Tuning gesture detection parameters
Bug: 7032858
Change-Id: Ie4f952aa33b99ce16027500a596d723ee9bafae9
2012-10-09 19:06:10 +09:00
Tadashi G. Takaoka 4df6549c1a Allow to start gesture from a non-letter key except from a modifier key
Bug: 7303982
Change-Id: Id54965c1d7b2b760ac2a76a0fc509b46948e75e6
2012-10-09 18:03:40 +09:00
Tadashi G. Takaoka f731eb1760 Add separate key hysteresis distance for sliding modifier input
Bug: 7294402
Change-Id: I78c8be9e1a7b2d49d86bfe1e3a46d1785bfe5d48
2012-10-07 01:19:01 +09:00
Tadashi G. Takaoka 3623b9767b Fix detecting fast typing algorithm and parameter
Bug: 7032858
Change-Id: I5ed701e2394d16e43258a3c22d59991cb18adce8
2012-10-05 18:23:39 +09:00
Tadashi G. Takaoka 80bcb99632 Move gesture detection and recognition paramters to resources
Bug: 7032858
Change-Id: I66570a5e21cdeede1eba420c597f440ab61aa941
2012-10-05 14:39:44 +09:00
Tadashi G. Takaoka 6052a81e08 Merge "Fix gesture detection algorithm" into jb-mr1-dev 2012-09-28 06:49:24 -07:00
Tadashi G. Takaoka 58fe5a421f Fix gesture detection algorithm
This change also
  * Introduces adaptive gesture detecting threshold for time domain in addition to length domain.
  * Tunes the parameters for detecting gesture after fast typing.
  * Fixes a bug in dismissing gesture floating preview text.
  * Cleanup debug messages

Bug: 7218902
Change-Id: Iafccd872c6efe0c3b5ae65fa40b04c80d9f139c7
2012-09-28 22:47:55 +09:00
Tadashi G. Takaoka c8f252940f Merge "Temporarily suppress key popup preview after gesture input" into jb-mr1-dev 2012-09-28 03:38:20 -07:00
Tadashi G. Takaoka 29d2d48182 Temporarily suppress key popup preview after gesture input
Bug: 7244317
Change-Id: I39cdb0fbda51f3e4339301d9cc53403b1ad15409
2012-09-28 19:10:56 +09:00
Tadashi G. Takaoka bf538ab2c0 Remove dead code for disabling gesture input after fast typing
Bug: 7218902
Change-Id: Iccc1d4cf0dd3ac84b30c68e11eee9a6ad89f14c4
2012-09-28 16:15:51 +09:00
Tadashi G. Takaoka a28a05e971 Cleanup: Make some classes as final
Change-Id: I6009b3c1950ba32b7f1e205a3db2307fe0cd688e
2012-09-27 19:03:30 +09:00
Tadashi G. Takaoka 157fe98fd4 Draw gesture trail that is above the keyboard
Bug: 7233992
Change-Id: Ia848543a9d008c68d6ecbc7f715aa6ccdba9d1c6
2012-09-26 20:43:13 +09:00
Tadashi G. Takaoka 1645902cce Postpone gesture start detection on non-letter key
Bug: 7108223
Change-Id: Ie1ead5cec947ddf86c5150dca5b20b224527e511
2012-09-26 12:46:55 +09:00
Tadashi G. Takaoka 630d9c95e5 Introduce typing aware gesture detection
Bug: 7218902
Change-Id: I11ad85914bf991eca513e04ed8b5d12779101dda
2012-09-25 20:11:05 +09:00
Tadashi G. Takaoka b305e6775a Second finger can start gesture input
Bug: 7108075
Change-Id: I17c419086a86c0bdac7a3858f8c66f6893678e67
2012-09-24 15:31:51 +09:00
Tadashi G. Takaoka 9f09c6fbc8 Disable gesture input while fast typing
Bug: 7032858
Change-Id: I0f9f92c712dbe45f4ba0b3cf331fbe11426c1db4
2012-09-24 13:14:47 +09:00
Tadashi G. Takaoka 02a67200fc Fix gesture start detection algorithm
Bug: 7032858
Change-Id: I9f4d939fa87fdead4c5a5921338a16cd0a59b7ac
2012-09-21 17:30:00 +09:00
Tadashi G. Takaoka f80f09c7ee Move PointerTracker.MIN_GESTURE_RECOGNITION_TIME to GestureStroke
Change-Id: Ib50192ed8f611fd8288ff9b7a1e0a19249cc6348
2012-09-20 15:14:25 +09:00
Tadashi G. Takaoka c7dc673cf0 Use Path to draw gesture preview trail
This change also reduces the number of points to use as preview trail.

Bug: 7167303
Change-Id: I0cf4908efa44b17b42d4fddd6725238236ac2654
2012-09-19 19:29:06 +09:00
Tadashi G. Takaoka 9c5d165e9c Don't show gesture preview trail while detecting gesture input
Bug: 7166222
Change-Id: Iecc8403a4eca305323ed8c8e17266d23172d84d9
2012-09-14 11:21:12 +09:00
Tadashi G. Takaoka 350fab6dc4 Fix gesture floating preview on up event
This is a follow up of Iddb26ba1.

Bug: 7119032
Change-Id: Ibbc94a1a4880ca31bd8aeece89893691b14acc4d
2012-09-13 19:07:09 +09:00
Tadashi G. Takaoka f0e83046f0 Show gesture floating preview text at oldest finger
Bug: 7119032
Change-Id: Iddb26ba1a595e472fde0982d744b5652d5fbda3e
2012-09-13 18:17:15 +09:00
Tadashi G. Takaoka f117f77766 Fix bimanual gesture preview trail
Bug: 7122288
Change-Id: I9f0aabe08628880a8439bfda98844ae60206b8de
2012-09-07 17:20:07 +09:00
Tadashi G. Takaoka 29d5973fd3 Optimize rare Key attributes to separate class
This change also removes per-Key verticalGap and horizontalGap.

Change-Id: Id4d2129022fbbfbf5d740b8d1257032c945bb775
2012-08-30 11:48:19 +09:00
Tadashi G. Takaoka 6c3304ea96 Support bimanual gesture input
Change-Id: Id86dc93fb7115ab4a6d05b3c05652df35ad08c12
2012-08-28 18:26:07 +09:00
Tadashi G. Takaoka 333a300586 Add multiple gesture preview trails animation
Change-Id: I533e6de9b138317472565be82c8ba5e422472888
2012-08-24 17:04:20 +09:00
Tadashi G. Takaoka 922a85734d Merge "Remeve the reference of MainKeyboardView from PointerTracker" into jb-mr1-dev 2012-08-23 00:26:30 -07:00
Tadashi G. Takaoka 5509798977 Remeve the reference of MainKeyboardView from PointerTracker
This change also consolidates MainKeyboardView.KeyTimerParams with
KeyTimerHandler.

Change-Id: Ifc70ca81fa7d7daded4c2204fcdffdf942c16bc5
2012-08-23 16:22:13 +09:00
Tadashi G. Takaoka b28139f51b Use PointerTrackerQueue.size instead of MotionEvent.getPointerCount
Change-Id: I089e905def0b70bd38fd54ab2d84689b904bb320
2012-08-23 15:54:00 +09:00
Tadashi G. Takaoka 694ccb5ba1 Cosmetic change to PointerTracker
* Add final to parameters and locals
* Add curly bracket around single statement if-block

Change-Id: I9f3b23f7145e6b1d6ef806d991ed71ebc63311ff
2012-08-23 15:14:46 +09:00
Tadashi G. Takaoka dde36ef343 Remove TextView reference from PointerTracker
Change-Id: If8e65c08ec97f6d57932c9e3412d6fe17b0994ea
2012-08-22 16:13:29 +09:00
Tadashi G. Takaoka 5f282ea9e4 Add CollectionUtils class to create generic collection easily
Change-Id: I6b4de9187e122298e5e9cd8ddc9070d062df6a89
2012-08-22 10:21:38 +09:00
Tadashi G. Takaoka f92f9de7a9 Merge "Eliminate redundant time parameter from gesture detection code" into jb-mr1-dev 2012-08-13 02:25:28 -07:00
Tadashi G. Takaoka 74d0bb09c7 Eliminate redundant time parameter from gesture detection code
This change also uses the key width to determine the sampling rate of
the gesture points (instead of the key height).

Change-Id: I987487825693b4883d8359eb5b31f1d668cd5ef4
2012-08-13 18:11:03 +09:00
Tadashi G. Takaoka fc5e3f973c Remove unnecessary drawing point
Change-Id: Ib9cba3484a72306320eb9c1744d940da1a0998c7
2012-08-13 14:03:10 +09:00
Tadashi G. Takaoka 708cc94a35 Remove gesture detection hacking code
Change-Id: Idaec3753592ca0a5c5545eb5ab65254a3e32e662
2012-08-13 12:19:19 +09:00
Tadashi G. Takaoka 8335c59ea7 Fix NPE and don't call UI API from non-UI thread
This change also reverts I29ec3e9f10484f30288fac76f0c45b3707bc2259

Bug: 6956969
Bug: 6891020
Bug: 6947253
Change-Id: I7901c0f9489b4deb79314c2c903b138611bfd78e
2012-08-09 11:55:41 +09:00
Tadashi G. Takaoka 7ae1fd02d4 Use ArrayList to implement PointerTrackerQueue
Change-Id: Ie386e6c7869df4df940e09fccffc5cd661134557
2012-08-08 14:18:30 +09:00
Tadashi G. Takaoka 0cc425bd9c Add PointerTrackerQueue unit tests
This is a groundwork to elminate LinkedList from PointerTrackerQueue.

Change-Id: Ib77780537ceb0b4273fb8e483977ab76124c5ce7
2012-08-07 16:56:41 +09:00
Tadashi G. Takaoka 44972bcdb6 Fix multi-touch input in auto-caps field
Bug: 6905194
Change-Id: I7f9f61f36b7f3aa2b40c126a68232a947976aad2
2012-08-01 18:56:11 +09:00
Tadashi G. Takaoka d2173b5737 Cancel the while-typing timer when user hits the spacebar
Bug: 6689079
Change-Id: I6b366acdcefb8b2c0d973a4f2a12329fc12eb5c5
2012-07-31 19:39:52 +09:00
Tadashi G. Takaoka c902dfeb8f Fix gesture detection when sliding key input is disabled
Bug: 6867837
Change-Id: Icbfa69928c436343db545860a7d63171f52266b6
2012-07-26 17:41:54 +09:00
Tom Ouyang 2f81757c3a Add dynamic floating preview for incremental gesture recognition.
Change-Id: I7ba7ac24aa96a0ff19267997c5b58853079bc6dc
2012-07-25 19:40:55 +09:00
Tadashi G. Takaoka 0657b9698a Update gesture mode state when dictionary gets available
Bug: 6860204
Change-Id: I840b7bf1983ab92fa4e0b180129176539e96409f
2012-07-25 16:11:53 +09:00
Tadashi G. Takaoka c8e45ddb03 Rename LatinKeyboardView to MainKeyboardView
Change-Id: I8f3123b8d727c7beb72e226f80c17794f89c8b60
2012-07-23 12:11:43 +09:00
Tom Ouyang ccaa799ee9 Update gesture bounding box handling.
Change-Id: I085611ce6fd82608f284d74973e5bb14258cdc24
2012-07-22 10:54:27 +09:00
Kurt Partridge 6b966160ac ResearchLog refactor
- new package: com.android.inputmethod.research

multi-project commit with Ic0a5744f3160d13218addd589890623c0d120ffc

Bug: 6188932

Change-Id: Icf8d4a40a5725401799be6e209a640d99a5f34c4
2012-07-20 15:06:51 -07:00
Tadashi G. Takaoka 2474b37abd Merge "Disable gesture input detection when more keys keyboard is showing" 2012-07-20 03:28:52 -07:00
Tadashi G. Takaoka 62b8dddb6d Add gesture input enable settings
Bug: 6845325
Change-Id: I3165465b0b280e32a9288da16abb75baa67288dc
2012-07-20 19:26:36 +09:00
Tadashi G. Takaoka cc3500b0c8 Disable gesture input detection when more keys keyboard is showing
Bug: 6852441
2012-07-20 18:40:31 +09:00
Ken Wakasa afed0567e9 Performance improvements - Avoid using iterators
Change-Id: Iab604aa1ef67acf5d54208a6bc44635632845ae0
2012-07-20 17:51:52 +09:00
Tom Ouyang 4daf32b6c0 Add gesture trail feedback.
Change-Id: I32709fac0dec3165678a052aa286e2fb3d90721b
2012-07-20 17:09:23 +09:00
Tom Ouyang 0c5f72e2bf Improve incremental gesture tracking.
Eliminates need to recreate batch InputPointers on each gesture move event.
Fixes issue where batch points from previous tapping input get mixed into next gesture.

Change-Id: I9ecac66db88f5a87c6dde2138408906dd3d11139
2012-07-20 10:44:37 +09:00
Tadashi G. Takaoka 1e6f39a9f9 Tune the gesture detection logic a bit
Change-Id: Ia8e8c15fdbbd49768d57cafd50325e7e45af6251
2012-07-19 18:53:39 +09:00