aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_delete_lxx_dark.pngbin0 -> 14841 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_done_lxx_dark.pngbin0 -> 14700 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_go_lxx_dark.pngbin0 -> 14660 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_language_switch_lxx_dark.pngbin0 -> 14956 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.pngbin0 -> 14652 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.pngbin0 -> 14639 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_search_lxx_dark.pngbin0 -> 14900 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_send_lxx_dark.pngbin0 -> 14795 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_settings_lxx_dark.pngbin0 -> 14913 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_smiley_lxx_dark.pngbin0 -> 14888 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_voice_lxx_dark.pngbin0 -> 14761 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_voice_off_lxx_dark.pngbin0 -> 14896 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_delete_lxx_dark.pngbin0 -> 14721 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_done_lxx_dark.pngbin0 -> 14643 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_go_lxx_dark.pngbin0 -> 14618 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_language_switch_lxx_dark.pngbin0 -> 14786 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.pngbin0 -> 14608 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.pngbin0 -> 14601 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_search_lxx_dark.pngbin0 -> 14704 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_send_lxx_dark.pngbin0 -> 14690 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_settings_lxx_dark.pngbin0 -> 14781 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_smiley_lxx_dark.pngbin0 -> 14720 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_voice_lxx_dark.pngbin0 -> 14690 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_voice_off_lxx_dark.pngbin0 -> 14768 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_delete_lxx_dark.pngbin0 -> 14911 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_done_lxx_dark.pngbin0 -> 14750 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_go_lxx_dark.pngbin0 -> 14718 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_language_switch_lxx_dark.pngbin0 -> 15109 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.pngbin0 -> 14698 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.pngbin0 -> 14680 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_search_lxx_dark.pngbin0 -> 14966 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_send_lxx_dark.pngbin0 -> 14779 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_settings_lxx_dark.pngbin0 -> 15050 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_dark.pngbin0 -> 14966 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_voice_lxx_dark.pngbin0 -> 14878 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_voice_off_lxx_dark.pngbin0 -> 15029 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_delete_lxx_dark.pngbin0 -> 15113 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_done_lxx_dark.pngbin0 -> 14819 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_go_lxx_dark.pngbin0 -> 14788 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_language_switch_lxx_dark.pngbin0 -> 15436 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.pngbin0 -> 14744 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.pngbin0 -> 14719 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_search_lxx_dark.pngbin0 -> 15158 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_send_lxx_dark.pngbin0 -> 14878 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_settings_lxx_dark.pngbin0 -> 15329 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_dark.pngbin0 -> 15210 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_voice_lxx_dark.pngbin0 -> 15114 bytes
-rw-r--r--java/res/drawable-xxhdpi/sym_keyboard_voice_off_lxx_dark.pngbin0 -> 15261 bytes
-rw-r--r--java/res/values/keyboard-icons-lxx.xml26
-rw-r--r--java/src/com/android/inputmethod/event/CombinerChain.java8
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java8
-rw-r--r--java/src/com/android/inputmethod/latin/WordComposer.java15
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java4
-rw-r--r--java/src/com/android/inputmethod/latin/settings/Settings.java2
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsValues.java3
-rw-r--r--java/src/com/android/inputmethod/latin/utils/DistracterFilter.java23
-rw-r--r--java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java40
-rw-r--r--java/src/com/android/inputmethod/latin/utils/StatsUtils.java29
58 files changed, 84 insertions, 74 deletions
diff --git a/java/res/drawable-hdpi/sym_keyboard_delete_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_delete_lxx_dark.png
new file mode 100644
index 000000000..5f5eb3fe7
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_delete_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_done_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_done_lxx_dark.png
new file mode 100644
index 000000000..f81130d1a
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_done_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_go_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_go_lxx_dark.png
new file mode 100644
index 000000000..516a7f1c7
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_go_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_language_switch_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_language_switch_lxx_dark.png
new file mode 100644
index 000000000..edf9a20de
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_language_switch_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png
new file mode 100644
index 000000000..99ac30912
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_next_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png
new file mode 100644
index 000000000..9019ebdd6
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_previous_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_search_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_search_lxx_dark.png
new file mode 100644
index 000000000..de117d35b
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_search_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_send_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_send_lxx_dark.png
new file mode 100644
index 000000000..6db6d56df
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_send_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_settings_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_settings_lxx_dark.png
new file mode 100644
index 000000000..f2613023f
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_settings_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_dark.png
new file mode 100644
index 000000000..3999d1e2d
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_smiley_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_voice_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_voice_lxx_dark.png
new file mode 100644
index 000000000..6b68c8af5
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_voice_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_voice_off_lxx_dark.png b/java/res/drawable-hdpi/sym_keyboard_voice_off_lxx_dark.png
new file mode 100644
index 000000000..e67697b3f
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_voice_off_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_delete_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_delete_lxx_dark.png
new file mode 100644
index 000000000..2d3ac9749
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_delete_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_done_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_done_lxx_dark.png
new file mode 100644
index 000000000..8a63c116a
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_done_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_go_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_go_lxx_dark.png
new file mode 100644
index 000000000..89051722a
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_go_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_language_switch_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_language_switch_lxx_dark.png
new file mode 100644
index 000000000..a90bf757c
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_language_switch_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png
new file mode 100644
index 000000000..61c10145c
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_next_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png
new file mode 100644
index 000000000..f176956ca
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_previous_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_search_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_search_lxx_dark.png
new file mode 100644
index 000000000..722d40258
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_search_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_send_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_send_lxx_dark.png
new file mode 100644
index 000000000..a75a6083a
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_send_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_settings_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_settings_lxx_dark.png
new file mode 100644
index 000000000..dea7addfe
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_settings_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_dark.png
new file mode 100644
index 000000000..8276d992c
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_smiley_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_voice_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_voice_lxx_dark.png
new file mode 100644
index 000000000..5661f6b33
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_voice_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_voice_off_lxx_dark.png b/java/res/drawable-mdpi/sym_keyboard_voice_off_lxx_dark.png
new file mode 100644
index 000000000..5182f1e8f
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_voice_off_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_delete_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_delete_lxx_dark.png
new file mode 100644
index 000000000..7c9f34f12
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_delete_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_done_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_done_lxx_dark.png
new file mode 100644
index 000000000..f25e3dfd9
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_done_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_go_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_go_lxx_dark.png
new file mode 100644
index 000000000..6cd43cf8a
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_go_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_language_switch_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_language_switch_lxx_dark.png
new file mode 100644
index 000000000..f964346c1
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_language_switch_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png
new file mode 100644
index 000000000..9e05e84b9
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_next_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png
new file mode 100644
index 000000000..8995d8797
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_previous_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_search_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_search_lxx_dark.png
new file mode 100644
index 000000000..28a4bd329
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_search_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_send_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_send_lxx_dark.png
new file mode 100644
index 000000000..9927af4ff
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_send_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_settings_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_settings_lxx_dark.png
new file mode 100644
index 000000000..8c83d9fb6
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_settings_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_dark.png
new file mode 100644
index 000000000..78923fadb
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_smiley_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_voice_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_voice_lxx_dark.png
new file mode 100644
index 000000000..4e9631e7b
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_voice_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_voice_off_lxx_dark.png b/java/res/drawable-xhdpi/sym_keyboard_voice_off_lxx_dark.png
new file mode 100644
index 000000000..66c0e3c56
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_voice_off_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_delete_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_delete_lxx_dark.png
new file mode 100644
index 000000000..dd95be61e
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_delete_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_done_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_done_lxx_dark.png
new file mode 100644
index 000000000..ccd270e78
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_done_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_go_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_go_lxx_dark.png
new file mode 100644
index 000000000..0617c15e3
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_go_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_language_switch_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_language_switch_lxx_dark.png
new file mode 100644
index 000000000..fc85e512d
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_language_switch_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png
new file mode 100644
index 000000000..a04a41c39
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_next_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png
new file mode 100644
index 000000000..c87d8f029
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_previous_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_search_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_search_lxx_dark.png
new file mode 100644
index 000000000..a32b6c5d9
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_search_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_send_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_send_lxx_dark.png
new file mode 100644
index 000000000..8073e2c9d
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_send_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_settings_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_settings_lxx_dark.png
new file mode 100644
index 000000000..d513ad9e6
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_settings_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_dark.png
new file mode 100644
index 000000000..a4df3bb0e
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_smiley_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_voice_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_voice_lxx_dark.png
new file mode 100644
index 000000000..a36724cac
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_voice_lxx_dark.png
Binary files differ
diff --git a/java/res/drawable-xxhdpi/sym_keyboard_voice_off_lxx_dark.png b/java/res/drawable-xxhdpi/sym_keyboard_voice_off_lxx_dark.png
new file mode 100644
index 000000000..2706dca57
--- /dev/null
+++ b/java/res/drawable-xxhdpi/sym_keyboard_voice_off_lxx_dark.png
Binary files differ
diff --git a/java/res/values/keyboard-icons-lxx.xml b/java/res/values/keyboard-icons-lxx.xml
index ea4b6e65c..8a3886316 100644
--- a/java/res/values/keyboard-icons-lxx.xml
+++ b/java/res/values/keyboard-icons-lxx.xml
@@ -21,27 +21,27 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="KeyboardIcons.LXX">
<!-- Keyboard icons -->
+ <!-- TODO: Update those icons for LXX theme. -->
<item name="iconShiftKey">@drawable/sym_keyboard_shift_holo_dark</item>
- <item name="iconDeleteKey">@drawable/sym_keyboard_delete_holo_dark</item>
- <item name="iconSettingsKey">@drawable/sym_keyboard_settings_holo_dark</item>
+ <item name="iconDeleteKey">@drawable/sym_keyboard_delete_lxx_dark</item>
+ <item name="iconSettingsKey">@drawable/sym_keyboard_settings_lxx_dark</item>
<item name="iconSpaceKey">@drawable/sym_keyboard_space_holo_dark</item>
<item name="iconEnterKey">@drawable/sym_keyboard_return_holo_dark</item>
- <!-- TODO: Uncomment those icon definitions once we have those icon assets. -->
- <!-- <item name="iconGoKey">@drawable/sym_keyboard_go_holo_dark</item> -->
- <item name="iconSearchKey">@drawable/sym_keyboard_search_holo_dark</item>
- <!-- <item name="iconSendKey">@drawable/sym_keyboard_send_holo_dark</item> -->
- <!-- <item name="iconNextKey">@drawable/sym_keyboard_next_holo_dark</item> -->
- <!-- <item name="iconDoneKey">@drawable/sym_keyboard_done_holo_dark</item> -->
- <!-- <item name="iconPreviousKey">@drawable/sym_keyboard_previous_holo_dark</item> -->
+ <item name="iconGoKey">@drawable/sym_keyboard_go_lxx_dark</item>
+ <item name="iconSearchKey">@drawable/sym_keyboard_search_lxx_dark</item>
+ <item name="iconSendKey">@drawable/sym_keyboard_send_lxx_dark</item>
+ <item name="iconNextKey">@drawable/sym_keyboard_next_lxx_dark</item>
+ <item name="iconDoneKey">@drawable/sym_keyboard_done_lxx_dark</item>
+ <item name="iconPreviousKey">@drawable/sym_keyboard_previous_lxx_dark</item>
<item name="iconTabKey">@drawable/sym_keyboard_tab_holo_dark</item>
- <item name="iconShortcutKey">@drawable/sym_keyboard_voice_holo_dark</item>
+ <item name="iconShortcutKey">@drawable/sym_keyboard_voice_lxx_dark</item>
<item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_holo_dark</item>
<item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_holo_dark</item>
- <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_holo_dark</item>
+ <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_lxx_dark</item>
<item name="iconTabKeyPreview">@drawable/sym_keyboard_feedback_tab</item>
- <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_dark</item>
+ <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_lxx_dark</item>
<item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo_dark</item>
<item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo_dark</item>
- <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_holo_dark</item>
+ <item name="iconEmojiKey">@drawable/sym_keyboard_smiley_lxx_dark</item>
</style>
</resources>
diff --git a/java/src/com/android/inputmethod/event/CombinerChain.java b/java/src/com/android/inputmethod/event/CombinerChain.java
index 990f7deea..9e7f04d4f 100644
--- a/java/src/com/android/inputmethod/event/CombinerChain.java
+++ b/java/src/com/android/inputmethod/event/CombinerChain.java
@@ -56,18 +56,20 @@ public class CombinerChain {
*
* The combiner chain takes events as inputs and outputs code points and combining state.
* For example, if the input language is Japanese, the combining chain will typically perform
- * kana conversion.
+ * kana conversion. This takes a string for initial text, taken to be present before the
+ * cursor: we'll start after this.
*
+ * @param initialText The text that has already been combined so far.
* @param combinerList A list of combiners to be applied in order.
*/
- public CombinerChain(final Combiner... combinerList) {
+ public CombinerChain(final String initialText, final Combiner... combinerList) {
mCombiners = CollectionUtils.newArrayList();
// The dead key combiner is always active, and always first
mCombiners.add(new DeadKeyCombiner());
for (final Combiner combiner : combinerList) {
mCombiners.add(combiner);
}
- mCombinedText = new StringBuilder();
+ mCombinedText = new StringBuilder(initialText);
mStateFeedback = new SpannableStringBuilder();
}
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 8a2ed1088..1ccf5854a 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -84,6 +84,7 @@ import com.android.inputmethod.latin.utils.CapsModeUtils;
import com.android.inputmethod.latin.utils.CoordinateUtils;
import com.android.inputmethod.latin.utils.DialogUtils;
import com.android.inputmethod.latin.utils.DistracterFilter;
+import com.android.inputmethod.latin.utils.DistracterFilterUtils;
import com.android.inputmethod.latin.utils.ImportantNoticeUtils;
import com.android.inputmethod.latin.utils.IntentUtils;
import com.android.inputmethod.latin.utils.JniUtils;
@@ -480,6 +481,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
KeyboardSwitcher.init(this);
AudioAndHapticFeedbackManager.init(this);
AccessibilityUtils.init(this);
+ StatsUtils.init(this);
super.onCreate();
@@ -519,7 +521,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
DictionaryDecayBroadcastReciever.setUpIntervalAlarmForDictionaryDecaying(this);
- StatsUtils.onCreateCompleted(this);
+ StatsUtils.onCreate(mSettings.getCurrent());
}
// Has to be package-visible for unit tests
@@ -538,6 +540,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
resetSuggestForLocale(locale);
}
refreshPersonalizationDictionarySession();
+ StatsUtils.onLoadSettings(currentSettingsValues);
}
private void refreshPersonalizationDictionarySession() {
@@ -1745,7 +1748,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@UsedForTesting
/* package for test */ DistracterFilter createDistracterFilter() {
- return DistracterFilter.createDistracterFilter(mInputLogic.mSuggest, mKeyboardSwitcher);
+ return DistracterFilterUtils.createDistracterFilter(
+ mInputLogic.mSuggest, mKeyboardSwitcher);
}
public void dumpDictionaryForDebug(final String dictName) {
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index cdee496a8..ac6972928 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -80,7 +80,7 @@ public final class WordComposer {
private boolean mIsFirstCharCapitalized;
public WordComposer() {
- mCombinerChain = new CombinerChain();
+ mCombinerChain = new CombinerChain("");
mEvents = CollectionUtils.newArrayList();
mAutoCorrection = null;
mIsResumed = false;
@@ -92,18 +92,17 @@ public final class WordComposer {
}
/**
- * Restart input with a new combining spec.
+ * Restart the combiners, possibly with a new spec.
* @param combiningSpec The spec string for combining. This is found in the extra value.
*/
- public void restart(final String combiningSpec) {
+ public void restartCombining(final String combiningSpec) {
final String nonNullCombiningSpec = null == combiningSpec ? "" : combiningSpec;
- if (nonNullCombiningSpec.equals(mCombiningSpec)) {
- mCombinerChain.reset();
- } else {
- mCombinerChain = new CombinerChain(CombinerChain.createCombiners(nonNullCombiningSpec));
+ if (!nonNullCombiningSpec.equals(mCombiningSpec)) {
+ mCombinerChain = new CombinerChain(
+ mCombinerChain.getComposingWordWithCombiningFeedback().toString(),
+ CombinerChain.createCombiners(nonNullCombiningSpec));
mCombiningSpec = nonNullCombiningSpec;
}
- reset();
}
/**
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 1156c7737..ea58abc14 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -127,7 +127,7 @@ public final class InputLogic {
public void startInput(final boolean restarting, final EditorInfo editorInfo,
final String combiningSpec) {
mEnteredText = null;
- mWordComposer.restart(combiningSpec);
+ mWordComposer.restartCombining(combiningSpec);
resetComposingState(true /* alsoResetLastComposedWord */);
mDeleteCount = 0;
mSpaceState = SpaceState.NONE;
@@ -150,7 +150,7 @@ public final class InputLogic {
* @param combiningSpec the spec string for the combining rules
*/
public void onSubtypeChanged(final String combiningSpec) {
- mWordComposer.restart(combiningSpec);
+ mWordComposer.restartCombining(combiningSpec);
}
/**
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 4e4c8885c..d4f6bcd10 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -87,6 +87,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
public static final String PREF_DEBUG_SETTINGS = "debug_settings";
public static final String PREF_KEY_IS_INTERNAL = "pref_key_is_internal";
+ public static final String PREF_ENABLE_METRICS_LOGGING = "pref_enable_metrics_logging";
+
// This preference key is deprecated. Use {@link #PREF_SHOW_LANGUAGE_SWITCH_KEY} instead.
// This is being used only for the backward compatibility.
private static final String PREF_SUPPRESS_LANGUAGE_SWITCH_KEY =
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
index de2eb951e..16fd05877 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
@@ -73,6 +73,7 @@ public final class SettingsValues {
public final boolean mPhraseGestureEnabled;
public final int mKeyLongpressTimeout;
public final Locale mLocale;
+ public final boolean mEnableMetricsLogging;
// From the input box
public final InputAttributes mInputAttributes;
@@ -134,7 +135,7 @@ public final class SettingsValues {
mAutoCorrectEnabled = Settings.readAutoCorrectEnabled(autoCorrectionThresholdRawValue, res);
mBigramPredictionEnabled = readBigramPredictionEnabled(prefs, res);
mDoubleSpacePeriodTimeout = res.getInteger(R.integer.config_double_space_period_timeout);
-
+ mEnableMetricsLogging = prefs.getBoolean(Settings.PREF_ENABLE_METRICS_LOGGING, true);
// Compute other readable settings
mKeyLongpressTimeout = Settings.readKeyLongpressTimeout(prefs, res);
mKeypressVibrationDuration = Settings.readKeypressVibrationDuration(prefs, res);
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
index 55cbf79b3..0a0379982 100644
--- a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
+++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java
@@ -17,8 +17,6 @@
package com.android.inputmethod.latin.utils;
import com.android.inputmethod.keyboard.Keyboard;
-import com.android.inputmethod.keyboard.KeyboardSwitcher;
-import com.android.inputmethod.keyboard.MainKeyboardView;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.Suggest;
import com.android.inputmethod.latin.Suggest.OnGetSuggestedWordsCallback;
@@ -54,18 +52,6 @@ public class DistracterFilter {
mKeyboard = keyboard;
}
- public static DistracterFilter createDistracterFilter(final Suggest suggest,
- final KeyboardSwitcher keyboardSwitcher) {
- final MainKeyboardView mainKeyboardView = keyboardSwitcher.getMainKeyboardView();
- // TODO: Create Keyboard when mainKeyboardView is null.
- // TODO: Figure out the most reasonable keyboard for the filter. Refer to the
- // spellchecker's logic.
- final Keyboard keyboard = (mainKeyboardView != null) ?
- mainKeyboardView.getKeyboard() : null;
- final DistracterFilter distracterFilter = new DistracterFilter(suggest, keyboard);
- return distracterFilter;
- }
-
private static boolean suggestionExceedsDistracterThreshold(
final SuggestedWordInfo suggestion, final String consideredWord,
final float distracterThreshold) {
@@ -90,19 +76,14 @@ public class DistracterFilter {
*/
public boolean isDistracterToWordsInDictionaries(final String prevWord,
final String testedWord) {
- if (mSuggest == null) {
+ if (mSuggest == null || mKeyboard == null) {
return false;
}
final WordComposer composer = new WordComposer();
final int[] codePoints = StringUtils.toCodePointArray(testedWord);
final int[] coordinates;
- if (null == mKeyboard) {
- coordinates = CoordinateUtils.newCoordinateArray(codePoints.length,
- Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE);
- } else {
- coordinates = mKeyboard.getCoordinates(codePoints);
- }
+ coordinates = mKeyboard.getCoordinates(codePoints);
composer.setComposingWord(codePoints, coordinates, prevWord);
final int trailingSingleQuotesCount = composer.trailingSingleQuotesCount();
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java
new file mode 100644
index 000000000..df07f976c
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterUtils.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2014 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.utils;
+
+import com.android.inputmethod.keyboard.Keyboard;
+import com.android.inputmethod.keyboard.KeyboardSwitcher;
+import com.android.inputmethod.keyboard.MainKeyboardView;
+import com.android.inputmethod.latin.Suggest;
+
+public class DistracterFilterUtils {
+ private DistracterFilterUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ public static final DistracterFilter createDistracterFilter(final Suggest suggest,
+ final KeyboardSwitcher keyboardSwitcher) {
+ final MainKeyboardView mainKeyboardView = keyboardSwitcher.getMainKeyboardView();
+ // TODO: Create Keyboard when mainKeyboardView is null.
+ // TODO: Figure out the most reasonable keyboard for the filter. Refer to the
+ // spellchecker's logic.
+ final Keyboard keyboard = (mainKeyboardView != null) ?
+ mainKeyboardView.getKeyboard() : null;
+ final DistracterFilter distracterFilter = new DistracterFilter(suggest, keyboard);
+ return distracterFilter;
+ }
+}
diff --git a/java/src/com/android/inputmethod/latin/utils/StatsUtils.java b/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
index a059f877b..79c19d077 100644
--- a/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
@@ -17,37 +17,18 @@
package com.android.inputmethod.latin.utils;
import android.content.Context;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-import android.util.Log;
-
-import com.android.inputmethod.latin.settings.Settings;
+import com.android.inputmethod.latin.settings.SettingsValues;
public final class StatsUtils {
- private static final String TAG = StatsUtils.class.getSimpleName();
- private static final StatsUtils sInstance = new StatsUtils();
-
- public static void onCreateCompleted(final Context context) {
- sInstance.onCreateCompletedInternal(context);
+ public static void init(final Context context) {
}
- private void onCreateCompletedInternal(final Context context) {
- mContext = context;
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
- final Boolean usePersonalizedDict =
- prefs.getBoolean(Settings.PREF_KEY_USE_PERSONALIZED_DICTS, true);
- Log.d(TAG, "onCreateCompleted. context: " + context.toString() + "usePersonalizedDict: "
- + usePersonalizedDict);
+ public static void onCreate(final SettingsValues settingsValues) {
}
- public static void onDestroy() {
- sInstance.onDestroyInternal();
+ public static void onLoadSettings(final SettingsValues settingsValues) {
}
- private void onDestroyInternal() {
- Log.d(TAG, "onDestroy. context: " + mContext.toString());
- mContext = null;
+ public static void onDestroy() {
}
-
- private Context mContext;
}