From 3e2368286294077421240b89e7e3cadb435ce4e0 Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 6 Apr 2011 11:17:08 +0900 Subject: [PATCH 01/21] Reinforce user-history based bigram use. - Have user-history based bigrams used as soon as they are entered, not after 6 times. - Limit bigram frequency to 255 (this limits the multiplier to 1.8, and has no effect on main dict bigrams which already have this limit) - Some TODO resolving bug: 4192129 Change-Id: I4777f1a58c43dd55381c4b01252d722ab3a70547 --- .../latin/ExpandableDictionary.java | 27 ++++++++++--------- .../latin/UserBigramDictionary.java | 6 ----- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java index d87fbce51..be2c6b21b 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java @@ -32,12 +32,14 @@ public class ExpandableDictionary extends Dictionary { */ protected static final int MAX_WORD_LENGTH = 32; + // Bigram frequency is a fixed point number with 1 meaning 1.2 and 255 meaning 1.8. + protected static final int BIGRAM_MAX_FREQUENCY = 255; + private Context mContext; private char[] mWordBuilder = new char[MAX_WORD_LENGTH]; private int mDicTypeId; private int mMaxDepth; private int mInputLength; - private StringBuilder sb = new StringBuilder(MAX_WORD_LENGTH); private static final char QUOTE = '\''; @@ -98,6 +100,7 @@ public class ExpandableDictionary extends Dictionary { public int addFrequency(int add) { mFrequency += add; + if (mFrequency > BIGRAM_MAX_FREQUENCY) mFrequency = BIGRAM_MAX_FREQUENCY; return mFrequency; } } @@ -462,6 +465,9 @@ public class ExpandableDictionary extends Dictionary { } } + // Local to reverseLookUp, but do not allocate each time. + private final char[] mLookedUpString = new char[MAX_WORD_LENGTH]; + /** * reverseLookUp retrieves the full word given a list of terminal nodes and adds those words * through callback. @@ -474,18 +480,15 @@ public class ExpandableDictionary extends Dictionary { for (NextWord nextWord : terminalNodes) { node = nextWord.mWord; freq = nextWord.getFrequency(); - // TODO Not the best way to limit suggestion threshold - if (freq >= UserBigramDictionary.SUGGEST_THRESHOLD) { - sb.setLength(0); - do { - sb.insert(0, node.mCode); - node = node.mParent; - } while(node != null); + int index = MAX_WORD_LENGTH; + do { + --index; + mLookedUpString[index] = node.mCode; + node = node.mParent; + } while (node != null); - // TODO better way to feed char array? - callback.addWord(sb.toString().toCharArray(), 0, sb.length(), freq, mDicTypeId, - DataType.BIGRAM); - } + callback.addWord(mLookedUpString, index, MAX_WORD_LENGTH - index, freq, mDicTypeId, + DataType.BIGRAM); } } diff --git a/java/src/com/android/inputmethod/latin/UserBigramDictionary.java b/java/src/com/android/inputmethod/latin/UserBigramDictionary.java index 4750fb991..bb6642cd9 100644 --- a/java/src/com/android/inputmethod/latin/UserBigramDictionary.java +++ b/java/src/com/android/inputmethod/latin/UserBigramDictionary.java @@ -44,12 +44,6 @@ public class UserBigramDictionary extends ExpandableDictionary { /** Maximum frequency for all pairs */ private static final int FREQUENCY_MAX = 127; - /** - * If this pair is typed 6 times, it would be suggested. - * Should be smaller than ContactsDictionary.FREQUENCY_FOR_CONTACTS_BIGRAM - */ - protected static final int SUGGEST_THRESHOLD = 6 * FREQUENCY_FOR_TYPED; - /** Maximum number of pairs. Pruning will start when databases goes above this number. */ private static int sMaxUserBigrams = 10000; From da4bfbbbb3d3aa5dce8f0507d3f3b07ea3e0f26f Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Wed, 6 Apr 2011 13:54:37 +0900 Subject: [PATCH 02/21] Fix popup key preview on tablet This change temporally enable popup key preview option on tablet. (config_enable_show_popup_on_keypress_option). Bug: 3286117 Change-Id: Iabbac5a333460e1ed2f8d05ba82f4bae81854b85 --- ...eyboard_key_feedback_background_holo.9.png | Bin 136 -> 4040 bytes ...eyboard_key_feedback_background_holo.9.png | Bin 1004 -> 3804 bytes .../keyboard_key_feedback_honeycomb.xml | 2 +- .../keyboard_popup_honeycomb.xml | 41 ------------------ java/res/layout/input_honeycomb.xml | 2 + java/res/layout/key_preview_honeycomb.xml | 2 +- java/res/layout/keyboard_popup.xml | 9 ++-- java/res/layout/keyboard_popup_honeycomb.xml | 9 ++-- java/res/values-xlarge-land/dimens.xml | 7 +-- java/res/values-xlarge/config.xml | 3 +- java/res/values-xlarge/dimens.xml | 9 ++-- java/res/values/colors.xml | 1 - java/res/values/dimens.xml | 23 +++++----- .../inputmethod/keyboard/KeyboardView.java | 2 +- .../inputmethod/keyboard/LatinKeyboard.java | 2 +- .../keyboard/SlidingLocaleDrawable.java | 2 +- 16 files changed, 39 insertions(+), 75 deletions(-) delete mode 100644 java/res/layout-xlarge/keyboard_popup_honeycomb.xml diff --git a/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-hdpi/keyboard_key_feedback_background_holo.9.png index 943f9e4bcdab341c94ce1c4cf28e91f7da34c1b7..8d6acacfb49c457061fe5a6a90980d6122ddfa33 100644 GIT binary patch literal 4040 zcmW+(X*iT!7#?F7%QsnOkTql(Yh%mKn22FM+aOCZLbhx}M9Pd(k?pfJVo)KBL4~G5 zW6x4{WfzSiTed{_MnBGbuJ>Hmd7tOp_x;@Gc@u4|%^_SOTmS$7g0?WVXU>_&gM*#< zOkyYrFejF9dvg?^>Z8~q^My0i!X+F4;7&XqEZSW?ROX^ogqd>$Hsne~lqcQ?V2<|; z_4D^S7ZM!lgOBjROTy8?5k6NHqVDYp0{}cow5f^1_55Y>M2L*JKu4n}Hg9%+e7Yv} z%#VrB111wy}d1TX0D8au5mTs$=&r(na~+2W^5)=hTF* zYuz-sw39oIz4UBvddGip$Y>c8HMYH}>v3~rXy_UqKX{EZEz=fX9N|!KdgL0OAzl7` z=39wTQb8=Syv=+d(?v_b(4#~rsQ^?=5ia{)xQI7#+B)Ngt5~n2*@}@D8G~P0a>NQuyPOw}nWmqL};#Z6~k8O#PeZ zxw}4L`GsgS6*aC(O#??C96nlF6lMGUCw3eVq8!#$HZ8`99;wHhai@1hOvYb+smC_1CJs2 z-RiARoNI=GWw@S{)h|qRKfwu0M@(TC_Jh)WSaK*UvI&Y~-KujR!YVRCwD2r#<;W{_ zKiPafV=wk!B($^iJhNnYJiZ#@?e4(LfWP%?K*;3il})oSmN}rtWxp(`O~ccQBI=^f z^*iR&!zWI$`8h&DWs|s#ZFJKJ$2l0|-c^7dorIgTK%f1Lq0Pl-7h9VBmM5Y)F^oH1 zJM0|^bGtG#qYJL&TwYItPQO9OfVQ%_$G7+gtb(03zv~+`53s?A-@C;!$6sUXcVXKb zZPgAedgvZo3;W~Nxwmlp9eJ_+=_`>e35ll0N}n4LBOW8;i_oq0b?PIQoSqAwH8jVh z?x(Q_SiKQ6^9)IM5;rW-vHY*W5R}gkY7Xt);JX&8Pc^2M@y*Tn(;! zy*VU5G!e}+p6nd4ycVN)>I}oJgm!owSCt)O7e+|4Ng5irAk>Ch1y&u*`bFS>@cDV; zH+T1TJIe36`vrzpX202beNR64RI8TBQ>21izBpVm4A14R+FTBucQDj; z0`~8?vwIqs6r>8&JlrU^zj*Yuo7|w3MVCQjpOCvC#@i|19uQO^E;9}KlI`+~KBqs$ z%H3H+xmkBnvL!w+9#FYT-19(Q-xf;ENrFvw0yL4RJ~3N4TVtdC@aR7(M9#;1_5qp~<3!osJ6q;QfRj$F9yD@#ff5k@{zdSz zGRK0&!dRzByXmfxr3O#S43*cID6v9Qr_-8zXOg$T2)6jH0P4}4Ds!)%r|WfS?YsRn zt&^wWCx7WA8^WsWOYc2-0befc=08ky6*SX;^V_??jTbr&)g*38Ly>TKX#{bL*?lhak&fi-Va!H zjJlEm>j!4L53A%aU#6|~`14{$$Cs)jP0UzLn`>VkxN~=KaCI0814|ya7>hPVbuSc# z9=55?12gFn(Kt(f@b?`-M&`PBnw&+9v|RPCn_8^#U9LfgF+2{MNEqg=+gcF)q)9XF z8LCLrfyNk-^ZOovuu{`1BRoO zNT$#*C4m14P^M!fsWv{WkN)}GmmJ^o>{)T@YlF4aqRU zRY%esD0}#>Y80FKo{T0R01K&Y{C!By?pQm4{0m~;&uW#wY+mKay4%etT=(5s@BTRX zQsX96n+{`&s)r3K@0K)vR+n4e(f7d+R84;vN{4Zbzu(wcvn1~ z;aCcNl*ns?0+ttChmx^fG>DuVL4oPNz|20uq`O`9;Af2)!C`L%aHIwH8;7qr;?EA2 zfe|A;+|Xn`Sn}J_ajNwzeJ;6`yj~K0^72n&;#-@}CIMM)lFokE!c8j}=871yIl}cn z)CaJn3el2hXb-H`it!-z-qf2|foBsGRt+(B2=Yy5x@c(~Pn1aj?#DAWLby{(O%-Id5vY!H z z3b++fO-);?u8w`d!{yp*;%0Nggpwj}PD!yrYyBuR>VMH#dT=OjzOq@@2l+${tlu6m zgbZ063H{4jY9#<^OHlX(5^IH(NmTG*mQ~9jST`fYPt)dNlfB(r>yN}WOZ8Yw73F4` zJUHAW+0T48Ly-4MZ4qHTk7vKQez2uH9z`{q*ST@lN(4a2Z-w2%WgD8<{n6z8w-0Iu z^7JqXQ+>tD2rZN+30|hj8-^UTtrGe638CfS>)3+0l(nA=l9NR^vX@QRmHAW@#FfO&1CYyJ8l)1?Gn7CJK5 z4Z5#Bu4BXOAsnOe`E*kYTsMo{KUrrmlbQxQLy_5ry~V-UW-3ps538~zjhwq!Ppuov zSXDF*(iR}m@|tpuz!zUrU>LY{mjVregZV8Ssfet#e``CRhfS$C6bn6WKS~G+XhQB@ z)H8Tgk4AG+{Db&jb_iH9IB@ePI$uY!Z_PRpg3Z^Q6oAU?Im!D}+dBwq1#;X@5MYDk za7#9BJ*yZn`|b3%lgVxMzMaI%w0@@b!H?SZlj=sgMe%WXTt2emsMHe{P~-s~B6 zR4QiXP8YEJfnKkWLR11ih`QSWst*!$JM^a5pY;lkPx$hJr9;4ohs`!?pb0)RpoCB$ zDrk`oc>sW;qvi4EsiJECfchPlSd07CrakmWSh!5=HTV_AZ@}oP)0K^VUoDyxF%&ZS zVPX1zue$98RUx^Ko9~YF5Bp3-igZO?-qs6e?0l0Aw?;*VPKN<*ERmBEb;D7uw4B29 z)2wUCmOb|2r7sANWj%~NjznMli8j?ghe`!_Tfew<))N)wC6coEoMfHKS^1|{e`8^0 zqxQLWT2nMAhTbr^Zh=%6b$R;lM4ijil&NO2ghQ#Po~|5nbEv{9x@JMur+F~lzu!sg zos+u|OEFnWYU+Itn$jX=?NmW;wDZ(zV4)_N>|>PUhC(r)TI2%4XL-YWnz&x(-h1X z@jpLhBq zgaMMs&@KSO0ar3!Nj6ZjlB%hVm3{30xi+Kv_vtEshLj+${DbyKMMg$a{(Ma_kg=lT{ApiRZ3W}ofSYa?XU56T3Cb4l z{kW%^A?#RG6bk85)}Y)Tsmx7cOHo*f89lnmb${`^mUy|EmRyOw+7y!EqaY}lq(qSs zd#(Qx&_xyje&;H-yQ3hImGexR;NOmV-oHHi6EKAwCM5@8Mo379-V~`aTW2NQXln+| z+n=NVMb+Yzm0S_j;+sD0!wG?b5>jw`i|ZFuQuA}xdtK+?#p}Vx97q@RnR^b}Qah%( za@a68oLxtgfX|3O*Zn;1TOjq*=fdsz;8ZvNn#eF0x^o0amcS!%9e341$pk5plybHI zu7R=YiZH>q`(Eijg5e>f59PUSAu_-rRXDf6gFvCN6}^OTE)LW%6XAU?X%jLtgK?Hf zQBnLU<$^%MAg{nvy%l%m+V`kc|Lu~*z2#{hdnU7M07Vf&buO2yE(z0KUwzN9zDb4i zI%-y8uf9^;Hw-aOv$tRdFQJ}u)($nKS{twZ0?J%y6TRyF)6a-&;8y@9Md6w(%MFqG z;l8qQ`E!um?V_KUTm=6W+Z$5AY=Bk2e5qW^G!9!o~j&hICvd delta 121 zcmX>h-@$0u8Q|y6%O%Cdz`(%k>ERLtq**|igAGWo{5Y=;#3^?24B-HR8jh5XiFy+D zTAnVBAsjPHPjBR9P~c%PWcE(^|8f&cm6XeIPd$I36R8TJTNm!W{^g}EyHFSRpUp{f RTY$zec)I$ztaD0e0s!14B5?o! diff --git a/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png b/java/res/drawable-mdpi/keyboard_key_feedback_background_holo.9.png index a7acb4a4dd366d9f47e6e1bd30ab67f189bcdad9..286cf84fc3fe12e63516ae11cf844f1e824b88ec 100644 GIT binary patch delta 3067 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 diff --git a/java/res/drawable/keyboard_key_feedback_honeycomb.xml b/java/res/drawable/keyboard_key_feedback_honeycomb.xml index dd9b53e46..a3ea140cd 100644 --- a/java/res/drawable/keyboard_key_feedback_honeycomb.xml +++ b/java/res/drawable/keyboard_key_feedback_honeycomb.xml @@ -16,6 +16,6 @@ + android:drawable="@drawable/keyboard_key_feedback_more_background_holo" /> diff --git a/java/res/layout-xlarge/keyboard_popup_honeycomb.xml b/java/res/layout-xlarge/keyboard_popup_honeycomb.xml deleted file mode 100644 index 0b8229ca5..000000000 --- a/java/res/layout-xlarge/keyboard_popup_honeycomb.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/java/res/layout/input_honeycomb.xml b/java/res/layout/input_honeycomb.xml index 6ccc63c2b..96b10b7cc 100644 --- a/java/res/layout/input_honeycomb.xml +++ b/java/res/layout/input_honeycomb.xml @@ -31,6 +31,8 @@ latin:keyBackground="@drawable/btn_keyboard_key_honeycomb" latin:keyPreviewLayout="@layout/key_preview_honeycomb" + latin:keyPreviewHeight="@dimen/key_preview_height_holo" + latin:keyPreviewOffset="@dimen/key_preview_offset_holo" latin:popupLayout="@layout/keyboard_popup_honeycomb" latin:keyTextColorDisabled="#FF63666D" latin:keyLetterStyle="bold" diff --git a/java/res/layout/key_preview_honeycomb.xml b/java/res/layout/key_preview_honeycomb.xml index a90fe5588..2fbfbb517 100644 --- a/java/res/layout/key_preview_honeycomb.xml +++ b/java/res/layout/key_preview_honeycomb.xml @@ -23,7 +23,7 @@ android:layout_height="80sp" android:textSize="40sp" android:textColor="@color/latinkeyboard_key_color_white" - android:minWidth="24dip" + android:minWidth="32dip" android:gravity="center" android:background="@drawable/keyboard_key_feedback_honeycomb" /> diff --git a/java/res/layout/keyboard_popup.xml b/java/res/layout/keyboard_popup.xml index ac8134bfb..013662240 100644 --- a/java/res/layout/keyboard_popup.xml +++ b/java/res/layout/keyboard_popup.xml @@ -19,20 +19,19 @@ --> - + 58.0mm @@ -28,12 +28,13 @@ 13.0mm 1.1mm 0.0mm - - 13.0mm 28dip 20dip 18dip + 26.5mm + 7.5mm + 40.0mm diff --git a/java/res/values-xlarge/config.xml b/java/res/values-xlarge/config.xml index f075b1b50..ed8dc3e52 100644 --- a/java/res/values-xlarge/config.xml +++ b/java/res/values-xlarge/config.xml @@ -22,7 +22,8 @@ false false false - false + + true false false false diff --git a/java/res/values-xlarge/dimens.xml b/java/res/values-xlarge/dimens.xml index 69283202e..cdb6e89a4 100644 --- a/java/res/values-xlarge/dimens.xml +++ b/java/res/values-xlarge/dimens.xml @@ -19,7 +19,7 @@ --> - + 48.0mm @@ -28,8 +28,7 @@ 10.0mm 1.1mm 0.0mm - - 13.0mm + 40dip 12dip @@ -39,9 +38,11 @@ 26dip 16dip - 24dip 6dip + 24dip + 23.0mm + 8.0mm 46dip 15.0mm diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml index 0161589a4..5e9d63203 100644 --- a/java/res/values/colors.xml +++ b/java/res/values/colors.xml @@ -21,7 +21,6 @@ #FFFFFFFF #FFFCAE00 #FFFCAE00 - #00000000 #80000000 #80FFFFFF #FFC0C0C0 diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 7f00cdba3..2cfc17de9 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -19,7 +19,7 @@ --> - + 1.265in @@ -28,25 +28,28 @@ 0.325in 0.00in 0.06in - - 80sp + 16dip + 32dip 8dip 0.390in -0.325in - - 0.13in - 0.083in - 40sp - - 0.13in - 0.000in -0.05in + 0.13in + 0.083in + + 0.13in + 80sp + 0.000in + 36sp + 130sp + 0.193in + 42dip 63dip 0dip diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 61af15b1d..cc14589f6 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -37,7 +37,6 @@ import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Message; import android.os.SystemClock; -import android.provider.Settings; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; @@ -378,6 +377,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy { } mPreviewPopup.setTouchable(false); mPreviewPopup.setAnimationStyle(R.style.KeyPreviewAnimation); + mPreviewPopup.setClippingEnabled(false); mDelayBeforePreview = res.getInteger(R.integer.config_delay_before_preview); mDelayAfterPreview = res.getInteger(R.integer.config_delay_after_preview); mKeyLabelHorizontalPadding = (int)res.getDimension( diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java index 5820049bb..9b87df3fe 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java @@ -229,7 +229,7 @@ public class LatinKeyboard extends Keyboard { final Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(buffer); final Resources res = mContext.getResources(); - canvas.drawColor(res.getColor(R.color.latinkeyboard_transparent), PorterDuff.Mode.CLEAR); + canvas.drawColor(res.getColor(android.R.color.transparent), PorterDuff.Mode.CLEAR); SubtypeSwitcher subtypeSwitcher = SubtypeSwitcher.getInstance(); // If application locales are explicitly selected. diff --git a/java/src/com/android/inputmethod/keyboard/SlidingLocaleDrawable.java b/java/src/com/android/inputmethod/keyboard/SlidingLocaleDrawable.java index 41f8c2a7c..eee0ac61b 100644 --- a/java/src/com/android/inputmethod/keyboard/SlidingLocaleDrawable.java +++ b/java/src/com/android/inputmethod/keyboard/SlidingLocaleDrawable.java @@ -63,7 +63,7 @@ public class SlidingLocaleDrawable extends Drawable { mHeight = height; final TextPaint textPaint = new TextPaint(); textPaint.setTextSize(getTextSizeFromTheme(android.R.style.TextAppearance_Medium, 18)); - textPaint.setColor(R.color.latinkeyboard_transparent); + textPaint.setColor(android.R.color.transparent); textPaint.setTextAlign(Align.CENTER); textPaint.setAlpha(LatinKeyboard.OPACITY_FULLY_OPAQUE); textPaint.setAntiAlias(true); From 494926fc2bad8d0ce1e73f02ff485f0d1c87b957 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 7 Apr 2011 17:49:49 +0900 Subject: [PATCH 03/21] Remove "settings key" popup from "comma key" Bug: 4196879 Change-Id: I119528c03526b47a1398d9efc2aa307eb0c07ffe --- java/res/xml/kbd_qwerty_f1.xml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/java/res/xml/kbd_qwerty_f1.xml b/java/res/xml/kbd_qwerty_f1.xml index cbdb8c09a..6bb96c0a0 100644 --- a/java/res/xml/kbd_qwerty_f1.xml +++ b/java/res/xml/kbd_qwerty_f1.xml @@ -51,11 +51,24 @@ - + + + + + + + + From 996db15d3c018ed2a7b4eee96ea94b9f80d8e379 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 7 Apr 2011 17:16:30 +0900 Subject: [PATCH 04/21] Disable successive modifier key while sliding input When user starts sliding key input, sliding through successive modifier key will be ignored. Bug: 4181843 Depends: I082885bd2376ae26bdfc378c14add2b5d6be1d4e Change-Id: Ibe890b9cc1183dbe9f68a421650fcd97e7ff221c --- .../inputmethod/keyboard/PointerTracker.java | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 746857819..1c918b995 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -87,6 +87,9 @@ public class PointerTracker { // true if sliding key is allowed. private boolean mIsAllowedSlidingKeyInput; + // ignore modifier key if true + private boolean mIgnoreModifierKey; + // pressed key private int mPreviousKey = NOT_A_KEY; @@ -139,8 +142,12 @@ public class PointerTracker { // Returns true if keyboard has been changed by this callback. private boolean callListenerOnPressAndCheckKeyboardLayoutChange(Key key, boolean withSliding) { + final boolean ignoreModifierKey = mIgnoreModifierKey && isModifierCode(key.mCode); if (DEBUG_LISTENER) - Log.d(TAG, "onPress : " + keyCodePrintable(key.mCode) + " sliding=" + withSliding); + Log.d(TAG, "onPress : " + keyCodePrintable(key.mCode) + " sliding=" + withSliding + + " ignoreModifier=" + ignoreModifierKey); + if (ignoreModifierKey) + return false; if (key.mEnabled) { mListener.onPress(key.mCode, withSliding); final boolean keyboardLayoutHasBeenChanged = mKeyboardLayoutHasBeenChanged; @@ -153,9 +160,13 @@ public class PointerTracker { // Note that we need primaryCode argument because the keyboard may in shifted state and the // primaryCode is different from {@link Key#mCode}. private void callListenerOnCodeInput(Key key, int primaryCode, int[] keyCodes, int x, int y) { + final boolean ignoreModifierKey = mIgnoreModifierKey && isModifierCode(key.mCode); if (DEBUG_LISTENER) Log.d(TAG, "onCodeInput: " + keyCodePrintable(primaryCode) - + " codes="+ Arrays.toString(keyCodes) + " x=" + x + " y=" + y); + + " codes="+ Arrays.toString(keyCodes) + " x=" + x + " y=" + y + + " ignoreModifier=" + ignoreModifierKey); + if (ignoreModifierKey) + return; if (key.mEnabled) mListener.onCodeInput(primaryCode, keyCodes, x, y); } @@ -170,8 +181,12 @@ public class PointerTracker { // Note that we need primaryCode argument because the keyboard may in shifted state and the // primaryCode is different from {@link Key#mCode}. private void callListenerOnRelease(Key key, int primaryCode, boolean withSliding) { + final boolean ignoreModifierKey = mIgnoreModifierKey && isModifierCode(key.mCode); if (DEBUG_LISTENER) - Log.d(TAG, "onRelease : " + keyCodePrintable(primaryCode) + " sliding=" + withSliding); + Log.d(TAG, "onRelease : " + keyCodePrintable(primaryCode) + " sliding=" + + withSliding + " ignoreModifier=" + ignoreModifierKey); + if (ignoreModifierKey) + return; if (key.mEnabled) mListener.onRelease(primaryCode, withSliding); } @@ -329,17 +344,18 @@ public class PointerTracker { mKeyAlreadyProcessed = false; mIsRepeatableKey = false; mIsInSlidingKeyInput = false; - if (isValidKeyIndex(keyIndex)) { + mIgnoreModifierKey = false; + final Key key = getKey(keyIndex); + if (key != null) { // This onPress call may have changed keyboard layout. Those cases are detected at // {@link #setKeyboard}. In those cases, we should update keyIndex according to the new // keyboard layout. - if (callListenerOnPressAndCheckKeyboardLayoutChange(mKeys[keyIndex], false)) + if (callListenerOnPressAndCheckKeyboardLayoutChange(key, false)) keyIndex = mKeyState.onDownKey(x, y, eventTime); - } - if (isValidKeyIndex(keyIndex)) { + // Accessibility disables key repeat because users may need to pause on a key to hear // its spoken description. - if (mKeys[keyIndex].mRepeatable && !mIsAccessibilityEnabled) { + if (key.mRepeatable && !mIsAccessibilityEnabled) { repeatKey(keyIndex); mHandler.startKeyRepeatTimer(mDelayBeforeKeyRepeatStart, keyIndex, this); mIsRepeatableKey = true; @@ -349,6 +365,12 @@ public class PointerTracker { showKeyPreviewAndUpdateKeyGraphics(keyIndex); } + private void startSlidingKeyInput(Key key) { + if (!mIsInSlidingKeyInput) + mIgnoreModifierKey = isModifierCode(key.mCode); + mIsInSlidingKeyInput = true; + } + public void onMoveEvent(int x, int y, long eventTime, PointerTrackerQueue queue) { if (ENABLE_ASSERTION) checkAssertion(queue); if (DEBUG_MOVE_EVENT) @@ -376,8 +398,8 @@ public class PointerTracker { // The pointer has been slid in to the new key from the previous key, we must call // onRelease() first to notify that the previous key has been released, then call // onPress() to notify that the new key is being pressed. - mIsInSlidingKeyInput = true; callListenerOnRelease(oldKey, oldKey.mCode, true); + startSlidingKeyInput(oldKey); mHandler.cancelLongPressTimers(); if (mIsAllowedSlidingKeyInput) { // This onPress call may have changed keyboard layout. Those cases are detected @@ -411,8 +433,8 @@ public class PointerTracker { if (oldKey != null && !isMinorMoveBounce(x, y, keyIndex)) { // The pointer has been slid out from the previous key, we must call onRelease() to // notify that the previous key has been released. - mIsInSlidingKeyInput = true; callListenerOnRelease(oldKey, oldKey.mCode, true); + startSlidingKeyInput(oldKey); mHandler.cancelLongPressTimers(); if (mIsAllowedSlidingKeyInput) { keyState.onMoveToNewKey(keyIndex, x ,y); @@ -423,7 +445,7 @@ public class PointerTracker { } } } - showKeyPreviewAndUpdateKeyGraphics(mKeyState.getKeyIndex()); + showKeyPreviewAndUpdateKeyGraphics(keyState.getKeyIndex()); } public void onUpEvent(int x, int y, long eventTime, PointerTrackerQueue queue) { From e7c0e73a19e6eb6cb9a4aded8a0a7240db544d85 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 7 Apr 2011 16:12:00 +0900 Subject: [PATCH 05/21] Simplify the Key's on state transition Because handling shift locked state of alphabet keyboard is done by KeyboardSwitcher, there is no need to change the "on" state of Key when releasing the key. On the other hand, symbol and symbol shifted keyboard has fixed "on" state "ALT/MORE" key. This change also renames the attribute "isModifier" to "isFunctional". Change-Id: I082885bd2376ae26bdfc378c14add2b5d6be1d4e --- java/res/values/attrs.xml | 4 +- java/res/xml-xlarge/kbd_key_styles.xml | 2 +- java/res/xml/kbd_key_styles.xml | 2 +- java/res/xml/kbd_qwerty_black_symbol.xml | 8 ++-- java/res/xml/kbd_qwerty_f1.xml | 8 ++-- .../com/android/inputmethod/keyboard/Key.java | 37 +++++++------------ .../inputmethod/keyboard/KeyStyles.java | 2 +- .../inputmethod/keyboard/Keyboard.java | 2 +- .../keyboard/KeyboardSwitcher.java | 12 +++--- .../inputmethod/keyboard/PointerTracker.java | 4 +- 10 files changed, 34 insertions(+), 47 deletions(-) diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index f0da2744b..28c948b65 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -107,8 +107,8 @@ - - + + diff --git a/java/res/xml-xlarge/kbd_key_styles.xml b/java/res/xml-xlarge/kbd_key_styles.xml index fc06d00fc..4fefe0056 100644 --- a/java/res/xml-xlarge/kbd_key_styles.xml +++ b/java/res/xml-xlarge/kbd_key_styles.xml @@ -28,7 +28,7 @@ > + latin:isFunctional="true" /> + latin:isFunctional="true" /> @@ -46,7 +46,7 @@ latin:code="@integer/key_switch_alpha_symbol" latin:keyLabel="@string/label_to_symbol_key" latin:keyWidth="20%p" - latin:isModifier="true" + latin:isFunctional="true" latin:keyEdgeFlags="left" /> @@ -67,7 +67,7 @@ latin:keyIcon="@drawable/sym_bkeyboard_123_mic" latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic" latin:keyWidth="15%p" - latin:isModifier="true" + latin:isFunctional="true" latin:keyEdgeFlags="left" /> @@ -75,7 +75,7 @@ latin:code="@integer/key_switch_alpha_symbol" latin:keyLabel="@string/label_to_symbol_key" latin:keyWidth="15%p" - latin:isModifier="true" + latin:isFunctional="true" latin:keyEdgeFlags="left" /> diff --git a/java/res/xml/kbd_qwerty_f1.xml b/java/res/xml/kbd_qwerty_f1.xml index 6bb96c0a0..008448b26 100644 --- a/java/res/xml/kbd_qwerty_f1.xml +++ b/java/res/xml/kbd_qwerty_f1.xml @@ -29,7 +29,7 @@ latin:keyLabel="/" latin:keyHintIcon="@drawable/hint_popup" latin:popupCharacters="@string/alternates_for_settings_slash" - latin:isModifier="true" /> + latin:isFunctional="true" /> + latin:isFunctional="true" /> @@ -57,7 +57,7 @@ > + latin:isFunctional="true" /> + latin:isFunctional="true" /> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 7396f0518..f578bd613 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -83,8 +83,8 @@ public class Key { * {@link Keyboard#EDGE_TOP} and {@link Keyboard#EDGE_BOTTOM}. */ public final int mEdgeFlags; - /** Whether this is a modifier key, such as Shift or Alt */ - public final boolean mModifier; + /** Whether this is a functional key which has different key top than normal key */ + public final boolean mFunctional; /** Whether this key repeats itself when held down */ public final boolean mRepeatable; @@ -93,8 +93,8 @@ public class Key { /** The current pressed state of this key */ public boolean mPressed; - /** If this is a sticky key, is it on? */ - public boolean mOn; + /** If this is a sticky key, is its highlight on? */ + public boolean mHighlightOn; /** Key is enabled and responds on press */ public boolean mEnabled = true; @@ -150,7 +150,7 @@ public class Key { mManualTemporaryUpperCaseHintIcon = null; mManualTemporaryUpperCaseCode = Keyboard.CODE_DUMMY; mLabelOption = 0; - mModifier = false; + mFunctional = false; mSticky = false; mRepeatable = false; mPopupCharacters = null; @@ -224,7 +224,7 @@ public class Key { mKeyboard.getMaxPopupKeyboardColumn()); mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false); - mModifier = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isModifier, false); + mFunctional = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional, false); mSticky = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky, false); mEnabled = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_enabled, true); mEdgeFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyEdgeFlags, 0) @@ -315,22 +315,19 @@ public class Key { /** * Informs the key that it has been pressed, in case it needs to change its appearance or * state. - * @see #onReleased(boolean) + * @see #onReleased() */ public void onPressed() { - mPressed = !mPressed; + mPressed = true; } /** - * Changes the pressed state of the key. If it is a sticky key, it will also change the - * toggled state of the key if the finger was release inside. - * @param inside whether the finger was released inside the key + * Informs the key that it has been released, in case it needs to change its appearance or + * state. * @see #onPressed() */ - public void onReleased(boolean inside) { - mPressed = !mPressed; - if (mSticky && !mKeyboard.isShiftLockEnabled(this)) - mOn = !mOn; + public void onReleased() { + mPressed = false; } public boolean isInside(int x, int y) { @@ -376,12 +373,6 @@ public class Key { return dx * dx + dy * dy; } - // sticky is used for shift key. If a key is not sticky and is modifier, - // the key will be treated as functional. - private boolean isFunctionalKey() { - return !mSticky && mModifier; - } - /** * Returns the drawable state for the key, based on the current state and type of the key. * @return the drawable state of the key. @@ -389,7 +380,7 @@ public class Key { */ public int[] getCurrentDrawableState() { final boolean pressed = mEnabled && mPressed; - if (isFunctionalKey()) { + if (!mSticky && mFunctional) { if (pressed) { return KEY_STATE_FUNCTIONAL_PRESSED; } else { @@ -399,7 +390,7 @@ public class Key { int[] states = KEY_STATE_NORMAL; - if (mOn) { + if (mHighlightOn) { if (pressed) { states = KEY_STATE_PRESSED_ON; } else { diff --git a/java/src/com/android/inputmethod/keyboard/KeyStyles.java b/java/src/com/android/inputmethod/keyboard/KeyStyles.java index 169f2e6c3..d464c2029 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyStyles.java +++ b/java/src/com/android/inputmethod/keyboard/KeyStyles.java @@ -185,7 +185,7 @@ public class KeyStyles { readDrawable(keyAttr, R.styleable.Keyboard_Key_iconPreview); readDrawable(keyAttr, R.styleable.Keyboard_Key_keyHintIcon); readDrawable(keyAttr, R.styleable.Keyboard_Key_shiftedIcon); - readBoolean(keyAttr, R.styleable.Keyboard_Key_isModifier); + readBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional); readBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky); readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable); readBoolean(keyAttr, R.styleable.Keyboard_Key_enabled); diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 06d44680d..418188209 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -293,7 +293,7 @@ public class Keyboard { public boolean setShiftLocked(boolean newShiftLockState) { final Map shiftedIcons = getShiftedIcons(); for (final Key key : getShiftKeys()) { - key.mOn = newShiftLockState; + key.mHighlightOn = newShiftLockState; key.setIcon(newShiftLockState ? shiftedIcons.get(key) : mNormalShiftIcons.get(key)); } mShiftState.setShiftLocked(newShiftLockState); diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index cfa3c446e..dd25b3427 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -263,10 +263,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha int xmlId = mode == KeyboardId.MODE_PHONE ? R.xml.kbd_phone : R.xml.kbd_symbols; final String xmlName = res.getResourceEntryName(xmlId); mSymbolsId = new KeyboardId(xmlName, xmlId, colorScheme, locale, orientation, mode, - attribute, hasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, true); + attribute, hasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, false); xmlId = mode == KeyboardId.MODE_PHONE ? R.xml.kbd_phone_symbols : R.xml.kbd_symbols_shift; mSymbolsShiftedId = new KeyboardId(xmlName, xmlId, colorScheme, locale, orientation, mode, - attribute, hasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, true); + attribute, hasSettingsKey, mVoiceKeyEnabled, hasVoiceKey, false); } public int getKeyboardMode() { @@ -565,16 +565,14 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha mCurrentId = mSymbolsShiftedId; keyboard = getKeyboard(mCurrentId); // Symbol shifted keyboard has an ALT key that has a caps lock style indicator. To - // enable the indicator, we need to call enableShiftLock() and setShiftLocked(true). - // Thus we can keep the ALT key's Key.on value true while LatinKey.onRelease() is - // called. + // enable the indicator, we need to call setShiftLocked(true). keyboard.setShiftLocked(true); } else { mCurrentId = mSymbolsId; keyboard = getKeyboard(mCurrentId); // Symbol keyboard has an ALT key that has a caps lock style indicator. To disable the - // indicator, we need to call enableShiftLock() and setShiftLocked(false). - keyboard.setShifted(false); + // indicator, we need to call setShiftLocked(false). + keyboard.setShiftLocked(false); } setKeyboard(keyboard); } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 1c918b995..c28197014 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -258,9 +258,7 @@ public class PointerTracker { mPreviousKey = keyIndex; if (keyIndex != oldKeyIndex) { if (isValidKeyIndex(oldKeyIndex)) { - // if new key index is not a key, old key was just released inside of the key. - final boolean inside = (keyIndex == NOT_A_KEY); - mKeys[oldKeyIndex].onReleased(inside); + mKeys[oldKeyIndex].onReleased(); mProxy.invalidateKey(mKeys[oldKeyIndex]); } if (isValidKeyIndex(keyIndex)) { From 85427b3d8e25b36f8c0575d292348c861de40ed9 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Thu, 7 Apr 2011 13:59:50 -0700 Subject: [PATCH 06/21] Import revised translations. Change-Id: I8c2fb2177e47ad50cf0ae1a191d2b8b4186c0700 --- java/res/values-ar/strings.xml | 2 ++ java/res/values-bg/strings.xml | 2 ++ java/res/values-ca/strings.xml | 2 ++ java/res/values-cs/strings.xml | 2 ++ java/res/values-da/strings.xml | 2 ++ java/res/values-de/strings.xml | 2 ++ java/res/values-el/strings.xml | 2 ++ java/res/values-en-rGB/strings.xml | 2 ++ java/res/values-es-rUS/strings.xml | 2 ++ java/res/values-es/strings.xml | 2 ++ java/res/values-fa/strings.xml | 2 ++ java/res/values-fi/strings.xml | 2 ++ java/res/values-fr/strings.xml | 4 +++- java/res/values-hr/strings.xml | 2 ++ java/res/values-hu/strings.xml | 2 ++ java/res/values-in/strings.xml | 2 ++ java/res/values-it/strings.xml | 2 ++ java/res/values-iw/strings.xml | 2 ++ java/res/values-ja/strings.xml | 2 ++ java/res/values-ko/strings.xml | 2 ++ java/res/values-lt/strings.xml | 2 ++ java/res/values-lv/strings.xml | 2 ++ java/res/values-nb/strings.xml | 2 ++ java/res/values-nl/strings.xml | 2 ++ java/res/values-pl/strings.xml | 10 ++++++---- java/res/values-pt-rPT/strings.xml | 2 ++ java/res/values-pt/strings.xml | 2 ++ java/res/values-rm/strings.xml | 4 ++++ java/res/values-ro/strings.xml | 2 ++ java/res/values-ru/strings.xml | 6 ++++-- java/res/values-sk/strings.xml | 2 ++ java/res/values-sl/strings.xml | 2 ++ java/res/values-sr/strings.xml | 2 ++ java/res/values-sv/strings.xml | 2 ++ java/res/values-th/strings.xml | 2 ++ java/res/values-tl/strings.xml | 2 ++ java/res/values-tr/strings.xml | 4 +++- java/res/values-uk/strings.xml | 2 ++ java/res/values-vi/strings.xml | 2 ++ java/res/values-zh-rCN/strings.xml | 2 ++ java/res/values-zh-rTW/strings.xml | 2 ++ 41 files changed, 92 insertions(+), 8 deletions(-) diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index d1d70ff74..4c04fce9a 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -106,6 +106,7 @@ "المس الكلمات التي تم إدخالها لتصحيحها، وذلك فقط عندما تكون الاقتراحات مرئية." "مظهر لوحة المفاتيح" "لوحة مفاتيح تشيكية" + "لوحة المفاتيح العربية" "لوحة مفاتيح دانماركية" "لوحة مفاتيح ألمانية" "لوحة مفاتيح إنجليزية (بريطانيا)" @@ -115,6 +116,7 @@ "لوحة مفاتيح فرنسية" "لوحة مفاتيح فرنسية (كندا)" "لوحة مفاتيح فرنسية (سويسرا)" + "لوحة المفاتيح العبرية" "لوحة مفاتيح إيطالية" "لوحة مفاتيح نرويجية" "لوحة مفاتيح بولندية" diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index 418bb18a1..de00621ae 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -106,6 +106,7 @@ "Докоснете въведените думи, за да ги поправите – само когато предложенията са видими" "Тема на клавиатурата" "чешка клавиатура" + "клавиатура на арабски" "датска клавиатура" "немска клавиатура" "английска (Великобрит.) клавиатура" @@ -115,6 +116,7 @@ "френска клавиатура" "френска (Канада) клавиатура" "френска (Швейцария) клавиатура" + "клавиатура на иврит" "италианска клавиатура" "норвежка клавиатура" "нидерландска клавиатура" diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 1bfa3a9ab..2923d1347 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -106,6 +106,7 @@ "Toca les paraules introduïdes per corregir-les, només quan els suggeriments siguin visibles" "Tema del teclat" "Teclat txec" + "Teclat àrab" "Teclat danès" "Teclat alemany" "Teclat anglès (Regne Unit)" @@ -115,6 +116,7 @@ "Teclat francès" "Teclat francès (Canadà)" "Teclat francès (Suïssa)" + "Teclat hebreu" "Teclat italià" "Teclat noruec" "Teclat holandès" diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index b0cb7daf7..09e68725c 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -106,6 +106,7 @@ "Klepnutím na zadaná slova tato slova opravíte, musí však být viditelné návrhy." "Motiv klávesnice" "Klávesnice – čeština" + "Klávesnice – arabština" "Klávesnice – dánština" "Klávesnice – němčina" "Klávesnice – angličtina (VB)" @@ -115,6 +116,7 @@ "Klávesnice – francouzština" "Klávesnice – francouzština (Kanada)" "Klávesnice – francouzština (Švýc.)" + "Klávesnice – hebrejština" "Klávesnice – italština" "Klávesnice – norština" "Klávesnice – holandština" diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index eb79888d6..d9d1b43c5 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -106,6 +106,7 @@ "Tryk på de indtastede ord for at rette dem. Kun når der er synlige forslag." "Tastaturtema" "Tjekkisk tastatur" + "Arabisk tastatur" "Dansk tastatur" "Tysk tastatur" "Engelsk tastatur (Storbritannien)" @@ -115,6 +116,7 @@ "Fransk tastatur" "Fransk tastatur (Canada)" "Fransk tastatur (Schweiz)" + "Hebraisk tastatur" "Italiensk tastatur" "Norsk tastatur" "Hollandsk tastatur" diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index 396d74dd8..f4ec4d0ab 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -106,6 +106,7 @@ "Tippen Sie zum Korrigieren auf eingegebene Wörter (nur, wenn Vorschläge angezeigt werden)." "Tastaturdesign" "Tschechische Tastatur" + "Arabische Tastatur" "Dänische Tastatur" "Deutsche Tastatur" "Englische Tastatur (GB)" @@ -115,6 +116,7 @@ "Französische Tastatur" "Französische Tastatur (Kanada)" "Französische Tastatur (Schweiz)" + "Hebräische Tastatur" "Italienische Tastatur" "Norwegische Tastatur" "Niederländische Tastatur" diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 6d0869bf1..70f1d48c5 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -106,6 +106,7 @@ "Αγγίξτε τις λέξες για να τις διορθώσετε, μόνο όταν οι προτάσεις είναι ορατές" "Θέμα πληκτρολογίου" "Τσεχικό πληκτρολόγιο" + "Πληκτρολόγιο με αραβική γραφή" "Δανικό πληκτρολόγιο" "Γερμανικό πληκτρολόγιο" "Αγγλικό (ΗΒ) πληκτρολόγιο" @@ -115,6 +116,7 @@ "Γαλλικό πληκτρολόγιο" "Γαλλικό (Καναδάς) πληκτρολόγιο" "Γαλλικό (Ελβετία) πληκτρολόγιο" + "Πληκτρολόγιο με εβραϊκή γραφή" "Ιταλικό πληκτρολόγιο" "Νορβηγικό πληκτρολόγιο" "Ολλανδικό πληκτρολόγιο" diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index b2e62b0cd..64006345a 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -106,6 +106,7 @@ "Touch words entered to correct them, only when suggestions are visible" "Keyboard Theme" "Czech Keyboard" + "Arabic Keyboard" "Danish Keyboard" "German Keyboard" "English (UK) Keyboard" @@ -115,6 +116,7 @@ "French Keyboard" "French (Canada) Keyboard" "French (Switzerland) Keyboard" + "Hebrew Keyboard" "Italian Keyboard" "Norwegian Keyboard" "Dutch Keyboard" diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index 02f36ff79..a00005098 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -106,6 +106,7 @@ "Toca las palabras ingresadas que desees corregir solo cuando las sugerencias estén visibles." "Tema del teclado" "Teclado en checo" + "Teclado árabe" "Teclado en danés" "Teclado en alemán" "Teclado en inglés (Reino Unido)" @@ -115,6 +116,7 @@ "Teclado en francés" "Teclado en francés (Canadá)" "Teclado en francés (Suiza)" + "Teclado hebreo" "Teclado en italiano" "Teclado en noruego" "Teclado en holandés" diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index f9a86ffd6..b5439d453 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -106,6 +106,7 @@ "Toca las palabras introducidas para corregirlas, solo cuando las sugerencias sean visibles." "Tema de teclado" "Teclado checo" + "Teclado árabe" "Teclado danés" "Teclado alemán" "Teclado inglés (Reino Unido)" @@ -115,6 +116,7 @@ "Teclado francés" "Teclado francés (Canadá)" "Teclado francés (Suiza)" + "Teclado hebreo" "Teclado italiano" "Teclado noruego" "Teclado holandés" diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index b594411ac..ca7c1412d 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -106,6 +106,7 @@ "فقط هنگامی که پیشنهادات قابل مشاهده هستند، برای تصحیح کلمات وارد شده آنها را لمس کنید" "طرح زمینه صفحه کلید" "صفحه کلید چک" + "صفحه کلید عربی" "صفحه کلید دانمارکی" "صفحه کلید آلمانی" "صفحه کلید انگلیسی (بریتانیایی)" @@ -115,6 +116,7 @@ "صفحه کلید فرانسوی" "صفحه کلید فرانسوی (کانادایی)" "صفحه کلید فرانسوی (سوئیس)" + "صفحه کلید عبری" "صفحه کلید ایتالیایی" "صفحه کلید نروژی" "صفحه کلید هلندی" diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index 0bf385552..56d2df721 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -106,6 +106,7 @@ "Korjaa annetut sanat napauttamalla. (Vain, kun ehdotuksia on näkyvillä.)" "Näppäimistön teema" "Näppäimistö: tšekki" + "Arabiankielinen näppäimistö" "Näppäimistö: tanska" "Näppäimistö: saksa" "Näppäimistö: englanti (UK)" @@ -115,6 +116,7 @@ "Näppäimistö: ranska" "Näppäimistö: ranska (Kanada)" "Näppäimistö: ranska (Sveitsi)" + "Hepreankielinen näppäimistö" "Näppäimistö: italia" "Näppäimistö: norja" "Näppäimistö: hollanti" diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index b7aac9445..86e37b32d 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -40,7 +40,7 @@ "Automatique" "Toujours afficher" "Toujours masquer" - "Correction auto" + "Correction auto." "Corriger autom. orthographe (pression sur barre espace/signes ponctuation)" "Désactiver" "Simple" @@ -106,6 +106,7 @@ "Appuyer sur les mots saisis pour les corriger, uniquement lorsque des suggestions sont visibles" "Thème du clavier" "Clavier tchèque" + "Clavier arabe" "Clavier danois" "Clavier allemand" "Clavier anglais (Royaume-Uni)" @@ -115,6 +116,7 @@ "Clavier français" "Clavier français (Canada)" "Clavier français (Suisse)" + "Clavier hébreu" "Clavier italien" "Clavier norvégien" "Clavier néerlandais" diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index e6879a6d1..24e70cf8e 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -106,6 +106,7 @@ "Dodirnite unesene riječi da biste ih ispravili samo kada su prijedlozi vidljivi" "Tema tipkovnice" "Češka tipkovnica" + "Arapska tipkovnica" "Danska tipkovnica" "Njemačka tipkovnica" "Engleska (UK) tipkovnica" @@ -115,6 +116,7 @@ "Francuska tipkovnica" "Francuska (Kanada) tipkovnica" "Francuska (Švicarska) tipkovnica" + "Hebrejska tipkovnica" "Talijanska tipkovnica" "Norveška tipkovnica" "Nizozemska tipkovnica" diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index a8bf98367..cfcdf45ad 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -106,6 +106,7 @@ "A beírt szavakat csak akkor javíthatja ki megérintve, ha látszanak javaslatok" "Billentyűzettéma" "Cseh billentyűzet" + "Arab billentyűzet" "Dán billentyűzet" "Német billentyűzet" "Angol (UK) billentyűzet" @@ -115,6 +116,7 @@ "Francia billentyűzet" "Francia (kanadai) billentyűzet" "Francia (svájci) billentyűzet" + "Héber billentyűzet" "Olasz billentyűzet" "Norvég billentyűzet" "Holland billentyűzet" diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index 4df7f1e7f..5dfcbf0ff 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -106,6 +106,7 @@ "Sentuh kata yang dimasukkan untuk memperbaikinya, hanya saat saran dapat dilihat" "Tema Keyboard" "Keyboard Cheska" + "Papan Tombol Arab" "Keyboard Denmark" "Keyboard Jerman" "Keyboard Inggris (Britania Raya)" @@ -115,6 +116,7 @@ "Keyboard Prancis" "Keyboard Prancis (Kanada)" "Keyboard Prancis (Swiss)" + "Papan tombol Ibrani" "Keyboard Italia" "Keyboard Norwegia" "Keyboard Belanda" diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index 9bf4f9e30..64bbf654b 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -106,6 +106,7 @@ "Tocca le parole inserite per correggerle, solo quando sono visibili i suggerimenti" "Tema della tastiera" "Tastiera ceca" + "Tastiera araba" "Tastiera danese" "Tastiera tedesca" "Tastiera inglese (Regno Unito)" @@ -115,6 +116,7 @@ "Tastiera francese" "Tastiera francese (Canada)" "Tastiera francese (Svizzera)" + "Tastiera ebraica" "Tastiera italiana" "Tastiera norvegese" "Tastiera olandese" diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index af0854c97..2ad86c910 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -106,6 +106,7 @@ "גע במילים שהוזנו כדי לתקן אותן, רק כאשר הצעות מוצגות" "עיצוב מקלדת" "מקלדת צ\'כית" + "מקלדת בשפה הערבית" "מקלדת דנית" "מקלדת גרמנית " "מקלדת אנגלית (בריטניה)" @@ -115,6 +116,7 @@ "מקלדת צרפתית" "מקלדת צרפתית (קנדה)" "מקלדת צרפתית (שוויץ)" + "מקלדת בשפה העברית" "מקלדת איטלקית" "מקלדת נורווגית" "מקלדת הולנדית" diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index cd2cf8070..768122c60 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -106,6 +106,7 @@ "候補が表示されているときのみ、入力した語句をタップして修正する" "キーボードテーマ" "チェコ語のキーボード" + "アラビア語のキーボード" "デンマーク語のキーボード" "ドイツ語のキーボード" "英語(英国)のキーボード" @@ -115,6 +116,7 @@ "フランス語のキーボード" "フランス語(カナダ)のキーボード" "フランス語(スイス)のキーボード" + "ヘブライ語のキーボード" "イタリア語のキーボード" "ノルウェー語のキーボード" "オランダ語のキーボード" diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 7a09da880..850981cca 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -106,6 +106,7 @@ "입력한 단어를 터치하여 수정(추천 단어가 표시되는 경우에만)" "키보드 테마" "체코어 키보드" + "아랍어 키보드" "덴마크어 키보드" "독일어 키보드" "영어(영국) 키보드" @@ -115,6 +116,7 @@ "프랑스어 키보드" "프랑스어(캐나다) 키보드" "프랑스어(스위스) 키보드" + "히브리어 키보드" "이탈리아어 키보드" "노르웨이어 키보드" "네덜란드어 키보드" diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index c12c62aaa..247e201fb 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -106,6 +106,7 @@ "Jei norite ištaisyti įvestus žodžius, palieskite juos tik tada, kai matomi pasiūlymai" "Klaviatūros tema" "Čekiška klaviatūra" + "Arabiška klaviatūra" "Daniška klaviatūra" "Vokiška klaviatūra" "Angliška (JK) klaviatūra" @@ -115,6 +116,7 @@ "Prancūziška klaviatūra" "Prancūziška (Kanada) klaviatūra" "Prancūziška (Šveicarija) klaviatūra" + "Hebrajiška klaviatūra" "Itališka klaviatūra" "Norvegiška klaviatūra" "Olandiška klaviatūra" diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index 8b975b033..5d0c0ae7e 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -106,6 +106,7 @@ "Pieskarties ievadītajiem vārdiem, lai tos labotu (tikai tad, ja tiek rādīti ieteikumi)." "Tastatūras motīvs" "Čehu tastatūra" + "Arābu tastatūra" "Dāņu tastatūra" "Vācu tastatūra" "Angļu (Lielbritānija) tastatūra" @@ -115,6 +116,7 @@ "Franču tastatūra" "Franču (Kanāda) tastatūra" "Franču (Šveices) tastatūra" + "Ebreju tastatūra" "Itāļu tastatūra" "Norvēģu tastatūra" "Holandiešu tastatūra" diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 0471e74c3..944e8dd5a 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -106,6 +106,7 @@ "Når forslag er synlige, kan du trykke på ord du har skrevet inn, for å endre dem" "Tastaturtema" "Tsjekkisk tastatur" + "Arabisk tastatur" "Dansk tastatur" "Tysk tastatur" "Engelsk tastatur (Storbritannia)" @@ -115,6 +116,7 @@ "Fransk tastatur" "Fransk tastatur (Canada)" "Fransk tastatur (Sveits)" + "Hebraisk tastatur" "Italiensk tastatur" "Norsk tastatur" "Nederlandsk tastatur" diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index e5439eb38..e52ad2e2a 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -106,6 +106,7 @@ "Ingevoerde woorden aanraken om ze te verbeteren, alleen mogelijk wanneer suggesties zichtbaar zijn" "Toetsenbordthema" "Tsjechisch toetsenbord" + "Arabisch toetsenbord" "Deens toetsenbord" "Duits toetsenbord" "Engels toetsenbord (VK)" @@ -115,6 +116,7 @@ "Frans toetsenbord" "Frans toetsenbord (Canada)" "Frans toetsenbord (Zwitserland)" + "Hebreeuws toetsenbord" "Italiaans toetsenbord" "Noors toetsenbord" "Nederlands toetsenbord" diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index 7edd98840..b0c707f35 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -41,7 +41,7 @@ "Zawsze pokazuj" "Zawsze ukrywaj" "Autokorekta" - "Spacja i znaki przestankowe powodują automatyczne poprawianie błędnie napisanych słów" + "Spacja i znaki przestankowe poprawiają błędnie wpisane słowa" "Wyłącz" "Umiarkowana" "Agresywna" @@ -71,7 +71,7 @@ "Wprowadzanie głosowe" "Wprowadzanie głosowe obecnie nie jest obsługiwane w Twoim języku, ale działa w języku angielskim." "Funkcja wprowadzania głosowego wykorzystuje mechanizm rozpoznawania mowy. Obowiązuje ""Polityka prywatności Google Mobile""." - "Aby wyłączyć wprowadzanie głosowe, przejdź do ustawień metody wprowadzania." + "Aby wyłączyć rozpoznawanie mowy, przejdź do ustawień sposobu wprowadzania tekstu." "Aby użyć wprowadzania głosowego, naciśnij przycisk mikrofonu." "Mów teraz" "W toku" @@ -95,17 +95,18 @@ "Mikrofon na klawiaturze głównej" "Mikrofon na klawiaturze z symbolami" "Wprowadzanie głosowe jest wyłączone" - "Wybierz metodę wprowadzania" + "Wybierz sposób wprowadzania tekstu" "Języki wprowadzania" "Przesuń palcem po spacji, aby zmienić język" "← Dotknij ponownie, aby zapisać" "Słownik dostępny" "Włącz przesyłanie opinii użytkownika" - "Pomóż ulepszyć edytor tej metody wprowadzania, automatycznie wysyłając do Google statystyki użycia i raporty o awariach." + "Pomóż ulepszyć edytor wprowadzania tekstu, automatycznie wysyłając do Google statystyki użycia i raporty o awariach." "Popraw dotknięte słowo" "Dotykaj wprowadzonych słów, aby je poprawiać tylko wówczas, gdy widoczne są sugestie." "Motyw klawiatury" "Klawiatura czeska" + "Klawiatura arabska" "Klawiatura duńska" "Klawiatura niemiecka" "Klawiatura angielska (UK)" @@ -115,6 +116,7 @@ "Klawiatura francuska" "Klawiatura francuska (Kanada)" "Klawiatura francuska (Szwajcaria)" + "Klawiatura hebrajska" "Klawiatura włoska" "Klawiatura norweska" "Klawiatura holenderska" diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index f06d64c70..83686662b 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -106,6 +106,7 @@ "Tocar nas palavras introduzidas para as corrigir, apenas quando as sugestões estiverem visíveis" "Tema do teclado" "Teclado checo" + "Teclado árabe" "Teclado dinamarquês" "Teclado alemão" "Teclado inglês (Reino Unido)" @@ -115,6 +116,7 @@ "Teclado francês" "Teclado francês (Canadá)" "Teclado francês (Suíça)" + "Teclado hebraico" "Teclado italiano" "Teclado norueguês" "Teclado holandês" diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index 9fc1a97f2..0d09b1119 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -106,6 +106,7 @@ "Toque nas palavras digitadas para corrigi-las apenas quando as sugestões estiverem visíveis" "Tema do teclado" "Teclado em tcheco" + "Teclado árabe" "Teclado para dinamarquês" "Teclado para alemão" "Teclado para inglês (Reino Unido)" @@ -115,6 +116,7 @@ "Teclado para francês" "Teclado para francês (Canadá)" "Teclado para francês (Suíça)" + "Teclado hebraico" "Teclado para italiano" "Teclado para norueguês" "Teclado para holandês" diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml index 57548b5e4..c788597d6 100644 --- a/java/res/values-rm/strings.xml +++ b/java/res/values-rm/strings.xml @@ -146,6 +146,8 @@ "Design da la tastatura" + + @@ -164,6 +166,8 @@ + + diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 52bed2785..a0b5df381 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -106,6 +106,7 @@ "Atingeţi cuvintele introduse pentru a le corecta, numai când pot fi văzute sugestii" "Temă pentru tastatură" "Tastatură cehă" + "Tastatură arabă" "Tastatură daneză" "Tastatură germană" "Tastatură engleză (Marea Britanie)" @@ -115,6 +116,7 @@ "Tastatură franceză" "Tastatură franceză (Canada)" "Tastatură franceză (Elveţia)" + "Tastatură ebraică" "Tastatură italiană" "Tastatură norvegiană" "Tastatură olandeză" diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 21fd02bd3..c1e379dd9 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -28,7 +28,7 @@ "Увеличение нажатых" "Общие" "Коррекция текста" - "Автоподст. заглавных" + "Заглавные автоматически" "Быстрое исправление" "Исправлять распространенные опечатки" "Показать варианты исправлений" @@ -94,7 +94,7 @@ "Выкл." "Значок на основной клавиатуре" "Значок на клавиатуре символов" - "Голосовой ввод отключен" + "Голосовой ввод откл." "Выбрать способ ввода" "Языки ввода" "Для изменения языка проведите пальцем по пробелу" @@ -106,6 +106,7 @@ "Нажмите на слово, чтобы исправить его (при наличии подсказок)" "Вид клавиатуры" "Клавиатура: чешская" + "Арабская клавиатура" "Клавиатура: датская" "Клавиатура: немецкая" "Клавиатура: английская (Великобритания)" @@ -115,6 +116,7 @@ "Клавиатура: французская" "Клавиатура: французская" "Клавиатура: французская (Швейцария)" + "Клавиатура на иврите" "Клавиатура: итальянская" "Клавиатура: норвежская" "Клавиатура: голландская" diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index 569f273a4..20e29764a 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -106,6 +106,7 @@ "Dotykom zadaných slov tieto slová opravíte, musia však byť viditeľné návrhy" "Motív klávesnice" "klávesnica – čeština" + "klávesnica – arabčina" "klávesnica – dánčina" "klávesnica – nemčina" "klávesnica – angličtina (br.)" @@ -115,6 +116,7 @@ "klávesnica – francúzština" "klávesnica – francúzština (Kanada)" "klávesnica – francúzština (Švajč.)" + "klávesnica – hebrejčina" "klávesnica – taliančina" "klávesnica – nórčina" "klávesnica – holandčina" diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index 715e6c567..12df259da 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -106,6 +106,7 @@ "Dotaknite se vnesenih besed in jih popravite, samo ko so predlogi vidni" "Tema tipkovnice" "Češka tipkovnica" + "Arabska tipkovnica" "Danska tipkovnica" "Nemška tipkovnica" "Tipkovnica za britansko angleščino" @@ -115,6 +116,7 @@ "Francoska tipkovnica" "Tipkovnica za kanadsko francoščino" "Tipkovnica za švicarsko francoščino" + "Hebrejska tipkovnica" "Italijanska tipkovnica" "Norveška tipkovnica" "Nizozemska tipkovnica" diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 115732779..1e637fd01 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -106,6 +106,7 @@ "Додирните унете речи да бисте их исправили само када су предлози видљиви" "Тема тастатуре" "Језик тастатуре: чешки" + "Језик тастатуре: арапски" "Језик тастатуре: дански" "Језик тастатуре: немачки" "Језик тастатуре: енглески (УК)" @@ -115,6 +116,7 @@ "Језик тастатуре: француски" "Језик тастатуре: француски (Канада)" "Језик тастатуре: француски (Швајц.)" + "Језик тастатуре: хебрејски" "Језик тастатуре: италијански" "Језик тастатуре: норвешки" "Језик тастатуре: холандски" diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index b8c62f46e..fc311e7ff 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -106,6 +106,7 @@ "Tryck på skrivna ord om du vill korrigera dem, endast när förslag visas" "Tangentbordstema" "Tjeckiskt tangentbord" + "Arabiskt tangentbord" "Danskt tangentbord" "Tyskt tangentbord" "Engelskt tangentbord (Storbrit.)" @@ -115,6 +116,7 @@ "Franskt tangentbord" "Franskt tangentbord (Kanada)" "Franskt tangentbord (Schweiz)" + "Hebreiskt tangentbord" "Italienskt tangentbord" "Norskt tangentbord" "Holländskt tangentbord" diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index 836b98724..c19b7d538 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -106,6 +106,7 @@ "แตะคำที่ป้อนไว้เพื่อแก้ไข เฉพาะเมื่อเห็นข้อเสนอแนะเท่านั้น" "ชุดรูปแบบแป้นพิมพ์" "แป้นพิมพ์ภาษาเช็ก" + "แป้นพิมพ์ภาษาอาหรับ" "แป้นพิมพ์ภาษาเดนมาร์ก" "แป้นพิมพ์ภาษาเยอรมัน" "แป้นพิมพ์ภาษาอังกฤษ (สหราชอาณาจักร)" @@ -115,6 +116,7 @@ "แป้นพิมพ์ภาษาฝรั่งเศส" "แป้นพิมพ์ภาษาฝรั่งเศส (แคนาดา)" "แป้นพิมพ์ภาษาฝรั่งเศส (สวิตเซอร์แลนด์)" + "แป้นพิมพ์ภาษาฮิบรู" "แป้นพิมพ์ภาษาอิตาลี" "แป้นพิมพ์ภาษานอร์เวย์" "แป้นพิมพ์ภาษาดัตช์" diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index 55f98de10..ce9abf8bd 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -106,6 +106,7 @@ "Pindutin ang mga inilagay na salita upang iwasto ang mga ito, kapag nakikita lang ang mga suhestiyon" "Tema ng Keyboard" "Czech na Keyboard" + "Arabic na Keyboard" "Danish na Keyboard" "German na Keyboard" "Ingles (UK) na Keyboard" @@ -115,6 +116,7 @@ "French na Keyboard" "French (Canada) na Keyboard" "French (Switzerland) na Keyboard" + "Hebrew na Keyboard" "Italian na Keyboard" "Norwegian na Keyboard" "Dutch na Keyboard" diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index 1baed4de6..da8b287d3 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -94,7 +94,7 @@ "Kapalı" "Ana klavyede mikrfn" "Simge klavysnd mikrf" - "Sesle giriş devr dşı" + "Sesle grş devre dışı" "Giriş yöntemini seç" "Giriş dilleri" "Dili değiştirmek için parmağınızı boşluk çubuğu üzerinde kaydırın" @@ -106,6 +106,7 @@ "Yalnızca öneriler görünür olduğunda, düzeltmek için girilen kelimelere dokunun" "Klavye Teması" "Çekçe Klavye" + "Arapça Klavye" "Danca Klavye" "Almanca Klavye" "İngilizce (İngiltere) Klavye" @@ -115,6 +116,7 @@ "Fransızca Klavye" "Fransızca (Kanada) Klavye" "Fransızca (İsviçre) Klavye" + "İbranice Klavye" "İtalyanca Klavye" "Norveççe Klavye" "Felemenkçe Klavye" diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 26906329a..bdfddaf7b 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -106,6 +106,7 @@ "Торкніться введених слів, щоб виправити їх, лише коли ввімкнено пропозиції" "Тема клавіатури" "Чеська розкладка" + "Розкладка для арабських мов" "Данська розкладка" "Німецька розкладка" "Англ. розкладка (Великобританія)" @@ -115,6 +116,7 @@ "Французька розкладка" "Французька розкладка (Канада)" "Французька розкладка (Швейцарія)" + "Розкладка для івриту" "Італійська розкладка" "Норвезька розкладка" "Голланд. розклад." diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index 70defe3b7..0473464b5 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -106,6 +106,7 @@ "Chạm các từ đã nhập để sửa, chỉ khi các đề xuất hiển thị" "Chủ đề bàn phím" "Bàn phím tiếng Séc" + "Bàn phím tiếng Ả Rập" "Bàn phím tiếng Đan Mạch" "Bàn phím tiếng Đức" "Bàn phím tiếng Anh (Anh)" @@ -115,6 +116,7 @@ "Bàn phím tiếng Pháp" "Bàn phím tiếng Pháp (Canada)" "Bàn phím tiếng Pháp (Thụy Sĩ)" + "Bàn phím tiếng Do Thái" "Bàn phím tiếng Ý" "Bàn phím tiếng Na Uy" "Bàn phím tiếng Hà Lan" diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index 3b092bfcc..5578566a2 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -106,6 +106,7 @@ "仅在系统显示建议后,才触摸输入的字词进行更正" "键盘主题" "捷克语键盘" + "阿拉伯语键盘" "丹麦语键盘" "德语键盘" "英语(英国)键盘" @@ -115,6 +116,7 @@ "法语键盘" "法语(加拿大)键盘" "法语(瑞士)键盘" + "希伯来语键盘" "意大利语键盘" "挪威语键盘" "荷兰语键盘" diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index c9c7ae88a..591c137f1 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -106,6 +106,7 @@ "輕觸輸入的字詞即可加以修正 (出現建議時才適用)" "鍵盤主題" "捷克文鍵盤" + "阿拉伯文鍵盤" "丹麥文鍵盤" "德文鍵盤" "英文 (英國) 鍵盤" @@ -115,6 +116,7 @@ "法文鍵盤" "法文 (加拿大) 鍵盤" "法文 (瑞士) 鍵盤" + "希伯來文鍵盤" "義大利文鍵盤" "挪威文鍵盤" "荷蘭文鍵盤" From cf4eff3f59a65acef7820bbfdd7eaac472460de8 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Thu, 7 Apr 2011 20:07:12 +0900 Subject: [PATCH 07/21] Remove "settings" key popup from "slash" and "atmark" key Removing "settings" key popup from these keys when there's a dedicated "settings" key in the layout. This is followup chnage of I119528c0. Bug: 4196879 Change-Id: I742cc6d1d890c095610f1e8b9ac91a044ec540b7 --- java/res/xml/kbd_qwerty_f1.xml | 75 +++++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 23 deletions(-) diff --git a/java/res/xml/kbd_qwerty_f1.xml b/java/res/xml/kbd_qwerty_f1.xml index 008448b26..c93b8605a 100644 --- a/java/res/xml/kbd_qwerty_f1.xml +++ b/java/res/xml/kbd_qwerty_f1.xml @@ -23,44 +23,73 @@ > - - - - - - + latin:keyLabel="/" + latin:isFunctional="true" /> + + + + + + + + + + + + + + + + + + + + + + + + - + From b5d17e52fcda39d540822e615bfb7ed5074e0034 Mon Sep 17 00:00:00 2001 From: satok Date: Wed, 6 Apr 2011 11:14:20 +0900 Subject: [PATCH 08/21] Add logOnSeparator This is a supplement for I9abb8141f23100d Change-Id: I529d2a78f4fe630611db4cba830d933370c8c34f --- .../android/inputmethod/latin/LatinIME.java | 23 +++++++++---------- .../inputmethod/latin/LatinImeLogger.java | 7 ++++-- .../inputmethod/latin/TextEntryState.java | 18 +++++++++++---- .../com/android/inputmethod/latin/Utils.java | 17 ++++++++++---- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 35f43124d..6a858fe99 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -30,7 +30,6 @@ import com.android.inputmethod.keyboard.KeyboardSwitcher; import com.android.inputmethod.keyboard.KeyboardView; import com.android.inputmethod.keyboard.LatinKeyboard; import com.android.inputmethod.keyboard.LatinKeyboardView; -import com.android.inputmethod.latin.Utils.RingCharBuffer; import android.app.AlertDialog; import android.content.BroadcastReceiver; @@ -1174,10 +1173,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar if (primaryCode != Keyboard.CODE_ENTER) { mJustAddedAutoSpace = false; } - RingCharBuffer.getInstance().push((char)primaryCode, x, y); - LatinImeLogger.logOnInputChar(); if (isWordSeparator(primaryCode)) { - handleSeparator(primaryCode); + handleSeparator(primaryCode, x, y); } else { handleCharacter(primaryCode, keyCodes, x, y); } @@ -1357,10 +1354,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar } switcher.updateShiftState(); if (LatinIME.PERF_DEBUG) measureCps(); - TextEntryState.typedCharacter((char) code, isWordSeparator(code)); + TextEntryState.typedCharacter((char) code, isWordSeparator(code), x, y); } - private void handleSeparator(int primaryCode) { + private void handleSeparator(int primaryCode, int x, int y) { mVoiceProxy.handleSeparator(); // Should dismiss the "Touch again to save" message when handling separator @@ -1381,7 +1378,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // in Italian dov' should not be expanded to dove' because the elision // requires the last vowel to be removed. if (mAutoCorrectOn && primaryCode != '\'') { - pickedDefault = pickDefaultSuggestion(); + pickedDefault = pickDefaultSuggestion(primaryCode); // Picked the suggestion by the space key. We consider this // as "added an auto space". if (primaryCode == Keyboard.CODE_SPACE) { @@ -1403,7 +1400,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar reswapPeriodAndSpace(); } - TextEntryState.typedCharacter((char) primaryCode, true); + TextEntryState.typedCharacter((char) primaryCode, true, x, y); if (TextEntryState.isPunctuationAfterAccepted() && primaryCode != Keyboard.CODE_ENTER) { swapPunctuationAndSpace(); } else if (isSuggestionsRequested() && primaryCode == Keyboard.CODE_SPACE) { @@ -1592,14 +1589,14 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar setCandidatesViewShown(isCandidateStripVisible()); } - private boolean pickDefaultSuggestion() { + private boolean pickDefaultSuggestion(int separatorCode) { // Complete any pending candidate query first if (mHandler.hasPendingUpdateSuggestions()) { mHandler.cancelUpdateSuggestions(); updateSuggestions(); } if (mBestWord != null && mBestWord.length() > 0) { - TextEntryState.acceptedDefault(mWord.getTypedWord(), mBestWord); + TextEntryState.acceptedDefault(mWord.getTypedWord(), mBestWord, separatorCode); mJustAccepted = true; pickSuggestion(mBestWord); // Add the word to the auto dictionary if it's not a known word @@ -1688,7 +1685,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar // Fool the state watcher so that a subsequent backspace will not do a revert, unless // we just did a correction, in which case we need to stay in // TextEntryState.State.PICKED_SUGGESTION state. - TextEntryState.typedCharacter((char) Keyboard.CODE_SPACE, true); + TextEntryState.typedCharacter((char) Keyboard.CODE_SPACE, true, + WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); setPunctuationSuggestions(); } else if (!showingAddToDictionaryHint) { // If we're not showing the "Touch again to save", then show corrections again. @@ -1895,7 +1893,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar ic.commitText(mComposing, 1); TextEntryState.acceptedTyped(mComposing); ic.commitText(punctuation, 1); - TextEntryState.typedCharacter(punctuation.charAt(0), true); + TextEntryState.typedCharacter(punctuation.charAt(0), true, + WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE); // Clear composing text mComposing.setLength(0); } else { diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java index aaecfffdd..e460471a5 100644 --- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java +++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java @@ -45,10 +45,10 @@ public class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChang String before, String after, int position, List suggestions) { } - public static void logOnAutoSuggestion(String before, String after) { + public static void logOnAutoCorrection(String before, String after, int separatorCode) { } - public static void logOnAutoSuggestionCanceled() { + public static void logOnAutoCorrectionCancelled() { } public static void logOnDelete() { @@ -57,6 +57,9 @@ public class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChang public static void logOnInputChar() { } + public static void logOnInputSeparator() { + } + public static void logOnException(String metaData, Throwable e) { } diff --git a/java/src/com/android/inputmethod/latin/TextEntryState.java b/java/src/com/android/inputmethod/latin/TextEntryState.java index 63196430b..de13f3ae4 100644 --- a/java/src/com/android/inputmethod/latin/TextEntryState.java +++ b/java/src/com/android/inputmethod/latin/TextEntryState.java @@ -16,6 +16,8 @@ package com.android.inputmethod.latin; +import com.android.inputmethod.latin.Utils.RingCharBuffer; + import android.util.Log; public class TextEntryState { @@ -43,10 +45,12 @@ public class TextEntryState { sState = newState; } - public static void acceptedDefault(CharSequence typedWord, CharSequence actualWord) { + public static void acceptedDefault(CharSequence typedWord, CharSequence actualWord, + int separatorCode) { if (typedWord == null) return; setState(ACCEPTED_DEFAULT); - LatinImeLogger.logOnAutoSuggestion(typedWord.toString(), actualWord.toString()); + LatinImeLogger.logOnAutoCorrection( + typedWord.toString(), actualWord.toString(), separatorCode); if (DEBUG) displayState("acceptedDefault", "typedWord", typedWord, "actualWord", actualWord); } @@ -95,7 +99,7 @@ public class TextEntryState { if (DEBUG) displayState("onAbortRecorrection"); } - public static void typedCharacter(char c, boolean isSeparator) { + public static void typedCharacter(char c, boolean isSeparator, int x, int y) { final boolean isSpace = (c == ' '); switch (sState) { case IN_WORD: @@ -149,13 +153,19 @@ public class TextEntryState { setState(START); break; } + RingCharBuffer.getInstance().push(c, x, y); + if (isSeparator) { + LatinImeLogger.logOnInputSeparator(); + } else { + LatinImeLogger.logOnInputChar(); + } if (DEBUG) displayState("typedCharacter", "char", c, "isSeparator", isSeparator); } public static void backspace() { if (sState == ACCEPTED_DEFAULT) { setState(UNDO_COMMIT); - LatinImeLogger.logOnAutoSuggestionCanceled(); + LatinImeLogger.logOnAutoCorrectionCancelled(); } else if (sState == UNDO_COMMIT) { setState(IN_WORD); } diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java index 3e092d938..7b334ac0a 100644 --- a/java/src/com/android/inputmethod/latin/Utils.java +++ b/java/src/com/android/inputmethod/latin/Utils.java @@ -209,11 +209,11 @@ public class Utils { return mCharBuf[mEnd]; } } - public char getLastChar() { - if (mLength < 1) { + public char getBackwardNthChar(int n) { + if (mLength <= n || n < 0) { return PLACEHOLDER_DELIMITER_CHAR; } else { - return mCharBuf[normalize(mEnd - 1)]; + return mCharBuf[normalize(mEnd - n - 1)]; } } public int getPreviousX(char c, int back) { @@ -234,9 +234,16 @@ public class Utils { return mYBuf[index]; } } - public String getLastString() { + public String getLastWord(int ignoreCharCount) { StringBuilder sb = new StringBuilder(); - for (int i = 0; i < mLength; ++i) { + int i = ignoreCharCount; + for (; i < mLength; ++i) { + char c = mCharBuf[normalize(mEnd - 1 - i)]; + if (!((LatinIME)mContext).isWordSeparator(c)) { + break; + } + } + for (; i < mLength; ++i) { char c = mCharBuf[normalize(mEnd - 1 - i)]; if (!((LatinIME)mContext).isWordSeparator(c)) { sb.append(c); From 299e366bcf70a19dfc3a4c4547041e816a5029a6 Mon Sep 17 00:00:00 2001 From: satok Date: Fri, 8 Apr 2011 15:28:01 +0900 Subject: [PATCH 09/21] Shrink sym_keyboard_voice_off_holo for phone Bug: 4225070 Change-Id: Ic61c3c0263158ed3429553b134f13e8e94f5f5b7 --- .../sym_keyboard_voice_off_holo.png | Bin 1328 -> 900 bytes .../sym_keyboard_voice_off_holo.png | Bin 1587 -> 386 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/java/res/drawable-hdpi/sym_keyboard_voice_off_holo.png b/java/res/drawable-hdpi/sym_keyboard_voice_off_holo.png index 8a445eb565d84fbdd6185b0c7bb9e8fe97574229..6e6279a8a378b3040dde3abcb037fd7988034efa 100644 GIT binary patch delta 877 zcmV-z1Cso(3WNtCiBL{Q4GJ0x0000DNk~Le0000a0000p2nGNE0RPjfyOaL}Cw~Jb zNklPY)N*U zff=lsGm4W)I^O##iu%!y?S^W*&=|w(83sS;s~?owJ)shbSgehJ%JUWQ@;=aD*9bZ;3summU#bfY1giYgR-d zIC7hFjChoaI+<0G2}u`lf*cZ^ApXoz%4%PItvtDmJB8f$N-g1EOw3+*}*k!V>8j|ulhJH+D@ zM!%5Bl!$D)tcMENMb2X9eyifYb0IakuDi|v1}-lcxEeS>7dwHCSc5+o{XM(5?yPf# zx>N~~u$g;=yGRKyL4T}#6T%k}h413Q=Vg2-dmDr8C_#*w!obg<9xWua0a$g;+mO&W zG(bF=z=KlEbz=zWTkJT(AOo~00000NkvXXu0mjf D0>Xm| delta 1308 zcmZo+-@sMh8Q|y6%O%Cdz`(%k>ERLtqyvFCih~76W;qts0V$>=Z+91l|Ly%}_5*pG z1s;*bK-vS0-A-oPfdtD69Mgd`STDn*kjt$M3@jF&E{-7?_ukHmEWT|f(rVAJB%`}% zkEU_vu0Q|xU(Ga{d1O_+Quad6MuuMuGp4=WCFU5Jx!hvbL^+iYa&jNm38=uqpXG{t z#ggCK#HSy>q$JmzU*c|mG4}l1I>ReR4t%w?`SbcA_kXK~i8&8+tJs7(@1*uH$gurB zlzi*;r{)I^CEFtd76>#fOp`vb^`G&*3k;%no13^i&$Vz`a@Dt|9p&mhs?e@wS+ZDF zvad-~UgEt??=Hf6r0@@p9v1&x4)#BNufi-j7l0#jm&U4Of1 zA5@Ljde(5{h_s~GE>?w^2EU}a_?!<)3dyxDRu29Wpm@YaU6Wt%3ZG+P!ISFhuKXSs z!@xh=6|^*t?D+6^*1vkjPZ3&j=8SDz%j1s)d{N?>&9c-lmxaE~R}_eqy%&9c zMtb1H)^{%NQZER9*?H@W{+VCFUs!K+2pdVQvh_&ou{?Mw;J8Sdp@^f=vsuAnGuAOy zaQ4k9UYGgvoY?jK2Hk62iqz&TjJ&YtlefFyN!D3vSEk#R_HbMEnPy8JsgHZj%5+w@ z_zZXI?Z(h89z5QDl8N7=6gT9|D0F74UU$>6r;G2qhSol@XDmi7n%%Z?uK(9Ld1p;L z-@%nqptkjLg=@;pc_Pgfe2(4A5?Yo%>igC?Yv0555y>YtZ!F@R+_*2&D(>j4F3w~f z?tMkg%Fas8cR~&{<)67Q#pgyqJ5T*(X+y{3(peFUHFqYRlR4hT>3XBU`*0g;F;DoE zEo)Znp6b5fh40poGnzj+&(6v}WBFXB^~l9dNuJDeK2DrtDg9;M%TJO@zoMV#`!2G0 zXnxQ5Ik&Mxso&$K_i>*mYN!17##zfkXv^F7Krea~}Q zvlTm@`KMjkBB4`uVv6CZSf@p$5;9`F$==7NYzi(sI!o18LuyTbN1=pS@x~o_9Wfi9 z@N^ys+?*nND#E&iMap*LD=P^}p|+GGmivQ(K3mss&)K+8@WcG$p&O+Y@3%{|AKt)f zmvHgUrbmj!KlP69@|g8eTKA+ttj-s&X-_na)M8^_?2@>7tj{so_Se1X_X`hdN=hz2 z@!&CE@8O{2jGG%0TwiC(>A(2V+|$$_6Evw+n7NbNOVdT;63;B_eV=DaHHx{Pz8L3q zl688|p=Gz`_SSz{I@4uhuz}krR`J*R&huOkr%NsK30OF-uBM7r$ouFV>03X7n{Rj> zU$8+ZGcs_(Y)XaM3qSjo6X-bdn9z2;dVRE}>>wK#W6I0*kA9bI( zKgqZ{cY&R}^UqIT86H+wlvS>kl&pDU{ous2i_NO@E7v&NiIu6DE+<&WpCn)1iHhpLLeSII&t;uc GLK6TI!7LL1 diff --git a/java/res/drawable-mdpi/sym_keyboard_voice_off_holo.png b/java/res/drawable-mdpi/sym_keyboard_voice_off_holo.png index 081a13096f45a372e05ef94092157e28a311fb46..44919dfccf1276e6a7053f5b1f1052dcf2f854f8 100644 GIT binary patch delta 358 zcmV-s0h#`@41xn8iBL{Q4GJ0x0000DNk~Le0000O0000Y2nGNE07aG=Gm#-De*q*( zL_t(|+U%6SPQx$|#%m{_qChJo)B(Z7!V@6ge}o697&>-n7ycy(NQn7P`j9M?oUMe? z#V7rg=zR8f_MJVMBukde#0EO&{CH=K`8xqDp5b!61I;XRSh%ti%yyBiI^JVNr6S08~lkrO><^p8e zE_(&oe(&HDboF~fe}&k#Z=F0)qm}|SSb}rw~F8InJsm&2siC?>H zF*n)pnV5rHy6?avp9}RS=Mk-(@%sWEnADRu){HqKX@Ui~=8^m)B*lHBJm6M)^g=t3 z?U!IJ{SFT4uUU_BRFS8U}fi7AzZCsS=07?{&CLn2Bde0{8v^K0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWfo`&anSp|tp`M|! ziMhGCj)IYap@F`Ek-njkuA#Y=v5}R5fdUjL0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HT7t|lGSUUA&@HaaD@m--%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a z#8wIDQivCF3w(Xy2Imz+0}2>q`W1-<`i6Q2`nkCve}PpOmjtCEoPkw!aY$uBs(w&v zaeir0GB7^Ulwq2IVTa!$kV2qqto(~IfsvA! zCWfvSZYGw7hDH`Jy`Fi+C5d^-sW5vpf%Zc6n&Z`L_r8EY7XB{>*+oD8XP+-x8|3KX@^RgY z6~4ZYduqC!Unmw%UzW;d7c}c`Nxk*v&6C&8SLwXo`AmC8lO__{DsV=fb;qWU{9%Q; z-Ue+io3bPi*FL;umcSEwB%N)x%GX2L^OsmVY;@Io5Yt%7oHTEX4_EN_VUk-(&j{u7tIGhgfH@Z%8wHm?hJAJ&OC*yMuAd&w=gx8)hmDV2EI)Q_M^1yJ|5v6gjl;%l zo|hNpPiPM?nff!-O(VH~$>b}>(XTeTh-~m|+n1KBy698?X9hKP2}PBg_x@dY@7hv0 zrLbsD)65H%PD%;;x?0sNWWUwo`Y-5IuiTPK<$%s!)MJ=@#pUu>}g>=xM^hJ5GCA98-n zv2T!ja8p82;_1(f1qxam-ySe!YF>TD^m@ILQQ}frzG9!dC$0-#@_Y4bP0l+XkKbz?|( From 6d81e2b79bce557c3eb8f91adcad82ce1cac2afb Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 8 Apr 2011 14:45:19 +0900 Subject: [PATCH 10/21] Increase the horizontal gap between shift/delete and normal keys This change also adds capability to add horizontal padding to the keyboard. Bug: 4269094 Change-Id: I805e76b253a497079517c01bd2a976f8702f7e56 --- java/res/layout/input_basic.xml | 1 + java/res/layout/input_basic_highcontrast.xml | 2 +- java/res/layout/input_gingerbread.xml | 3 +-- java/res/layout/input_honeycomb.xml | 3 +-- java/res/layout/input_stone_bold.xml | 3 ++- java/res/layout/input_stone_normal.xml | 3 ++- ...ut_stone_popup.xml => keyboard_popup_stone.xml} | 1 - java/res/values-land/dimens.xml | 1 + java/res/values-xlarge-land/dimens.xml | 1 + java/res/values-xlarge/dimens.xml | 1 + java/res/values/dimens.xml | 1 + java/res/xml/kbd_qwerty_row3.xml | 8 ++++++-- .../com/android/inputmethod/keyboard/Keyboard.java | 4 +++- .../inputmethod/keyboard/KeyboardParser.java | 14 ++++++++++++-- .../android/inputmethod/keyboard/KeyboardView.java | 2 +- 15 files changed, 34 insertions(+), 14 deletions(-) rename java/res/layout/{input_stone_popup.xml => keyboard_popup_stone.xml} (96%) diff --git a/java/res/layout/input_basic.xml b/java/res/layout/input_basic.xml index 7b85bae94..86ae82d51 100644 --- a/java/res/layout/input_basic.xml +++ b/java/res/layout/input_basic.xml @@ -25,6 +25,7 @@ android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" + android:padding="0dip" android:background="@drawable/keyboard_background" latin:keyBackground="@drawable/btn_keyboard_key" diff --git a/java/res/layout/input_basic_highcontrast.xml b/java/res/layout/input_basic_highcontrast.xml index d9200fd5e..03b22ef07 100644 --- a/java/res/layout/input_basic_highcontrast.xml +++ b/java/res/layout/input_basic_highcontrast.xml @@ -21,11 +21,11 @@ diff --git a/java/res/layout/input_stone_normal.xml b/java/res/layout/input_stone_normal.xml index 6ae9aed55..8baecabdb 100644 --- a/java/res/layout/input_stone_normal.xml +++ b/java/res/layout/input_stone_normal.xml @@ -25,6 +25,7 @@ android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" + android:padding="0dip" android:background="@drawable/keyboard_background" latin:keyBackground="@drawable/btn_keyboard_key_stone" @@ -32,5 +33,5 @@ latin:keyTextColorDisabled="#FF808080" latin:shadowColor="@color/latinkeyboard_key_color_white" latin:colorScheme="black" - latin:popupLayout="@layout/input_stone_popup" + latin:popupLayout="@layout/keyboard_popup_stone" /> diff --git a/java/res/layout/input_stone_popup.xml b/java/res/layout/keyboard_popup_stone.xml similarity index 96% rename from java/res/layout/input_stone_popup.xml rename to java/res/layout/keyboard_popup_stone.xml index b4da04536..e6acee374 100644 --- a/java/res/layout/input_stone_popup.xml +++ b/java/res/layout/keyboard_popup_stone.xml @@ -36,6 +36,5 @@ latin:keyBackground="@drawable/btn_keyboard_key_stone" latin:keyTextColor="@color/latinkeyboard_key_color_black" latin:shadowColor="@color/latinkeyboard_key_color_white" - latin:popupLayout="@layout/input_stone_popup" /> diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml index 7df124bfc..6954ba2ae 100644 --- a/java/res/values-land/dimens.xml +++ b/java/res/values-land/dimens.xml @@ -27,6 +27,7 @@ 0.270in 0.0in 0.0in + 0.0in 38dip 63dip 2dip diff --git a/java/res/values-xlarge-land/dimens.xml b/java/res/values-xlarge-land/dimens.xml index ba42ddde6..fd6b1f386 100644 --- a/java/res/values-xlarge-land/dimens.xml +++ b/java/res/values-xlarge-land/dimens.xml @@ -28,6 +28,7 @@ 13.0mm 1.1mm 0.0mm + 0.0mm 28dip 20dip diff --git a/java/res/values-xlarge/dimens.xml b/java/res/values-xlarge/dimens.xml index cdb6e89a4..0dc5621ff 100644 --- a/java/res/values-xlarge/dimens.xml +++ b/java/res/values-xlarge/dimens.xml @@ -28,6 +28,7 @@ 10.0mm 1.1mm 0.0mm + 0.0mm 40dip 12dip diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 2cfc17de9..767dc4aa9 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -28,6 +28,7 @@ 0.325in 0.00in 0.06in + 0.0in 16dip 32dip 8dip diff --git a/java/res/xml/kbd_qwerty_row3.xml b/java/res/xml/kbd_qwerty_row3.xml index 26608fd71..27016aff0 100644 --- a/java/res/xml/kbd_qwerty_row3.xml +++ b/java/res/xml/kbd_qwerty_row3.xml @@ -26,8 +26,10 @@ > + @@ -46,9 +48,11 @@ latin:popupCharacters="@string/alternates_for_n" /> + diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 418188209..f720334f1 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -165,7 +165,9 @@ public class Keyboard { GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height); GRID_SIZE = GRID_WIDTH * GRID_HEIGHT; - mDisplayWidth = width; + final int horizontalEdgesPadding = (int)res.getDimension( + R.dimen.keyboard_horizontal_edges_padding); + mDisplayWidth = width - horizontalEdgesPadding * 2; mDisplayHeight = height; mDefaultHorizontalGap = 0; diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java index 62e6f302d..9c556c309 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java @@ -122,6 +122,7 @@ public class KeyboardParser { private final Keyboard mKeyboard; private final Resources mResources; + private int mHorizontalEdgesPadding; private int mCurrentX = 0; private int mCurrentY = 0; private int mMaxRowWidth = 0; @@ -132,6 +133,7 @@ public class KeyboardParser { public KeyboardParser(Keyboard keyboard, Resources res) { mKeyboard = keyboard; mResources = res; + mHorizontalEdgesPadding = (int)res.getDimension(R.dimen.keyboard_horizontal_edges_padding); } public int getMaxRowWidth() { @@ -151,6 +153,7 @@ public class KeyboardParser { final String tag = parser.getName(); if (TAG_KEYBOARD.equals(tag)) { parseKeyboardAttributes(parser); + startKeyboard(); parseKeyboardContent(parser, mKeyboard.getKeys()); break; } else { @@ -520,25 +523,32 @@ public class KeyboardParser { throw new NonEmptyTag(tag, parser); } + private void startKeyboard() { + mCurrentY += (int)mResources.getDimension(R.dimen.keyboard_top_padding); + } + private void startRow(Row row) { mCurrentX = 0; + setSpacer(mHorizontalEdgesPadding); mCurrentRow = row; } private void endRow() { if (mCurrentRow == null) throw new InflateException("orphant end row tag"); + setSpacer(mHorizontalEdgesPadding); + if (mCurrentX > mMaxRowWidth) + mMaxRowWidth = mCurrentX; mCurrentY += mCurrentRow.mDefaultHeight; mCurrentRow = null; } private void endKey(Key key) { mCurrentX += key.mGap + key.mWidth; - if (mCurrentX > mMaxRowWidth) - mMaxRowWidth = mCurrentX; } private void endKeyboard(int defaultVerticalGap) { + mCurrentY += (int)mResources.getDimension(R.dimen.keyboard_bottom_padding); mTotalHeight = mCurrentY - defaultVerticalGap; } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index cc14589f6..e82796bf4 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -1056,7 +1056,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy { mKeyboardActionListener.onCodeInput(Keyboard.CODE_CAPSLOCK, null, 0, 0); } - private void onDoubleTapShiftKey(PointerTracker tracker) { + private void onDoubleTapShiftKey(@SuppressWarnings("unused") PointerTracker tracker) { // When shift key is double tapped, the first tap is correctly processed as usual tap. And // the second tap is treated as this double tap event, so that we need not mark tracker // calling setAlreadyProcessed() nor remove the tracker from mPointerQueueueue. From 967d6073bfd5f3d0e21512754d78d2e87c958e27 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 8 Apr 2011 17:14:12 +0900 Subject: [PATCH 11/21] Disable popup preview and long press on disabled key Bug: 4268147 Change-Id: Ibcb54791ef78737dd09d8a594b5a53b0909609d6 --- java/src/com/android/inputmethod/keyboard/Key.java | 2 +- .../src/com/android/inputmethod/keyboard/PointerTracker.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index f578bd613..59c132e91 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -379,7 +379,7 @@ public class Key { * @see android.graphics.drawable.StateListDrawable#setState(int[]) */ public int[] getCurrentDrawableState() { - final boolean pressed = mEnabled && mPressed; + final boolean pressed = mPressed; if (!mSticky && mFunctional) { if (pressed) { return KEY_STATE_FUNCTIONAL_PRESSED; diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index c28197014..eb5335ffd 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -546,6 +546,9 @@ public class PointerTracker { } private void showKeyPreviewAndUpdateKeyGraphics(int keyIndex) { + final Key key = getKey(keyIndex); + if (key != null && !key.mEnabled) + return; updateKeyGraphics(keyIndex); // The modifier key, such as shift key, should not be shown as preview when multi-touch is // supported. On the other hand, if multi-touch is not supported, the modifier key should @@ -565,6 +568,8 @@ public class PointerTracker { return; } Key key = getKey(keyIndex); + if (!key.mEnabled) + return; if (key.mCode == Keyboard.CODE_SHIFT) { mHandler.startLongPressShiftTimer(mLongPressShiftKeyTimeout, keyIndex, this); } else if (key.mManualTemporaryUpperCaseCode != Keyboard.CODE_DUMMY From 1844ee7cf8f373bd47a74420082257fb9fa013e8 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 8 Apr 2011 16:33:20 +0900 Subject: [PATCH 12/21] Remove redandant key from popup mini keyboard which has settings key Bug: 4196879 Change-Id: If0ed5cace2d4d0c1f0e225e1003d54c055690387 --- java/res/values/donottranslate-altchars.xml | 4 - java/res/xml/kbd_key_styles.xml | 45 ++++++++--- java/res/xml/kbd_qwerty_f1.xml | 83 +++++---------------- java/res/xml/kbd_symbols_f1.xml | 11 +-- 4 files changed, 56 insertions(+), 87 deletions(-) diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml index 518e74af1..621a2ea92 100644 --- a/java/res/values/donottranslate-altchars.xml +++ b/java/res/values/donottranslate-altchars.xml @@ -47,11 +47,7 @@ ¢,£,€,¥,₱ ¢,£,$,¥,₱ ¢,$,€,¥,₱ - "\@drawable/sym_keyboard_settings|\@integer/key_settings,\@drawable/sym_keyboard_mic|\@integer/key_voice" ":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D " - "\@drawable/sym_keyboard_settings|\@integer/key_settings,/" - "\@drawable/sym_keyboard_settings|\@integer/key_settings,\@" - "\@drawable/sym_keyboard_settings|\@integer/key_settings,\\," ":,/,&,(,),-,+,;,\@,\',\",\?,!,\\," ".com" diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml index ea5d4ccd2..bfc7c4ff2 100644 --- a/java/res/xml/kbd_key_styles.xml +++ b/java/res/xml/kbd_key_styles.xml @@ -21,14 +21,45 @@ - + - + + + + + + + + + + + + + + + + + + + latin:parentStyle="settingsPopupStyle" /> - + latin:parentStyle="settingsPopupStyle" /> - - - - - - - - - - - - - - - - - - + + + + - - - - + latin:keyStyle="micKeyStyle" /> + - - - - - - - - + diff --git a/java/res/xml/kbd_symbols_f1.xml b/java/res/xml/kbd_symbols_f1.xml index 8487b6158..0fb7136b9 100644 --- a/java/res/xml/kbd_symbols_f1.xml +++ b/java/res/xml/kbd_symbols_f1.xml @@ -28,14 +28,11 @@ - + + - + latin:keyStyle="settingsPopupStyle" /> + From a8c163f262c0876c3b05d091633395389ad583af Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 8 Apr 2011 17:58:35 +0900 Subject: [PATCH 13/21] Fix suggestion strip layout This change also removes unused drawable and xml resources. Bug: 4181825 Change-Id: Ia723376bc5d40900a513df62e89cdfe35b2c859f --- .../drawable-hdpi/btn_candidate_normal.9.png | Bin 248 -> 0 bytes java/res/drawable-hdpi/highlight_pressed.png | Bin 4110 -> 0 bytes .../drawable-mdpi/btn_candidate_normal.9.png | Bin 205 -> 0 bytes java/res/drawable-mdpi/highlight_pressed.png | Bin 593 -> 0 bytes .../drawable-mdpi/top_suggest_line_holo.9.png | Bin 1012 -> 0 bytes java/res/drawable/btn_candidate.xml | 2 - .../drawable/ic_suggest_scroll_background.xml | 25 ------ java/res/layout-xlarge/candidate.xml | 15 ++-- java/res/layout-xlarge/candidates.xml | 4 +- java/res/layout/candidate.xml | 15 ++-- java/res/layout/candidates.xml | 4 +- java/res/values/colors.xml | 1 - java/res/xml/kbd_popup_narrow_template.xml | 27 ------ java/res/xml/kbd_qwerty_black_symbol.xml | 84 ------------------ 14 files changed, 18 insertions(+), 159 deletions(-) delete mode 100644 java/res/drawable-hdpi/btn_candidate_normal.9.png delete mode 100644 java/res/drawable-hdpi/highlight_pressed.png delete mode 100644 java/res/drawable-mdpi/btn_candidate_normal.9.png delete mode 100644 java/res/drawable-mdpi/highlight_pressed.png delete mode 100644 java/res/drawable-mdpi/top_suggest_line_holo.9.png delete mode 100644 java/res/drawable/ic_suggest_scroll_background.xml delete mode 100644 java/res/xml/kbd_popup_narrow_template.xml delete mode 100644 java/res/xml/kbd_qwerty_black_symbol.xml diff --git a/java/res/drawable-hdpi/btn_candidate_normal.9.png b/java/res/drawable-hdpi/btn_candidate_normal.9.png deleted file mode 100644 index 7cab5a899c29d2d71f3daf2db16ea4247a94a88a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^ia>13!3HFiKQQzIDVAa<&kznEsNqQI0P;BtJR*x3 z7`Qt@n9=;?>9s(?S)MMAArY-_ZyNHoC)&o25d_j})Zm%mG{N!{M|G3r*~#;sz>J*SnQ&3V4!^!^{Q z^ZFj^`Ojz(%y&D$A;GAez|zwoXut&IOxf}CoZ!a=o-P&4#*Yr8%0U!5#Qq82r(=AY Zd+j#a!e2EX76M(#;OXk;vd$@?2>{F#S{eWV diff --git a/java/res/drawable-hdpi/highlight_pressed.png b/java/res/drawable-hdpi/highlight_pressed.png deleted file mode 100644 index ae04901a0655fce7e719df852977c0347e644f0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4110 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 M07*qoM6N<$f)#Y3r~m)} diff --git a/java/res/drawable-mdpi/btn_candidate_normal.9.png b/java/res/drawable-mdpi/btn_candidate_normal.9.png deleted file mode 100644 index fa6c0fefffbbda6e931438d6387cb1d967d1bf05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^VnD3P!3HD^XWVoKQj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jit;^O978H@y}4@0cR+!I^#Xrl`L}=V#m|^7B?V2_Q@ghG zXT8af77GQz#;F}AH1@nsU1|4lPl%V}ds*wi&>g=k?#y#Gc3xY`owxSv%e3P^EV`T( zeP$RutUt6f?UBdv)z&@p-Demi9%|v-Ke_sgPy)loP0GRVOpeY3TFv0;>gTe~DWM4f Dy~|Ig diff --git a/java/res/drawable-mdpi/highlight_pressed.png b/java/res/drawable-mdpi/highlight_pressed.png deleted file mode 100644 index d27f1061ae9757e45d602d9f1334beeed38889da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 593 zcmV-X0dOt3|M8q{|r(Col)r zNx{$vNy@yz&Kd8YNS8C79+8$B##{!q1rs&VR~g?cUf+=JPk6jjU<^>Xw|E_91}2w# z0sHtuveMlO3=Tg9#tMmRJj8h7;cbL6umJg&U$TBOFdRpU8y8tAwBf0RsS?nT+t<(m zFsYyCvQ~YWZ1{1*kArBWhS>&SHla3}{8%^G)b$w^yR2lS=3nIa%xKtQwl9=2$pz0i zj3OELcN_;uG3rpVz47)@I_Xo2yMgL}pB>JeDrX)80W#|TV<=E5zKXqpb`Z6*2Z zrA`DU4Z5Pa1-gEf9A(;$MW>(R-A-fKW2VI+mA}zthCtPdnY*dBUL1)%-BEcgle2|f z*Ng0B+o-kL@vUCkd($gqF&;ZC##$0DrQwjSG4`OCk##|R%ozZ2cl`~>yBO^SA zNgan%O=?TdcEsDeMTOJfd;K+Pzft?_CI<^?(^Ykns-1K-m_)hJ4P`oZ9+V(&c_WSU f0v$f)jw;R%C|5)IM=p~`00000NkvXXu0mjfCbIy? diff --git a/java/res/drawable-mdpi/top_suggest_line_holo.9.png b/java/res/drawable-mdpi/top_suggest_line_holo.9.png deleted file mode 100644 index 8fdffd3179083d2c4abef21d0b4a17d6fd024b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmbVLJ#W)M7`9YE2vMmcbUL{V48*>(6Mw0ua{NIf;ZUU!WMIItFOAjO=h|1|cA>B! z#KO$T59l922nK|Ngg`Jb@FQSCVn8bAG%gHP2Q1n5;rDr-_w&hG_s0B%#S0wA&39Iv z9$V+wd-nV}_TAsU{emr*sXL(SWJD)HjyWqLLkv1euz`Cxh<3N%<7EaK#r**t_&1G^ zBtlTx2xXEnG{-HklvxmNVhV-qNe!eLvSdIAW)IKQ@@QoA9B-z@P9{I5G&4kTGMNYySs?j_h;&`AI3%gT zEE>gbN`tbI7E3jQgNrbaGa8c=RE)up>`;?uo*speWWIk)oEEc0v6P8rkcmiuVvsyZZ;V@c%!(3hIV9Xka7sIl$+JH~ z6i0@ns?d^ktBE98(GUy2X)<@T zk0UQ937F>Bh)>Y>bf`E;X}2|rxqy(SBF{x$+k$Fa*JPKUVWa=anaG?GtLFHpS?Vj+ zfz|f7_1WQgcyP)lCTF8@H-G+-jn$QoWA)2#!(WGoD{~9KAAiZ-Jy>}9aQ?&Lr#El+ eFFyOpow>vvyjuKzwfpsRHHRIy>m0Q2J^BN-(K_1z diff --git a/java/res/drawable/btn_candidate.xml b/java/res/drawable/btn_candidate.xml index b0c1c3038..efcee9f54 100644 --- a/java/res/drawable/btn_candidate.xml +++ b/java/res/drawable/btn_candidate.xml @@ -24,6 +24,4 @@ - diff --git a/java/res/drawable/ic_suggest_scroll_background.xml b/java/res/drawable/ic_suggest_scroll_background.xml deleted file mode 100644 index 9d246e40e..000000000 --- a/java/res/drawable/ic_suggest_scroll_background.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/java/res/layout-xlarge/candidate.xml b/java/res/layout-xlarge/candidate.xml index 74532a1e2..6d3e4ab17 100644 --- a/java/res/layout-xlarge/candidate.xml +++ b/java/res/layout-xlarge/candidate.xml @@ -20,24 +20,24 @@