From 3040c8bcdd7d4979e48e77b5c779dd2bf14ee9ad Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
Date: Tue, 28 Jun 2011 00:54:14 +0900
Subject: [PATCH] Draw popup hint "..." by text rendering

Bug: 4959808
Change-Id: I30456b91852904c6801cbdd6476406fd60e84551
---
 java/res/drawable-hdpi/hint_popup.9.png       | Bin 242 -> 0 bytes
 java/res/drawable-hdpi/hint_popup_holo.9.png  | Bin 324 -> 0 bytes
 .../drawable-land-hdpi/hint_popup_holo.9.png  | Bin 321 -> 0 bytes
 .../drawable-land-mdpi/hint_popup_holo.9.png  | Bin 1180 -> 0 bytes
 .../drawable-land-xhdpi/hint_popup_holo.9.png | Bin 373 -> 0 bytes
 java/res/drawable-mdpi/hint_popup.9.png       | Bin 202 -> 0 bytes
 java/res/drawable-mdpi/hint_popup_holo.9.png  | Bin 273 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 333 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 333 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 206 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 379 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 206 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 379 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 333 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 321 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 1180 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 373 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 1168 -> 0 bytes
 .../hint_popup_holo.9.png                     | Bin 379 -> 0 bytes
 java/res/drawable-xhdpi/hint_popup.9.png      | Bin 292 -> 0 bytes
 java/res/drawable-xhdpi/hint_popup_holo.9.png | Bin 410 -> 0 bytes
 java/res/values/attrs.xml                     |   3 --
 java/res/values/styles.xml                    |   1 -
 .../inputmethod/keyboard/KeyboardView.java    |  26 ++++++++----------
 24 files changed, 11 insertions(+), 19 deletions(-)
 delete mode 100644 java/res/drawable-hdpi/hint_popup.9.png
 delete mode 100644 java/res/drawable-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-land-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-land-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-land-xhdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-mdpi/hint_popup.9.png
 delete mode 100644 java/res/drawable-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-land-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-land-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-land-xhdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw600dp-xhdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-land-hdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-land-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-land-xhdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-mdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-sw768dp-xhdpi/hint_popup_holo.9.png
 delete mode 100644 java/res/drawable-xhdpi/hint_popup.9.png
 delete mode 100644 java/res/drawable-xhdpi/hint_popup_holo.9.png

diff --git a/java/res/drawable-hdpi/hint_popup.9.png b/java/res/drawable-hdpi/hint_popup.9.png
deleted file mode 100644
index 5b2ad538861f7cceae3d058ba8deec49f74f62ff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 242
zcmeAS@N?(olHy`uVBq!ia0vp^#z1Vv!3HE{*CjpzQY^(zo*^7SP{WbZ0pxQQctjR6
zFmQK*Fr)d&(`$i(Q#@T9LoyoQ-gM+@HV|-oDEYC&Htqe7^5F7Yp}qYNYZW|1Cb^3#
ztyJ0Su<v@U@S2wsR6I>?&Wk%}FX^1hGu1HUSO9j$)iCq<=hvHLrK^3cVLL6cD$wwE
zu&{ci?DxBW?WC=%pHC08Hr7fLvY!=kETFgRrOMU2;pa2$^R9FIzGAj>llT2tEf)uL
OAA_f>pUXO@geCxu;ZrsM

