From 1e9aac2bd855f12708d3049eff4435fa4a2f4317 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 15 Sep 2010 17:36:33 -0700 Subject: [PATCH] Update Inet Connection Status display Cellular signal strength should also be green - these assets aren't, but the art guys are working on that. Also using a new intent so we don't overload the CONNECTIVITY_ACTION and confuse the apps. bug:2994024 Change-Id: I6fe8f65dd6e9869d9724064c4fae45340491a4d8 --- .../java/android/net/ConnectivityManager.java | 11 +++ .../stat_sys_r_signal_0_fully.png | Bin 0 -> 1223 bytes .../stat_sys_r_signal_1_fully.png | Bin 0 -> 1239 bytes .../stat_sys_r_signal_2_fully.png | Bin 0 -> 1231 bytes .../stat_sys_r_signal_3_fully.png | Bin 0 -> 1206 bytes .../stat_sys_r_signal_4_fully.png | Bin 0 -> 1151 bytes .../drawable-hdpi/stat_sys_signal_0_fully.png | Bin 0 -> 1058 bytes .../drawable-hdpi/stat_sys_signal_1_fully.png | Bin 0 -> 1070 bytes .../drawable-hdpi/stat_sys_signal_2_fully.png | Bin 0 -> 1070 bytes .../drawable-hdpi/stat_sys_signal_3_fully.png | Bin 0 -> 1042 bytes .../drawable-hdpi/stat_sys_signal_4_fully.png | Bin 0 -> 986 bytes .../res/drawable-mdpi/stat_sys_r_signal_0.png | Bin 802 -> 0 bytes .../res/drawable-mdpi/stat_sys_r_signal_1.png | Bin 818 -> 0 bytes .../res/drawable-mdpi/stat_sys_r_signal_2.png | Bin 802 -> 0 bytes .../res/drawable-mdpi/stat_sys_r_signal_3.png | Bin 798 -> 0 bytes .../res/drawable-mdpi/stat_sys_r_signal_4.png | Bin 726 -> 0 bytes .../res/drawable-mdpi/stat_sys_signal_0.png | Bin 587 -> 0 bytes .../res/drawable-mdpi/stat_sys_signal_1.png | Bin 597 -> 0 bytes .../res/drawable-mdpi/stat_sys_signal_2.png | Bin 595 -> 0 bytes .../res/drawable-mdpi/stat_sys_signal_3.png | Bin 594 -> 0 bytes .../res/drawable-mdpi/stat_sys_signal_4.png | Bin 532 -> 0 bytes .../stat_sys_signal_flightmode.png | Bin 898 -> 0 bytes .../drawable-mdpi/stat_sys_signal_null.png | Bin 730 -> 0 bytes .../systemui/statusbar/StatusBarPolicy.java | 80 +++++++++++------- .../android/server/ConnectivityService.java | 12 ++- 25 files changed, 69 insertions(+), 34 deletions(-) create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_4_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_signal_1_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png create mode 100644 packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_1.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_1.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png delete mode 100755 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_flightmode.png delete mode 100644 packages/SystemUI/res/drawable-mdpi/stat_sys_signal_null.png diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 331ce10a64a2b..39681912dec30 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -123,6 +123,17 @@ public class ConnectivityManager public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; + + /** + * Broadcast Action: The network connection may not be good + * uses {@code ConnectivityManager.EXTRA_INET_CONDITION} and + * {@code ConnectivityManager.EXTRA_NETWORK_INFO} to specify + * the network and it's condition. + * @hide + */ + public static final String INET_CONDITION_ACTION = + "android.net.conn.INET_CONDITION_ACTION"; + /** * Broadcast Action: A tetherable connection has come or gone * TODO - finish the doc diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_0_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..95ba18137f6bab9fe698c611538e833cfbc3dc80 GIT binary patch literal 1223 zcmV;&1UUPNP)3xknGFc0W+Lpe;J|{3CJQUVZXyOIVx~rBq8N&aMjCkFF*2evDk$FP)-S21 zx~x9znUO6hx~uE>ul|4a|F5>ay}iNzSRCOl(BI!5*8K7D@#p|sTwJs~*KW6K_Stw- zc64+&gTdghySqCtY36^C)%*zw33G0@`{&Zq(xX&kWCy>qva-IBL6Df32r)4+QAPCf z@&dQFxA{aFKWsJ|3i~bvmX?;*8y6QxL1B4)eT_Jn^z?KnDk_55*jP9{J%z)=LmM)TE>&x(>>~idu8IT=ZSEjza{-gTgX6 zI7pvp-ie6`AVdX^#{+)9-x8;I0C*}9sQCQ@Ft#(kl$V#&XF)*$eG;<5{{FrtQ=)Jl z0Bg(S8Uh;{8dBcR&dy+JYU;z7&uENyPt1fexpo;ae$dLw3Oqi(yO)iP4Om@WwahW5 zAyz*H?D_ebR#rwwM`31WhAzcPiqX{5!mwbGHv(t^iaNOX$4Dt zeLY4IXlZGoE<#IVdK^;$dwP0Os`zbeYz(%yx9PXOzCP7hzLu1fKyGd>1%$4kv9VFr zF9RjY)O8nKU0ol@J1{U{%Cqw)FE1}oSyMcfJjZn11=^a#tgyolF9f|j<1FKts0fkQ zQ2{37C=)8{GYu>f8G~pp#vjHpQDgXB7Z?sQqp_Nr8YnF-r3-IvZo=N)p00N{!!cdY zZ$@L;+1XH6SEsbmC17@Nb#*1x7`{h@V@8(~Jazo;Qc_YNBO?RO&(EbiLgCDmq9bKv zvENW*2n@|xU0qERx{HeoSYKbK`It;2EREp_uB9M>iPKv zuq~QHCRo;QG?&+!DPTxOHjrF`={1Wj&igtvJGv5HIPavj=HfhjCMPE=2SNm9mjT0s z5GR$Dl|fZi6}_r4t>6s_cU@Rm2(`7f)X(ki?kfFTTU#_b$mRwD0l2=trWr8CTTCc1 z)-o$;{#1#Nj}K;MX1YS55OuH^2QM!#VRm*_xsYJNi*ILVC(Tml=jY+z;6Sx#Yildb zTxD~~`q16oO*f7gowceWW@N#os|-9 lDy}8p5dl*~#l-&v7yuH>$VZwJ$Q1wp002ovPDHLkV1j(-GGYJ# literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_1_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..adf668d1c50760fbf7ef2a215db9995865154aed GIT binary patch literal 1239 zcmV;|1StE7P)4DK@|OoabH2ALfltG z+z`B|;6VlN0YUKOO$3JlBLiOaGBBb{F5Nqub%CCqo{;8`kB>(N*wWIH>A6;`Rn=zU zL)p^O665##e+L2qC%Mf1rl@)2M+QMcLIOlZMMV_R z>+37r-{0pFGJaYt7IgMQ3M@4>wKFz0mV(0e_VyNbFllLNP*6|+(b3Uxc6J6wM@K-& zfXBzjPE}wrF)?=1DWJ*8$)E)v9v#`yHaLMZcVl>y@it*)-Z)6++K+1%WOwY4?V z8e7uQz?UQ(WdwUIKcK*%F$;naH6yHi-W18s#V@>v~khdM)31)ewS*9_O z2vOG&0VdNZb1JhL1{RKrK@1nu57U^)7~a7q}W@GMifFmjc6WXJBA}-ovnA z_%NyJEv}{`wNNsR=>lWM#>U2=K@ANJicR*`@d8%^u4OYMejLn7Up`z~I>CF)ZdPNu zg(53^W%-FOzj?-ZFyef^RF};)yd`0|D+8t`VCL9}_+=Vnb9HNeJ;r2?wUVfw#+Y67 zDb4(Pp;QyFXlHAw&E;7$1S}8;1P#K{nk~*!3Xa3Dv&L?SdfTl+@(Z=MGl$4~r z5F#+E4A{cLLeQYa#YKe`JR#vz=jZ1`Wo0GJ`uqF)ihXBihwcs~B_&W^UQUmB%;xj? z;P&>GR=~L5VnK;}E&9|<7XersSy1KuFfxf-H zJ@EVe%IPRl4L?WV2OMOV?6vOo^>z8T3xeELR#t|Y-bv_ne8)E^LX3|v?jaIzsWN7! z4Gj&2R8$TR59@!pGt)vX#nt@V!Vrpxg!rET0|1leku~@D5RL!<002ovPDHLkV1nIY BTRs2) literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_2_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..7bf6b51066fe189387863da7fc2e586ebc79af24 GIT binary patch literal 1231 zcmV;=1Tg!FP)S|M{F9V1@&~^X5)#@;BZ!EIfS{nD zfFgQ*eTDn``&2^4cbm8Xy?r^D*w|P|Pfv&7;9xjAJA;FR z10ZC;6qe2RJ!7fw8eMI66AA1PXt;u&@vuj=#f3M@Pfm z-5s2so&u4SQ{_GW0Rf@rkYZNwudt$9Gcq#3?RHbUl^PitN&CSuup(e>NX=w?bp8kfHjg1Xh zUS77WF~$(9p91#s@KJu~J2FY|KwHhW7|;VPSzj*Vorm zy=k$6rJ$eyR}m;JEu|qsi!nWosenB{KPy#y*VoqvJ3Bk{U2}7@sx4nLGczGMIhg{& zP*7AGmmPi(jPgvg zOk*MuqOJo1Or}vbsLW;>*jHo>qPv)Wn8rlL@VzcDY-EP9rluyStE;0OV!)l5nbD2z zW;CW7`OPp^Qc?n~t*xq+VQp;<_V@RtjN$#4Xv}DHlAD|RAw9+rvAeq~)e#QPTqy=p z))wuCj3F>w@f#Z(p{Aw=wzjrlU|;~QuC8>GM_%AsjLB?TkzWc7mz~bePWmoCKOYhk z6KPP@0>;lgnU1tv$uwpNj2X+z%T0P{ zs~R&*6j|CU8{7ttd_GkpOs!exV&25wF*_fm$p)Hk(L@`QOH@>pG9g4@b{Vj# zsVP;X>FH@@2F=dSDtiDdH#ax1xVWg;x3{-xPL`FGMOO*j<}usx@iE-q-qH*>FE5WK zl$)EIbWGiFK~SHQ-LZ3ge4J8VQBgs6-~Ijl%7^Rg>rh);OH*ttLqkKf4J)gws}L3z zMl;vz>uZ>toK(KWt)Iu^!Q%kR7H)KKWx-6B?7+@7PkV}si+{((#kJ$Q=kM9X0RZ?{TrtDmcpCr!002ovPDHLkV1hKmNZkMc literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_r_signal_3_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..78738ac73ec7285d16fe4efda92a9976c62d5ff5 GIT binary patch literal 1206 zcmV;n1WEgeP)Pg1sVSx8!5iwFri@PUz{{y4I`e|$MaqLFMP5Y8i@Yd_a(TdL#JD^NV`L(>f{3Od5`GY^Hsi{9mC5VZMfryBR zup)YWeTDn``wT*c(_}K?U_WJnB_t%YL`6kWP-t&&Z(j~3F)of!0G8JOifL}$;pW!Q25g&B_&|7d<+{O9}jnT zcW`!g21HUe$?SdJSnx3;jrnQD@Ew7ztgO)Q=H_Oq zHzih3%w1hwFg`vGeSLk9oSdx4n3~2Uz@DF6(?l0wzihK zfzr}aa5|lmayd}^n5yogzP>(4yvT%>6%-UmzVq|*g+BRJDb|>(yTG|7dsawW4!^&m zuVR{I8smxJbsZL9a)BosR8GITfrV;vz?goR#(2gsUlkZu(!*F=TN^YrHPH^y;VvvJ zr~=cYF;&m6hp~!^3h3Q3=~<|tG49T7}IL26pv|cNw~_?bfN^zsK%H+HDi7)#^lQMGA5@n)|PK4>-j^O zN;UEGo?pzGE?|K`KvD@qYt}g*H?cfcP7bb$ZJ9e_a*2zJ6BYyy%q$0NZf;IeX?}iQ zSV4=6i^3TI?dIkNR##Vr^4Zy0#kM}54{mR7X#`wUR0Qei>9Di2L&sEg7X809)z#JX^gTR0EHvEO+JeT$MjB$HjgF4eI?V9wiL8~Emj|`Qqo2p)q2%P zgV1aLjyotqjF0TYp1r+2mm*_EtiQiMq-&^wfdTD{J0lj3Q2a}-I>U9j{7--Z0MJ~40~$h$BkyEAj=?74UD+&h+!j}Q1C#b#DPS67#*`4bZp(E+xxv0-?w z)oNAjvxrSuUtezz1OmT8p^%$AW`2{^{0RvO3r?r==jP_-GnX;)1;5kM()!3CNK8zG zn3$NTB6@p!gNKKQOhSgoVzJ<2Ke)h>lapKH;^HVMl=t`dF9(yCmj{iFjgXX-1bcgX z)D;LB@bvW5stC+(w>wCqfM#Z9BnlrNAK~)y66WUS;Ns%K5GeBD(A(P!#B}sIJ3AYK z!5{@lT*@J_p7;R)q0b@3Os=l3XhXB+!tlhT1G~O0E$U|em-4OZXKH(m>3jF ze}6yyMe|NgO;N=zmka!Uzi!5Ou7Nuf*Hi_@zDz6y1qJjsD=Uls5@&_8vok}caj>C1b@68Lg|U1Bb%_rKP3d@pyzjCC21y zs)mb(hK4XD$b^;@6%|RI3kwScojk_anyTRfZB5QBQ%8>ce8o7$d{${!%KbVjz<7zL z8ZhSkn!wBo4;b?wH6K$2h7%)Uti8P*nwpxZLJYX8tE;NO7$7|XRySi66&29k-7Ps8 z4h|0B{QO*T4%4gT{1KT_t2ikxE)H|<+}vC^Jv~)ioSBmM;mnkpj3F@GS#51?G@&~> zIs%{12e-Gks>vf;)Tr}E1Pp`Zz`y`~S5i^}>FMb-s44+tN0|{|EL>=27bsO#RgyuK zm6Z_%Nv*8HaN2{&ak9;33k#aePm~yA{YJxuW}=9S)waAAV@Bs{9!a>%)cizk%bW2r z&75D0F<#$SFeabJjr?XzY1H{60u~B|B!e)uX3FJx6MM({N#Uw%?*08e7nqd?Y&l zaZ5`JR99Ei>U(^AT*6{aO$|-4Q6?uRX^|q9j*bo}FE8iL#c~j@u3}?jDFN&2>onUX z6WY)^ln10 z>pSkC2r+-jIlORueC$;;r4bn(9yWCiH8L`yeQ{?*qLGS!$yH~xE|)(A7y!ivT8{N_ R{@nlo002ovPDHLkV1ij#5bgi~ literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_0_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..3e317ddfa7e4cae5c4c08d3a45ddd1b67f1104a0 GIT binary patch literal 1058 zcmV+-1l{|IP)oSgJDer|5gA7D#MOBs(127{J;0XdW-BO?*R zFn-Oy)d5n2 zjxqetipHEiPO$3a*%cQTQ+atgot>R&bp+=klxiXs@1oz4F#tn2J32aeL3e(BPV4LI zba!{BWki%QvcRnv)AhN^`~p~8TN@1w4De@QgVp4;xVY$O+)77Qp%fa^0SoGudUbWR z=>Qk9x#$zX#H9*Y?f*!hEn~VW7L}%*PVh|hXR0yBLQycFE&_SUt2LDj2KTyttFf-P zB$T_lTx2C+;niTF}{r;QDJ?8 z4@7(+*r=Tr_NfFbI~$iRlr6Pc*g`gqKf%TnYO95norr~?D2jpjh!0TIV0`U-v&>~O z&V6idt~e0Ly=P|5cfa$^nKR>ie}AX1*aB`Rn4Fw+HGW}X!5d&}Yin7L_51y%HlG~I z;o;$6GMW69N~I#~vHp{y7B4C)id9ur{ajyPPiq-tU+}xSx_XLrqT=FW%FE016w&MJ zD?L6w)-y7G_q8R3WdfB3JN$Vw70jnoP(*TsGz2%Cd$vxr;CdVIypHZMg~1S zJ&l_VWY~8a}$Gr-uT8e{Rdm%jx0afzHp*iAgGKDt-Wh=0LF*t)!%c%R}fI zB!t6ZIy*c2K*k4PUV##tk^x{<0;u}_12A;(5*VDz0K~J-@23L8+;V!t|1SYdW$eFz zy}Z151`Knnp%gwnXAENQ?(XKR?e6Z5c6N4nNuc3xLkXUu7(G0Sv;Si5CR-O7;Vg>J1hrfNIqz*N1+3rc5m z3@q2#9pMuCvC^0&Fm!UlSVu<(H8(f&iFbE*>FDUlGP^s`nB}T;!dOjB4Rv*O8PEOw z{k%FrYS1x;|2ff^-QfhQPX4;GvNEcytfcGfYpsspT!d0hq@pkEwu}K7lH~aKIE{{u z(%#-4MWa!=xw+9YBFY$9;AV{JY>qO&02YZvXl7=HzeCs%zKMwm+sVyzWEM)HF-Kbx z+Th?|MyG*+0mG(Sb+W+CfLqxdi65Os=_`lJN+)dwJ*D~id1D}s^~=l4G%_;6Pu2h}b_KNU?QJS7Eaa8z z?d>fsEiD;iQDVnpF*q oo94C@H}fCJK`1;4@m~Q30Jwg0m$tt#YybcN07*qoM6N<$g083uIsgCw literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_2_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..558c49cd7caa7bf8ffe78409d814572d2817c372 GIT binary patch literal 1070 zcmV+}1kwA6P)a+2o92^{U#pCf`i9{kmUYm*(wP<;HdAPQ=_UHEYc2dX~`3Jx2>gr}lBdDmT0Efe2 zDWX&=1#fR}O@xdeHk%D6`z{3L@p#5cOG_yzv~)UMa4^-?)zH$?0wpCSaC>_TmzS47 z$bk3v_c2vqE|*IpKT80i;h*mA?gppx-?VPG8(v>u;pXNBh@>P{@gpGA98zqBRaRC~ zc`#ig36dni_4RcQ89BhL0>w1N1He^@K$YKffMEkGf#Kvl0QN4Lx2V8yY(72V^Opdo zWbD6yeSUsg1`NkmhLX)`Ib$g1uC6Y++Mb`E;ppfHlc+h3eSCZX$-t(7wYRrJLqh|7 zMsPhnJ+QO0Babg)48P;g(sY5Dou9n1u~8mVOJkbp0%L8KG38ct7az22PixV5zv&d<+O0WD3ytnwMD-!V+ahB zFFs1gF$$FeAFx+d4a1jCh{4|{0vwi5P-S4Ir`1#^Fe)mJxoqcssiIz zo=8V(p=25}v?ZbS_xEQt>g(&v60j(5F~1rsT0TSK$HuJm<@Z0P6E((|KVOaM7K%u( zXaN{yOxd3=)miDD*Or86(>oF$sX(drTjWNG+Tw&%n6G|Q! z8%qr|&zd1%i9{l+Q8Jm72Upfj>>Km*Ntzs>>A_a%V{)mgs*)Fk5|~{CY<+z_tI@{B zhP;9zkq8CK46D@L-Cfy#c6LTgW@bEBh7ChS|Zv0hE=M(aQDd z=?T`>*5tleVu!AiI!$bnJs*L4h3kwUTips^sMg5Dr oe9UYqt~S530HLrX#D4`C037~4lby|55dZ)H07*qoM6N<$g2|owyZ`_I literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_3_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..6440bddb6927e790a38c1b9dd180d6f63db7612f GIT binary patch literal 1042 zcmV+t1nv8YP)R^v`TI8)U`iPnxwq6%`e+`uh4GySuwNUB=iS{Ay@um}ZTjva%9N zN=j@+^!oY=nM|gckr8n?95~o_U0}7fwW0Fzat;dZ?d|Qu!MNRSXl-qUva&L`y1Ih1 zvom01z|+%HNC?d3a(UQe3m`Q7>F(}sC@uXrY)wrKJU%``DwP5zDUVS62naQY6x(4{ zRaIObq-!L>hOf` zUjmqxvHt@0^73LEFzj19l{BX9jNwX~n3w>c&j;t{=dirI%;S|MjXgg<1B<|xfQ3RK z7#bSl?-&XqkqCdNe?7+VJ3h9Ci_Xr@ymCiJhtj7^W72Seb8VF|?f#0figYW}m{!{# z4oolcq(QY>qOvJqR!t8W=|`q9DKKnghOx1+F&G&c;T^87uEN&VmK2y7jY(If8OHkh z`e15mN-59H&B4LJ0i2$mO5>MhjTs$Iy1Kdw#NF1`1}7&c!W@pKQX5E#DXceS41wXw z3WviG2n68h=m?_GDBRuMNs~wVV&sW$#fzDR;RE2@eks(9+TZUauFLnwsG7@Q{xw4HpdcH9H-9*4EZI<%5HRaB*<~ zi;IhjV3F=L0}`2a6)+S}XV_VzX!kH_`zE*SC|Oodsb4>Eecea0OW zBPPlA;n?x<@r;nMVr+hX-qHbhVPV1e;;tC8BNhLUt4_Nvm;VYd0Iw?I`?%ld00000 M07*qoM6N<$g5A~j5C8xG literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_signal_4_fully.png new file mode 100644 index 0000000000000000000000000000000000000000..fe204230c736e6865e734b0fda91afb356d66403 GIT binary patch literal 986 zcmV<0110>4P)RCwCVSUpH1K@@(8F^M8rXcFO2 z5dRw+W0k}vHkLv_35ZClDB_VqIk3^@;EHf*w6>R^A&t?-#zqB;6cHOaIl+yl2qDq< zck_mu#Z6{+<8C(iU}0xx-n?(W_vX!;F}=UP!&elG-U${L7j@}xZEYC??C|hVv#!}} zmhCfrbmipaq*V}vpQTbMK$<-b^4g!4mX=+o)A{4*=%~zPjQqhbm&>(620?3UD>OAV z8H(uj^%aW6VhJFyAzaOTirl75@4bINaXebae z;OXfpC=1MLwK~XS2%!Hz4$I5SKwL-Ly}iAV&1NY;5>gJ?;733hb4alf(%s!Hf?_f- zFaW2gr&VNB0W%7eTxj6RM4O7ha6qGhF%MPRZ749_++PBiF2-J7UK+|6f<>E#GluCV z91g?i=qTLW+`#tsHr(Ca>0|8q`58zC)&(pW41(Y9r|%Aj10s0hR076=Ulo{M;Q?duqZDI` zz)-Ok#^&eeVS0L+PPntP1Ic7k5f}rcIl+5S-9X79A z@Ym!@wZqBC$VgRi_x1I`)zy`(app?ik26=QGKRo#WzEga(Sk0M$v`X?gIq4BSUfVL zT7$nPV1YmY*4EbOH_YH&U0o0gg=B$!+{!)+jHL_JEeXZz^-2bLJf518q}m>-c}qg% zsBE!Vs*)y)6FJ6Mzt(i2S}5YgN=sgiF|E3)TN17^r8rSq@_J%SwdPl2jMrBW#wzu= znO~19wFZApz)Gc(WKg+W7ALQ)o7gwjPY$l1(k&DUTwrD%u>Jjg$)H3cAuj2Ig9B=e zNj{&4YkjOh}A5!x3{-PZB{Zaxm2;+?Luc~rvp#Nv$M0{^ZDTR_7U!rF(yWpM89MbaH`> zjg9^8=;&C%eNPYs2{T3ro)7Q>2T$V<4-c{P^K<^)1wp=wr7+3#0YdM$M%+OWV*ZkS zc=z)1a#hxqT4ZBmL)UR`b8}Pu;!cYgQHs~)s?(^;<$nSU08FVn+a literal 0 HcmV?d00001 diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_0.png deleted file mode 100644 index bfbf18e63bde2b64bd343160b843adc3b8533f06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmV+-1Ks?IP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!#7RU!RCwClRzGVLK@@*ER+xar9z?js z6j?|!!4!K%z<^i;EOJC}!731t%V+RI_#Hw(xtJ;zLV6J{U?6KDTx+46g>c)=KnBkD zW@lz+b}u5L7QXwld%v6a_xIk+F3sn2_}kKfe;^Tk?L63dIQ>3-0SdMxNMQIP`R)4% zKEx~W^YQ!fJLiOT*(txnd)>GTj4_Z37e}~Qp<;yhN-O>vj`y>2wuRSIG@Upn@$I;` z%$8wyZx`|>c`MzsH)nAE_S_jHV>WVn6P~0A@HGyT&l3QA3n_YSPEc`?0}{dozQ~|Z zLStw|>sUNpO?3d|NMlV-babBVAM97r;=iMpBO5k|$T%V+k#PhDH$vss33@goYe2FZ zbcTH~^(JC9!HPMe{SvyM<$_E!i8si}s}m?y=^T)h;Qdy08FhCxGU>P|WepA<58VCH z@ezz(k19o6L!Wd#g?ulEbS(eT+2@~635qsdLVHpVx3g-KH$ zRXg#^r=18P0+4u}sTmEabEF$aRsZSO(NLFlD_sxM4ur885U(n5`~G&2Hg%DYS>jz; zEFZRIO`yb2tGh~BRuj8G`dJ@%hC^0N;HtQ)BDVZ_T(&R;?MwplJmH+{dS_V%#!91cVi0)bfpZ2yVEp^ zhfQ!ckdHWtYfj7-(puNhU7QI@@v#8D&f%iCaO64c^1{{qXX}chfacD=L=O^4l6*;4 zlDl-^kdligs@uDTc_*XA^{`^bbf(~O{&hN?t~%mzst^13`p0k!dVk`<0r~kh`7}8U gGWjnaiGBz$0Oam9;G;smZ~y=R07*qoM6N<$f{vP000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!)Ja4^RCwClR!?ixKooy15mM+O3kq5A z&_FK(^^iRjEQp7Khg~Xk!Baty_A~eaJa~}(3Z&c4H0&N4*0$gnZm^$E>^hF!@1&(zlP&{p3c{CJVMo7 zV^$5lyv4iY=VR?QNUt1hR-Ux7xkEoHumSSDEchG;v5#_6mj5+?B{a`@s9Qk5D5Bq>=b% z2loeNzJIU}L&1YY5RwRA9E-WyB35b&xg=?iGf1AML{M!O*N>awEaY z#4S-^S(zSH8L`vHMx>MuNW9L~oQl*K;sc|Kd+a+Z>iC^vuZ6JzS?Y9%R|U9nd&3Ev zPLYji;!RpKANt6ajuJnO)0JjvQL!!3i+dnqEV5(<=gE2DvF6X>vVkdRM&giXi4cPG z9mg?D&!&w?of@;TIwzXA(bExJe7bdA6so7yg@9q8|bb00xRSU~X2wnE(I)07*qoM6N<$f(!$OsQ>@~ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_2.png deleted file mode 100644 index af79eff67ff64b4a8ca9f6b0c31c53a61723a8ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 802 zcmV+-1Ks?IP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!#7RU!RCwClR?lnHKoovmB21x&EGQ)4 zp@Cik_0S#)7Q{nAFv|)Jcq$0e{tcdr2M-=(|AkUewibl-AoNlwh_DM@A}HOf2caH> z&20i5i1S`%W@nO!BI?1(&L;UX^SvM6n@JYRvV_0gI`9vghkskQwr*d1yLbiyHVPvw@M28ED=Jvms&iJrU`H1XGPc|FT#8}fWC zsY7GLU-E-Rwg^c-fpj}~dPc+k{DPHZ!P z4RJ0HB;-;t7}5uS#9URPUWq9I($CVZUgs}AtdpXAyBw#m~INt z;`B5@!RDYLwwuZ~3QGbDW`wp=Xq+xuA|Vlf(2ialK`wG*09y{$y_lzws;d@B$9P%H z!QQ=|xjr~NfZ@wwHBpYi9<4->_EU(KqYAU#RuMOh)IprsyHgq3eYgwh{nU&haif^X z;u~>=6)HVqZp2O>8R48eAnH03GhC#`5EYE5o{{g8sLQ(5Tni%uTyZ+WiwfMlx#@(B zRb*pYc#{^bhb~#=DC*NlS6<{M-}S!#cpt`-F`aE)bV{7@7G}%Tsf$(b$=!s8;Mvhm zMetM12(K&;o(|yr<2ekT3>x0p;~a5SbXs&1U26%W*L~&nc0w46-?ku)0n3{D1X)6Z2S;F+ma%n>l*#H0l07*qoM6N<$f*aXy_y7O^ diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_3.png deleted file mode 100644 index 92c09c8c872895184fe7891a65fd35e4036d6a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmV+(1L6FMP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!z)3_wRCwClR=;Z$K@@%oD@-881r&C{ z!ULOyYmy>hK*S3Q-Vq@ORslhhMh;u6U}0e)_b-HiaxoyBg(Qs-5a9%ioS-DFg%Atj zwwr+rtn=Q^%+1VhL_{rodvm+{?VI=Odo#OJd7i`HmTCA065-$S)#Ym^-%p-`ghc@Y zm^x5?`#ORTwez)y!*|2C)(M+qyXl2Ao~z9PV+@2;%8^o*YGS0WB~AP_TwRZ|@uE8K zD$|K|Qk$*CGi(N0D=p}(c1r0EUJYRX^}aQT#!Te+Lp-S`kX}mR_{%YX`f-#SxjN7wmz*$VgytB$ez8sgpd-RUPAED@*6ywq(WEP%-=)&G$54!ie1?GmWGcGv^L7dpWSvXq1w+@{<9jk+* zdA&)`nm3vSCUkk^#EDxza>6m82GN1HHwKcuta#TBDx$u|57s36{{xjS07TBL&KkUN)8 z+hxGdAYOa!J?X*Grz7Y+?vG5axu&(Ns_{% zlbKIEzBgVD=zQ?zz(#}b5)V^GOL__$eH=l0Ifc<^R1OF~B;q*!I^USj*(}RdB)QtI zbCq?j-gYz$M)%Coad4}zY^04eN1JFH2bD{$>WziQ!Zw_P_>X)!oWi%m&xaf4cIvEx10N#o=KJR4;#sB~S07*qoM6N<$g3+dPSpWb4 diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_r_signal_4.png deleted file mode 100644 index f04fb11b4e73cd816495696d53b298fa3466e4d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 726 zcmV;{0xA88P)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!cu7P-RCwClR?lk_K@@%sD@>t>4JfRC zLZO%TP)tF@6a_aZG~lTqNPCgs)l>1{!Gq*45JEvoEeP9#v=^ZuLLy$3_8$=HLCD@_ zz=id_*PU^8W>Sl&2VXLo-EZG~-}|wX-I=m1;cr_5{((jGvwC&)+R3+*XHdYh0tEs; zWWRkJ!N>Sw{Al!k^v;Ngrr4doG@mr%CI}%w73dtHbAbyZJT7?Q`EWd*6qie_5g;jhNs!0 z4~^c#9_(lP(0kA`n45{6oyo)o$*FVmRA}S=26XRsjSr3X^)_E?-)MVlLzQ6>DP=un zJe?F1+N4H^F!phKtZ}DY%vo!E1+KJK>W)yybmMCph4e&-%PUu|a#LG(Y(3tB(RjqO z?u%Fd00s&IjkjuUkMvf`E;LW8|F5uyt=xawhoetN(0|hRq6tN)_gDz?M06(f-^Ed{ zrHoPYLmTounb^Y7)aEIvZ;P|B&{_wZy5rqwLYp>Jnh<7gVdXLgFpumk%*&*TE_$U$7h zN!&EJT)3+@mll?`;Q}Oo;>AIJmtT)RA8+dOng8aM=!XCU0QEx-0E?~<761SM07*qo IM6N<$g5Dul2mk;8 diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_0.png deleted file mode 100644 index cb7b7b34bf087a626d8b46c388b69f05816f64f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 zcmV-R0<`^!P)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz?MXyIRCwCFR!eFEK@hDOM{yydqF_vL zAud!D6+v7Gxr}GXA##aqy+**5AoxSXg{wpY3U2+Ic@5Qc#u?1`D`=a3JzcNrRe#iu z$0Oa_w1<(@>-E?9eExno9ICf)s_S|?7K^>LTCGov4g7>cp{5DO!{IP_z22(`w%aW& zm&>ZzH_hRbBnbwCalhY>2x!0GU*tTUPE#tCqUm%>lgWfut5uxm1PLTFr4sE@OD2Z1X0sPrlUl9T$mjDPhGE2S@y44{{S1f0#^e93+}nNy Z7ywM)IYKBIqP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz_en%SRCwClR?TX{KoFk9C?X;X3aKp~ z#Dj{0C-ETo20n$)&=>I5m*~}#FW{-*DIkc7hzC!t6coJrZ}(f+u!#nZu|0HQ9rBr( zZ|2+C-6*HiiGF*i^an%3PqkXDEf$Nn7?76bKIEJl96 z-xI-Zx1-f+Rc5xu9-mB-NF<^MgF$3Khr{8n;F(N@(&;qKW;2>jr?g(Lb&FhBd?pp2 z_l{I5#r;7xnM_D-C{2`zD!dE?g$m(tn8(9>IEhdJWR4_?qIe?N@AurIn(cP$og|;n zQ#PCB+K(=}5wXBX0Az+?T+I3sCMT_mHNk8)n=~4Y zxD^J;kZ3w>;pF|j-BOl`8A)F$-np{`Vn9Nl_xizt-nD300000NkvXXu0mjf_UI0I diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_2.png deleted file mode 100644 index fd543636c9d5c71f3e3557e6552b104b1cfa3e11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmV-Z0<8UsP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz^+`lQRCwClR=sKhK@i?MPq7eDP`H?2 zAr>muVj-lqxu@_M(pcK%CDK~?0#*S*2nZq~Vquj?K*833v){rTdzafJ=b0247zaOg z=bM?GojvV*KC|Bzo&A9r_^H)u_siw-@pL*>t`fPfzogUYhhDGuY?CAsi8cq#WHQOZ z;cy^={eI8Z>ve_OHvfBLlf>h3Ga8K|0(LweFLIvG=UFb7WApi(&1N&U*=$Tlxp4Tr zR6;M6Y&I+QgKRpTGP$7)N)cHE5jaH^VzHR;2faE8RRLs55>3+rksJ;OVUf*lw+l{E zDwSBFP!P4BOeT&@V3nEp5p)qEFBXezI2`^g6M%lk3mr0VeX*CEe_Jj;B;*i#+$1O$ zFv`rHUEA$esm*4S_4|Ec34;UDuP_G*G6B1n*6Ve#5SB1R4W+2PFu7bhoe8wnYO(Qn zEG%K6P)ICaBGTA0R4r_&K&x7)Qhdtsx|NR0HsVBm?t zmt1ZQ7b=s^M~qwWvSRG4R;#zgVsU4mNwr#Sl*{EO!!XQiyz#tL@BAt> h9GU!!PofV21_1LdQ+v_>@umO(002ovPDHLkV1g|S2jTz# diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_3.png deleted file mode 100644 index 6c4873af3bdf0566ff9b294011217c0fa8cb1feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 594 zcmV-Y0P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz^hrcPRCwClR=a8fQ4pP7SFsRLP}rDg zA(qy`LI`4I<5&0v7HKT)QuqsLt^5J82na&JMl8g_Dv^MKt#7mE!Yp^!?D|-fA{WNN zVeXuJ&g{-z<#0IAZ!eYpU}^Zt=krgq+3aP%-#^~uDF>K3`s zd_yW>*RE75CH4bsG#ZioKxs@7EW9ifg$kiiNYsPf9E4Q>m?MayD4syJ+pX|mvtF;g zgH)?kDi({>>2#>kXjquQ+nJ~g0`zmOP$-Da@EijZm?IMeFBvb~KX~kAnNG@e?F_Sn zKrUuxk!!VDIa;k&qh7BkJjdk4F_sHv&pX+ZQmG^o;W=h!0s|8mGdXHJC)VqA8V-lT zbIj-Si9~oe5PRe0JPVU@xh#V4ZUx<#xHcY7ihOE0NuIDyF}d-G$#c+rgzaO+e&SOx zfS?BV
    >;*CclSnz3h^EojTP9~ES2n3E^2~{2|tyW6}+wHbF8qSRk1_LqX`~AMC zB}=OSF_B1o#A2~~TsS}Je#yekipy(0pMOrL(+5+oTrOA1X0xxFrs=o1;|=-0j8~yz gVe&6NiM|CG00U?;Z&CX87ytkO07*qoM6N<$f^ggiLjV8( diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_signal_4.png deleted file mode 100644 index a3320cbb4fd216a1215364d7a59856dee0e1fd32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 532 zcmV+v0_**WP)P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzwn;=mRCwCFRy~WtKoFh81gu0sA*WYa zTZ@QrSlaj_g01Z}Dedkz2-jMPz14vzTy1T2CkG0)YW%o;3mev$Xk4QUlOd1Eyq%Ao zjdna9>CsDj8cD5Ids{3PABV%C9EVd~*S~YQ-1}%W`og<`M>?JEG0@6nGGvmaFCIxMm9mn_Bz8di{a(qrZQE3>R%tvQQ@7it^?Gf2k>P=qu~gA+w^No% zrNSLT!Ez&6p2Ry z_NY>?*ZIfL0=pE6A;4QszFcHKK`03T)$tNWg0?4=Ei7p#?D$Av&lhdRfiV~k4}+y?eBeI7Zt<& zI%{G7SPAQzsMr|^+6`j`V;)h!K6g7l|Bu_u;Q4)Ed77%D72pcxAN%qFTem% Wt1S+j0li270000P000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#BuPX;RCwClR!K`7VGw<@DDIA+FfmcV zWk6geUXPwGX`lU@avyP&^8a&S9}5bz-4NyHyuz>5Qdil}(-AQOqWg5bX7dj-|> zq6vt}As^IqcXd_0+IxI2FE9Ap$B%z-g8XS}YKonloP2$LevW>K=YD@YFE4Lob#?W- z1riE{<_$BPlaqs_q$ErD?(PnkmzOZ$$jZt>T3Q->KHqNv9v&WWad8nf*Lm~!$pSG3 z!YL^!^Z-v!PnN>j*%?MhM^R8vfPsMl0ku0}Kc%ImC@wC>!NCFc_xEvodmDDtgvF<~ zkB^TIy1KeTMMZ@~K_f=dBcoJUSSU6q$E&@ef*K;Da33n`NhA^?7Yqhpjf6&-g^Y|0 zkt6*PgbFt|Hx9u2`};RR=)HouLHr6r14=Z0dU}fH=4MMU7K_1jAg-^k9kNQAHaf@W zS3#6m-1GBu)YjHwe04wRLZS$d2_>CJR$$SihaVQ$(c0RYIA@U6`AjlV{#XA`xi>*3mvQd?tBnLeHkBr!g}#BV7~-1jIwL zazv0TB_5Asb8{2R%gbnOZ58KK*Byy{bNIDrdwYAL%zRf@SA%Xw$4B#m5>Ts4`QnN}C6=L(|3 z=>gHO^Yim%1}NCp)+R<%Q&X|HxF~5H92^umoe4XL^6VgfcN-EYJw08nG|q)bz?zyG zhcR8MZe2UiQxjb+=DULAP000>X1^@s6#OZ}&0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!d`Uz>RCwClRy}KCK@`1yr4mt5$YvKo zQBhGe2*E4Z4S?$V#fz*EQI|DP!GfySi z>=t|BI?nOlduGm^H&5N+aG<|!din=u#78oj{JLB&zwP(?yAN5pUO#X;oz=(3$M1r~ zYPGf%@Y-gxk;!EGBZAFlLoY8ccgomSrk{jd7K?=uRI61=r_;3C?Sx}qsZ>;$mb=|< zN~Kcd_xlO8P*Wurny*Mjfk1#czV~`P%4V~a%jH<$cDp^h1DDIi^1NOz&1N%_50sH_ zQPGiFtriuFMat*%ECC}7IAYEjieg7*vzf)p@hXyTx66u`N+l{33M`=6Y*N49zt{`p zak66)JttYO*Gzv9z#5GP8!-ot-_JSZgkv|DYm&h4@9!B{tJSE}>97$7oX5a@J|AT= z88&hZJK=s(F4%B5q|sHvkFzGD`A<(zA_=bCZ=&FFleI9JMD?76LLv6! z?d`2N|NL&^E0i%_PzyWx#Pd^Qx7$UKEW=wcS$-iGND#=$WUYZ6>wgK8N%UM#E}8OP zp{uJa@zlN-lTVlEiB6}Z@p#OxYBZfEzXwAtxhFbEb8~a^!{Kmzp3mnOuk=fXH!H54 z=jZ32i^bxL=t&}xcnF8X4dtG?{)l(HBGs?ybo!v$$$#;e=(hj^0M>W5Fvi##4gdfE M07*qoM6N<$g3X{*&;S4c diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java index 5dedcc933e61b..7ccf210f77be7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java @@ -120,19 +120,29 @@ public class StatusBarPolicy { //***** Signal strength icons //GSM/UMTS - private static final int[] sSignalImages = new int[] { - R.drawable.stat_sys_signal_0, - R.drawable.stat_sys_signal_1, - R.drawable.stat_sys_signal_2, - R.drawable.stat_sys_signal_3, - R.drawable.stat_sys_signal_4 + private static final int[][] sSignalImages = { + { R.drawable.stat_sys_signal_0, + R.drawable.stat_sys_signal_1, + R.drawable.stat_sys_signal_2, + R.drawable.stat_sys_signal_3, + R.drawable.stat_sys_signal_4 }, + { R.drawable.stat_sys_signal_0_fully, + R.drawable.stat_sys_signal_1_fully, + R.drawable.stat_sys_signal_2_fully, + R.drawable.stat_sys_signal_3_fully, + R.drawable.stat_sys_signal_4_fully } }; - private static final int[] sSignalImages_r = new int[] { - R.drawable.stat_sys_r_signal_0, - R.drawable.stat_sys_r_signal_1, - R.drawable.stat_sys_r_signal_2, - R.drawable.stat_sys_r_signal_3, - R.drawable.stat_sys_r_signal_4 + private static final int[][] sSignalImages_r = { + { R.drawable.stat_sys_r_signal_0, + R.drawable.stat_sys_r_signal_1, + R.drawable.stat_sys_r_signal_2, + R.drawable.stat_sys_r_signal_3, + R.drawable.stat_sys_r_signal_4 }, + { R.drawable.stat_sys_r_signal_0_fully, + R.drawable.stat_sys_r_signal_1_fully, + R.drawable.stat_sys_r_signal_2_fully, + R.drawable.stat_sys_r_signal_3_fully, + R.drawable.stat_sys_r_signal_4_fully } }; private static final int[] sRoamingIndicatorImages_cdma = new int[] { R.drawable.stat_sys_roaming_cdma_0, //Standard Roaming Indicator @@ -330,7 +340,9 @@ public class StatusBarPolicy { private int mLastWifiSignalLevel = -1; private boolean mIsWifiConnected = false; - private int mLastWifiInetConnectivityState = 0; + + // state of inet connection - 0 not connected, 100 connected + private int mInetCondition = 0; // sync state // If sync is active the SyncActive icon is displayed. If sync is not active but @@ -381,7 +393,8 @@ public class StatusBarPolicy { else if (action.equals(TtyIntent.TTY_ENABLED_CHANGE_ACTION)) { updateTTY(intent); } - else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { + else if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION) || + action.equals(ConnectivityManager.INET_CONDITION_ACTION)) { // TODO - stop using other means to get wifi/mobile info updateConnectivity(intent); } @@ -489,6 +502,7 @@ public class StatusBarPolicy { filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); + filter.addAction(ConnectivityManager.INET_CONDITION_ACTION); mContext.registerReceiver(mIntentReceiver, filter, null, mHandler); // load config to determine if to distinguish Hspa data icon @@ -704,19 +718,19 @@ public class StatusBarPolicy { if (info.isConnected()) { updateDataNetType(info.getSubtype(), connectionStatus); updateDataIcon(); + updateSignalStrength(); // apply any change in connectionStatus } break; case ConnectivityManager.TYPE_WIFI: if (info.isConnected()) { mIsWifiConnected = true; - mLastWifiInetConnectivityState = + mInetCondition = (connectionStatus > INET_CONDITION_THRESHOLD ? 1 : 0); int iconId; if (mLastWifiSignalLevel == -1) { - iconId = sWifiSignalImages[mLastWifiInetConnectivityState][0]; + iconId = sWifiSignalImages[mInetCondition][0]; } else { - iconId = sWifiSignalImages[mLastWifiInetConnectivityState] - [mLastWifiSignalLevel]; + iconId = sWifiSignalImages[mInetCondition][mLastWifiSignalLevel]; } mService.setIcon("wifi", iconId, 0); // Show the icon since wi-fi is connected @@ -724,13 +738,14 @@ public class StatusBarPolicy { } else { mLastWifiSignalLevel = -1; mIsWifiConnected = false; - mLastWifiInetConnectivityState = 0; + mInetCondition = 0; int iconId = sWifiSignalImages[0][0]; mService.setIcon("wifi", iconId, 0); // Hide the icon since we're not connected mService.setIconVisibility("wifi", false); } + updateSignalStrength(); // apply any change in mInetCondition break; } } @@ -764,6 +779,7 @@ public class StatusBarPolicy { mDataState = state; updateDataNetType(networkType, 0); updateDataIcon(); + updateSignalStrength(); // apply the change in connection status } @Override @@ -858,12 +874,12 @@ public class StatusBarPolicy { // Though mPhone is a Manager, this call is not an IPC if (mPhone.isNetworkRoaming()) { - iconList = sSignalImages_r; + iconList = sSignalImages_r[mInetCondition]; } else { - iconList = sSignalImages; + iconList = sSignalImages[mInetCondition]; } } else { - iconList = this.sSignalImages; + iconList = sSignalImages[mInetCondition]; // If 3G(EV) and 1x network are available than 3G should be // displayed, displayed RSSI should be from the EV side. @@ -925,37 +941,37 @@ public class StatusBarPolicy { } private final void updateDataNetType(int net, int inetCondition) { - int connected = (inetCondition > INET_CONDITION_THRESHOLD ? 1 : 0); + mInetCondition = (inetCondition > INET_CONDITION_THRESHOLD ? 1 : 0); switch (net) { case TelephonyManager.NETWORK_TYPE_EDGE: - mDataIconList = sDataNetType_e[connected]; + mDataIconList = sDataNetType_e[mInetCondition]; break; case TelephonyManager.NETWORK_TYPE_UMTS: - mDataIconList = sDataNetType_3g[connected]; + mDataIconList = sDataNetType_3g[mInetCondition]; break; case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_HSPA: if (mHspaDataDistinguishable) { - mDataIconList = sDataNetType_h[connected]; + mDataIconList = sDataNetType_h[mInetCondition]; } else { - mDataIconList = sDataNetType_3g[connected]; + mDataIconList = sDataNetType_3g[mInetCondition]; } break; case TelephonyManager.NETWORK_TYPE_CDMA: // display 1xRTT for IS95A/B - mDataIconList = sDataNetType_1x[connected]; + mDataIconList = sDataNetType_1x[mInetCondition]; break; case TelephonyManager.NETWORK_TYPE_1xRTT: - mDataIconList = sDataNetType_1x[connected]; + mDataIconList = sDataNetType_1x[mInetCondition]; break; case TelephonyManager.NETWORK_TYPE_EVDO_0: //fall through case TelephonyManager.NETWORK_TYPE_EVDO_A: case TelephonyManager.NETWORK_TYPE_EVDO_B: - mDataIconList = sDataNetType_3g[connected]; + mDataIconList = sDataNetType_3g[mInetCondition]; break; default: - mDataIconList = sDataNetType_g[connected]; + mDataIconList = sDataNetType_g[mInetCondition]; break; } } @@ -1104,7 +1120,7 @@ public class StatusBarPolicy { if (newSignalLevel != mLastWifiSignalLevel) { mLastWifiSignalLevel = newSignalLevel; if (mIsWifiConnected) { - iconId = sWifiSignalImages[mLastWifiInetConnectivityState][newSignalLevel]; + iconId = sWifiSignalImages[mInetCondition][newSignalLevel]; } else { iconId = sWifiTemporarilyNotConnectedImage; } diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 9784d96aedeb3..c5505d1139a0b 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -1008,7 +1008,15 @@ public class ConnectivityService extends IConnectivityManager.Stub { } private void sendConnectedBroadcast(NetworkInfo info) { - Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); + sendGeneralBroadcast(info, ConnectivityManager.CONNECTIVITY_ACTION); + } + + private void sendInetConditionBroadcast(NetworkInfo info) { + sendGeneralBroadcast(info, ConnectivityManager.INET_CONDITION_ACTION); + } + + private void sendGeneralBroadcast(NetworkInfo info, String bcastType) { + Intent intent = new Intent(bcastType); intent.putExtra(ConnectivityManager.EXTRA_NETWORK_INFO, info); if (info.isFailover()) { intent.putExtra(ConnectivityManager.EXTRA_IS_FAILOVER, true); @@ -1512,7 +1520,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { break; } mDefaultInetConditionPublished = mDefaultInetCondition; - sendConnectedBroadcast(networkInfo); + sendInetConditionBroadcast(networkInfo); break; } }