From 87089985b1ca396557d1350e9433c958a39adf11 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 28 Jun 2011 02:08:40 +0900 Subject: [PATCH] Render sliding spacebar language switch arrows by text Change-Id: Ief1a4f12a3d4840c36aa7a082f44b5b1ff894dd1 --- ...keyboard_feedback_language_arrows_left.png | Bin 3397 -> 0 bytes ...eyboard_feedback_language_arrows_right.png | Bin 3388 -> 0 bytes .../sym_keyboard_language_arrows_left.png | Bin 3220 -> 0 bytes .../sym_keyboard_language_arrows_right.png | Bin 3286 -> 0 bytes ...keyboard_feedback_language_arrows_left.png | Bin 3126 -> 0 bytes ...eyboard_feedback_language_arrows_right.png | Bin 3121 -> 0 bytes .../sym_keyboard_language_arrows_left.png | Bin 3001 -> 0 bytes .../sym_keyboard_language_arrows_right.png | Bin 3032 -> 0 bytes ...keyboard_feedback_language_arrows_left.png | Bin 3624 -> 0 bytes ...eyboard_feedback_language_arrows_right.png | Bin 3602 -> 0 bytes .../sym_keyboard_language_arrows_left.png | Bin 3356 -> 0 bytes .../sym_keyboard_language_arrows_right.png | Bin 3461 -> 0 bytes java/res/values/attrs.xml | 4 - java/res/values/keyboard-icons-black.xml | 4 - java/res/values/keyboard-icons-ics.xml | 4 - java/res/values/keyboard-icons-white.xml | 4 - .../inputmethod/keyboard/LatinKeyboard.java | 79 ++++-------------- .../internal/SlidingLocaleDrawable.java | 36 ++++---- 18 files changed, 33 insertions(+), 98 deletions(-) delete mode 100644 java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png delete mode 100644 java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png delete mode 100644 java/res/drawable-hdpi/sym_keyboard_language_arrows_left.png delete mode 100644 java/res/drawable-hdpi/sym_keyboard_language_arrows_right.png delete mode 100644 java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_left.png delete mode 100644 java/res/drawable-mdpi/sym_keyboard_feedback_language_arrows_right.png delete mode 100644 java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png delete mode 100644 java/res/drawable-mdpi/sym_keyboard_language_arrows_right.png delete mode 100644 java/res/drawable-xhdpi/sym_keyboard_feedback_language_arrows_left.png delete mode 100644 java/res/drawable-xhdpi/sym_keyboard_feedback_language_arrows_right.png delete mode 100644 java/res/drawable-xhdpi/sym_keyboard_language_arrows_left.png delete mode 100644 java/res/drawable-xhdpi/sym_keyboard_language_arrows_right.png diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png b/java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_left.png deleted file mode 100644 index 5d1cb783300498dc7ad36281638c7202e5133ba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3397 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 V|2IIhwHmJsfDXa{UInuZ`w#nEV@v=5 diff --git a/java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png b/java/res/drawable-hdpi/sym_keyboard_feedback_language_arrows_right.png deleted file mode 100644 index 3a56d474598627a354d0421d6550aa6c5fccae86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3388 zcmZ`*X*|>o7yVn)cx)rPNQklx#x`Re`w|mVAtGDGzHfyoDPt;P?E99j>?V8CkZffg z`x-JK`@X!M_uKp7{c!I2-Fxo&a)0;3!6J=y89>}1000>D^|VYc`0532&{1F1I1zI) z0Dx4`nwm(oy*&T~jc1rWMwzX!tL#tjAPl20ctcN9Ho9x32pk55&IQK-IWIWD>Z?&j ztx>txpR;jY@ow#BiLJaI9jQ^dPZ3Nfx-cs$kD6wh<_@i1YF6;vD{tOYdYth$JyaFY zv8~WbjVz&XFkst?0{E5XCHX`GsX(Y}&!{l!$rAL~oft}B_IPt+^+G+Mq@L|{R|f!( zQR!IKju86P$o8bAgFtmgZrPy)gL@PLnpg9+n80l*#O zOsIf>0ik_LfFNpii&8xgP`}Z21q=LS1k982uHb+QTR^nyU6e0HMH*lmm(zm>Z2tn7 zjGOEZRLq=!Z7wst83o-Q&>E|&y#dh4Qi#6Bmj?~pw-V?x1AvVx2i#&D9!29JP(!?G zWnCYXt*D^+0Xh2O@{1M9db(vt$1duDb|7As3c%oPNe84aQvs7x+`*rT( zHmFF%lGEd)v@};S7JB!{Vw>H=tjpmPHoMh}7wQZt;y5~9$83OXO<<(%8Y11-~lDESoUmuAQY}0lU z2-AarpAiMHdZ6pt_)b#?In(EO!MmLg^Z5?>l-{OmOA4rTs^l|q>4a&jW^;C_j}`H` zyd2N58scF<eBZ!I15`w@FCLrtADfYu#e+Zb-zJce{)`vCAvW*JH8?+ zgT%Sw?Yk@OK2Vl^;jWbbz}on1*G_Qs2_?4m`YbiibGSe(Bk{?T5)nF8+?*#d<1j7%R521&!V9d!|L?I`V_vRTsC>n37 zUYyOFpPp+~_>XBvu?xzqghvj4D_8P;;vLsw_o31u3bNwu3@795Z0-I5=Thf{8lCar zam{ftScZpIV8N?F;hlsXgQG`B+9CX>Dw+|G+GnM~oCY1V9bp|@9V#7SH{#J9J9Zti zY&{G;Axlb2_DgWK#ORM88}0lmM1f_2#bQGj{oRt1;*w8f%HgNOpy9ld`*(GRid>vr zl;xg{`_#JBF1Q2^bqraM8Ob^16mkLi(y&x96FOF|2YLe4;*R7#hW4R%sv(KexNqR9 zd(|!$%NA5_;ED9!$Ay)KqcfF_V|l6Esj|>Kxov2voQcbx59BS^s~_KI@!oH}JbYD+ z`qSoBw3QuC@f|lwg-ye$C5r{ZBezCe1{w->HF!vSgT|!k{Hfeiy;s@x1*~Q9rPYSZ zO?{oHJ=A`2TXDNtj8Strj%>N2^INiis&JwJ{=TrBBU@x}qAbwZQ!6X)Z$Z}k&)Vns zvkHoC+r(!?Tih3P#N)af>u(;U*PS4ZEkbp?~S zGOhdkB(^dUtC>cn#+#FG>rTlY3z_R-KSQ109~y1;jHjIP>F`m;H1joAZ&+Zf_j<^? z(48wmBSEU0GJD|Q;b4Z42O)*Q{99pj_J0NUm6o;>mpdMGz!z|bvEfe7rHaSIg`AVJZ;`M>R5Sy-fv#W`{U-XgWm@Y2bIBL+k`$I zJud@MgF2O&r(x44hV*{y4&sXSNdFw$xqdA>JEQq8#F*zujW@R9*sK~sG^&%;gH@Fy z7)ywH+0HlbvuRtU>l3_%jMnX1!q1_83`GyITsAQk4o+cDCcxL+L!6J!cCfFLU%xjp zaI#zSE`ABM9)DMmm5?+nSe?lBJ%poPV!Xi_#V1tWty8u9_|vUXP)e>LI>#z+wL2xj zEMr?z0k-d)8IlPtcdZn7}JN`j|MioX3s)3g1`J3mM)zD?Sk&J@0DLRA4KMx3Q09okA$wR`@isy^Pl=t zSU%Ho=37~G;DZg-*Z%&^^wG+qCvQvfiIbh?*2{I7+}+Lb!v2IeyGxM=7F7pN%c7BN!pW%N`Ck7$?&!ftzG@zc*jELLXgSr z^gcC}0G$A*Uv6DvXM2%rOnvQ{jbkj+{h_MAPul6vIQslU0yA5Fdv6kjKN)_L@|F5z z<=rwcxj5v%DpHvB)*l|IVB=pu9@4vO`QS%SrWr}4Jga%`$wJ%hvtF@JOOxb!mHoXb z_~pQmztQWAQ{8p@TVZ{to0r7+!TjuMrcY3t=KJ2gKN8gxc47OOtJ`aTLcoW=G(K0H zAF5TIZ+d5M+}uXDXMeFhja~SOeRMwO`eR9jCrI*%s;cP@?nny$(7fqj?tZyVqmI4q zrH5TM#wYiV433A-NU{$<#YDbQ35!2;I&t5GuLWM3_MHg~i#miTW*)ygsoaWREF}EU z$l^D4Fg7}2rAppD5w@4jy~vZ-?Db4<13<_{6vIRSz~T7?uK<8Q1OUjk002t{01nSM zn|7UxT}nGcT`l1JRZP$4i|(?Qo`o*}(6jyv3LrI|^WR~Bm&W4@{%>Ff&{|T?06?*$ zucd*~`?i+Y>@lRy{4HFz@l0_hgDo!NhLn0dE$AWU{;WXI3uOkdgtb9F5_v}eEFcgY ziy-P!iA0JnZ!eo3FlPNltZH4k@>;Il@^~U;s&e`B^J{d`?II3ZJ?wC!WUsW#pQ5-} zS?r`mqrb{Hbqx)S`dr58wqhtWbzXDHURUSPP-hX(v8G~+cx9sAiHQ=hw|hxVSGvR^ zSM)%cO_)ZBi|gi1U-9U#w#+ptU+f;N#b-eJNt&m^`bm1D6skGATM$__ZAaes@-Dn3jkHNJ9rT}IkO z(SfkVdv3Mvc?!N3u|sDH~_=UY_<_eYFbFn|NHO@_?>T;7~|wSqhha6WOtN#*w*CL28Hxa zi}QK)In{e2TOUGJ`Ycb2S$ikZhc)RwD5vN>U7GqLRUu0xL5!Sb8+pDV6{wrKZNelM#8O z6Gd~YY9#X7wa0`b{UI+64PygD8;vRm?@D6MdVVN17F;keuGkQC@eIO#+U9-^kNg~A z_CAgm1js<7r6nNp64LT0X?Yk_4hB__fGEHq5bdw$wEtsp_jEuz1^<5oG*h?X!T{)N L8*7yzY@h!J-R)Vd diff --git a/java/res/drawable-hdpi/sym_keyboard_language_arrows_left.png b/java/res/drawable-hdpi/sym_keyboard_language_arrows_left.png deleted file mode 100644 index 79f235f253bb76df160979e884b2e98296b39d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3220 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 diff --git a/java/res/drawable-hdpi/sym_keyboard_language_arrows_right.png b/java/res/drawable-hdpi/sym_keyboard_language_arrows_right.png deleted file mode 100644 index e1444e85bd6f3ddbc87187d2964e09ae8831ea88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3286 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 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 deleted file mode 100644 index 7e10ae3af88ab3b22c5e0eec9891e9db3c478016..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3121 zcmV-149@e3P)X1^@s6)5{gA00009a7bBm000XU z000XU0RWnu7ytkYPiaF#P*7-ZbZ>KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z00048Nkl$@evQW(h^$+`f*#5ND*)VIZaU4er zurMqI(pIZg>vTHaMZ(lt>u$HJMx&7v1cAz~Fc)mSUK55PjYdOHCKKIkHdSGmF@`vf zS*=!hp2v7RW-u7w`+l*jk)|ouTH-h+3`3$Q!gXDcWX+{&wTjl7>2ylJ-%l5d#aF1g zV7~9O*=*?bddYA&Op_!ziYymwxm@nr?e=aqn7-7j(jR() zN+&5s$90T`)1WpPEmR>ma2PAb+`s@GN~eEJvwUkF_^aEi~a00000 LNkvXXu0mjfG2+IC diff --git a/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png b/java/res/drawable-mdpi/sym_keyboard_language_arrows_left.png deleted file mode 100644 index 7067a8bf54b65507ce870960d14ea94a53a06642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3001 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 diff --git a/java/res/drawable-xhdpi/sym_keyboard_language_arrows_left.png b/java/res/drawable-xhdpi/sym_keyboard_language_arrows_left.png deleted file mode 100644 index 226f2e61763877c571210e8132a2d402c07f8647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3356 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 diff --git a/java/res/drawable-xhdpi/sym_keyboard_language_arrows_right.png b/java/res/drawable-xhdpi/sym_keyboard_language_arrows_right.png deleted file mode 100644 index 1e02e7e46b2159afb4e217be6e37c0b34ba67e24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3461 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 bXDd4!pZ{+_rmKBEGXM=0UF9OQdGLP#bR&AF diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 6b063efff..61ebf96bf 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -309,9 +309,5 @@ - - - - diff --git a/java/res/values/keyboard-icons-black.xml b/java/res/values/keyboard-icons-black.xml index 708d452cc..e2c688995 100644 --- a/java/res/values/keyboard-icons-black.xml +++ b/java/res/values/keyboard-icons-black.xml @@ -38,9 +38,5 @@ @drawable/sym_keyboard_space_led @drawable/sym_bkeyboard_voice_off - @null - @null - @drawable/sym_keyboard_feedback_language_arrows_left - @drawable/sym_keyboard_feedback_language_arrows_right diff --git a/java/res/values/keyboard-icons-ics.xml b/java/res/values/keyboard-icons-ics.xml index 86fb7bb96..c81315284 100644 --- a/java/res/values/keyboard-icons-ics.xml +++ b/java/res/values/keyboard-icons-ics.xml @@ -52,9 +52,5 @@ @drawable/sym_keyboard_space_led @drawable/sym_keyboard_voice_off_holo - @drawable/sym_keyboard_language_arrows_left - @drawable/sym_keyboard_language_arrows_right - @null - @null diff --git a/java/res/values/keyboard-icons-white.xml b/java/res/values/keyboard-icons-white.xml index 63df28476..8bc7539fa 100644 --- a/java/res/values/keyboard-icons-white.xml +++ b/java/res/values/keyboard-icons-white.xml @@ -34,9 +34,5 @@ @drawable/sym_keyboard_space_led @drawable/sym_keyboard_voice_off_holo - @drawable/sym_keyboard_language_arrows_left - @drawable/sym_keyboard_language_arrows_right - @drawable/sym_keyboard_feedback_language_arrows_left - @drawable/sym_keyboard_feedback_language_arrows_right diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java index 1966d2d65..9d58f69ff 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java @@ -23,9 +23,6 @@ import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; -import android.graphics.ColorFilter; -import android.graphics.ColorMatrix; -import android.graphics.ColorMatrixColorFilter; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.PorterDuff; @@ -61,8 +58,6 @@ public class LatinKeyboard extends Keyboard { private final int mSpaceKeyIndex; private final boolean mAutoCorrectionSpacebarLedEnabled; private final Drawable mAutoCorrectionSpacebarLedIcon; - private final Drawable mSpacebarArrowLeftIcon; - private final Drawable mSpacebarArrowRightIcon; private final int mSpacebarTextColor; private final int mSpacebarTextShadowColor; private float mSpacebarTextFadeFactor = 0.0f; @@ -77,6 +72,11 @@ public class LatinKeyboard extends Keyboard { private final Drawable mEnabledShortcutIcon; private final Drawable mDisabledShortcutIcon; + // BLACK LEFT-POINTING TRIANGLE and two spaces. + public static final String ARROW_LEFT = "\u25C0 "; + // Two spaces and BLACK RIGHT-POINTING TRIANGLE. + public static final String ARROW_RIGHT = " \u25B6"; + // Minimum width of spacebar dragging to trigger the language switch (represented by the number // of the most common key width of this keyboard). private static final int SPACEBAR_DRAG_WIDTH = 3; @@ -131,10 +131,6 @@ public class LatinKeyboard extends Keyboard { mSpacebarTextColor = a.getColor(R.styleable.LatinKeyboard_spacebarTextColor, 0); mSpacebarTextShadowColor = a.getColor( R.styleable.LatinKeyboard_spacebarTextShadowColor, 0); - mSpacebarArrowLeftIcon = a.getDrawable( - R.styleable.LatinKeyboard_spacebarArrowLeftIcon); - mSpacebarArrowRightIcon = a.getDrawable( - R.styleable.LatinKeyboard_spacebarArrowRightIcon); a.recycle(); // The threshold is "key width" x 1.25 @@ -165,12 +161,6 @@ public class LatinKeyboard extends Keyboard { return newColor; } - private static ColorFilter getSpacebarDrawableFilter(float fadeFactor) { - final ColorMatrix colorMatrix = new ColorMatrix(); - colorMatrix.setScale(1, 1, 1, fadeFactor); - return new ColorMatrixColorFilter(colorMatrix); - } - public void updateShortcutKey(boolean available, LatinKeyboardView view) { if (mShortcutKey == null) return; @@ -214,59 +204,40 @@ public class LatinKeyboard extends Keyboard { } // Layout local language name and left and right arrow on spacebar. - private static String layoutSpacebar(Paint paint, Locale locale, Drawable icon, Drawable lArrow, - Drawable rArrow, int width, int height, float origTextSize) { - final float arrowWidth; - if (lArrow != null && rArrow != null) { - arrowWidth = lArrow.getIntrinsicWidth(); - } else { - arrowWidth = 0; - } - final float maxTextWidth = width - (arrowWidth + arrowWidth); + private static String layoutSpacebar(Paint paint, Locale locale, int width, + float origTextSize) { final Rect bounds = new Rect(); // Estimate appropriate language name text size to fit in maxTextWidth. - String language = SubtypeSwitcher.getFullDisplayName(locale, true); + String language = ARROW_LEFT + SubtypeSwitcher.getFullDisplayName(locale, true) + + ARROW_RIGHT; int textWidth = getTextWidth(paint, language, origTextSize, bounds); // Assuming text width and text size are proportional to each other. - float textSize = origTextSize * Math.min(maxTextWidth / textWidth, 1.0f); + float textSize = origTextSize * Math.min(width / textWidth, 1.0f); // allow variable text size textWidth = getTextWidth(paint, language, textSize, bounds); // If text size goes too small or text does not fit, use middle or short name final boolean useMiddleName = (textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME) - || (textWidth > maxTextWidth); + || (textWidth > width); final boolean useShortName; if (useMiddleName) { - language = SubtypeSwitcher.getMiddleDisplayLanguage(locale); + language = ARROW_LEFT + SubtypeSwitcher.getMiddleDisplayLanguage(locale) + ARROW_RIGHT; textWidth = getTextWidth(paint, language, origTextSize, bounds); - textSize = origTextSize * Math.min(maxTextWidth / textWidth, 1.0f); + textSize = origTextSize * Math.min(width / textWidth, 1.0f); useShortName = (textSize / origTextSize < MINIMUM_SCALE_OF_LANGUAGE_NAME) - || (textWidth > maxTextWidth); + || (textWidth > width); } else { useShortName = false; } if (useShortName) { - language = SubtypeSwitcher.getShortDisplayLanguage(locale); + language = ARROW_LEFT + SubtypeSwitcher.getShortDisplayLanguage(locale) + ARROW_RIGHT; textWidth = getTextWidth(paint, language, origTextSize, bounds); - textSize = origTextSize * Math.min(maxTextWidth / textWidth, 1.0f); + textSize = origTextSize * Math.min(width / textWidth, 1.0f); } paint.setTextSize(textSize); - // Place left and right arrow just before and after language text. - if (lArrow != null && rArrow != null) { - final float textHeight = -paint.ascent() + paint.descent(); - final float baseline = (icon != null) ? height * SPACEBAR_LANGUAGE_BASELINE - : height / 2 + textHeight / 2; - final int arrowHeight = lArrow.getIntrinsicHeight(); - final int top = (int)(baseline - arrowHeight); - final float remains = (width - textWidth) / 2; - lArrow.setBounds((int)(remains - arrowWidth), top, (int)remains, (int)baseline); - rArrow.setBounds((int)(remains + textWidth), top, - (int)(remains + textWidth + arrowWidth), (int)baseline); - } - return language; } @@ -311,9 +282,8 @@ public class LatinKeyboard extends Keyboard { defaultTextSize = 14; } - final String language = layoutSpacebar(paint, inputLocale, mSpaceIcon, - mSpacebarArrowLeftIcon, mSpacebarArrowRightIcon, width, height, - getTextSizeFromTheme(mTheme, textStyle, defaultTextSize)); + final String language = layoutSpacebar(paint, inputLocale, width, getTextSizeFromTheme( + mTheme, textStyle, defaultTextSize)); // Draw language text with shadow // In case there is no space icon, we will place the language text at the center of @@ -326,19 +296,6 @@ public class LatinKeyboard extends Keyboard { canvas.drawText(language, width / 2, baseline - descent - 1, paint); paint.setColor(getSpacebarTextColor(mSpacebarTextColor, textFadeFactor)); canvas.drawText(language, width / 2, baseline - descent, paint); - - // Put arrows that are already laid out on either side of the text - // Because language switch is disabled on phone and number layouts, hide arrows. - // TODO: Sort out how to enable language switch on these layouts. - if (mSpacebarArrowLeftIcon != null && mSpacebarArrowRightIcon != null - && mSubtypeSwitcher.useSpacebarLanguageSwitcher() - && mSubtypeSwitcher.getEnabledKeyboardLocaleCount() > 1 - && !(isPhoneKeyboard() || isNumberKeyboard())) { - mSpacebarArrowLeftIcon.setColorFilter(getSpacebarDrawableFilter(textFadeFactor)); - mSpacebarArrowRightIcon.setColorFilter(getSpacebarDrawableFilter(textFadeFactor)); - mSpacebarArrowLeftIcon.draw(canvas); - mSpacebarArrowRightIcon.draw(canvas); - } } // Draw the spacebar icon at the bottom diff --git a/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java b/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java index 78a3a7e9d..ef3ea4c12 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java +++ b/java/src/com/android/inputmethod/keyboard/internal/SlidingLocaleDrawable.java @@ -46,8 +46,7 @@ public class SlidingLocaleDrawable extends Drawable { private final int mSpacebarTextColor; private final TextPaint mTextPaint; private final int mMiddleX; - private final Drawable mLeftDrawable; - private final Drawable mRightDrawable; + private final boolean mDrawArrows; private final int mThreshold; private int mDiff; @@ -65,20 +64,18 @@ public class SlidingLocaleDrawable extends Drawable { textPaint.setTextSize(LatinKeyboard.getTextSizeFromTheme( context.getTheme(), android.R.style.TextAppearance_Medium, 18)); textPaint.setColor(Color.TRANSPARENT); - textPaint.setTextAlign(Align.CENTER); textPaint.setAntiAlias(true); mTextPaint = textPaint; mMiddleX = (background != null) ? (mWidth - mBackground.getIntrinsicWidth()) / 2 : 0; - final TypedArray lka = context.obtainStyledAttributes( - null, R.styleable.LatinKeyboard, R.attr.latinKeyboardStyle, R.style.LatinKeyboard); - mLeftDrawable = lka.getDrawable(R.styleable.LatinKeyboard_spacebarArrowPreviewLeftIcon); - mRightDrawable = lka.getDrawable(R.styleable.LatinKeyboard_spacebarArrowPreviewRightIcon); - lka.recycle(); - final TypedArray kva = context.obtainStyledAttributes( + final TypedArray a = context.obtainStyledAttributes( null, R.styleable.KeyboardView, R.attr.keyboardViewStyle, R.style.KeyboardView); - mSpacebarTextColor = kva.getColor(R.styleable.KeyboardView_keyPreviewTextColor, 0); - kva.recycle(); + mSpacebarTextColor = a.getColor(R.styleable.KeyboardView_keyPreviewTextColor, 0); + final int spacebarPreviewBackrgound = a.getResourceId( + R.styleable.KeyboardView_keyPreviewSpacebarBackground, 0); + // If spacebar preview background is transparent, we need not draw arrows. + mDrawArrows = (spacebarPreviewBackrgound != R.drawable.transparent); + a.recycle(); mThreshold = ViewConfiguration.get(context).getScaledTouchSlop(); } @@ -105,8 +102,6 @@ public class SlidingLocaleDrawable extends Drawable { final int width = mWidth; final int height = mHeight; final int diff = mDiff; - final Drawable lArrow = mLeftDrawable; - final Drawable rArrow = mRightDrawable; canvas.clipRect(0, 0, width, height); if (mCurrentLanguage == null) { SubtypeSwitcher subtypeSwitcher = SubtypeSwitcher.getInstance(); @@ -114,20 +109,19 @@ public class SlidingLocaleDrawable extends Drawable { mNextLanguage = subtypeSwitcher.getNextInputLanguageName(); mPrevLanguage = subtypeSwitcher.getPreviousInputLanguageName(); } - // Draw language text with shadow + // Draw language text. final float baseline = mHeight * LatinKeyboard.SPACEBAR_LANGUAGE_BASELINE - paint.descent(); paint.setColor(mSpacebarTextColor); + paint.setTextAlign(Align.CENTER); canvas.drawText(mCurrentLanguage, width / 2 + diff, baseline, paint); canvas.drawText(mNextLanguage, diff - width / 2, baseline, paint); canvas.drawText(mPrevLanguage, diff + width + width / 2, baseline, paint); - - if (lArrow != null && rArrow != null) { - Keyboard.setDefaultBounds(lArrow); - rArrow.setBounds(width - rArrow.getIntrinsicWidth(), 0, width, - rArrow.getIntrinsicHeight()); - lArrow.draw(canvas); - rArrow.draw(canvas); + if (mDrawArrows) { + paint.setTextAlign(Align.LEFT); + canvas.drawText(LatinKeyboard.ARROW_LEFT, 0, baseline, paint); + paint.setTextAlign(Align.RIGHT); + canvas.drawText(LatinKeyboard.ARROW_RIGHT, width, baseline, paint); } } if (mBackground != null) {