aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/proguard.flags4
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_zwj_holo.pngbin0 -> 973 bytes
-rw-r--r--java/res/drawable-hdpi/sym_keyboard_zwnj_holo.pngbin0 -> 961 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_zwj_holo.pngbin0 -> 733 bytes
-rw-r--r--java/res/drawable-mdpi/sym_keyboard_zwnj_holo.pngbin0 -> 704 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_zwj_holo.pngbin0 -> 1185 bytes
-rw-r--r--java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.pngbin0 -> 1148 bytes
-rw-r--r--java/res/values-land/dimens.xml13
-rw-r--r--java/res/values-sw600dp-land/dimens.xml4
-rw-r--r--java/res/values-sw600dp/dimens.xml18
-rw-r--r--java/res/values-sw768dp-land/dimens.xml8
-rw-r--r--java/res/values-sw768dp/dimens.xml16
-rw-r--r--java/res/values/attrs.xml4
-rw-r--r--java/res/values/config.xml4
-rw-r--r--java/res/values/dimens.xml20
-rw-r--r--java/res/values/keyboard-icons-black.xml3
-rw-r--r--java/res/values/keyboard-icons-ics.xml2
-rw-r--r--java/res/values/keyboard-icons-white.xml3
-rw-r--r--java/res/xml-sw600dp/key_styles_common.xml10
-rw-r--r--java/res/xml-sw600dp/rowkeys_thai3.xml6
-rw-r--r--java/res/xml-sw768dp/key_styles_common.xml10
-rw-r--r--java/res/xml/key_styles_common.xml10
-rw-r--r--java/res/xml/key_styles_currency.xml28
-rw-r--r--java/res/xml/key_styles_currency_dollar.xml12
-rw-r--r--java/res/xml/key_styles_currency_euro.xml14
-rw-r--r--java/res/xml/rowkeys_thai2.xml6
-rw-r--r--java/src/com/android/inputmethod/keyboard/Keyboard.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java4
-rw-r--r--java/src/com/android/inputmethod/latin/ResearchLogger.java12
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java6
30 files changed, 133 insertions, 86 deletions
diff --git a/java/proguard.flags b/java/proguard.flags
index 701786a84..e33706c47 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -47,6 +47,10 @@
<init>(...);
}
+-keep class com.android.inputmethod.latin.ResearchLogger {
+ void setLogFileManager(...);
+}
+
# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
diff --git a/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png
new file mode 100644
index 000000000..5fa30ceb8
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_zwj_holo.png
Binary files differ
diff --git a/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png
new file mode 100644
index 000000000..91367f3d2
--- /dev/null
+++ b/java/res/drawable-hdpi/sym_keyboard_zwnj_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png
new file mode 100644
index 000000000..70370d83d
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_zwj_holo.png
Binary files differ
diff --git a/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png
new file mode 100644
index 000000000..a69eade17
--- /dev/null
+++ b/java/res/drawable-mdpi/sym_keyboard_zwnj_holo.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png b/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png
new file mode 100644
index 000000000..26694274e
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_zwj_holo.png
Binary files differ
diff --git a/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png b/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png
new file mode 100644
index 000000000..75a22b65f
--- /dev/null
+++ b/java/res/drawable-xhdpi/sym_keyboard_zwnj_holo.png
Binary files differ
diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml
index 550d29f76..1157b2733 100644
--- a/java/res/values-land/dimens.xml
+++ b/java/res/values-land/dimens.xml
@@ -24,8 +24,7 @@
<dimen name="keyboardHeight">176.0dp</dimen>
<fraction name="minKeyboardHeight">45%p</fraction>
<!-- key_height + key_bottom_gap = popup_key_height -->
-<!-- <dimen name="key_height">0.260in</dimen>-->
- <dimen name="popup_key_height">0.280in</dimen>
+ <dimen name="popup_key_height">44.8dp</dimen>
<fraction name="keyboard_top_padding">1.818%p</fraction>
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
@@ -54,11 +53,11 @@
<fraction name="key_uppercase_letter_ratio">40%</fraction>
<fraction name="key_preview_text_ratio">90%</fraction>
<fraction name="spacebar_text_ratio">40.000%</fraction>
- <dimen name="key_preview_offset">0.08in</dimen>
+ <dimen name="key_preview_offset">12.8dp</dimen>
- <dimen name="key_preview_offset_ics">0.01in</dimen>
+ <dimen name="key_preview_offset_ics">1.6dp</dimen>
<!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-0.140in</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction_ics">-22.4dp</dimen>
<dimen name="suggestions_strip_height">36dp</dimen>
<dimen name="more_suggestions_row_height">36dp</dimen>
@@ -66,7 +65,7 @@
<fraction name="min_more_suggestions_width">60%</fraction>
<!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
<!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">0.336in</dimen>
+ <dimen name="more_keys_keyboard_slide_allowance">53.76dp</dimen>
<!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-0.280in</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction">-44.8dp</dimen>
</resources>
diff --git a/java/res/values-sw600dp-land/dimens.xml b/java/res/values-sw600dp-land/dimens.xml
index c6c6f2b3b..8a59c9b54 100644
--- a/java/res/values-sw600dp-land/dimens.xml
+++ b/java/res/values-sw600dp-land/dimens.xml
@@ -38,7 +38,7 @@
<fraction name="key_bottom_gap_ics">4.0%p</fraction>
<fraction name="keyboard_bottom_padding_ics">0.0%p</fraction>
- <dimen name="popup_key_height">13.0mm</dimen>
+ <dimen name="popup_key_height">81.9dp</dimen>
<!-- left or right padding of label alignment -->
<dimen name="key_label_horizontal_padding">18dp</dimen>
@@ -51,7 +51,7 @@
<fraction name="key_uppercase_letter_ratio">29%</fraction>
<fraction name="spacebar_text_ratio">33.33%</fraction>
- <dimen name="suggestions_strip_padding">40.0mm</dimen>
+ <dimen name="suggestions_strip_padding">252.0dp</dimen>
<integer name="max_more_suggestions_row">5</integer>
<fraction name="min_more_suggestions_width">50%</fraction>
</resources>
diff --git a/java/res/values-sw600dp/dimens.xml b/java/res/values-sw600dp/dimens.xml
index ebe388263..f03ce2943 100644
--- a/java/res/values-sw600dp/dimens.xml
+++ b/java/res/values-sw600dp/dimens.xml
@@ -25,7 +25,7 @@
<fraction name="maxKeyboardHeight">50%p</fraction>
<fraction name="minKeyboardHeight">-35.0%p</fraction>
- <dimen name="popup_key_height">10.0mm</dimen>
+ <dimen name="popup_key_height">63.0dp</dimen>
<fraction name="keyboard_top_padding">2.291%p</fraction>
<fraction name="keyboard_bottom_padding">0.0%p</fraction>
@@ -44,9 +44,9 @@
<dimen name="more_keys_keyboard_key_horizontal_padding">6dp</dimen>
<!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
<!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">15.6mm</dimen>
+ <dimen name="more_keys_keyboard_slide_allowance">98.3dp</dimen>
<!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-13.0mm</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction">-81.9dp</dimen>
<!-- left or right padding of label alignment -->
<dimen name="key_label_horizontal_padding">6dp</dimen>
@@ -61,19 +61,19 @@
<fraction name="key_uppercase_letter_ratio">26%</fraction>
<fraction name="key_preview_text_ratio">50%</fraction>
<fraction name="spacebar_text_ratio">32.14%</fraction>
- <dimen name="key_preview_height">15.0mm</dimen>
- <dimen name="key_preview_offset">0.1in</dimen>
+ <dimen name="key_preview_height">94.5dp</dimen>
+ <dimen name="key_preview_offset">16.0dp</dimen>
- <dimen name="key_preview_offset_ics">0.05in</dimen>
+ <dimen name="key_preview_offset_ics">8.0dp</dimen>
<!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-5mm</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
<dimen name="suggestions_strip_height">44dp</dimen>
<dimen name="more_suggestions_row_height">44dp</dimen>
<integer name="max_more_suggestions_row">6</integer>
<fraction name="min_more_suggestions_width">90%</fraction>
- <dimen name="suggestions_strip_padding">15.0mm</dimen>
- <dimen name="suggestion_min_width">0.3in</dimen>
+ <dimen name="suggestions_strip_padding">94.5dp</dimen>
+ <dimen name="suggestion_min_width">48.0dp</dimen>
<dimen name="suggestion_padding">12dp</dimen>
<dimen name="suggestion_text_size">22dp</dimen>
<dimen name="more_suggestions_hint_text_size">33dp</dimen>
diff --git a/java/res/values-sw768dp-land/dimens.xml b/java/res/values-sw768dp-land/dimens.xml
index 597ed5102..b95c858dc 100644
--- a/java/res/values-sw768dp-land/dimens.xml
+++ b/java/res/values-sw768dp-land/dimens.xml
@@ -41,7 +41,7 @@
<fraction name="key_bottom_gap_ics">3.690%p</fraction>
<fraction name="key_horizontal_gap_ics">1.030%p</fraction>
- <dimen name="popup_key_height">13.0mm</dimen>
+ <dimen name="popup_key_height">81.9dp</dimen>
<!-- left or right padding of label alignment -->
<dimen name="key_label_horizontal_padding">18dp</dimen>
@@ -53,10 +53,10 @@
<fraction name="key_hint_label_ratio">28%</fraction>
<fraction name="key_uppercase_letter_ratio">24%</fraction>
<fraction name="spacebar_text_ratio">24.00%</fraction>
- <dimen name="key_preview_height">17.0mm</dimen>
+ <dimen name="key_preview_height">107.1dp</dimen>
- <dimen name="key_preview_offset_ics">0.05in</dimen>
+ <dimen name="key_preview_offset_ics">8.0dp</dimen>
- <dimen name="suggestions_strip_padding">40.0mm</dimen>
+ <dimen name="suggestions_strip_padding">252.0dp</dimen>
<fraction name="min_more_suggestions_width">50%</fraction>
</resources>
diff --git a/java/res/values-sw768dp/dimens.xml b/java/res/values-sw768dp/dimens.xml
index a9f0c00aa..0a362fd68 100644
--- a/java/res/values-sw768dp/dimens.xml
+++ b/java/res/values-sw768dp/dimens.xml
@@ -41,14 +41,14 @@
<fraction name="key_bottom_gap_ics">3.312%p</fraction>
<fraction name="key_horizontal_gap_ics">1.066%p</fraction>
- <dimen name="popup_key_height">10.0mm</dimen>
+ <dimen name="popup_key_height">63.0dp</dimen>
<dimen name="more_keys_keyboard_key_horizontal_padding">12dp</dimen>
<!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
<!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">15.6mm</dimen>
+ <dimen name="more_keys_keyboard_slide_allowance">98.3dp</dimen>
<!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-13.0mm</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction">-81.9dp</dimen>
<!-- left or right padding of label alignment -->
<dimen name="key_label_horizontal_padding">6dp</dimen>
@@ -63,18 +63,18 @@
<fraction name="key_uppercase_letter_ratio">26%</fraction>
<fraction name="key_preview_text_ratio">50%</fraction>
<fraction name="spacebar_text_ratio">29.03%</fraction>
- <dimen name="key_preview_height">15.0mm</dimen>
- <dimen name="key_preview_offset">0.1in</dimen>
+ <dimen name="key_preview_height">94.5dp</dimen>
+ <dimen name="key_preview_offset">16.0dp</dimen>
- <dimen name="key_preview_offset_ics">0.05in</dimen>
+ <dimen name="key_preview_offset_ics">8.0dp</dimen>
<!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-5mm</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction_ics">-31.5dp</dimen>
<dimen name="suggestions_strip_height">44dp</dimen>
<dimen name="more_suggestions_row_height">44dp</dimen>
<integer name="max_more_suggestions_row">6</integer>
<fraction name="min_more_suggestions_width">90%</fraction>
- <dimen name="suggestions_strip_padding">15.0mm</dimen>
+ <dimen name="suggestions_strip_padding">94.5dp</dimen>
<dimen name="suggestion_min_width">46dp</dimen>
<dimen name="suggestion_padding">8dp</dimen>
<dimen name="suggestion_text_size">22dp</dimen>
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index e33f0ba8a..550f5acf7 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -224,6 +224,8 @@
<attr name="iconDisabledShortcutKey" format="reference" />
<attr name="iconPreviewTabKey" format="reference" />
<attr name="iconLanguageSwitchKey" format="reference" />
+ <attr name="iconZwnjKey" format="reference" />
+ <attr name="iconZwjKey" format="reference" />
</declare-styleable>
<declare-styleable name="Keyboard_Key">
@@ -309,6 +311,8 @@
<enum name="iconSpaceKeyForNumberLayout" value="10" />
<enum name="iconShiftKeyShifted" value="11" />
<enum name="iconLanguageSwitchKey" value="14" />
+ <enum name="iconZwnjKey" value="15" />
+ <enum name="iconZwjKey" value="16" />
</attr>
<!-- The icon for disabled key -->
<attr name="keyIconDisabled" format="enum">
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 1aa0dffc9..f0b12e92b 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -54,9 +54,9 @@
<!--
Configuration for LatinKeyboardView
-->
- <dimen name="config_key_hysteresis_distance">0.05in</dimen>
+ <dimen name="config_key_hysteresis_distance">8.0dp</dimen>
<integer name="config_touch_noise_threshold_time">40</integer>
- <dimen name="config_touch_noise_threshold_distance">2.0mm</dimen>
+ <dimen name="config_touch_noise_threshold_distance">12.6dp</dimen>
<bool name="config_sliding_key_input_enabled">true</bool>
<integer name="config_key_repeat_start_timeout">400</integer>
<integer name="config_key_repeat_interval">50</integer>
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml
index 9d64a618a..1889758b9 100644
--- a/java/res/values/dimens.xml
+++ b/java/res/values/dimens.xml
@@ -25,7 +25,7 @@
<fraction name="maxKeyboardHeight">50%p</fraction>
<fraction name="minKeyboardHeight">-61.8%p</fraction>
- <dimen name="popup_key_height">0.330in</dimen>
+ <dimen name="popup_key_height">52.8dp</dimen>
<dimen name="more_keys_keyboard_horizontal_edges_padding">16dp</dimen>
<dimen name="more_keys_keyboard_key_horizontal_padding">8dp</dimen>
@@ -52,12 +52,10 @@
<!-- Amount of allowance for selecting keys in a mini popup keyboard by sliding finger. -->
<!-- popup_key_height x 1.2 -->
- <dimen name="more_keys_keyboard_slide_allowance">0.396in</dimen>
+ <dimen name="more_keys_keyboard_slide_allowance">63.36dp</dimen>
<!-- popup_key_height x -1.0 -->
- <dimen name="more_keys_keyboard_vertical_correction">-0.330in</dimen>
- <!-- We use "inch", not "dip" because this value tries dealing with physical distance related
- to user's finger. -->
- <dimen name="keyboard_vertical_correction">0.0in</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction">-52.8dp</dimen>
+ <dimen name="keyboard_vertical_correction">0.0dp</dimen>
<fraction name="key_letter_ratio">55%</fraction>
<fraction name="key_large_letter_ratio">65%</fraction>
@@ -68,23 +66,23 @@
<fraction name="key_preview_text_ratio">82%</fraction>
<fraction name="spacebar_text_ratio">33.735%</fraction>
<dimen name="key_preview_height">80dp</dimen>
- <dimen name="key_preview_offset">0.1in</dimen>
+ <dimen name="key_preview_offset">16.0dp</dimen>
<dimen name="key_label_horizontal_padding">4dp</dimen>
<dimen name="key_hint_letter_padding">1dp</dimen>
<dimen name="key_popup_hint_letter_padding">2dp</dimen>
<dimen name="key_uppercase_letter_padding">2dp</dimen>
- <dimen name="key_preview_offset_ics">0.05in</dimen>
+ <dimen name="key_preview_offset_ics">8.0dp</dimen>
<!-- popup_key_height x -0.5 -->
- <dimen name="more_keys_keyboard_vertical_correction_ics">-0.165in</dimen>
+ <dimen name="more_keys_keyboard_vertical_correction_ics">-26.4dp</dimen>
<dimen name="suggestions_strip_height">40dp</dimen>
<dimen name="more_suggestions_key_horizontal_padding">12dp</dimen>
<dimen name="more_suggestions_row_height">40dp</dimen>
<dimen name="more_suggestions_bottom_gap">6dp</dimen>
- <dimen name="more_suggestions_modal_tolerance">0.2in</dimen>
- <dimen name="more_suggestions_slide_allowance">0.1in</dimen>
+ <dimen name="more_suggestions_modal_tolerance">32.0dp</dimen>
+ <dimen name="more_suggestions_slide_allowance">16.0dp</dimen>
<integer name="max_more_suggestions_row">6</integer>
<fraction name="min_more_suggestions_width">90%</fraction>
<fraction name="more_suggestions_info_ratio">18%</fraction>
diff --git a/java/res/values/keyboard-icons-black.xml b/java/res/values/keyboard-icons-black.xml
index 44fc2b9c1..1ff597a49 100644
--- a/java/res/values/keyboard-icons-black.xml
+++ b/java/res/values/keyboard-icons-black.xml
@@ -36,5 +36,8 @@
<item name="iconPreviewTabKey">@drawable/sym_keyboard_feedback_tab</item>
<!-- TODO: Needs dedicated black theme globe icon -->
<item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
+ <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
+ <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
+ <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
</style>
</resources>
diff --git a/java/res/values/keyboard-icons-ics.xml b/java/res/values/keyboard-icons-ics.xml
index 5fba0253d..0774d57ac 100644
--- a/java/res/values/keyboard-icons-ics.xml
+++ b/java/res/values/keyboard-icons-ics.xml
@@ -34,5 +34,7 @@
<item name="iconDisabledShortcutKey">@drawable/sym_keyboard_voice_off_holo</item>
<item name="iconPreviewTabKey">@drawable/sym_keyboard_feedback_tab</item>
<item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
+ <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
+ <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
</style>
</resources>
diff --git a/java/res/values/keyboard-icons-white.xml b/java/res/values/keyboard-icons-white.xml
index 837b1a37a..5798786f8 100644
--- a/java/res/values/keyboard-icons-white.xml
+++ b/java/res/values/keyboard-icons-white.xml
@@ -32,5 +32,8 @@
<item name="iconDisabledShortcutKey">@drawable/sym_keyboard_voice_off_holo</item>
<item name="iconPreviewTabKey">@drawable/sym_keyboard_feedback_tab</item>
<item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch</item>
+ <!-- TODO: Needs dedicated black theme ZWNJ and ZWJ icons -->
+ <item name="iconZwnjKey">@drawable/sym_keyboard_zwnj_holo</item>
+ <item name="iconZwjKey">@drawable/sym_keyboard_zwj_holo</item>
</style>
</resources>
diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml
index a263acd9b..77c0efd22 100644
--- a/java/res/xml-sw600dp/key_styles_common.xml
+++ b/java/res/xml-sw600dp/key_styles_common.xml
@@ -78,11 +78,15 @@
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:keyActionFlags="noKeyPreview" />
+ <!-- U+200C: ZERO WIDTH NON-JOINER
+ U+200D: ZERO WIDTH JOINER -->
<key-style
latin:styleName="zwnjKeyStyle"
- latin:keyLabel="&#x200C;"
- latin:moreKeys="&#x200D;"
- latin:keyLabelFlags="hasPopupHint" />
+ latin:code="0x200C"
+ latin:keyIcon="iconZwnjKey"
+ latin:moreKeys="\@icon/zwjKey|&#x200D;"
+ latin:keyLabelFlags="hasPopupHint"
+ latin:keyActionFlags="noKeyPreview" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
diff --git a/java/res/xml-sw600dp/rowkeys_thai3.xml b/java/res/xml-sw600dp/rowkeys_thai3.xml
index 529d7bff0..abd67631c 100644
--- a/java/res/xml-sw600dp/rowkeys_thai3.xml
+++ b/java/res/xml-sw600dp/rowkeys_thai3.xml
@@ -82,13 +82,13 @@
latin:keyLabel="&#x0E48;" />
<!-- U+0E32: "า" THAI CHARACTER SARA AA -->
<Key
- latin:keyLabel="&#x0E46;" />
+ latin:keyLabel="&#x0E32;" />
<!-- U+0E2A: "ส" THAI CHARACTER SO SUA -->
<Key
- latin:keyLabel="&#x0E46;" />
+ latin:keyLabel="&#x0E2A;" />
<!-- U+0E27: "ว" THAI CHARACTER WO WAEN -->
<Key
- latin:keyLabel="&#x0E2F;" />
+ latin:keyLabel="&#x0E27;" />
<!-- U+0E07: "ง" THAI CHARACTER NGO NGU -->
<Key
latin:keyLabel="&#x0E07;" />
diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml
index fade151ed..f4a1a4ea5 100644
--- a/java/res/xml-sw768dp/key_styles_common.xml
+++ b/java/res/xml-sw768dp/key_styles_common.xml
@@ -77,11 +77,15 @@
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:keyActionFlags="noKeyPreview" />
+ <!-- U+200C: ZERO WIDTH NON-JOINER
+ U+200D: ZERO WIDTH JOINER -->
<key-style
latin:styleName="zwnjKeyStyle"
- latin:keyLabel="&#x200C;"
- latin:moreKeys="&#x200D;"
- latin:keyLabelFlags="hasPopupHint" />
+ latin:code="0x200C"
+ latin:keyIcon="iconZwnjKey"
+ latin:moreKeys="\@icon/zwjKey|&#x200D;"
+ latin:keyLabelFlags="hasPopupHint"
+ latin:keyActionFlags="noKeyPreview" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 087b8952f..66d8d4d9d 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -107,11 +107,15 @@
latin:code="@integer/key_space"
latin:keyActionFlags="noKeyPreview|enableLongPress"
latin:backgroundType="functional" />
+ <!-- U+200C: ZERO WIDTH NON-JOINER
+ U+200D: ZERO WIDTH JOINER -->
<key-style
latin:styleName="zwnjKeyStyle"
- latin:keyLabel="&#x200C;"
- latin:moreKeys="&#x200D;"
+ latin:code="0x200C"
+ latin:keyIcon="iconZwnjKey"
+ latin:moreKeys="\@icon/zwjKey|&#x200D;"
latin:keyLabelFlags="hasPopupHint"
+ latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" />
<key-style
latin:styleName="shortcutKeyStyle"
@@ -129,8 +133,6 @@
latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress"
latin:altCode="@integer/key_space"
latin:backgroundType="functional" />
- <!-- U+200C: "" ZERO WIDTH NON-JOINER
- U+200D: "" ZERO WIDTH JOINER -->
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
diff --git a/java/res/xml/key_styles_currency.xml b/java/res/xml/key_styles_currency.xml
index 3e4afdfb5..6ddeb4c60 100644
--- a/java/res/xml/key_styles_currency.xml
+++ b/java/res/xml/key_styles_currency.xml
@@ -79,45 +79,53 @@
<case
latin:languageCode="iw"
>
+ <!-- U+20AA: "₪" NEW SHEQEL SIGN
+ U+00A3: "£" POUND SIGN
+ U+20AC: "€" EURO SIGN
+ U+00A2: "¢" CENT SIGN -->
<key-style
latin:styleName="currencyKeyStyle"
- latin:keyLabel="₪"
+ latin:keyLabel="&#x20AA;"
latin:moreKeys="@string/more_keys_for_currency_general" />
<key-style
latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="£" />
+ latin:keyLabel="&#x00A3;" />
<key-style
latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="€" />
+ latin:keyLabel="&#x20AC;" />
<key-style
latin:styleName="moreCurrency3KeyStyle"
latin:keyLabel="$"
- latin:moreKeys="¢" />
+ latin:moreKeys="&#x00A2;" />
<key-style
latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="¢" />
+ latin:keyLabel="&#x00A2;" />
</case>
<!-- United Kingdom -->
<case
latin:countryCode="GB"
>
+ <!-- U+00A3: "£" POUND SIGN
+ U+20AC: "€" EURO SIGN
+ U+00A5: "¥" YEN SIGN
+ U+00A2: "¢" CENT SIGN -->
<key-style
latin:styleName="currencyKeyStyle"
- latin:keyLabel="£"
+ latin:keyLabel="&#x00A3;"
latin:moreKeys="@string/more_keys_for_currency_pound" />
<key-style
latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="€" />
+ latin:keyLabel="&#x20AC;" />
<key-style
latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="¥" />
+ latin:keyLabel="&#x00A5;" />
<key-style
latin:styleName="moreCurrency3KeyStyle"
latin:keyLabel="$"
- latin:moreKeys="¢" />
+ latin:moreKeys="&#x00A2;" />
<key-style
latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="¢" />
+ latin:keyLabel="&#x00A2;" />
</case>
<default>
<include
diff --git a/java/res/xml/key_styles_currency_dollar.xml b/java/res/xml/key_styles_currency_dollar.xml
index d5dca2afa..8dd849879 100644
--- a/java/res/xml/key_styles_currency_dollar.xml
+++ b/java/res/xml/key_styles_currency_dollar.xml
@@ -19,20 +19,24 @@
-->
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <!-- U+00A3: "£" POUND SIGN
+ U+00A2: "¢" CENT SIGN
+ U+20AC: "€" EURO SIGN
+ U+00A5: "¥" YEN SIGN -->
<key-style
latin:styleName="currencyKeyStyle"
latin:keyLabel="$"
latin:moreKeys="@string/more_keys_for_currency_dollar" />
<key-style
latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="£" />
+ latin:keyLabel="&#x00A3;" />
<key-style
latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="¢" />
+ latin:keyLabel="&#x00A2;" />
<key-style
latin:styleName="moreCurrency3KeyStyle"
- latin:keyLabel="€" />
+ latin:keyLabel="&#x20AC;" />
<key-style
latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="¥" />
+ latin:keyLabel="&#x00A5;" />
</merge>
diff --git a/java/res/xml/key_styles_currency_euro.xml b/java/res/xml/key_styles_currency_euro.xml
index 6edddf074..0573e0991 100644
--- a/java/res/xml/key_styles_currency_euro.xml
+++ b/java/res/xml/key_styles_currency_euro.xml
@@ -19,21 +19,25 @@
-->
<merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+ <!-- U+20AC: "€" EURO SIGN
+ U+00A3: "£" POUND SIGN
+ U+00A5: "¥" YEN SIGN
+ U+00A2: "¢" CENT SIGN -->
<key-style
latin:styleName="currencyKeyStyle"
- latin:keyLabel="€"
+ latin:keyLabel="&#x20AC;"
latin:moreKeys="@string/more_keys_for_currency_euro" />
<key-style
latin:styleName="moreCurrency1KeyStyle"
- latin:keyLabel="£" />
+ latin:keyLabel="&#x00A3;" />
<key-style
latin:styleName="moreCurrency2KeyStyle"
- latin:keyLabel="¥" />
+ latin:keyLabel="&#x00A5;" />
<key-style
latin:styleName="moreCurrency3KeyStyle"
latin:keyLabel="$"
- latin:moreKeys="¢" />
+ latin:moreKeys="&#x00A2;" />
<key-style
latin:styleName="moreCurrency4KeyStyle"
- latin:keyLabel="¢" />
+ latin:keyLabel="&#x00A2;" />
</merge>
diff --git a/java/res/xml/rowkeys_thai2.xml b/java/res/xml/rowkeys_thai2.xml
index a5db66519..02ea6c5f8 100644
--- a/java/res/xml/rowkeys_thai2.xml
+++ b/java/res/xml/rowkeys_thai2.xml
@@ -46,9 +46,11 @@
<!-- U+0E0B: "ซ" THAI CHARACTER SO SO -->
<Key
latin:keyLabel="&#x0E0B;" />
- <!-- U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT -->
+ <!-- U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
+ U+0E45: "ๅ" THAI CHARACTER LAKKHANGYAO -->
<Key
- latin:keyLabel="&#x0E3F;" />
+ latin:keyLabel="&#x0E3F;"
+ latin:moreKeys="&#x0E45;" />
<!-- U+0E46: "ๆ" THAI CHARACTER MAIYAMOK
U+0E2F: "ฯ" THAI CHARACTER PAIYANNOI -->
<Key
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 07b9c1e8c..962379016 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -394,7 +394,7 @@ public class Keyboard {
* &gt;Row row_attributes*&lt;
* &gt;!-- Row Content --&lt;
* &gt;Key key_attributes* /&lt;
- * &gt;Spacer horizontalGap="0.2in" /&lt;
+ * &gt;Spacer horizontalGap="32.0dp" /&lt;
* &gt;include keyboardLayout="@xml/other_keys"&lt;
* ...
* &gt;/Row&lt;
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
index 9b9c86179..ded89b1b8 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java
@@ -30,7 +30,7 @@ public class KeyboardIconsSet {
// The value should be aligned with the enum value of Key.keyIcon.
public static final int ICON_UNDEFINED = 0;
- private static final int NUM_ICONS = 14;
+ private static final int NUM_ICONS = 16;
private final Drawable[] mIcons = new Drawable[NUM_ICONS + 1];
@@ -58,6 +58,8 @@ public class KeyboardIconsSet {
addIconIdMap(12, "disabledShortcurKey", R.styleable.Keyboard_iconDisabledShortcutKey);
addIconIdMap(13, "previewTabKey", R.styleable.Keyboard_iconPreviewTabKey);
addIconIdMap(14, "languageSwitchKey", R.styleable.Keyboard_iconLanguageSwitchKey);
+ addIconIdMap(15, "zwnjKey", R.styleable.Keyboard_iconZwnjKey);
+ addIconIdMap(16, "zwjKey", R.styleable.Keyboard_iconZwjKey);
}
private static void addIconIdMap(int iconId, String name, int attrId) {
diff --git a/java/src/com/android/inputmethod/latin/ResearchLogger.java b/java/src/com/android/inputmethod/latin/ResearchLogger.java
index 6ba9118d6..3b110bd78 100644
--- a/java/src/com/android/inputmethod/latin/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/latin/ResearchLogger.java
@@ -49,7 +49,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
private static final ResearchLogger sInstance = new ResearchLogger(new LogFileManager());
public static boolean sIsLogging = false;
- private final Handler mLoggingHandler;
+ /* package */ final Handler mLoggingHandler;
private InputMethodService mIms;
private final Date mDate;
private final SimpleDateFormat mDateFormat;
@@ -183,11 +183,13 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
}
/**
- * Change to a different logFileManager. Will not allow it to be set to null.
+ * Change to a different logFileManager.
+ *
+ * @throws IllegalArgumentException if logFileManager is null
*/
- /* package */ void setLogFileManager(ResearchLogger.LogFileManager manager) {
+ void setLogFileManager(LogFileManager manager) {
if (manager == null) {
- Log.w(TAG, "warning: trying to set null logFileManager. ignoring.");
+ throw new IllegalArgumentException("warning: trying to set null logFileManager");
} else {
mLogFileManager = manager;
}
@@ -241,8 +243,6 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
sb.append('\t'); sb.append(x);
sb.append('\t'); sb.append(y);
write(LogGroup.KEY, sb.toString());
-
- LatinImeLogger.onPrintAllUsabilityStudyLogs();
}
public void logCorrection(String subgroup, String before, String after, int position) {
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index cd34ba832..5a173857e 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -353,6 +353,11 @@ public class AndroidSpellCheckerService extends SpellCheckerService
@Override
public boolean onUnbind(final Intent intent) {
+ closeAllDictionaries();
+ return false;
+ }
+
+ private void closeAllDictionaries() {
final Map<String, DictionaryPool> oldPools = mDictionaryPools;
mDictionaryPools = Collections.synchronizedMap(new TreeMap<String, DictionaryPool>());
final Map<String, Dictionary> oldUserDictionaries = mUserDictionaries;
@@ -378,7 +383,6 @@ public class AndroidSpellCheckerService extends SpellCheckerService
dictToClose.close();
}
}
- return false;
}
private DictionaryPool getDictionaryPool(final String locale) {