aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rwxr-xr-xjava/res/drawable-hdpi/working.pngbin8636 -> 1180 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.pngbin520 -> 385 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.pngbin774 -> 550 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.pngbin1130 -> 813 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.pngbin795 -> 518 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.pngbin1029 -> 700 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.pngbin1332 -> 950 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.pngbin497 -> 358 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.pngbin642 -> 252 bytes
-rw-r--r--java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.pngbin1514 -> 389 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.pngbin812 -> 530 bytes
-rw-r--r--java/res/drawable-mdpi/cancel.pngbin1259 -> 5792 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/dialog_bubble_step02.9.pngbin1036 -> 1036 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/dialog_bubble_step07.9.pngbin4646 -> 4646 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/ic_subtype_keyboard.pngbin498 -> 498 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/keyboard_dark_background.9.pngbin228 -> 232 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_key_feedback_background.9.pngbin1182 -> 764 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.pngbin1385 -> 850 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_suggest_strip.9.pngbin220 -> 205 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_suggest_strip_divider.pngbin2846 -> 2812 bytes
-rw-r--r--java/res/drawable-mdpi/mic_slash.pngbin3098 -> 7595 bytes
-rw-r--r--java/res/drawable-mdpi/ok_cancel.pngbin8453 -> 3330 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level0.pngbin3263 -> 6738 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level1.pngbin3572 -> 6804 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level2.pngbin3974 -> 6897 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level3.pngbin4270 -> 7077 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level4.pngbin4241 -> 7109 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level5.pngbin4252 -> 6933 bytes
-rw-r--r--java/res/drawable-mdpi/speak_now_level6.pngbin2201 -> 7050 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete.pngbin829 -> 3432 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_done.pngbin771 -> 771 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.pngbin694 -> 4640 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_delete.pngbin374 -> 3414 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_feedback_done.pngbin498 -> 498 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.pngbin249 -> 3126 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.pngbin249 -> 3121 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_mic.pngbin483 -> 3803 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_numalt.pngbin735 -> 4679 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_return.pngbin381 -> 3613 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_feedback_search.pngbin501 -> 3793 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_settings.pngbin729 -> 3839 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_shift.pngbin437 -> 3320 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.pngbin333 -> 3268 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_space.pngbin223 -> 3222 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_feedback_tab.pngbin364 -> 3529 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_language_arrows_left.pngbin261 -> 3001 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_language_arrows_right.pngbin257 -> 3032 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_mic.pngbin859 -> 3439 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_return.pngbin866 -> 3380 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_search.pngbin1029 -> 3535 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_settings.pngbin1459 -> 3448 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift.pngbin1017 -> 3217 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_shift_lock.pngbin0 -> 3188 bytes
-rw-r--r--[-rwxr-xr-x]java/res/drawable-mdpi/sym_keyboard_shift_locked.pngbin799 -> 3188 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_space.pngbin424 -> 3063 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_tab.pngbin645 -> 3269 bytes
-rw-r--r--java/res/drawable-mdpi/working.pngbin33111 -> 3367 bytes
-rw-r--r--java/res/drawable/btn_keyboard_key_gingerbread_popup.xml21
-rw-r--r--[-rwxr-xr-x]java/res/layout/candidate_preview.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/candidates.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_basic.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_basic_highcontrast.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_gingerbread.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_stone_bold.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_stone_normal.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_stone_popup.xml0
-rw-r--r--[-rwxr-xr-x]java/res/layout/input_trans.xml0
-rw-r--r--java/res/layout/key_preview.xml (renamed from java/res/layout/keyboard_key_preview.xml)0
-rw-r--r--[-rwxr-xr-x]java/res/layout/keyboard_popup.xml (renamed from java/res/layout/input_gingerbread_popup.xml)6
-rw-r--r--java/res/layout/keyboard_popup_keyboard.xml39
-rw-r--r--java/res/values/attrs.xml3
-rw-r--r--java/res/values/styles.xml5
-rw-r--r--java/src/com/android/inputmethod/latin/Hints.java6
-rw-r--r--java/src/com/android/inputmethod/latin/InputLanguageSelection.java2
-rw-r--r--java/src/com/android/inputmethod/latin/LanguageSwitcher.java2
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java4
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java61
-rw-r--r--java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java54
78 files changed, 136 insertions, 67 deletions
diff --git a/java/res/drawable-hdpi/working.png b/java/res/drawable-hdpi/working.png
index 8b51ed116..5ea702307 100755
--- a/java/res/drawable-hdpi/working.png
+++ b/java/res/drawable-hdpi/working.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png
index 48ebb6183..53fe9c97d 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
index 38b8b48aa..649ef9773 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_off.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
index 147c1b22e..93f7d87c2 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_normal_on.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png
index f8affea64..8560b3ba7 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
index 75962e9b0..778abaf24 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_off.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png
index b7dccfe3c..2a23945e5 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_pressed_on.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png
index 9ccad8020..6af2d8d0c 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_normal.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
index ce58880db..02d0fcf93 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_normal.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png
index fe6c517f9..125ff1335 100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_popup_selected.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png
index d09bd3db3..fdaf69966 100755..100644
--- a/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png
+++ b/java/res/drawable-mdpi/btn_keyboard_key_light_pressed.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/cancel.png b/java/res/drawable-mdpi/cancel.png
index 081532bec..713a37875 100644
--- a/java/res/drawable-mdpi/cancel.png
+++ b/java/res/drawable-mdpi/cancel.png
Binary files differ
diff --git a/java/res/drawable-mdpi/dialog_bubble_step02.9.png b/java/res/drawable-mdpi/dialog_bubble_step02.9.png
index d77f85fe2..d77f85fe2 100755..100644
--- a/java/res/drawable-mdpi/dialog_bubble_step02.9.png
+++ b/java/res/drawable-mdpi/dialog_bubble_step02.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/dialog_bubble_step07.9.png b/java/res/drawable-mdpi/dialog_bubble_step07.9.png
index 80f4a0eaa..80f4a0eaa 100755..100644
--- a/java/res/drawable-mdpi/dialog_bubble_step07.9.png
+++ b/java/res/drawable-mdpi/dialog_bubble_step07.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_subtype_keyboard.png b/java/res/drawable-mdpi/ic_subtype_keyboard.png
index 0d7ebd4e5..0d7ebd4e5 100755..100644
--- a/java/res/drawable-mdpi/ic_subtype_keyboard.png
+++ b/java/res/drawable-mdpi/ic_subtype_keyboard.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_dark_background.9.png b/java/res/drawable-mdpi/keyboard_dark_background.9.png
index 2d5c02080..a2136f7de 100755..100644
--- a/java/res/drawable-mdpi/keyboard_dark_background.9.png
+++ b/java/res/drawable-mdpi/keyboard_dark_background.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png
index 2a80f096d..a84c19c39 100644
--- a/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_background.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png
index 29aa285bd..82513aadd 100755..100644
--- a/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png
+++ b/java/res/drawable-mdpi/keyboard_key_feedback_more_background.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png b/java/res/drawable-mdpi/keyboard_suggest_strip.9.png
index 71bf5e8f4..fa6c0feff 100644
--- a/java/res/drawable-mdpi/keyboard_suggest_strip.9.png
+++ b/java/res/drawable-mdpi/keyboard_suggest_strip.9.png
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png b/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png
index c9413d7c1..363936362 100644
--- a/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png
+++ b/java/res/drawable-mdpi/keyboard_suggest_strip_divider.png
Binary files differ
diff --git a/java/res/drawable-mdpi/mic_slash.png b/java/res/drawable-mdpi/mic_slash.png
index 0b0fb5803..d04b56344 100644
--- a/java/res/drawable-mdpi/mic_slash.png
+++ b/java/res/drawable-mdpi/mic_slash.png
Binary files differ
diff --git a/java/res/drawable-mdpi/ok_cancel.png b/java/res/drawable-mdpi/ok_cancel.png
index 0601d3231..20d10f986 100644
--- a/java/res/drawable-mdpi/ok_cancel.png
+++ b/java/res/drawable-mdpi/ok_cancel.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level0.png b/java/res/drawable-mdpi/speak_now_level0.png
index abc845466..5bd13603e 100644
--- a/java/res/drawable-mdpi/speak_now_level0.png
+++ b/java/res/drawable-mdpi/speak_now_level0.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level1.png b/java/res/drawable-mdpi/speak_now_level1.png
index 67cb235bf..ccb76b879 100644
--- a/java/res/drawable-mdpi/speak_now_level1.png
+++ b/java/res/drawable-mdpi/speak_now_level1.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level2.png b/java/res/drawable-mdpi/speak_now_level2.png
index 1e07f26c6..715f90081 100644
--- a/java/res/drawable-mdpi/speak_now_level2.png
+++ b/java/res/drawable-mdpi/speak_now_level2.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level3.png b/java/res/drawable-mdpi/speak_now_level3.png
index 31991daee..725248a25 100644
--- a/java/res/drawable-mdpi/speak_now_level3.png
+++ b/java/res/drawable-mdpi/speak_now_level3.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level4.png b/java/res/drawable-mdpi/speak_now_level4.png
index 7363ca892..ff6c50b40 100644
--- a/java/res/drawable-mdpi/speak_now_level4.png
+++ b/java/res/drawable-mdpi/speak_now_level4.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level5.png b/java/res/drawable-mdpi/speak_now_level5.png
index 9034908f4..a5d6b89d6 100644
--- a/java/res/drawable-mdpi/speak_now_level5.png
+++ b/java/res/drawable-mdpi/speak_now_level5.png
Binary files differ
diff --git a/java/res/drawable-mdpi/speak_now_level6.png b/java/res/drawable-mdpi/speak_now_level6.png
index 3eaa9bdad..dcdb48d08 100644
--- a/java/res/drawable-mdpi/speak_now_level6.png
+++ b/java/res/drawable-mdpi/speak_now_level6.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_delete.png b/java/res/drawable-mdpi/sym_keyboard_delete.png
index 43a033ead..1b0f3f836 100644
--- a/java/res/drawable-mdpi/sym_keyboard_delete.png
+++ b/java/res/drawable-mdpi/sym_keyboard_delete.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_done.png b/java/res/drawable-mdpi/sym_keyboard_done.png
index c0d6d1394..c0d6d1394 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_done.png
+++ b/java/res/drawable-mdpi/sym_keyboard_done.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png b/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png
index bc11cf31a..c556c35cb 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_123_mic.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png b/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png
index 1edb10b4e..a79f15852 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_delete.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_done.png b/java/res/drawable-mdpi/sym_keyboard_feedback_done.png
index 0d7ebd4e5..0d7ebd4e5 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_done.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_done.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
index e3f80fada..eecb02694 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
index 3cb0d9913..7e10ae3af 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png b/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png
index 247d5b3a9..3ed0782d3 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_mic.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png b/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png
index aac737615..bc8f1cfc3 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_numalt.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_return.png b/java/res/drawable-mdpi/sym_keyboard_feedback_return.png
index 03d9c9b2d..dd99ff381 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_return.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_return.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_search.png b/java/res/drawable-mdpi/sym_keyboard_feedback_search.png
index f4af341eb..6b8e01d90 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_search.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_search.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png b/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png
index 08ba18f28..03bad1843 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_settings.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png b/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png
index 97f4661f8..d56357559 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_shift.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png b/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png
index 7194b30b0..494524a66 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_shift_locked.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_space.png b/java/res/drawable-mdpi/sym_keyboard_feedback_space.png
index 739db6879..36eb60c13 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_space.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_space.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png b/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png
index 593fa6703..a10dc8fa2 100644
--- a/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png
+++ b/java/res/drawable-mdpi/sym_keyboard_feedback_tab.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png b/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png
index 91eda5f2d..7067a8bf5 100644
--- a/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png
+++ b/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png b/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png
index 62a5beba4..f7a133d9e 100644
--- a/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png
+++ b/java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_mic.png b/java/res/drawable-mdpi/sym_keyboard_mic.png
index a75809549..e926b3fa6 100644
--- a/java/res/drawable-mdpi/sym_keyboard_mic.png
+++ b/java/res/drawable-mdpi/sym_keyboard_mic.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_return.png b/java/res/drawable-mdpi/sym_keyboard_return.png
index 17f257439..0c10f004a 100644
--- a/java/res/drawable-mdpi/sym_keyboard_return.png
+++ b/java/res/drawable-mdpi/sym_keyboard_return.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_search.png b/java/res/drawable-mdpi/sym_keyboard_search.png
index 127755d6b..614f85f5e 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_search.png
+++ b/java/res/drawable-mdpi/sym_keyboard_search.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings.png b/java/res/drawable-mdpi/sym_keyboard_settings.png
index f3bcdbcac..ad7618fa0 100644
--- a/java/res/drawable-mdpi/sym_keyboard_settings.png
+++ b/java/res/drawable-mdpi/sym_keyboard_settings.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift.png b/java/res/drawable-mdpi/sym_keyboard_shift.png
index 0566e5a88..5109b0471 100644
--- a/java/res/drawable-mdpi/sym_keyboard_shift.png
+++ b/java/res/drawable-mdpi/sym_keyboard_shift.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_lock.png b/java/res/drawable-mdpi/sym_keyboard_shift_lock.png
new file mode 100644
index 000000000..244179c2d
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_shift_lock.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png b/java/res/drawable-mdpi/sym_keyboard_shift_locked.png
index ccaf05d3b..244179c2d 100755..100644
--- a/java/res/drawable-mdpi/sym_keyboard_shift_locked.png
+++ b/java/res/drawable-mdpi/sym_keyboard_shift_locked.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_space.png b/java/res/drawable-mdpi/sym_keyboard_space.png
index 4e6273b89..cbe4a88d6 100644
--- a/java/res/drawable-mdpi/sym_keyboard_space.png
+++ b/java/res/drawable-mdpi/sym_keyboard_space.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_tab.png b/java/res/drawable-mdpi/sym_keyboard_tab.png
index cd9daff08..eddb9a592 100644
--- a/java/res/drawable-mdpi/sym_keyboard_tab.png
+++ b/java/res/drawable-mdpi/sym_keyboard_tab.png
Binary files differ
diff --git a/java/res/drawable-mdpi/working.png b/java/res/drawable-mdpi/working.png
index 6246a6d1c..4a930c52d 100644
--- a/java/res/drawable-mdpi/working.png
+++ b/java/res/drawable-mdpi/working.png
Binary files differ
diff --git a/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml b/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml
new file mode 100644
index 000000000..9b6d23beb
--- /dev/null
+++ b/java/res/drawable/btn_keyboard_key_gingerbread_popup.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_pressed="true"
+ android:drawable="@drawable/btn_keyboard_key_light_popup_selected" />
+ <item android:drawable="@drawable/btn_keyboard_key_light_popup_normal" />
+</selector>
diff --git a/java/res/layout/candidate_preview.xml b/java/res/layout/candidate_preview.xml
index fe2002d46..fe2002d46 100755..100644
--- a/java/res/layout/candidate_preview.xml
+++ b/java/res/layout/candidate_preview.xml
diff --git a/java/res/layout/candidates.xml b/java/res/layout/candidates.xml
index 478e20ba1..478e20ba1 100755..100644
--- a/java/res/layout/candidates.xml
+++ b/java/res/layout/candidates.xml
diff --git a/java/res/layout/input_basic.xml b/java/res/layout/input_basic.xml
index 168eba691..168eba691 100755..100644
--- a/java/res/layout/input_basic.xml
+++ b/java/res/layout/input_basic.xml
diff --git a/java/res/layout/input_basic_highcontrast.xml b/java/res/layout/input_basic_highcontrast.xml
index 19ff1db11..19ff1db11 100755..100644
--- a/java/res/layout/input_basic_highcontrast.xml
+++ b/java/res/layout/input_basic_highcontrast.xml
diff --git a/java/res/layout/input_gingerbread.xml b/java/res/layout/input_gingerbread.xml
index 8f59cae21..8f59cae21 100755..100644
--- a/java/res/layout/input_gingerbread.xml
+++ b/java/res/layout/input_gingerbread.xml
diff --git a/java/res/layout/input_stone_bold.xml b/java/res/layout/input_stone_bold.xml
index e3588bb22..e3588bb22 100755..100644
--- a/java/res/layout/input_stone_bold.xml
+++ b/java/res/layout/input_stone_bold.xml
diff --git a/java/res/layout/input_stone_normal.xml b/java/res/layout/input_stone_normal.xml
index fd7bf85fc..fd7bf85fc 100755..100644
--- a/java/res/layout/input_stone_normal.xml
+++ b/java/res/layout/input_stone_normal.xml
diff --git a/java/res/layout/input_stone_popup.xml b/java/res/layout/input_stone_popup.xml
index f159625f7..f159625f7 100755..100644
--- a/java/res/layout/input_stone_popup.xml
+++ b/java/res/layout/input_stone_popup.xml
diff --git a/java/res/layout/input_trans.xml b/java/res/layout/input_trans.xml
index 4c0979c04..4c0979c04 100755..100644
--- a/java/res/layout/input_trans.xml
+++ b/java/res/layout/input_trans.xml
diff --git a/java/res/layout/keyboard_key_preview.xml b/java/res/layout/key_preview.xml
index de03506ad..de03506ad 100644
--- a/java/res/layout/keyboard_key_preview.xml
+++ b/java/res/layout/key_preview.xml
diff --git a/java/res/layout/input_gingerbread_popup.xml b/java/res/layout/keyboard_popup.xml
index 0cc953edf..1005e7e11 100755..100644
--- a/java/res/layout/input_gingerbread_popup.xml
+++ b/java/res/layout/keyboard_popup.xml
@@ -17,7 +17,6 @@
** limitations under the License.
*/
-->
-
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
@@ -33,7 +32,6 @@
android:layout_height="wrap_content"
android:background="@drawable/keyboard_dark_background"
- latin:keyBackground="@drawable/btn_keyboard_key_gingerbread"
- latin:popupLayout="@layout/input_gingerbread_popup"
- />
+ latin:keyBackground="@drawable/btn_keyboard_key_gingerbread_popup"
+ />
</LinearLayout>
diff --git a/java/res/layout/keyboard_popup_keyboard.xml b/java/res/layout/keyboard_popup_keyboard.xml
deleted file mode 100644
index 6d3985065..000000000
--- a/java/res/layout/keyboard_popup_keyboard.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:background="@drawable/keyboard_popup_panel_background"
- >
- <com.android.inputmethod.latin.LatinKeyboardBaseView
- xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
- android:id="@+id/LatinKeyboardBaseView"
- android:layout_alignParentBottom="true"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@android:color/transparent"
-
- latin:keyBackground="@drawable/btn_keyboard_key_gingerbread"
- latin:keyPreviewLayout="@layout/keyboard_key_preview"
- latin:popupLayout="@layout/keyboard_popup_keyboard"
- />
-</LinearLayout>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index e3171eb33..a8eaab9a3 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -46,6 +46,9 @@
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
<attr name="verticalCorrection" format="dimension" />
+ <!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
+ <attr name="miniKeyboardSlideAllowance" format="dimension" />
+
<!-- Layout resource for popup keyboards. -->
<attr name="popupLayout" format="reference" />
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 16478c883..48f0d5e54 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -21,12 +21,13 @@
<item name="keyBackground">@drawable/btn_keyboard_key</item>
<item name="keyTextSize">@dimen/key_text_size</item>
<item name="keyTextColor">#FFFFFFFF</item>
- <item name="keyPreviewLayout">@layout/keyboard_key_preview</item>
+ <item name="keyPreviewLayout">@layout/key_preview</item>
<item name="keyPreviewOffset">5dip</item>
<item name="keyPreviewHeight">80dip</item>
<item name="labelTextSize">14sp</item>
- <item name="popupLayout">@layout/keyboard_popup_keyboard</item>
+ <item name="popupLayout">@layout/keyboard_popup</item>
<item name="verticalCorrection">-10dip</item>
+ <item name="miniKeyboardSlideAllowance">40dip</item>
<item name="shadowColor">#BB000000</item>
<item name="shadowRadius">2.75</item>
<item name="backgroundDimAmount">0.5</item>
diff --git a/java/src/com/android/inputmethod/latin/Hints.java b/java/src/com/android/inputmethod/latin/Hints.java
index 2434d5195..c467365e7 100644
--- a/java/src/com/android/inputmethod/latin/Hints.java
+++ b/java/src/com/android/inputmethod/latin/Hints.java
@@ -106,7 +106,7 @@ public class Hints {
SharedPreferences.Editor editor =
PreferenceManager.getDefaultSharedPreferences(mContext).edit();
editor.putLong(PREF_VOICE_INPUT_LAST_TIME_USED, System.currentTimeMillis());
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
mVoiceResultContainedPunctuation = false;
for (CharSequence s : SPEAKABLE_PUNCTUATION.keySet()) {
@@ -168,7 +168,7 @@ public class Hints {
SharedPreferences.Editor editor = sp.edit();
editor.putInt(PREF_VOICE_HINT_NUM_UNIQUE_DAYS_SHOWN, numUniqueDaysShown + 1);
editor.putLong(PREF_VOICE_HINT_LAST_TIME_SHOWN, System.currentTimeMillis());
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
}
if (mDisplay != null) {
@@ -181,7 +181,7 @@ public class Hints {
int value = sp.getInt(pref, 0);
SharedPreferences.Editor editor = sp.edit();
editor.putInt(pref, value + 1);
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
return value;
}
}
diff --git a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
index 7258874c0..e811a2cdd 100644
--- a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
@@ -143,7 +143,7 @@ public class InputLanguageSelection extends PreferenceActivity {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
Editor editor = sp.edit();
editor.putString(LatinIME.PREF_SELECTED_LANGUAGES, checkedLanguages);
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
}
ArrayList<Loc> getUniqueLocales() {
diff --git a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
index d898d6830..7b5c30491 100644
--- a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
@@ -188,7 +188,7 @@ public class LanguageSwitcher {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(mIme);
Editor editor = sp.edit();
editor.putString(LatinIME.PREF_INPUT_LANGUAGE, getInputLanguage());
- editor.apply();
+ SharedPreferencesCompat.apply(editor);
}
static String toTitleCase(String s) {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f85206eff..50fc4840d 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1551,7 +1551,7 @@ public class LatinIME extends InputMethodService
SharedPreferences.Editor editor =
PreferenceManager.getDefaultSharedPreferences(this).edit();
editor.putBoolean(PREF_HAS_USED_VOICE_INPUT, true);
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
mHasUsedVoiceInput = true;
}
@@ -1561,7 +1561,7 @@ public class LatinIME extends InputMethodService
SharedPreferences.Editor editor =
PreferenceManager.getDefaultSharedPreferences(this).edit();
editor.putBoolean(PREF_HAS_USED_VOICE_INPUT_UNSUPPORTED_LOCALE, true);
- editor.commit();
+ SharedPreferencesCompat.apply(editor);
mHasUsedVoiceInputUnsupportedLocale = true;
}
diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
index 45ecca35e..610d95423 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -200,6 +200,7 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private int mMiniKeyboardOriginY;
private long mMiniKeyboardPopupTime;
private int[] mWindowOffset;
+ private float mMiniKeyboardSlideAllowance;
/** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener;
@@ -388,6 +389,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
case R.styleable.LatinKeyboardBaseView_verticalCorrection:
mVerticalCorrection = a.getDimensionPixelOffset(attr, 0);
break;
+ case R.styleable.LatinKeyboardBaseView_miniKeyboardSlideAllowance:
+ mMiniKeyboardSlideAllowance = a.getDimensionPixelOffset(attr, 0);
+ break;
case R.styleable.LatinKeyboardBaseView_keyPreviewLayout:
previewLayout = a.getResourceId(attr, 0);
break;
@@ -989,8 +993,9 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
if (container == null)
throw new NullPointerException();
- mMiniKeyboard = (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView);
- mMiniKeyboard.setOnKeyboardActionListener(new OnKeyboardActionListener() {
+ LatinKeyboardBaseView miniKeyboard =
+ (LatinKeyboardBaseView)container.findViewById(R.id.LatinKeyboardBaseView);
+ miniKeyboard.setOnKeyboardActionListener(new OnKeyboardActionListener() {
public void onKey(int primaryCode, int[] keyCodes, int x, int y) {
mKeyboardActionListener.onKey(primaryCode, keyCodes, x, y);
dismissPopupKeyboard();
@@ -1028,8 +1033,8 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
} else {
keyboard = new Keyboard(getContext(), popupKeyboardId);
}
- mMiniKeyboard.setKeyboard(keyboard);
- mMiniKeyboard.setPopupParent(this);
+ miniKeyboard.setKeyboard(keyboard);
+ miniKeyboard.setPopupParent(this);
container.measure(MeasureSpec.makeMeasureSpec(getWidth(), MeasureSpec.AT_MOST),
MeasureSpec.makeMeasureSpec(getHeight(), MeasureSpec.AT_MOST));
@@ -1061,17 +1066,38 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
mWindowOffset = new int[2];
getLocationInWindow(mWindowOffset);
}
- int popupX = popupKey.x + popupKey.width + getPaddingLeft();
- int popupY = popupKey.y + getPaddingTop();
- popupX -= container.getMeasuredWidth();
+
+ // HACK: Have the leftmost number in the popup characters right above the key
+ boolean isNumberAtLeftmost = false;
+ if (popupKey.popupCharacters != null && popupKey.popupCharacters.length() > 1) {
+ char leftmostChar = popupKey.popupCharacters.charAt(0);
+ isNumberAtLeftmost = leftmostChar >= '0' && leftmostChar <= '9';
+ }
+
+ int popupX = popupKey.x + mWindowOffset[0];
+ int popupY = popupKey.y + mWindowOffset[1];
+ if (isNumberAtLeftmost) {
+ popupX -= container.getPaddingLeft();
+ } else {
+ popupX += popupKey.width + getPaddingLeft();
+ popupX -= container.getMeasuredWidth();
+ popupX += container.getPaddingRight();
+ }
+ popupY += getPaddingTop();
popupY -= container.getMeasuredHeight();
- popupX += mWindowOffset[0];
- popupY += mWindowOffset[1];
- final int x = popupX + container.getPaddingRight();
- final int y = popupY + container.getPaddingBottom();
- mMiniKeyboardOriginX = (x < 0 ? 0 : x) + container.getPaddingLeft();
- mMiniKeyboardOriginY = y + container.getPaddingTop();
- mMiniKeyboard.setPopupOffset((x < 0) ? 0 : x, y);
+ popupY += container.getPaddingBottom();
+ final int x = popupX;
+ final int y = popupY;
+
+ int adjustedX = x;
+ if (x < 0) {
+ adjustedX = 0;
+ } else if (x > (getMeasuredWidth() - container.getMeasuredWidth())) {
+ adjustedX = getMeasuredWidth() - container.getMeasuredWidth();
+ }
+ mMiniKeyboardOriginX = adjustedX + container.getPaddingLeft() - mWindowOffset[0];
+ mMiniKeyboardOriginY = y + container.getPaddingTop() - mWindowOffset[1];
+ mMiniKeyboard.setPopupOffset(adjustedX, y);
mMiniKeyboard.setShifted(isShifted());
// Mini keyboard needs no pop-up key preview displayed.
mMiniKeyboard.setPreviewEnabled(false);
@@ -1094,7 +1120,12 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
private MotionEvent generateMiniKeyboardMotionEvent(int action, int x, int y, long eventTime) {
return MotionEvent.obtain(mMiniKeyboardPopupTime, eventTime, action,
- x - mMiniKeyboardOriginX, y - mMiniKeyboardOriginY, 0);
+ x - mMiniKeyboardOriginX,
+ // TODO: Currently just taking care of "below" of the keys in a mini popup keyboard
+ // for key detection by sliding finger. Need to take care of left, right, and
+ // upper of "edge" keys.
+ y - mMiniKeyboardOriginY - (int)mMiniKeyboardSlideAllowance,
+ 0);
}
private PointerTracker getPointerTracker(final int id) {
diff --git a/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java b/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java
new file mode 100644
index 000000000..8364c90fa
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/SharedPreferencesCompat.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin;
+
+import android.content.SharedPreferences;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Reflection utils to call SharedPreferences$Editor.apply when possible,
+ * falling back to commit when apply isn't available.
+ */
+public class SharedPreferencesCompat {
+ private static final Method sApplyMethod = findApplyMethod();
+
+ private static Method findApplyMethod() {
+ try {
+ Class cls = SharedPreferences.Editor.class;
+ return cls.getMethod("apply");
+ } catch (NoSuchMethodException unused) {
+ // fall through
+ }
+ return null;
+ }
+
+ public static void apply(SharedPreferences.Editor editor) {
+ if (sApplyMethod != null) {
+ try {
+ sApplyMethod.invoke(editor);
+ return;
+ } catch (InvocationTargetException unused) {
+ // fall through
+ } catch (IllegalAccessException unused) {
+ // fall through
+ }
+ }
+ editor.commit();
+ }
+}