diff --git a/java/res/drawable-hdpi/hint_popup_holo.9.png b/java/res/drawable-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index c44af88839069c390470f9279a352575db87e5af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 324
zcmeAS@N?(olHy`uVBq!ia0vp^%0R5Z!3HE}_#XTYq*#ibJVQ8upoSx*1IXtr@Q5sC
zVBqcqVMg<lr`G}npLx1ChD5Z!oxYLlkbywk{;t{09m(FBN?nr|_bdH~vg`OE)TGD9
zr^n|SB`zq)F8(ma#VI3dQ%37=g$ujqE6bmpq@=`<v}XQ?Zvi6mOFm{Z3r{UvXrvc%
zto78607>z)i_&I2WlmtRX($zHHCN7N6kfn9GfCr4<mRP2r~Ax$YMYR@rR~6-70Vs|
z{F7TA*|#+@^xcvdvyxW7TNZgw^W<;Q&t>mai?_XEFVH_(o2@_7b_0{%0nP}Oz#k@`
zR0~+v9T2+_@j3Ko{DOXMb*;xvsi#()_0L=Dw=B%4u|t5R@#gPmTWih41miy6bMIMf
SB{Ci8V+K!GKbLh*2~7a!e||au

diff --git a/java/res/drawable-land-hdpi/hint_popup_holo.9.png b/java/res/drawable-land-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index 2b93014e1dd7fd0ea7bfcfe81fd3982440cc6772..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 321
zcmeAS@N?(olHy`uVBq!ia0vp^hCr;v!3HFydN;cODVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9s(?$DS^ZAsLNtXZmtA8wj|~zoaC(k^MsJcl)W_whp_$s>fP5afEPl
z$sV?m5ZKT1%&>6bqdCk4LDQXo?N9qGr}wv<{g{)?WCKp!87*QyPTXn>Stnm;^2|7>
zvPGcvNUnCy?tgmIRSg(SO22;lBvMfo9k(fMT8}~gt1P=)B`5Bwc&+5oXjt_2*O}AB
z4<3f<wU*01TQ2;+(5X-0w92()gQ}k*Yv!A6%Ky$c`OhYgz6%@|u3QyKd0p%r9PYfK
x)ZD(&!cOFf0~Y%gxjMfteX;5Prn$u@*)ti<dp0GN0sYRv;OXk;vd$@?2>^-<c<}%L

diff --git a/java/res/drawable-land-mdpi/hint_popup_holo.9.png b/java/res/drawable-land-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index c409cea00a98ad81938650f5c8f4c406450b449a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1180
zcmbVMe`p(39KYchrK}rMC^*J=-lPs}a_?O(P3~wqFS*<rF>OeKW)4R$cQ4Jgy&t=K
zZIUv!(Ld}8>coi({-Faw7&;O5hf;OZ>4q|)OdL1{`)8YTKPXHJ8&<Y=ZPM+JvOjik
z_ulut@8|RVeKWa%ogM9)+Zl%G$n-0Dx;{tWEp6-Qcb>Vhg)YyMbcqz43aM!xW@N)D
zW00}5VVuXB(b)Sd?q!&#DrT`nO4(N=-Lb-2pcAfJE=4m;?~b~w>7$r{G9EVV1Uo-_
zk_D!bU|)-7Vb)FIs@Xs3;lkuVQJ);uMT6bZ2YTxgC9p8jK;0U%eW{*cmv|+*4~{t&
zEUA#u1iS21DVqZ+$HO2Rh9MpHK+uE2C?dpSv2MUa1Ublah!3Hd6yYTZLGxj$HP5I>
zc|~p7qEdpb65>i6SF6>+wMf|UhB+jPV!*-kA*vDb8#dAEA=}^9Vo<QJd!|cF#|8nT
zR(8fof~B4=hhVwc><Y2%Hxoru#?>{KLt)5SRuI>cwomf-p&P4e`^AQfxjgoraZji9
zsBCM2Y3?3xC{U!{NQ0h9i=vGwjy`T-n`D#(OK-x4X-Ir52IYt-3y6>O#1Rc&NXfD&
z!nlgWn1EUwt6}A&tO{u{stT%tkfO%ZN?hfUtnzUoEhHl?Y{vG9X6v|R*Q9ovSmCi)
zDdk~}I9}0l##$Yat2)H-tBwm&g(%2sx@iY;P@d&z73`T4*ib#k0!#Uo%vJ11p)8{a
zil~r>LEP~eQsthgnvSOAI83M5Cf0b8oN?3{E@+NNnx%C_J22R;v_2J9h6mepVmvw;
zi=kgm)3G|2QRHI%;;j#VZ2t+afAh%E_0!ki*!aVJy)ietXZH2`L+jYxXN=nu{eUcX
zT-p8Gd+!up{`p+#>B3>{@bg`tXUfkU>|1k>$sHVN`}8yGi{CGuo!gau5l*{p)9#^@
z(zS(&%VqJ@>8txDk9D2e+0l6Ez=G+&nq)@qZk-wVbMxJS@6n0Bz|`?Ol`s3we)WH~
z`o|0Z%)NWQ{lxaYi(=PQXSa1@```H^=f4|#Yi;*`Gar0&;qB!6y<PJkZTNc6p`-hA
l#|Fu+&e4zW{JYRO#9Tj<6E}VG?aknSkx36I$CE=-4*=-!k1PNH

diff --git a/java/res/drawable-land-xhdpi/hint_popup_holo.9.png b/java/res/drawable-land-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index 3cd20d34f29fa6f82cdca19ebff196f10aeffd75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 373
zcmeAS@N?(olHy`uVBq!ia0vp^4nS<i!3HGDh2}E>DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_DjN+ayjv*P1Z)ZDp9dZzH@s^aF(<-MB`Q+d7Q%aT%&C;E>^6H#3
z+&m;6MVHue=q^;!zZ%cd?4{`$)U{aa(Y@EZKT2l$OG}9PH*hat&4^*pb$HB_!6+r}
zz<pr{LsY{t)(cD~dJSR=3K_RB^um;U-l}qi|FL4+yrj7*E3;?cSDMakE1qB2`KQ?T
zop1${*t1XP>d#-VlgOWRW$RhpbN`Q2>8zWdw0GT^+&=Y$M7{Su^BVq0?iJs8eD>?p
zpS_D`2mfVxbFJlf;u+zB=}Xq-{=2jB=Jqxv^S|ob73<6*tmiS{cMjaePvTow|G6LF
cmHC}%d#r8r=dgoHz;I*mboFyt=akR{0DzK=tpET3

diff --git a/java/res/drawable-mdpi/hint_popup.9.png b/java/res/drawable-mdpi/hint_popup.9.png
deleted file mode 100644
index 444cc26ee69c1e754a95d8c977e7169fab1e9321..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^N<gg6!3HF=x@HvuDajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_d9MLC`>jv*Dd-rR8HI-tPg61cp=<$e9skb_IN1&Ff!Vs2Xf
zAwW6M)g_A8)6_RZ^Els$z8#Z185lo_-DJFYYW`YACKe6>1&0O(Mx*8}br%=qmsS*A
zviZ*!^s8dl?{yrZ&R1)!l$Wpndy)T%?g56ES7dENwbS1L?Pc(E^>bP0l+XkK<jF^<

diff --git a/java/res/drawable-mdpi/hint_popup_holo.9.png b/java/res/drawable-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index e9e131c549a8f836fa643e9ecfac35d7755f98a0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 273
zcmeAS@N?(olHy`uVBq!ia0vp^5<o1*!3HF6)y8xHDVAa<&kznEsNqNf@i_}TB8wRq
zxI00Z(fs7;wLrnmo-U3d9-VKe+Hx@&3b@6)c;75D)NE=M->`Yhrv>v4-jc3p)tz)~
z|Fx|XZXVJ&?R1URJl2k5X3d03A0f34j)oS)RZj2L#GO<zRb)1LQ15%Y`_xaN8%+EU
z5_;?0_DF7E=6aCPTh`2QfGwi7;(+EO-Nw@F`*v(E<StsCVT!5VBmIHvqv|vnhtl3t
zKUo8!7r(dP!!(2Wo|J6%?31@M-?<*1@<nM<_yQM}rTf;GuE`SFWB->eFyCQS!y3V-
QK<6`fy85}Sb4q9e08eaYIsgCw

diff --git a/java/res/drawable-sw600dp-hdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index 2ffc6ea2b374664d35e3ca4ceba205c10b435cb9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 333
zcmeAS@N?(olHy`uVBq!ia0vp^hCr;v!3HFydN;cODVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9s(?_nt0}AsLNtXDad^G7xZ+XEDiYGg~Nj`2T-d37({+-~_c9jv@zj
zO<Efx53Suf-6Z<g){}d;3j1~%GPz`Kc78QK{Uc}L&-YwC>Zxm5JTnfeY)KG`GT_vm
z(IV#K#JzgY;=EhEd)_tjDO8kueKIZZSSFKtCf4YaO-1?qO)ut{bIv=;9CB&J>~B(g
zc6<EiyP@{jx^kZCW9PbgOKu6Cy5qNJUk)qJ?FZAI)SB)4KdJYt@2Mo66|=WFb@AW(
z8fo^&oaOzloLA>-l1^FNoa!K{orq+&+CtXJ7n;CMGMKY5y?VNAa*Pebs!Che7xfIw
QfnI0uboFyt=akR{0PsbD-v9sr

diff --git a/java/res/drawable-sw600dp-land-hdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-land-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index 2ffc6ea2b374664d35e3ca4ceba205c10b435cb9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 333
zcmeAS@N?(olHy`uVBq!ia0vp^hCr;v!3HFydN;cODVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9s(?_nt0}AsLNtXDad^G7xZ+XEDiYGg~Nj`2T-d37({+-~_c9jv@zj
zO<Efx53Suf-6Z<g){}d;3j1~%GPz`Kc78QK{Uc}L&-YwC>Zxm5JTnfeY)KG`GT_vm
z(IV#K#JzgY;=EhEd)_tjDO8kueKIZZSSFKtCf4YaO-1?qO)ut{bIv=;9CB&J>~B(g
zc6<EiyP@{jx^kZCW9PbgOKu6Cy5qNJUk)qJ?FZAI)SB)4KdJYt@2Mo66|=WFb@AW(
z8fo^&oaOzloLA>-l1^FNoa!K{orq+&+CtXJ7n;CMGMKY5y?VNAa*Pebs!Che7xfIw
QfnI0uboFyt=akR{0PsbD-v9sr

diff --git a/java/res/drawable-sw600dp-land-mdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-land-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index f5d15b72856e2fd5a549ddf80fd02243503be36f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 206
zcmeAS@N?(olHy`uVBq!ia0vp^ia;#G!3HGXGhCAaQd2!$978;gC;#~W-=10E5BtR%
z1|gG{%~-&k@s?x4N0wNN2Yn0J<w}pNP<E3w+#>Vw!O7q{g>4K;zAA=c3TACdVKGTp
zN?1-X?hDZ25)F0~3O=an=Ifr}#QTjQNpHmrkx8vVJC3ZFrRJc>P|Ofz@=;hw`mF5X
z`+_A|p}cFD-7bR-cATPIkm|l`s_=$?XB`qJI5V7Cq(8TQ&YKxP2QqlN`njxgN@xNA
DS(8b8

diff --git a/java/res/drawable-sw600dp-land-xhdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-land-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index bc37fa844eaed229a97cba24c861336b648b64c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 379
zcmeAS@N?(olHy`uVBq!ia0vp^4nS<i!3HGDh2}E>DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_DjIy3Cjv*P1Z)b1pI^-bYy1x5b*zFk&ncHvv|KFFpZKKD;kXuVG
zq;+qsWKJ~bR(c{*%zvU~y13=e&rPlYnyQ{&A6Itm`2H)e#_iVvUY>6C1B@4#O!yka
z78EjUVd!OEz?vb$pzH9MA%jth-GTdp1w&Lr+V2%N_#fNx?N6GkvNC)2{YClW?e~v{
z|8e<$U%QrNUPEiuy`SfQ-r|4kI%(H7OZUGLuNUs9>-zd7>Hez<Cb3tQ>7Q7hq<@L}
za#w7f{_FGK*7|)F-thB%ihWNd)4EAlww^sKJNs{z#;;}Nzrv2ZXU#e;`~cbZV}u>3
jwqJ79r+R12rDtUyOt+0Kp3S`h7<vqzu6{1-oD!M<rf`_-

diff --git a/java/res/drawable-sw600dp-mdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index f5d15b72856e2fd5a549ddf80fd02243503be36f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 206
zcmeAS@N?(olHy`uVBq!ia0vp^ia;#G!3HGXGhCAaQd2!$978;gC;#~W-=10E5BtR%
z1|gG{%~-&k@s?x4N0wNN2Yn0J<w}pNP<E3w+#>Vw!O7q{g>4K;zAA=c3TACdVKGTp
zN?1-X?hDZ25)F0~3O=an=Ifr}#QTjQNpHmrkx8vVJC3ZFrRJc>P|Ofz@=;hw`mF5X
z`+_A|p}cFD-7bR-cATPIkm|l`s_=$?XB`qJI5V7Cq(8TQ&YKxP2QqlN`njxgN@xNA
DS(8b8

diff --git a/java/res/drawable-sw600dp-xhdpi/hint_popup_holo.9.png b/java/res/drawable-sw600dp-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index bc37fa844eaed229a97cba24c861336b648b64c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 379
zcmeAS@N?(olHy`uVBq!ia0vp^4nS<i!3HGDh2}E>DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_DjIy3Cjv*P1Z)b1pI^-bYy1x5b*zFk&ncHvv|KFFpZKKD;kXuVG
zq;+qsWKJ~bR(c{*%zvU~y13=e&rPlYnyQ{&A6Itm`2H)e#_iVvUY>6C1B@4#O!yka
z78EjUVd!OEz?vb$pzH9MA%jth-GTdp1w&Lr+V2%N_#fNx?N6GkvNC)2{YClW?e~v{
z|8e<$U%QrNUPEiuy`SfQ-r|4kI%(H7OZUGLuNUs9>-zd7>Hez<Cb3tQ>7Q7hq<@L}
za#w7f{_FGK*7|)F-thB%ihWNd)4EAlww^sKJNs{z#;;}Nzrv2ZXU#e;`~cbZV}u>3
jwqJ79r+R12rDtUyOt+0Kp3S`h7<vqzu6{1-oD!M<rf`_-

diff --git a/java/res/drawable-sw768dp-hdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index 2ffc6ea2b374664d35e3ca4ceba205c10b435cb9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 333
zcmeAS@N?(olHy`uVBq!ia0vp^hCr;v!3HFydN;cODVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9s(?_nt0}AsLNtXDad^G7xZ+XEDiYGg~Nj`2T-d37({+-~_c9jv@zj
zO<Efx53Suf-6Z<g){}d;3j1~%GPz`Kc78QK{Uc}L&-YwC>Zxm5JTnfeY)KG`GT_vm
z(IV#K#JzgY;=EhEd)_tjDO8kueKIZZSSFKtCf4YaO-1?qO)ut{bIv=;9CB&J>~B(g
zc6<EiyP@{jx^kZCW9PbgOKu6Cy5qNJUk)qJ?FZAI)SB)4KdJYt@2Mo66|=WFb@AW(
z8fo^&oaOzloLA>-l1^FNoa!K{orq+&+CtXJ7n;CMGMKY5y?VNAa*Pebs!Che7xfIw
QfnI0uboFyt=akR{0PsbD-v9sr

diff --git a/java/res/drawable-sw768dp-land-hdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-land-hdpi/hint_popup_holo.9.png
deleted file mode 100644
index 2b93014e1dd7fd0ea7bfcfe81fd3982440cc6772..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 321
zcmeAS@N?(olHy`uVBq!ia0vp^hCr;v!3HFydN;cODVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9s(?$DS^ZAsLNtXZmtA8wj|~zoaC(k^MsJcl)W_whp_$s>fP5afEPl
z$sV?m5ZKT1%&>6bqdCk4LDQXo?N9qGr}wv<{g{)?WCKp!87*QyPTXn>Stnm;^2|7>
zvPGcvNUnCy?tgmIRSg(SO22;lBvMfo9k(fMT8}~gt1P=)B`5Bwc&+5oXjt_2*O}AB
z4<3f<wU*01TQ2;+(5X-0w92()gQ}k*Yv!A6%Ky$c`OhYgz6%@|u3QyKd0p%r9PYfK
x)ZD(&!cOFf0~Y%gxjMfteX;5Prn$u@*)ti<dp0GN0sYRv;OXk;vd$@?2>^-<c<}%L

diff --git a/java/res/drawable-sw768dp-land-mdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-land-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index c409cea00a98ad81938650f5c8f4c406450b449a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1180
zcmbVMe`p(39KYchrK}rMC^*J=-lPs}a_?O(P3~wqFS*<rF>OeKW)4R$cQ4Jgy&t=K
zZIUv!(Ld}8>coi({-Faw7&;O5hf;OZ>4q|)OdL1{`)8YTKPXHJ8&<Y=ZPM+JvOjik
z_ulut@8|RVeKWa%ogM9)+Zl%G$n-0Dx;{tWEp6-Qcb>Vhg)YyMbcqz43aM!xW@N)D
zW00}5VVuXB(b)Sd?q!&#DrT`nO4(N=-Lb-2pcAfJE=4m;?~b~w>7$r{G9EVV1Uo-_
zk_D!bU|)-7Vb)FIs@Xs3;lkuVQJ);uMT6bZ2YTxgC9p8jK;0U%eW{*cmv|+*4~{t&
zEUA#u1iS21DVqZ+$HO2Rh9MpHK+uE2C?dpSv2MUa1Ublah!3Hd6yYTZLGxj$HP5I>
zc|~p7qEdpb65>i6SF6>+wMf|UhB+jPV!*-kA*vDb8#dAEA=}^9Vo<QJd!|cF#|8nT
zR(8fof~B4=hhVwc><Y2%Hxoru#?>{KLt)5SRuI>cwomf-p&P4e`^AQfxjgoraZji9
zsBCM2Y3?3xC{U!{NQ0h9i=vGwjy`T-n`D#(OK-x4X-Ir52IYt-3y6>O#1Rc&NXfD&
z!nlgWn1EUwt6}A&tO{u{stT%tkfO%ZN?hfUtnzUoEhHl?Y{vG9X6v|R*Q9ovSmCi)
zDdk~}I9}0l##$Yat2)H-tBwm&g(%2sx@iY;P@d&z73`T4*ib#k0!#Uo%vJ11p)8{a
zil~r>LEP~eQsthgnvSOAI83M5Cf0b8oN?3{E@+NNnx%C_J22R;v_2J9h6mepVmvw;
zi=kgm)3G|2QRHI%;;j#VZ2t+afAh%E_0!ki*!aVJy)ietXZH2`L+jYxXN=nu{eUcX
zT-p8Gd+!up{`p+#>B3>{@bg`tXUfkU>|1k>$sHVN`}8yGi{CGuo!gau5l*{p)9#^@
z(zS(&%VqJ@>8txDk9D2e+0l6Ez=G+&nq)@qZk-wVbMxJS@6n0Bz|`?Ol`s3we)WH~
z`o|0Z%)NWQ{lxaYi(=PQXSa1@```H^=f4|#Yi;*`Gar0&;qB!6y<PJkZTNc6p`-hA
l#|Fu+&e4zW{JYRO#9Tj<6E}VG?aknSkx36I$CE=-4*=-!k1PNH

diff --git a/java/res/drawable-sw768dp-land-xhdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-land-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index 3cd20d34f29fa6f82cdca19ebff196f10aeffd75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 373
zcmeAS@N?(olHy`uVBq!ia0vp^4nS<i!3HGDh2}E>DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_DjN+ayjv*P1Z)ZDp9dZzH@s^aF(<-MB`Q+d7Q%aT%&C;E>^6H#3
z+&m;6MVHue=q^;!zZ%cd?4{`$)U{aa(Y@EZKT2l$OG}9PH*hat&4^*pb$HB_!6+r}
zz<pr{LsY{t)(cD~dJSR=3K_RB^um;U-l}qi|FL4+yrj7*E3;?cSDMakE1qB2`KQ?T
zop1${*t1XP>d#-VlgOWRW$RhpbN`Q2>8zWdw0GT^+&=Y$M7{Su^BVq0?iJs8eD>?p
zpS_D`2mfVxbFJlf;u+zB=}Xq-{=2jB=Jqxv^S|ob73<6*tmiS{cMjaePvTow|G6LF
cmHC}%d#r8r=dgoHz;I*mboFyt=akR{0DzK=tpET3

diff --git a/java/res/drawable-sw768dp-mdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-mdpi/hint_popup_holo.9.png
deleted file mode 100644
index 01d1139d87ad4a618340a075ae5df7e30d31c779..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1168
zcmbVMTWHi+7><rxv|6;@P}`Mk0wTCGIVaOjCb83YW|Gtqrw-G>Ek2n^PCK#9#pKjU
zs}DsKc9%tcP<&PTu%II7li-7jFJ2zJAiJ>a!qV!SA`~CI)XT|qrutBPFp!+v|9#*8
z|L6bnTcN+NrFly;MNuueU2>6(Kasb6c@z1*qW)?p!)B}u;sIv}S2Yh&X~QWaI%jFa
zsE9OU{LnqrMNyF<voweY^Lr%Sv0_?i6ALVtped@WCvY`=1Yx?2hD|%gyt;9dp-m&j
z{L+~Rc{htH=B^134NUZx^obE&G?<=lx+{<ffrYR}2iB<VOF@dM@k(SKZgUJ>Gr=P%
zX5Oj6e1Xn79-=#AAgY4|pc60#;~jz^{7mxz0uJyT<fBlK;=BX^U4Iy&<{3j$QC90(
zWR+qn7`qb3RjbulH6C-kVGfF-7;^A@lvqUlaT{wv)b`m1gN%ILGhJ*tHXSl*WoHbh
z7~<)C2$q}AFA&>)Jy9fOT%frei~-KF!nkVIJ}#m!ZY*l;m&RSh6_M|Zc{;g|A+`Y~
zx%;+IXh^(~_If6{6m3*?^f3$BI47qVauPF4L*fMiq~l_`1M=}i5|Z#cvgx!af}{#X
zp#wHJ7Q;eC0ICp|K_b}+p#n0ZA}CPE3Tje;P)IbeIorpYt)qsnNp$Pj>^HGe)<YV0
zyprRLHY%V{aj@f89GA`xbkccEH|=m8UeA2AGV;vB$WT4UqHFn;%tiE75hP@o$Yhc{
zaRI`l096I5nKTeGVlu8Ub*%9{Ipc^kTv!}m6-#4_RA4w=D1EY6XdYyfj`2uqtekzg
zl(f~YoSZHN|CHxGed>v@EPMLh!@H9|P|r8@9;~eB-8eHwMdT$f+o@HQdUWHe=DtUf
zKcw>0)~S=5_MZ&iyx!b%`pL5CQ?pNse_tqH?%lom;<L4dIUxaex8FX#t;w6*zUC4Y
zU3=p9dy%W_*FTtPW!uj0oMz87y?wFc%!iiT$F{9-c4}EF-<$n^2l(~o1!Y~N@Ph5W
z`uJZs_hb6pz75@dkM1m)GHaUj{nqQ(*#GXY*nZ^JvB=Z+k>!B;Q2g_@Iy!td{72-J
Ke)&q~z_HKy-gr3x

diff --git a/java/res/drawable-sw768dp-xhdpi/hint_popup_holo.9.png b/java/res/drawable-sw768dp-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index bc37fa844eaed229a97cba24c861336b648b64c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 379
zcmeAS@N?(olHy`uVBq!ia0vp^4nS<i!3HGDh2}E>DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_DjIy3Cjv*P1Z)b1pI^-bYy1x5b*zFk&ncHvv|KFFpZKKD;kXuVG
zq;+qsWKJ~bR(c{*%zvU~y13=e&rPlYnyQ{&A6Itm`2H)e#_iVvUY>6C1B@4#O!yka
z78EjUVd!OEz?vb$pzH9MA%jth-GTdp1w&Lr+V2%N_#fNx?N6GkvNC)2{YClW?e~v{
z|8e<$U%QrNUPEiuy`SfQ-r|4kI%(H7OZUGLuNUs9>-zd7>Hez<Cb3tQ>7Q7hq<@L}
za#w7f{_FGK*7|)F-thB%ihWNd)4EAlww^sKJNs{z#;;}Nzrv2ZXU#e;`~cbZV}u>3
jwqJ79r+R12rDtUyOt+0Kp3S`h7<vqzu6{1-oD!M<rf`_-

diff --git a/java/res/drawable-xhdpi/hint_popup.9.png b/java/res/drawable-xhdpi/hint_popup.9.png
deleted file mode 100644
index add4743370bff325085bef2a125d9d66cabb58ca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 292
zcmeAS@N?(olHy`uVBq!ia0vp^PC)F#!3HF6#wE@GQY^(zo*^7SP{WbZ0pxQQctjR6
zFmQK*Fr)d&(`$i($2?seLn`LHy=~Za*g(X=QS*)9_Zij4=Raeeq{f-~hS&JPA-9B|
z3*C;z8E^JWu<G0S(^3kkt!C{`8QbQ~0!mIU9UOv+N-ixO0)nJ+^j;sBf9l+kt_O|!
z`T1}ICeB~1{^87-KlkRp-}~Qg=RZDept&4!H?r>_EUHescJKGq9smC=`~8yn+?icW
YHc9f?mKV0A0G-C*>FVdQ&MBb@02P>IsQ>@~

diff --git a/java/res/drawable-xhdpi/hint_popup_holo.9.png b/java/res/drawable-xhdpi/hint_popup_holo.9.png
deleted file mode 100644
index a2b114e1489b4b0b3671bcda39e48c87fa948319..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 410
zcmeAS@N?(olHy`uVBq!ia0vp^dO)nj!3HGHXk;n^DVAa<&kznEsNqQI0P;BtJR*x3
z7`Qt@n9=;?>9q_Dj5eMwjv*1PZ)fcFIvgP3;NR37)YbeV;hlhtmB{yXj~+SyD6{Ka
zy?BRJ%cK_<7It`Odf2tAn8a0^?md*tbiZ+TjqQZVcmAn%a5O}$zJBFw*P<^1o!?_0
zbhov;9d=&)aN)%d7cwd`Ol(Y~<YqBn=Z=i)X^=Ev3p<dVHAy{weVKX#V_zfx14Yx5
zv;8Z+cz+SuvCwL#Py|!?TjtWQQSWpMt`)s+bnmZt-g`u~;B1<E(gT(msg;E<9-6+}
z`7|!@?X`0|4)woEHQw|r)>bAiX1DcYuJ|k2xBuKdeE8v7na}oxt@{~fnrb&zW=-<v
zUtf6r+8TyuvB|e{{uY>}R2DjJotm96aaPJt|9qY~n|`uY`S}J_mGFO)oMShSqYvtZ
z-w6};J2mfp1oVK1OUEMldZFLn_Wc*rP^w|%U!Knt)ngY43|t0JS3j3^P6<r_S<bJR

diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 351be28f2a..6b063efff1 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -64,9 +64,6 @@
         <attr name="keyUppercaseLetterInactivatedColor" format="color" />
         <attr name="keyUppercaseLetterActivatedColor" format="color" />
 
-        <!-- Popup hint icon "..." -->
-        <attr name="keyPopupHintIcon" format="reference" />
-
         <!-- Layout resource for key press feedback.-->
         <attr name="keyPreviewLayout" format="reference" />
         <!-- The background for key press feedback. -->
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 07a7f3c863..1f1488e262 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -49,7 +49,6 @@
         <item name="keyHintLabelColor">#E0E0E4E5</item>
         <item name="keyUppercaseLetterInactivatedColor">#66E0E4E5</item>
         <item name="keyUppercaseLetterActivatedColor">#CCE0E4E5</item>
-        <item name="keyPopupHintIcon">@drawable/hint_popup</item>
         <item name="keyPreviewLayout">@layout/key_preview</item>
         <item name="keyPreviewBackground">@drawable/keyboard_key_feedback</item>
         <item name="keyPreviewSpacebarBackground">@drawable/keyboard_key_feedback</item>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 840e52894e..157c2b4e0f 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -100,7 +100,6 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
 
     // Miscellaneous constants
     private static final int[] LONG_PRESSABLE_STATE_SET = { android.R.attr.state_long_pressable };
-    private static final int HINT_ICON_VERTICAL_ADJUSTMENT_PIXEL = -1;
 
     // XML attribute
     private final int mKeyTextColor;
@@ -125,12 +124,14 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
     private final int mPreviewOffset;
     private final int mPreviewHeight;
     private final int mPopupLayout;
-    private final Drawable mKeyPopupHintIcon;
     private final int mKeyHintLetterColor;
     private final int mKeyHintLabelColor;
     private final int mKeyUppercaseLetterInactivatedColor;
     private final int mKeyUppercaseLetterActivatedColor;
 
+    // HORIZONTAL ELLIPSIS "...", character for popup hint.
+    private static final String POPUP_HINT_CHAR = "\u2026";
+
     // Main keyboard
     private Keyboard mKeyboard;
     private int mKeyLetterSize;
@@ -369,7 +370,6 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
         mKeyTextColor = a.getColor(R.styleable.KeyboardView_keyTextColor, 0xFF000000);
         mKeyTextInactivatedColor = a.getColor(
                 R.styleable.KeyboardView_keyTextInactivatedColor, 0xFF000000);
-        mKeyPopupHintIcon = a.getDrawable(R.styleable.KeyboardView_keyPopupHintIcon);
         mKeyHintLetterColor = a.getColor(R.styleable.KeyboardView_keyHintLetterColor, 0);
         mKeyHintLabelColor = a.getColor(R.styleable.KeyboardView_keyHintLabelColor, 0);
         mKeyUppercaseLetterInactivatedColor = a.getColor(
@@ -838,19 +838,15 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
             }
         }
 
-        // Draw popup hint icon "...".
-        // TODO: Draw "..." by text.
+        // Draw popup hint "..." at the bottom right corner of the key.
         if (key.hasPopupHint()) {
-            final int drawableWidth = keyDrawWidth;
-            final int drawableHeight = key.mHeight;
-            final int drawableX = 0;
-            final int drawableY = HINT_ICON_VERTICAL_ADJUSTMENT_PIXEL;
-            final Drawable hintIcon = mKeyPopupHintIcon;
-            drawIcon(canvas, hintIcon, drawableX, drawableY, drawableWidth, drawableHeight);
-            if (DEBUG_SHOW_ALIGN) {
-                drawRectangle(canvas, drawableX, drawableY, drawableWidth, drawableHeight,
-                        0x80c0c000, new Paint());
-            }
+            paint.setTextSize(mKeyHintLetterSize);
+            paint.setColor(mKeyHintLabelColor);
+            final int hintX = keyDrawWidth - getLabelCharWidth(paint);
+            // Using y-coordinate "key.mHeight - paint.descent()" draws "..." just on the bottom
+            // edge of the key. So we use slightly higher position by multiply descent length by 2.
+            final int hintY = key.mHeight - (int)paint.descent() * 2;
+            canvas.drawText(POPUP_HINT_CHAR, hintX, hintY, paint);
         }
 
         canvas.translate(-keyDrawX - kbdPaddingLeft, -key.mY - kbdPaddingTop);
-- 
GitLab