Merge "Rename altchars.xml to keep translation imports from altering it." into gingerbread
diff --git a/java/res/drawable-hdpi/working.png b/java/res/drawable-hdpi/working.png
index 8b51ed1..5ea7023 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
old mode 100755
new mode 100644
index 48ebb61..53fe9c9
--- 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
old mode 100755
new mode 100644
index 38b8b48..649ef97
--- 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
old mode 100755
new mode 100644
index 147c1b2..93f7d87
--- 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
old mode 100755
new mode 100644
index f8affea..8560b3b
--- 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
old mode 100755
new mode 100644
index 75962e9..778abaf
--- 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
old mode 100755
new mode 100644
index b7dccfe..2a23945
--- 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
old mode 100755
new mode 100644
index 9ccad80..6af2d8d
--- 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
old mode 100755
new mode 100644
index ce58880..02d0fcf
--- 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 fe6c517..125ff13 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
old mode 100755
new mode 100644
index d09bd3d..fdaf699
--- 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 081532b..713a378 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
old mode 100755
new mode 100644
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
old mode 100755
new mode 100644
Binary files differ
diff --git a/java/res/drawable-mdpi/ic_subtype_keyboard.png b/java/res/drawable-mdpi/ic_subtype_keyboard.png
old mode 100755
new mode 100644
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
old mode 100755
new mode 100644
index 2d5c020..a2136f7
--- 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 2a80f09..a84c19c 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
old mode 100755
new mode 100644
index 29aa285..82513aa
--- 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 71bf5e8..fa6c0fe 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 c9413d7..3639363 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 0b0fb58..d04b563 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 0601d32..20d10f9 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 abc8454..5bd1360 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 67cb235..ccb76b8 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 1e07f26..715f900 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 31991da..725248a 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 7363ca8..ff6c50b 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 9034908..a5d6b89 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 3eaa9bd..dcdb48d 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 43a033e..1b0f3f8 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
old mode 100755
new mode 100644
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 bc11cf3..c556c35 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 1edb10b..a79f158 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
old mode 100755
new mode 100644
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 e3f80fa..eecb026 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 3cb0d99..7e10ae3 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 247d5b3..3ed0782 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 aac7376..bc8f1cf 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 03d9c9b..dd99ff3 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
old mode 100755
new mode 100644
index f4af341..6b8e01d
--- 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 08ba18f..03bad18 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 97f4661..d563575 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
old mode 100755
new mode 100644
index 7194b30..494524a
--- 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 739db68..36eb60c 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 593fa67..a10dc8f 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 91eda5f..7067a8b 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 62a5beb..f7a133d 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 a758095..e926b3f 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 17f2574..0c10f00 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
old mode 100755
new mode 100644
index 127755d..614f85f
--- 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 f3bcdbc..ad7618f 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 0566e5a..5109b04 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 0000000..244179c
--- /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
old mode 100755
new mode 100644
index ccaf05d..244179c
--- 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 4e6273b..cbe4a88 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 cd9daff..eddb9a5 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 6246a6d..4a930c5 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 0000000..9b6d23b
--- /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
old mode 100755
new mode 100644
diff --git a/java/res/layout/candidates.xml b/java/res/layout/candidates.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_basic.xml b/java/res/layout/input_basic.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_basic_highcontrast.xml b/java/res/layout/input_basic_highcontrast.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_gingerbread.xml b/java/res/layout/input_gingerbread.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_stone_bold.xml b/java/res/layout/input_stone_bold.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_stone_normal.xml b/java/res/layout/input_stone_normal.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_stone_popup.xml b/java/res/layout/input_stone_popup.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/input_trans.xml b/java/res/layout/input_trans.xml
old mode 100755
new mode 100644
diff --git a/java/res/layout/keyboard_key_preview.xml b/java/res/layout/key_preview.xml
similarity index 100%
rename from java/res/layout/keyboard_key_preview.xml
rename to java/res/layout/key_preview.xml
diff --git a/java/res/layout/input_gingerbread_popup.xml b/java/res/layout/keyboard_popup.xml
old mode 100755
new mode 100644
similarity index 94%
rename from java/res/layout/input_gingerbread_popup.xml
rename to java/res/layout/keyboard_popup.xml
index 0cc953e..1005e7e
--- 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 6d39850..0000000
--- 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 e3171eb..a8eaab9 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 16478c8..48f0d5e 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 2434d51..c467365 100644
--- a/java/src/com/android/inputmethod/latin/Hints.java
+++ b/java/src/com/android/inputmethod/latin/Hints.java
@@ -106,7 +106,7 @@
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 @@
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 @@
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 7258874..e811a2c 100644
--- a/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/latin/InputLanguageSelection.java
@@ -143,7 +143,7 @@
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 d898d68..7b5c304 100644
--- a/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/LanguageSwitcher.java
@@ -188,7 +188,7 @@
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 f85206e..50fc484 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1551,7 +1551,7 @@
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 @@
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 45ecca3..610d954 100644
--- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
+++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java
@@ -200,6 +200,7 @@
private int mMiniKeyboardOriginY;
private long mMiniKeyboardPopupTime;
private int[] mWindowOffset;
+ private float mMiniKeyboardSlideAllowance;
/** Listener for {@link OnKeyboardActionListener}. */
private OnKeyboardActionListener mKeyboardActionListener;
@@ -388,6 +389,9 @@
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 @@
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 @@
} 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 @@
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 @@
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 0000000..8364c90
--- /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();
+ }
+}