author | Ting Li <ting.li@amlogic.com> | 2016-01-28 11:07:41 (GMT) |
---|---|---|
committer | Ting Li <ting.li@amlogic.com> | 2016-01-28 11:57:00 (GMT) |
commit | e3ab5016ae99a71da1d8365c4984b7547a6f2a35 (patch) | |
tree | c51b5ce361e3f8707d82717235663a547cb124d9 | |
parent | 4802906ca4a5c2fc472038856d0f12da759faab6 (diff) | |
download | OTAUpgrade2-e3ab5016ae99a71da1d8365c4984b7547a6f2a35.zip OTAUpgrade2-e3ab5016ae99a71da1d8365c4984b7547a6f2a35.tar.gz OTAUpgrade2-e3ab5016ae99a71da1d8365c4984b7547a6f2a35.tar.bz2 |
pd#118665 fix bug of script download file path
Change-Id: I080efa0b7c8fcff2650cbff07cb3767b4a0443f7
-rw-r--r-- | libs/libotaupdate.jar | 277 | ||||
-rw-r--r-- | src/com/droidlogic/otaupgrade/BackupActivity.java | 6 | ||||
-rw-r--r-- | src/com/droidlogic/otaupgrade/InstallPackage.java | 3 | ||||
-rw-r--r-- | src/com/droidlogic/otaupgrade/MainActivity.java | 74 | ||||
-rw-r--r-- | src/com/droidlogic/otaupgrade/PrefUtils.java | 80 | ||||
-rwxr-xr-x | src/com/droidlogic/otaupgrade/UpdateActivity.java | 56 | ||||
-rw-r--r--[-rwxr-xr-x] | src/com/droidlogic/otaupgrade/UpdateService.java | 4 |
7 files changed, 255 insertions, 245 deletions
diff --git a/libs/libotaupdate.jar b/libs/libotaupdate.jar index 0aeb237..c6696a0 100644 --- a/libs/libotaupdate.jar +++ b/libs/libotaupdate.jar @@ -1,103 +1,101 @@ -PK +PK P\= nK-pǭ4>LuC`n$2}WUT
5N
Ha)mw8k -6 +6 RVClE+JQ #r>Y+JZ9C&I̕KWŻi6LUr˹kFT-KBd`-.Mmv,ᨠZN騝: jfߔH /q0&2 ۧ2F0t5Ue"gTfE15!{ʠJ2u#oqq63A8,V%Cc4k}kaCt_(R1(.J-lXva&=3e\ FkarF]5\gg'}),&<[3Ǝl-i̊~$83UXF<ɘqЋLcQƤ8`:ܕ{ d6hTKe+^cG*beDv#nS{*2V JE by$㱰[%^Qz!SҚ'\Wm_۲^A*{w?UV^;ONnh?Vr.cVۚHϠ XpWB&Dyt=P>(!Eyq>d}(剕h:bI%2FO&0(O KOi_k{wCL;\ZMHp"`-nqƛX.4G"_bˤpʁFunHM{>uCK_aW1s!uu.l1RgI9ybTbؗp֫Z<F=V,Ǡ} +{SXKQHZc^c]mBۃn7PaP~1<bvVm,uuoOu+!y!v+v% q0U3؆鐏xMїg8h=HyO; MW\-͉p=3G>_}P<`ƛ 'Cz_pM_p/xm_p
~s
/PKF - -Uߔo1PeHUC:8f@8CUͶS6ۂ!W,nr_RWe1ĹG맫"t:kk"|y@狥B_US8$QnY"ZywCi[xC.h80=Hk"TոŭojJ#mس.]J2YjA+#7P\GMugJ}Ui^5k^۷D|1j]w]Wl>ydO*IfwEh%;F - -~PKӤ" -+,mae,ژA0m1j=HVᕥP"vಈ>vDmѻb@- -^Jh!< ImF(N^9oMr!5>p\2oE1'XH\h3A8z+# ? 5<MDӠ/f9V._4fWIپ7!nf[AL3GNLC@:I狗hu3)qIah %w]3a9PcW("e&]BӜP̏MBvD}e}eV*$KcҨ/q3~ -V6k:KGt=ÑNWuV W}p[b1ք'']G7ȭmMNӇϏD<jr#t+Sy:Ѡ/U,DzOЧ2?qc~Us]!Q&NNZtcW -&K<mmi60I'9t,Ll3 n|^0iа'AwSp@㕥GLꓥpHp'01Y -LYIOPƤ=,@[6_D3YY~QR">&[7zI^X$bҫGUS~LzSu5j2I@舅-
Fy{Ǥw8$259 ='7i|Һ2qMH; -wYB퇆9f -bvXk JoxsrǏ?:EѶ( VEZhNm8QOHX/e<D -6`Bcd:l_Yk[<lt<·]6ȵȖG0{RFf:Qf; -Rqc">yΈ:/*HX:Cgճs$jImC{8x1BOhbᾭ4P:QP#pDuI"Hd8O4xY2k.7z}Ln&`a#Z̑HxT6y\Ɋ+IfԡW!?QA}p:wmB5$ϐipZ.;QC1 -2ŀH#l+ݟI]KmDp -6B)Q1/({ĉ:!+.3rMH/E|DOLJ<3CXZ'_
jzJ/ =
1[&o[@W*PgrL >:ޔقtɷK, -[j5b+h!(vJfpWB߄+8o7})#mb.D C6Z8=؛&|u[Ow1 w+]aVT]A8K"Z,xc&?AGzo%NI-O3 &AP^H H&'.koHH.fx+~s+H}SUdEI.U|AG
-MJqmS9UUe/ -aEDŪPa{!]2vQo8DXCL5Zj<?ъ(*), kq<j, -a)W#u8d -Tx$$Bk0Gf3Jw&fBK$5b8YzDdq,< "+k],D;SUPf4ߝJQjRCP -A_6ly%kBşc;)oyjEߖqXyY(.4b9ZbG|LK?BVkޠLZ -ڵ뵇Z՛A~8zl:gObɡ\l)4M\Pvک -IKA4)uǻ$u)%+TBi_0'JQDjƽt`
51NIW(*huB%Z<SEת\ -:9j6(âp,7rv+DLS}_7EblS@0n㒣5fBR{6 gUpĩSKN}3ZS].J.Y9GD]: $6+˖p,;W'*:hJ|8]lL|6lx>Iq(hWr[_WqےW!)^(eGR#úɔ[px@hN?g@%EFTP[?j$g$'cxϫXSI@~_EPqQs3<]Q؈M=`tIԋ=zPWLQI1;Ҍ)epPi4PSRzSLS=*[j=}p0Փzi~5Sg^SFMkSs@_[(!')Sђ{4xd`;]Ht ?<4Q AYDR
9';!E٘ȁr1vIyK`^2/O1
#i~@3:PǤb~Xʼr29)%8<Ƨ;)2d= T -)FQqNl*Ni=z!ZO -
A&IvV_jy|j8}4}tjŸM;h-~ACAsEx)Dg%9@$Lj:j
QK[K&x"9pSv -l,B8fɦc:։x - mhFpQfW -U.@Gs!%NȚY/Z7j8s|ٿ9Xz2)Qte/][C-}ttsݔ>eum=uBJkz0mJ[Po/{ᴥG{'{WiK{鴥gziKҖ^Z]^zm'`cn+vm&N-W;KSqe*]Y~\bm{_M11%N?ɏO֗ҿSwn>nbO9YI"n1]kd`KWӷYveD$?:I~7<-IufJVY\y=8,pAM=4z$sѻvY(fw1ωܦrм\M˒Eb>A(wpM7*i,=JM]587 b+ŦsLmU̓G
uǛpH<CX<1g|]J/e:oM?<Gҕ<~etOX<bm1]'ҵc/]ϧэ|ė|
·ӭtN;sOiʣ;Ewr,K͡ -G{FOGu=m&ڮnVizzQPR/uzDCq>R@"B|bx$IA| -J6>C܂,y|{B6;_Σ}}zע)q). - c/\*b
ju[0SaPՌOZV5&]1<`:Zh
墝^i/ b>hS,T@SH=5b5TO~n%-y^YYٶYF_|?5w+'7uVvIp90^>?.N˝UhnrJ8[b2\NWn\=T}[0.Twu_̎䨮ݔ+xV**F-/h6韩\uAQP<1W~_쇋L+O_%\
y+?yCzSOIjZu]MZ/y1)VB5n:Bz7gzt7a^zX}0~BoЫ>3<u?IA4x[|8'\<z$C|9JFϦ\/oĹO/^ -}I?ׁ>'xF_*} -ku}$PMjߪ>U'gjN^+oΥ:Q# -#ރj.?Ϳh~#;=Y-n xK|?pkC%pK~9)~rB~&ϡĨ耆E>dNNI$F,]-m4h
)W͈|W`p_㯨`/G&p*'%?@ П!) -7o)|W.amftnv
+)إLԽ]XRv]2KPL - JqU$RM.
5O|N}; :Zk</гSRzMJb7ZVveJC[S4)c";[lTN!и==HP.g -h]b9pRL};cQ9;gp12Nu`\Rfsr7M:*WAva\]Yquˑ\Y[HlnX2@8Eh5y4CɅdyFH~,qJ'PX8:ѐIzMF5SqӨGQHe-+e&JY(;ٍ2d6gs9gI<+yv*^RF^v4Au\&h s0̵| -+zχyʉePxcn/xjy:WFU=Qgq6nSS۹]=kܡ^
wt>Sp@}Wx~AC\
3l.<娭cx]*hkM5|4<[>mgy.cϵ]˛mmw`|'gχ^`{/=ٞmaϵm,Ҟe13|}"_k٧,o/+f|7.ђޢřݾFTLޜھVרkfJQd8;9g#l*7`D3JZu 4^˾Hl9jriEh%F۳&u3rۓ4fۥnS-rm]~B6Rmnoԝ\k/h:Fe[¹E4y{@e(4r{2zF%k?eϠR-~(JPl(ÀY}Cо6T |!ef?7*D3KB)9%Mj/ɤ4K{9ES?t4+S_Ѥ1(hiA>Evȶ}uxbk7v twݙ> L)GY|
|KкR^9đw1q()r7ʣOe\K=M5@pq؎r*84{xKo^;f9ݞz:]pćQ&L' + +[`.Z}_`e#b!xZ|0m-Bs_G̛]_]WӼl~]s5k]<i4:#:hM/_ӰxK=)gn-q`mTdؼkkᘇiXSUcEaQo;Bᘿ3I^؆Ĺh, AXZ'XaD"tXh;fx?6P:q *ˡtA0}TAv[bstTi`ЦI3H*kBr\1er6[L]nIQpM;G?e˨֤q4wW"<>ΰXeX̞P^C:%NQIutФ2$&&[.6F8i)-7h<tb&G+pë}16҉rYWRA'@O&H0@*t|rL#RCw@.f^V +I&vNZcMrNf:dOM՚7)*u&ܵ&LFТ30*7:0g¸/=`'d>4}lCM1O$&vvIAS9SFh̊ťoZضH0GN:70t./4њ`{lCn".1AC~3CtXWtB-@A <ȬDH%Q_d/Ms_I/fT_
Htk4pdu݃HY#ȉ}pK|ք''HŪ6t+#φ:B
u2
Qj_O}:z-#7
\5{4CШ?¤;)I=r{,ܒ\ڂpϪpiVWiiIO<AqUX6).Z'>,aOD>jò8zkV$OS֟$.Sk3x?A_09Y{ :_D_6%Y~QR">&[l-9% v. >VR+>I?Եr]
ڌM,>0C Xr_a +MC,MN\1xA#)}`пuev +&gTٞv)2jᲛg"$';pʥ96$Jۈ&/Ct !VW
"*J)BȐ";!v\) DeHgRXg!@.Aw;xTT`F&`}_{ŽVQ4j= Z9Qp%嶠@=-h܀(^ M ܷ|J3 +B)~& G.2ILN^^L㚋^_7KKjCYbP,/jIe#៏+Yv%Ɍ:p3m% +$AY`lC)9Pƃ2
NkѥⰶdP߃pŷL(4_}DMx^!<U|q]ȁ݆dWwpf:j@V9`!U砠=HCYw)؏J9_gCآx*I-cfm] fqP4t[
/wb +VoAW*P{rL >:ꔍJA;%|t P{P㷡Ed96%r%#w-Rt1|_K}`S[+{;o4&0?:61@GMD~ez-
+M~Bz(H9i Ϥ畒Q2أ&'c,Xa2Pޒ!(gY1uCR-_OIm6 +A_<TsM^rUk=lKKS=j֣y۴
BScy]Qg蹨!,^eRHKDF ~bѡ e-J3jXhv? +SPt,?<C+PR*4=ZC(HdJwd#(9P-$@E,P$hBFva͢DDO':g5DСbW5[+~P뵯vbycN1z!z^ST#ǦQ~[ՓC[MBO_u6*ã,#P#%U Oe֨sMu E=ku)@p듣.2Œ l@7S]~f˒/ZԅCMu">eaWWjuM4\:^z>]m2uE@,ezSݠnԯ;KC; +tXtWiR_\pٞ'U:nht1mJm9t(mkېoan2DSa]Feo8< g4N/oA%G*
-{=Q1MlS9EII@~"fdz쨙OG6bS-Cz#zHWmQIH1+뒌1)eGpPj@q'A~} &~#ƛ<ô_yC=4v7ǚ3EA}Ts. +Q_K(!g1^֒{4۳ς{ΦpR\FH#1UTjQGhT*A2#8 +>ZqR'hM״ +?mN0>4Wm+>oS +n~JA}I7}ô|vVnZ>geD:" >]Y;އ)v7OXZnS7ӓRvewT$?6I~7|haIp9κ.mZ#f>-3RSͼN9J>B,"sMSBmbL]4g;I" +em*ʲs;K$n8áNB1u?-h<PYH
F?q6F<ZI?v:{.;"z.G=gG(+j>ϙXGx!]+$ctE7E[x3M[t;O1ӝ*R#F|A%0t-,RVu ݯmzڮnnu=KzPuC(-Uoc}z\GHzOdbq^N$:[G6CSy"n$b-|68~e`k8B1m0)ΥK +jxNİ'Q=s~q:~CU[jg)Lϡh݅=o^ez~WV_ʛڇ6/]x8
n~O? +/S6^9h*^yed&ҧj*[MPsKUK_:Z-o2*:*u:t@ +GZ|rJ`nQG ++2Iu)ckZQk12\&b~U4{ٟRW\-O(W㖺wI4WQW'>pHjфvnC5'N]N&t1C-sJR47.2ݸ +,D3vC)d-cy*w ِN!иs]b$垤 .gڠril#];iL7xrv2:S\Wl|p96jFȉ []WWqV\]r$%Wq-+v7ڲWnԁhGX>)s/CcY(!O8*4cx55Y&%'Q;O<hpiԃC<CWP_P(ff(,=8<kxJ>+|,r# +y0^hl^b +nk1n~RKP:,x9xrW ||"<أf-}WٯTר8z#nWaz9bsfrV'F9;lZx^olx.l'a3my*e;7.mWṉϵٶOm;|?؞m/E7b|=W|m_iWk<~_o7g|hl_؏[>ηJKf@4RfYڋ-Vُi$0l$<{@E0ʦ|_$*[RHHW(\k26Nu;(}DqgR}u +[nuԽhSkDNuB`ՅBo\Rm4B]EOY#vJTŜ>QAe$TFg|el +콴/AlCU*RZYw4uPL- ~R +Jz/JxޛI@foɽ"V~K<
M셡VuAfE&Ad?WhNh<7N'2}}P2}}XNaeq| aN>W&h]*_f~,`'Vv?/D$y'P>WOCLk"S[?A$݇Ut*EY 尓p3~#|zU 0 uގHsr-FVq^opyf &Z&:R RHu&3^}*m]wOUü4}`Ѓ2bPK%r>K~Kj+<>2.s7[oԾ4ɰ.csOi
I/a'g2.cw\3.Qlo3<=$Zo.4KAN^f\L3\ߖ32[oWfʮhaY,e{~]Ny/dB>SP$`L8i ;R!Lm<eNA7U*梐WE> ť Fh]x -yojm,W_0\p>v&*
;0 e@qbE[lӖPB)HhD%qL"ژE)VfXiYY
@0Bo8S$"K(ϘK%;e<$X3PK'Z -Įb{ZPNfX
?Sa4.7ND;sp -!7]r
ojܩy@w_GO'jIiPPKơ -,8d4FHcf8%w{z:{[}=-mWt_͊'SF<oDӦ!>ۃ`hw?$¼}pP]Z݃-w@B=6_N{r,5mvI5{Cl`H2*kFƎH΅X>hYG ,ju WnRH|dK<Y7A|Bk0y[_]&Kax<3Z,ԚӶ`WWKw;c|<B?P5R<bfL}V:6X6#DJd_ʢ4A怍jI5]qf(p,MZ16,Ϲwx$SQ[Omz4j Peb%}C˰1Sx# ՒWYP[wKƷМnlÒG#YXMG3kGF˪ٞ뗼бnC@b\rhZisՙMM-B˥]:V -"q;;`&BƁ)ahhyfqY .WrXErtO%h5hX]s$fWcrsHrN6
VҮ$~R#Ijy!22S'̑H2GTûcL1A31u]0e})#.c4㻊,mY!/F$qگPl
F82IsmWKw݃wcaG cd/DY$ -mg[4o +FotF'aI2ǥ}"u>M:VQzQf- {k7L3%o-/fRQ[Bp%2|VN`.瞔b3^?iR#u0UW)nŇ4|6BÊtT`(lD^0Hq\bTlF<QF:4D$uSj`D2y;u܅Rɂ՛9/{ .l3ތqXTWR~Ռ+͡;lOx,+f06~3F29d"(*0O$BҍGGfBf:>2H}fPD3̳sy9#ywqڌ_T$fo:]5 -}NJ2P;+H/rUivQ3h.sEwŁ,Iil*塕vM,fEMc'l5;^V)S6H%[g> ZDbFVˊF\>$aY6g_?ؠFqqk:wxbo3~ -:IF8K!j -ߛvy\T@Aj[R,%fR,^0 -rm٩OM;R,T,.[9ln+XFk;SxuB?!8~i\=@}p`xܟ vrHWn{vW` vT>l@W:>նtVWމ9s%w ak'y{ |3R,E/sq4'$B$JRq, 9wT&ġ3$Vz:(`/9\'vbX3b;5?Yҥ_1Ze{xWF_)ye/,ST[4?fg~(>@s;&8g# Ao(~+cBrhTkM**37yݻW.ļ'62|8'2BQtL$:WNL~<{'9] Ij)o#t1F1Z~u>BÜz|<&|м P8^znlG( 1|Gq?M)iJzRG&I=͕8r.rʹk*.9znrPJ^Nqxy©0ÜGñ>
'VY -|ɜpLa>xꭜc]KwץhK9;c_'+ISkuM~v}:[UCV01 -xxUeUW&P(J35Lx&ORyԤZg,\$6'ȹ{g˯oulu9EoAB?{J?h.97{J/r3f}O*ծjΛ?**a6k<YM$^_:&jJjI6TZt{7x}沚I. -Ǎ>i5qT5H2vN0|(~="FIW_L_ݪ&=O1cRZ-S֮m6 -ؠwk̄W _3G:o->6W8wrA)ƗE xZ(39Q|3\J*5QPpHPptvQ%]^{(u6b ^Q#.&Jw03<RX*&keb+8z~R|刱\pBXt4ZaVixVB@ldLׄp-teˢPs&w1תȈ:ȂW%b/_ϔ\9Fk٬6#6quf%oY1Y?-V`!u<_%(kP"֢L\zNfsCy&'^
5$(Wpf:Y-[.ً)v+< ɚ9;G<??b]}fX/gz%+C[lT-r<vfTty%+0HޙMruXŖu.H4߭luMb!n:rPKH -< -P}Bo[wu($^,\#Z'Sj<0kmkw[Y*\;E,i6\2:{0Tcw?gt[uCjCԇM7RoF]+`PK>[ -ӊvj4A͘<-C -?I~IA -M2zaOHRRHc(2ս$R*3"]5i+g85-Yuq=of8(Ӭ5`sXf62wq/s?PK; - .h -CkC
^_C T|Q;%2*_d)HDIrJV_[
E -=&/b.jEEy²U+f-[6zRIqTUSOEC2lVY2Y%(; ږŷEUQ`]8R0o,aNZ³_,x`.?HB4ibi5"6)HIp`2⾑3;&뭨
ٯƤ9 -I3q&O~LeW?h[t%"TT~R̘ +̨tI)݈LLX1q<"bEá8)51Yvfe`Q$ -gCo*%KF: !'I.HH3
г!ΌG"Wҝ6q.d"G,b|[eZ&<- .&b}
,,7!
ucEiJ -P+ Lu6cC^UVcܭ^-. -j-QlUEz!Vre}+/XqW(i*ؙ ݅ʓ.LTn|4bĈG2ʥZp\ -TŷL\i|VN2MIA'⸈"7%6aVI%Kvĭ"jK};CH]C!-:7 Yɨ -qt
k{b:+`E,4N2"YjĘ,TxU-yf"G NayΊ%?RX<ױ$tY4xƞdwaN7vl10sB}UXXyvzO%58{)xƅ*<F/bgr?{TjkH`.M<';4=VlHq{/pqh:'>/$v/0srvrFyh9FDPiRXhuX.nl+lg%IgvkyNZtd -K}NM{wm3G\J˽0U2jY´qLS1)PbniA!6UoЭO -]ЙD;0d]<8ӘgVbZ˩;s!9JA+<9D,*ճc~i0qҐΙK&pDVb.nvj7Ӆ.ٳ#5{dl=?M^y>'sv= -f*m6.ZµZ5Nzܪ݉۵mؠڣب=+Bk^IB\Nu0ܪmܮwQ_z#+U_+pk
78>A~_"M>c"y4Fnc(ǽF3~xЈ!ca;b܆Vcvptx4^үj^|:#F+fp7,ɯ˰-re=^.4a]˛s=!^?f!mssJSx?ô#=<ޅ69xs;x?EnvvQDN'},wH?&D4!x*SC0f3m3:AqQmzK*P:w?8?ЎpʓI,%̓zYB{Dy@dz2(H㗖d+<wЇpxv!_8y8:GJ%yUjw%k^0Ѥ -SDR=Me8zK:A ۭqC"Cb\@~ǓLPK +yojm,W_0\p>v&*
;0 e@qbE[lӖPB)HhD%qL"ژE)VfXiYY
@0Bo8S$"K(ϘK%;e<$X3PK'Z +Įb{ZPNfX
?Sa4.7ND;sp -!7]r
ojܩy@w_GO'jIiPPKơ +el {mӴ0J(.BlCZڽ۴V趎-PJ7Jas$+Mkws|'UP">bśxF3#Fl}cIcܗRKn21#1:tIox__w?yM{_@*:D*m$҃F,c:(+]a/Bj&Ү@p>hCUju +wstj37gӹGd;Caɨ2̌Z]јN#rؔ1F,9S{{(:8磁t2 +7G}}&tBaw19 +y(.֜vzz{}W`;7iT4#I+:KtsvU}fLV&1x1GdN"@ڢAjK5]uf(p<M:11RϹwEbD4[Q0Hֈ&4k,Pcb#Ѥ+֎iu4#c;_4IZҔ%
h|KPa;YF+mhHdaQlm]Y-kGaPZjTSsɡ]r?Wg16>k$.z.K{tE5Ffo&~LC1SЊA#EA0=R%ұZр>~cBvÅȆ-\RW/#Yoquû4Xw!y``DJIT&NU&4Ǣt6< 1
X3uđ`r7|KW{{lrjh UżC
jybsTl6"騕-Ý{{>އҰ:A|^H +ٰȶ,1V*Ί@W_"T*(UOH<Domc
㌒1z6^D$-:n;f=F4ߊ4![A<ANp%:zVNbe0_OB
't)l>vw>xAqBJ*k*0__D^'0.ƁXqR:jUnF
<If:2#d4}[j`<i:*dCSz|Z}cƏ/Xixoä?D#~p)|jF+ˣxlx,+i70^gLČTjDPdMp0NI*X=[Gͤ\gu|_d +6䑨l\3G/t&Fc$3?W +\R_R
{p1I}ߕ?x/4G -B? V_$uHX&uX|Eǫj%RyE.D) +d(=s
o^ +:<He3 k̑ƘLfH,(.2RFcՀQx[x4Q&rKQo.ʅ.bdtw,MĄV1wztI)HURGRzc&&7SUn5s+gI4!1HyO \\,ʒPfv˞٣<6&*ʯ_]݊;vucC^UR8%gʌX +? S/h`RiaY1HQ4G;4*ª%u,$.}}lqwD'F->mD"4jY_ԥieE$::e+1Shcx b}EJLTyE~e~U| |Q1_R֡Rs9+iEW#_kM6+#]Wn~bS_]B
s#g7ؖY4ֳ6T2Nc?]ջgkљմ2jJ*UTf]w>Ʋ$\A<^O {z!R8g0cg\/] +Ufɇk&.9zarPjZmnT39fp*̰&pb@éUoJ. d7C2'Pzl%^Zճxxg5Uy$ZMreZ[PWg/m'92u=Y_jk7_Y +*$d);meg6OIK%N|ݦO"\5AU뺭y[n}7j*dعr
:4^+rcT]Y>׆ZKyeY1 O[E]4. +-;ƦYMɵIԴI +vN|(~we̒&y9yuIbcn}ϳ@ϿCNB*cV 8~c?7X~&>S[ +%u9(Or|K"*بo%xI\WE5^ +"< +^'gKԨxpЖR!s|j8rѮD-nZX.VpouRt+-}J&\`Xѳb+G20NxN+@g4<'4tAMRۼhEԜ=Lyĵj!2cn3F~ث6$e۫rZ>3>qmgeoYYq8+Odu<QzP&6Bl</cs2[H/}f
%LswkU:pxp狭E+^ų;گ'+=f;.G~sal}ͰS_:+8-6ݕ<R8 +KPK# +7m_rLnsגƢ"f;;>溎dK{1*n0utAbs͗*ZղsxF9
w0ba:Cix~#Ԩ13DʫSr -0hu1;e80.5tL!Mr%9%(+.bݧ'_2Rl-ٯO+ +[4Ok]pܮO"睚k47aYJpmy£)Dz?X,&"Lmf?S'|~D.R"bXC
^8ŵg͗m@% +HmP#VJ{I_ &1L6йPu"Jל2<1tS霨{MۀO\~P`) vc$, +
v NFbv|sg'WU
$7yBiJ;˂uD8lBh2eGSv$sMV7vN̩x~US+*TuA̪F.˪9fKBQ4 +/
; y>SFJrVWцD,U4>qnYJG/ +G0B{M_P1pęfb9##Y]*8oDǡD3t);IP(nY¨|4:+LGéI +e^ewjÃBUT*k!"SB5P
>>T(:?1a9V/aoaК蚩=Q&ݸġDIXȎۉpr?C1љ)1Ts.D0ZLrF?̨H:D,!>,Uk5fc1$qűhm:e +v:tC
d^ , +З&ȩ^sR|篓3Tx(bOfSՈ!NM25wVSbcG'@WGV/qhcmGX5u[gv~,yb-OEeghV㻸uǎǝ(xt>}laBI0-ӸyaUUL
.! +=DDΗiXuBJ0Ze&\̪W:#$fuIYk=ᤌS3n]u c݈pæ
dOc%zƉbVK!&V')'ˋBwLiآqb;5]!mwKV&Js]4mY^U +VBWت9}/\o:0h&gqCˇ/!eRL#Sd-ҭsrܹB㽫}l4k'mpwyf#7ҮcqXC(oO4v(:k_64[
?m0S֥X"~ŗ>|.#\SJ朙#9U:^4>:3mpԎh*cN.wHBdyf#cZ͔zhSCl* Zfl^Zj anWT?vkĴM>֔.ɮX:rܪܯ3crLhILɤCz|8I'+ +YN[؎cw`F3fqa*3I$C]xY +U89Kssa`@3fQj:fv|Ƹ+KTyo.EAmuu֥\+v[iY2XZV{Zى%r1.,5Izn4fpFZZ+ށLfpaXIގˏ'ryWp
)ep]IP(lFPfm +My3zގ1</T~!NkGL&6fWP-B=ju,|,j0LiXT}靍[p.iGZ1Ӹcz
_\{rW#p8lTI5jGg֪Xu~>l o⺅[ +@sޒ?ϝ*6ОQ~*4IvӹJgHGXxR"aO>^fYiUkTԛr#gM</ݞ +<͍;?c߅B;syP&v A>dX͊u裼ϲ1>Ƀi8\Tw)UҦENR56Ot(ջUĔbVRrJVHR
RfTTWR uAPPK:` mAAV\ҵZֶmWL2!(2s=? #ѝ&=!_L
땥߱e: PHECvd@;jccKPTTynN5 s':.g`yu19ZV4b=y*=lSU/;K;lWQ-0\喦FEޥfW8#:H}B4ߛ$GXX`\|HKJu:VRɰ.~A0W2SfۭQ&<3W1ٵ:ڑH443 +RZ#ɘLY SjҢ4tgys&ChXϴZTJn6;f}>Z=dSa6l(ϳ+)E-$zۃL?.Dw8df_G'hyOle *\zAޔJ x3ADӐ-('#@tÇ1n̈LS22v[taRA?[spփQŎ!u1iZּ!mD礆SJBoq>LV#G
z4X֢V6N]2p:;>`ƺH#`̈́!LjVз./dD!!̃K<U)_w/>(JSϓ5|ZW+c=-V{9T{Ln6f.v1eߴD4|.5fme.1e䃾.Cױ((<fARp n$fGikD,6=pg8DVI +P2@2GLJ`deƮpSd0j\٬xpU<%09'd(3t2 5im>?8J7 WpU~!L*u7gw1,%ejaGa~)5RfLM*sd*D9Yrd@e/ >Q,h-<ų\szpM'Xދ5=ېe}_SEֵf)^R$~^0^ +@{חsw.*|5,8
-G4^+6Z*6o^]8}އ͇+?ICu9ݔ\䤡·P>0+|$}ffE\?Z(;/_I%TX2*o%櫮mJ*rԣ
hoi#r#8h2"W.;eF`:Bi$ͱ]HjwQl;5ynB<g}ůُ5=?tqyoWfYm=ٵKS>;yr߾}1_{rñ[{JUk'2E.B()܍)%1Qrlꢣ8ƠtG|OhuQzOC[Ξ9;ř$T"%A#rNSk/#Eq#|^\>\cMmx-UW}6ڪ^WF<jsxvRKXXR`jI=j%=V=#e(J8C+ֆTUNTXJѽspff{&ϙ[Cj3#`1_+Fz-}kpDzZˣVN(?{Sˢ=-b*v.~1uU2y ŵu5t3ZDOroֳ |qzF"&,N i:&w;]a3Q&w#=b/w#݀gv5"x-|g,<EgD >+q[D.&sw Nw0(vn-v6|I|=G+>B'U8b8Żأk8V&%xP `2
)3RGOYG5r= O=ʝV;QO{ʏzq4(g<)/Wy}8QmSq}@ˋg\8*8횂у']U%}5בވ\גB7Ezgl?ž9دb-%&KX#F:d(v"Y0VpV
b*g*c]74By1֊ib:D]`yB\*fK+Urvڞq=+{6wY%ٔW_-槟*b)?0h#G9/)VǠ~v9xRū*>x3rTT¿i'[b\L]YhGa$_NRooslVtlWsSD؊# -`uc
m*@D*piH$ElEl\Záp'>tݛLBP+0%D
:l׳WvsOy=_bde_WykuYoR)r_m{goob7~鷑~w=?H?FAƹj:cG=FO#s.]dw#e# uiY3p+ai-"E4қvN}yCv]X-o1;ߦM]*OwVw_KbL~墎x].sj$+PK)sm - M{>^JKhjKF\:fd\6hnt -6 #9Һ{*pnj=7Yڡ@Y8=F2fV)Jf[Sn&xf+Pbf,CGxˍ
>c(a*IE~ÊoGYQ?v
}pc[=3NfF2Job禡hVqd^#x[J8SI
]h22fkD#{zH;tVvmf"mZ>Bx;X`1k1E^U(Q3mUeTP?/x<Ȅ)dxr᠀ŏXE+3AT.olX2)+652GFMDgueP~܅I@8'gZ'lefqF,LܣcesY_9:jK[$Aӏ.tʒP
aŏ +92d9-HeLag;M0Lr9VȀ&qT(*},-ؙY\Z3wHe7jGMlz$oO<#H,jw4wե%)##0;hpPG?\nÏp -O$q3^þ_Jɖ` -`G@u_& -imCoz!C8B 3\M,4x{(1-@yٻ(3
ntb;:̠lw#(Pv'Bӆ@S2VF ->aqy?%}胆ݤ&C4$mL_dt&9JYg"Sa4.< 3_,;-St+xP@/6C"U-G"*GʑQV<#"^b*Z3 -O+8;8V1E&qkH/U/dI<tj$X`^Շa;ɤY(|>3b~.Ӆts8)|N!cb+w -*&q&k.MMwDz*w2KyWNʻl[?ψ~L8$`s,Kȃ:0{%<řÜ9gY>O`ein -/!MβB!ΓyQvI>+uʾ/В`cv -l)~/N{'UM?ZyI-Y]t݉q Nu]hd.y@݀c[(Y'-:m?sw¼^I#qIZ3ըgTl.+βi+l(5@z2!=X:?V*ħW~*?DfJFT#!O8,s=7c'8~!"kr|kQd}؎4yK4>%G n99T{X2A Gr<B 0^zbgX@7ʴ8Ɉ"pdz"3 |PfFA\ߝqѸ6{U[dΛؽCoU{-?w-o,{AK.iJ_a^<P
^@ޤYr
]or]%Cz$nU%vMS5GVDUycԁbnyh6WOTVlW$D}-զp{ˌn)/ULv -h,,Zfi
Q=^'<yOx%4] d7:ws:% ]sҴ͎I}Jm%| -8yYV^KTd_4e**njVݞ;RPK^h -N<D>`0u<y#(u<ECϤBP`)S;.LgB7:.-ǃq^bσ?ƃuHJ`˓?9j-ৱD)HA|30ԙ_c:elw=> duI +`uc
m*@D*piH$ElEl\Záp'>tݛLBP+0%D
:l׳WvsOy=_bde_WykuYoR)r_m{goob7~鷑~w=?H?FAƹj:cG=FO#s.]dw#e# uiY3p+ai-"E4қvN}yCv]X-o1;ߦM]*OwVw_KbL~墎x].sj$+PK)sm +Vdi=JfcɘZ(mfOQ˻)'.oا@ݖP
{I32PTPݛ}ߎг1~b?'C{fG#f'(
nZ-"5nA+IO%47vcȘqk#бZڹ7vi +Ə`ӈ /:nD1iۭ*ۅ{@/L㙝F'9M}oћH֊'G:8[X^r1D/MƆ`pJ-3bY#s8xtԴ`JtvXWFa۪X]{ru\Yxnb[ʤJl=:6*X6!c#ԎJK;B7,y LJ:lc+|4=JN)ǽbN&RSN>D?c2I(=\>,SIu.靅;$e;jGLlz$oo<#H,jw4wե&)##0;hq@G?\nÏq +EqVo +(1-@yٻ(3
ntb;:̠lÔ(Pv\!iQ )G+O +>a y?$aiAnRGQ1MG5S=^>G)aXRc"ƅeee +.!vu hQ%j3-\2p8үrieQ99z<u/2<cE\-29[Cz!z!EH1SE ]0V-$f1# {g8>$8~2]]2M:pR']>1]/ǴO*V>~t~Q9:oR"v"Dzb<4hSY>? tNof +/O>Ȱ!eF%c zd {j#o@H}:Uw{k5 +*&q&k.MMwDz*w2KyWNʻl[?ψ~L8$bs+Kȃ:0{%<řC9gY>cein +/!MβB!ΓyQvI>+uʾ/В`v +l)~/N{'UM?ZyI-Y]t݉qq Nu]hd.?y@݀c[(Y'-:m?sw¼^I#qIZ3ըgTl.+Rq +;r@z2!=X:?V*ħW~*?DfJFT}#!O8,s=ķ5f#9~!"kr|kQd}؎4yK4>%G n99T{H2A GrX!\t/=3|F feZdD]YȄUW>Ul(3p .NhhHSo}Ll`&v&{Лd^]kR@KvWר:3{7}x+2q[\}ƹymOV=C7C&xNөKn#+*J1To<4'?++p})pj2[˥hӟl)˾YbZsz 9ssC Muٍ$j n H +gzF.pdtE}KF)$63^Lqe®*S.\zW)%bt^F}<A9;{eJ +ۡڰh7zjT + +N<D>`0u<y#(u<ECϤBP`)S;.LgB7:.-ǃq^bσ?ƃuHJ`˓?9j-ৱD)HA|30ԙ_c:elw=> duI
*MJ(%X֑3]IҊF%dˠt'5I؟s-v<-q@V./V.wuc.؈
:yB=iNiؼT93w,w*A<>R 1ea=JoX+T/*^J@H{ ]\+K1E 0̿oeYL|[qEFq2s~ yEvG37kvG%5S~ @@ -106,32 +104,31 @@ C q<z! \rS #Tq?4X:wHFn{Bv;U>v#-~!;~uS~c_KDw$bGy I~bءGH"J(zf\w+>l7b<]hjg*-\cT]"~C*2`,c^vM ;akAN.1K=
fY~9K+V\ee)]O(~3,g 32ROT'oxEqᑱ*\geƝEQph-Yz+xuWW_/j5͗ -^#%X+(^ߝgÕ2Eb4Y>cA%z&Z< jP,~һgȪjKde"[%O?B{XEhL:~@QhQﰖx?5oMע߿KIBݷGA`o4CRQxhG˃2/eڿ}V~UL+Im9wTy3\Ż{+p|%\ஒ~9rKJ}iRbPKo +^#%X+(^ߝgÕ2Eb4Y>cA%z&Z< jP,~һgȪjKde"[%O?B{XEhL:~@QhQﰖx?5oMע߿KIBݷGA`o4CRQxhG˃2/eڿ}V~UL+Im9wTy3\Ż{+p|%\ஒ~9rKJ}iRbPKo [^>S_˜@* \qU5\';ޞѨ |,(AnKY9K -nR)KE4WipFJtIoyE`2MFׯiJM[icmucmucm5LMhvjpT4*,[:!~Zi >*+(ГxbRLb&A3H%$i!4&韫N7. [H"v7$K7SjKR [ n}2Tc|.!)w-$BŤ7\skJJnAO_0GS~@@rO.䌟<H. 9G Lо,18}\IӃ`|i.0^tqnwq>!`2nb]
2Y"&ED"m`I*U=HokZ+X=D+iJIk-҂2~-]М_kъ˫(PPK*k +nR)KE4WipFJtIoyE`2MFׯiJM[icmucmucm5LMhvjpT4*,[:!~Zi >*+(ГxbRLb&A3H%$i!4&韫N7. [H"v7$K7SjKR [ n}2Tc|.!)w-$BŤ7\skJJnAO_0GS~@@rO.䌟<H. 9G Lо,18}\IӃ`|i.0^tqnwq>!`2nb]
2Y"&ED"m`I*U=HokZ+X=D+iJIk-҂2~-]М_kъ˫(PPK*k ĩ5j^Rj4 xp֩4[FUč1Lݶ+Xb(djì
Jr}z;j+H"S8} j]aU/z\0њzw[xmmY5v{XcԌd:kF.;w ^{&<r$SZ0SLXtgCQ?0--Y]/67ʦ^|nTfeRo,[lIýlSbjJ}VlshndY<JYNfޞ,fvR^:]/X%'l-ICyR0CK!"8q]qq:~isq{9\UiN7%=ΐ4lAldf -OtEYJ?̀a>40ĩKGEzw.*P=vS*<!c!ܪICU}0V^'9XGA+Ӷ
Ȳa=+'yFC@勬yO5·w<y%[n3Ī%_y!Uulװpob+_(N#)4"H'|lB4<;+NRn蛤 #͇`P3dejw`#jwEUO!V(%s,vHtq*Hb0|xU^3{K;(~;3%J.`1Ԕbwc{6` *ݗ#$oRcU=EH+C#t.N=|ϥo~f4}{ fc6NMS˲jN)3CeR2E
eZ -zeJ%"Q<E$-Bh1<#$5iXzF#>VxM2Bs,*,7dvj_PK -VDPd"ǣl*1Pֈ'B[cɄ5 -GFBHr<{5ԌqSAS܊!RPM'E#Os+*"TfHأg( -dP )m ~X7HlWvbP7"ͦZ4 -M;iaI~. $5#̡a{\OLCP__ޑ^m&ɸhkmcZ5@=
-IhF`dTHb_$oYC5Pƕ* ԧṮT4cP+U1CkĆhio>*TZEEUၗ^</xt$%0,$q$0#32q33<u*jQGL^ln[8F$].(O?mhQHRɱ[Tj@!~Kȫis3>S?Ĺټfm)O,Vʒ)`4~ͣ|2%^41-,q{.?6J)'
PPPgh)q'HˇуxY*/j{=ك(:Cד'bZfd@|Ÿ&*s!J1YլlMvy1(x(뢜R?fZE^C6}GH21˙aXcVrt*`i~ {p[YdT܁;1ޜ$2 -zpWw1 -`I{ccZZiQ2.JL+X -<aa}{< -xX<3dZZʸ-/e/e:H_vB蓎5!]r!'@Gl0!/8BƇ̙9BQ689=jYrYyP%,*y͵^웫jdsr9kXs^WM%mR#e.L# "LhżW=5<\EXnV-ChC}H>}@wCKs4VMz]]p>%BŵX_G"uH'ՄJ\Z_
r -d;' W -@|vVt -s@:@R -@TW 'W aw '(ub4@vY2 -d;N G -N)qZu!'Ex@i, -JWɒyn& e>(]7pPbjV'G"r?,7o]Mɫ.{+OyY=^A~BgW -g֞q?nճOQ -S'e -~s&(9LԤW#o,s{ Egn%*>/ֈrCʳ|Lc=~t'<WɂCڋBNo͏{QW3Ufz) +OtEYJ?̀a>4kB_a؛$PR +ek7e3,2okB=T5'ck!zrSx5z2zn<m{ܠьSKarg;Y;T> +kc} |{sP=CZR8qY'RU^/|
('Щ4"I#)}>G9-I1:=˳s+vIZ ,>|Hf;CVvg 6v(XTdbBH[r>>bĸ@.BQ çlW%5Ktc0|Z@ǰ3#\"- CM)v7g#+ +BRЈ}9bm +Lܯ&5fQECQĨQ}<.;BY\vw,mFw[{Xx ~ip>K^Ia6p`,ݴ8,fꔢ=C;]&.%S${P&pW&ʫ["e,ʸX#*ˊ +qSAcDnōPPM'#E~3Or+TiTfL-m02 +Z=*!ͱŶeS݆h6֓+v^1LI~. $u3'$ޝ^ꭋ&ɸhi1 +^ +橘zMxR'==#FTKqm3kI[>T1[XZɢnTьZkec^KS=ԺKmS\TZM*,j +x!)
bQ"/HpFf3}[Zk@XUE
j)ɋMo)AAQ.366cj-(DQ =*g|KPooؒ([\{J8*qzf*r=ڜjTY5fү'SY⥁ 麒2OTB;A*>= +j6vnwFBג>NT1ʎXDVB#}˃(:Sם'bzqҺM'%GalT\~`-hˑR
/y +M)FE8`>xmnW40aF\qA٪짯!02fH«/gl5?%҇.WbL\;tBsp--Fdg2~˘c `)'+AҞOC~:!㯬;hV<e3OStTҸEUVŹīKjxZgk6kr+^1pGjfuZU\ܗ|-7`䈿ݹ˸>X=YҠ2eE3_u4H33p=`4ZЂVIv<8YIp\0hZSEPpn$VgRd
pNj%ᄰ7*XH- ܫ;)Q/ӉRՒȅ-}Wa&x k;KItj +;R^Oi6bkInuI-ZYT.@V9 +6lp :+ +$2 +$$NFVW @F]ls +ZDGN]!|oxK4LA)gp*ʗ`[c_2s r8._9#؛_3R3=_~Nh[=>
2Ըt>(\V *dUp_ {#Ǚ={I~8yi<&0^#x +kK +9k4ޒBh^ +lRPKI$
&#D&/l[FphuuӠ
kP8s0#f2rrKtOx}N:8M݀&7VZ}Ww;O>HGtrP2S(p2S,`,Of@7lp&B".BSbXC v.0~&!Ц3xktx[8&##6Q96&T<
@
8
AcK]qcS+Pu_4\(p#6k(,z1=%1IW0f@**COEF
/34AB.Fn= J*aa\wXh`"k.ۖ>W)F$a09á(T?[l"IFt,ѐfL#KP3Ob2uy<0'{QSFh2|},Y3UdH.a\Hi8+]j(,YhH&-:Oh= \FYZdO3̈́E#|M=;:4\k(L#ԁD; 9qK4=7jEAi7Q(
<d>(6!ɌY!/VbG,vh%6
_GIۦN
_ƝL ;/
JhsѳU{orOS۶z6A ʘBpc 5Q9M|<5)_|{BF2ea?ڋ0\xp Ltzs,roISxH4{m*4LI0Wb2ΑDTfvyJR|Co[zw4lQ=֫ˊҝw bĥ)?CzQ/PZ:$WpG8Y,ɥ}E s#2\峲5FkI$;0ڙ$Dp0#L3#YQjUHіβxG}+2ҍN:z.ʞ
iJ&fLt˧1dkm`0MYfx2
wnVmU2anaK,5.4OõQL66&ZEbh'|E^x\~ɀDh$kSbXm}[BI4|0' %kCa^d8řɱR}X 9@/nsGG.Fey3Z8+9Qq
G[ƵϷ8^`/xeqefx-W?~|_BOI&?>S^y|.^͂XX1{b)|c[u @@ -140,29 +137,38 @@ n[>El0:)ylr^[oAshn_@;hrs?e1Oi \w zv]IEWQՌk,ʬM#*Ʒ:q-Q'm(ͱt3)ݒҟ?4Ǟҭ9/v1.n';rPq&fgB;"9n0~ḿ;:;4yr@ޝ&h2GJ;V.ʇmAi)+] gJ{J0ޜ'lA -rك<ea2{sq([L3ljŸЦ}M2!,PUycS7&=cS]0&&qJE/qeR}2]e*ut9yHOTW="WxQԫ8D-OGz7^TgF)V5d=*gEˢoN+Ldz+{Pti+u>.8ߛPXR!l
=;%@ˋ$s+ok.353E?&uAnȊ(T-'l'&&&~8l4]!{lBEJJ%PK6IR -M*T=1+J;MתJXFsΝ7јҝNAY3VՑ'(#efG(KԩnDdRUΌUwQyqRM7-X[x#I%V
cञAMѣz4Tx3y|dXSIDNzh|"cm|IWB+Z:Ӛ -6(Q ?ksxir->WyWI$Rq7xAiSoĊQxb/SƑ- 3b<7l?k-GUu_q~N"/22%H3E7
y:V/^
/)'yWDpe㛂x
e)4qMe,yƳYǷk6L\%GYƦ16Q_Ae̲\vi&bfҭltO;_"&}(-Vvo˱z̍3u:nвy7?EضDLZRgo9[7ؕk3FEȮ(,T]7Lz<eK12W.Gi~̪,
cNein?]$w.@ W -0AqMTR)<ȳP'(QʻR<j!=̥GP[9T^¬47h5oh\(Ê}X]}@Պ47gN&9 -r",f+}iI+\Ü5{2\it^wfɥiHˡO),+Uܿx(c?cEO+x<I+8kн0xO=s}!PC}B[_mQ+E<_'13Md e -fj^i'E
Zfoj;u<;hOT3J^}g]Ti2$)ˣkj~--O5[Nu5j5v״cisl2!s=A)!Q -@9[UfvYY6YIYCRn<.p)ʜm^Z!p"[wωU&˽QJd̔2WvH欍-{$N*){qF8,'ENNyFZ:nMr#A$MNmҊeV*miV.5W}Vn'o+yevy;#Q>Dy#S=M='^:ʟv>S4yﲼ%,G:~H.~H*g7XJX~,N)~F8I,՚R-va -Bya4n
E#Hj[Y2[[TH0)
VbepCRsDDH2{eڏMmJƝI -NLUͯ5m]p蛛,l##F%?˄:^(nH#ުVqu 8YG皨:3Q2-4QI^40c2?وX*0H0фe4ֆ+ -&aN/VN]"ܹ mjO[iˏ8_oBV6Vb`0/SQIhJHhG=(ُvT66. -&q!.b!67q13@툩;rH9z!.'OEL|*'E
;"ԢKi^ ـHF1،*{V+FDg,=6ros0HhXܔO\"_)>!-`0َ^蓇2)Kh#TE救+L\$xb_mH$|dI3c&G7>\Oq=FmǽApL܈xRdjoy :hz̲)X7Y ?fħcyTVj{<UfZYՔO%Húzyb6̠4 f^ء &5} -.fOJSiDOةYr˃#}h/~)RLF`JZ'=Ie-@Y9kdH$v379簉[N6eVJY^#lbr) -9+UrEV-Zbw>blO`AEY2U[b݆d<NeOގfx}L^9ߋL)
!+NQY_UVwD{:5T0jrr̷;E]ٷb'Sj) ުDTLYKtk冷/1Q5by4檅ȔP -\n -^p֥"l7Z&CkV*YYyd"jGsaYk}*nYgErrGvʦDvM !:\\1>Hj噋:Aa1Q`{Q-}{M[횻IOء~"f#~:,/$ElҢoBrE6SϰN -MN&r$5τ~nlTgF~ASY(mӶl;$RYwlsIi0oWѧjdToWΟ j;I:S<gZNϚC?tJ51jafŇuÌw]Yr,KNx:>CeAjdśX
&zoyI3rsFs>2o>y1S2ㄼq{b$~&d{<\)l+p*i8;+9S<Q641SUqphV?ܾߵ__ۻl<{Ù8683b5|*f ǡB͏n>[P[-0}5:W=ESa~CXPݍgX,:%XBs7Zۺma\Љ`47YTl*uJYL/<&G: -S5bT=3ܥs]))]زlj'{% -lSΝS[j%HID9'OyԔNljC9UAߗMx5]wq}|Օ9^1b,Y(sФcvucO`iG1bZ'>V{bE'a`7^}K<Jʓ$n^9w3\M,${zŋ=^Bt`dJcOC::B -[L}3Ynm^o><{̃8ǡ1]8pwON|g/c|xm]xqB'~܉Kk&uD}Yg8tA6wʼ -%[!#qQS:S">~OG~~OG&)U8z0 -YZo55S)NLVE>:e>Fv xK?n쯞%'K^ƃ(S&rOUy]af@WqQm3y:&#>2
v}la9YYze&BR(~㛹fRZ3`f)Lʫ.`*+"z3G(pi]0KG* -ep,?wH tҀɛ/NiYi`uERZ";"mXp*}hυY_aRd^<Ƨ*YYklRqUF);]as,܇eK[[".#r'(`r[[hzyK;}lsQz5t]:lӳmನ>,jmp.jVBBԢ7鬀 ؟Ź1ݶ8Pݲ풛jmu}Rg/fgb+붚n0;=,SJpt*@w~EsNEtzgo<ekcƫ2Ek4Ge>e>WpM_ -Dp> ԧ55GƹVB:?=`wK1$[o#Gǘd_&_03ōLfjˤz/A܅#=WbS;>)2_8&xY,«I+^~ +ىUxPnCr;~<,xD<.yِ~_uo<iT)c6eDq5sMq'c|5Ǐ~fc/qU-f
FuW:v7o]8:/f9xՀ\Kw"BBm&4aWGzv]oQ{'*}Żx}YE\^/;͒+J˙2+ܘ>E*2y.Zyq |cOfD2=0 -e=nGKbRG
ŵƕنRrSl"yˣ0)R&٨#iΈwFhv97z 1J5q̑]S{Xx3?b`3Wd\GWV:95qx],Jw08fgq%4l!pWaiBȒ"Rw X۫D["dhƃAO)<WLfbLd'5}h֔iT\af:7sN#XP]z? KK5 RA(xvJu[h"=jGNyF۽]m7RRer9&ȕy'ܷٝ0'ߓ;G_;=lsAgsC~h ?;&"/s?PK2?M5 +rك<ea2{sq([L3ljŸЦ}M2!,PUycS7&=cS]0&&qJE/qeR}2]e*ut9yHOTW="WxQԫ8D-OGz7^TgF)V5d=*gEˢoN+Ldz+{Pti+u>.8ߛPXR!l
=;%@ˋ$s+ok.353E?&uAnȊ(T-'l'&&&~8l4]!{lBEJJ%PK6IR +9 +/
71wpa*G%u*.`(AG-usR)1Q31jML4Aik,aot٩~U:Q+ibjN*(K"T&"4XLTC0v#dpe墍S8<}J'Qj:Kdbn;:7f1]uVʥp]S8UŽIPn=SNl4QQ4-,P+L\8Rw,_9^%X4I
(@RZ$k|(&ڰq_QpTHs>rb~~Z^L<` +#!$q!xƬHGp$rdN6"&MizU=n'vEZ"_b,=Ȕ'r94p`M\L|it{
\n07c<ʈcZ5q'͎z>hz^b1eu!@kZljV){
|D0cl]ӊgl'lf*v455m:U7 2ZKuo$[yt>?nǧ1ny&ħnGM ϕ!Uuf6Xv]IM| _f)v{GTNw[%$[Jenb}cS۾f0j'ݘ@fxiFTwoNYQϖ<Һkz@jhn1T{P·zg_e[Qx_ch9I:D٩*_7
|s4KP`(Zciw|1mg9&w=ਗbCnWwO +T +Iv >O?+`1#/i)1*i?I; c' p?GObۉ^#DXq+ 6+NH;vV +&8UEbyۃIzF#/xuy''=}lb+yvH"aV~NxvA}ig.TeAhj/G@ˑ(+SC%:g(jWb~ן01^Ɯè_4cØ[_U4yw{qʥ")GLYRY2,JPi#xy{:B."zl4'ǜQ!eE&jϓK< NP\ESxzs}86m +mY`+a˗>m),N/_yYߏ9~n5',bKY.+er?EB_BDmpRU^Ņj+'^#+ڭ]:(ee}(%s^.#@eهPe<{[ ba6U| ߌ\(nCA#T(>PmY|D䘣!{C˳!qpψp<P0Pgz`m?V +UxvH@X~r$-XT4*9v[d-{ph&[=Z%jWh{^Jm}N{U{
%uu%XJEH)P*(Q`-u두p,դw"ŸNW69wɩ|Ǜ,Ǔr!eRWŔV)6)
2[ΔyIΖL:Jʳmk{#7ȹrǓ#OK</}5oH\ޔMG+6M.*<m戥UK^lmhH+}ZFb.WH\M멻{D;)峔yOQ (_zSW)}|H/~+HR_'z7zo|*.?g5dJe/ +0K+]y
^dO߃Zv%hLRˤTO/O>BF(B<ĉ=h@`%`lUT!Utrmlj`yO!OŇx _z;=(kpoPKS +^ڢ6ZEـijk[/Zjil.|{cO?CDgtҘ&h-Lw)2D+kbx0܂L#+X[UkP\=iT})f1
%SXji06j +Npkf*2 +,/[МkIu%Rgr]?^s*U争T8@n}Ab:}h@OXTXVQBDBg}I<hҩxTEx:Th
i&m'֙$#>y"m`*4gt~~7)ެDMKYs=;"9p0Ӽxyix}$fVન)Kۛ"ɬrasAgjM4$IRк`h3m'W~
a? C̶oʠ~;DWX%ol,bU4N<&i:"zVH7TC&ZhP ʪޠ2"E?H:514n@e̮7[6,>38Vs:f2Z.ZPX +mXIhLģ&/]L{V + @`G<04Ͱ%R$[ +QInI"`*)_n* +IйZXTVZr̚HMW1!lktҫDZt-mdA* +E]'`xb_o甀I:|aӞZ:Clp-PcYImtNg:a2/^8iS2e7eˤTr:݉ +e~SIܺ~D?Le% st +WYb}20Mۘp?v~;L' :wЍ; >Иナ$kT911|3Bcc{L>F[ц֘u^Ko,.G:l&7cjpu aT|g=$H#av/]b:Ym= Gr7(Y$yZR%t_4K*_$"˼W|lP3aDVCxztܴ_E_$",&QΏ1k4JXcyIJ2J=er'#_Wh/G5IHneeNt0'd0;N i't?7?e^RZyp,J{OHi?s*eA}Wk7OI/KVNKd'2AT/-O{V!1XK,S{_5_d*!5w*M &)z.aj3-~I]"Id
ߴxۛXL4ݯp9z\c@nP1Tv7Ӊi:3Db] +˟(M"ֆzH><}G潏{qhP)c脼{N{qtZbSߩ4AOsrndLNU$M}BT|{*9% IgdcG
S4͵\NGFQ(EiXx4f(1εU)H.0`qesaM/N<Wh~~&ni4?Y SS?u?]HC>]+G}nZn4tѥiՔŜt]#gf`ٰD>Z^ +YJܯO2F]99CWڶxXDβ$[h˷`.< '
RX:^$mh~#dr nЭhע/а)6Ƣ3.Ka+!Jxz@EDUUDbg$"a1:uکӽͳfi3@M7
ւúAlUxlqGT +ݮEO*9`xfԡ=sf腑=Y~o>a~|jtezcٸ*'DhFoِNȮabK(}&q]Y,g6 +Fo/ +Lz[ +"Jܷm^ +}&#'1UP.1uӑ.w|:.ɓɮ/um;+SUA*SJi]O eo{<,IY~s|Affs +*gdy>3J +z";2йR^s9DHg~2Jm+uq7pð^3`&Mf_c7g-Z%rWy}Y;-6R{.Kpʝ:o/Q4-DrHv 1"A(sxmyl :9tG7'[}z1xC.5:Bn}.*KkyKu.JJe^%ؾf+@sK<58z/͇ofQ8YԪ2=;TԬRez*JOr3sظڻy'4wU)GE3*a_<?u> +ꁾ7!&y+K9~h|Ȁ>Krշ eWBv&=ζ7W%;/+TqN;FF&./咣T%#,2sh~6 +CUGhQiGi4 tNخ
Ѭ2[X@:BGD`/W4U%>sR:,QynQݘ5u}HDc!_ʚt\ggؽ1r6dCI:?dB9˨e[q+x
3U4 +ޒw>{,9VIh Fnl{-PemqfԂk ҴǞӿAiHX`w}~W>nMK +3i+e&
Ťnmñ>n
7%=ֳM#a+|ɔ3AޡD̚)j[ g>cA5& 9#wYK£q=g環vH~
ҧ`;cKb>GN7`8hVUjxqyPqIռ(L{93y=e)#okxGIv$ltLu/*R2Hv`3>is8[5HDC (}%7"K#G'WA$ou*$NS2go'E۴̐[sz~N @@ -171,20 +177,21 @@ e=nGKbRG
ŵƕنRrSl"yˣ0)R&٨#iΈwFhv97z /RX`V g7ΚhwWY5ipW8!ϋ;
V9Tx*;"?P7R}^I~6PmE|vlEqO檷"V$+8A,cr ++{eQs8>,;B#>YQ%gYqY>/NDh8_xe~_*w {t*+6{'<怣ys=&"w_7J^/ ';bJD:a4l_`%r|,JVJ]$f>Vz71{/%/x KMb>Ȉ+ڿ_ -ycsk(Y5t2a{:E%iDhAV??LAtY
Bx;7"oPKR +ycsk(Y5t2a{:E%iDhAV??LAtY
Bx;7"oPKR j'W,pE C[Y"URUxqOYUR*ȇ%a NELڏ2xEORB)'aDq#),7n 0iB6<6FսUWBtN/sb|XBEUIß+(=+2beGQ-Dͬ3l%)zc ߠӤ-q[^\ǡ`n4 _篏A^|.}l=](Xe-<,{)O1ci8òHcC}5.9
gqr[z|Ʊr]C{rx.~E~8ړ__='C?cesrB-Иpѻ$xևZ +y:Z1BCޤm>/cYbF̃K|23-W
BYfp!(Nps$N1OqʧzE(n*1:pY<g\yyPi9/W"J{>n]7q!*@p,ዌ!r9|6Tu!1UxŭRD01ȭ#y
}Hm"!QLc;}a;=m#ۉFdO"me^n=6^Ǚ*9^u2'rj,wT ؙ:-3uTd3/L0Qځ QӇVS#N(e1:H_EBZE@ˋQZôw0Ee]6jQ6Ae2Z ynv_h)"ǯ*QF|_
՛()ohoD{|+Sw${bEaBQeYHx &Y3Lhɑ#Ѣ-1"I,qޥ<v_52_+EA$x
8A/4]/`wCbGj=X.\ÏlZ'UDUx}&ܽHSm>~;XEE3,)nK t\\
DglUЯ
ZbH8,@uқyH定ܴljR~=@V1,&%$HeO=4ͤu4dz<(geȞ,9y')QY(e-(k -l|wrlɻZtM\nt\zKxJYy+-x +l|wrlɻZtM\nt\zKxJYy+-x `'aG#QE.J\BqD7lɨ KMͶn)[0,}_͜Ue?T]rT%Jrx(Y,?%pKzo"~ Y㗫*~E6r,ҿfD:Šb}=Ț0 縳@HL|-VLEQfOゅgHHyxX+x@V`ZCܯy'T]p,Fz2{K4í̇ά2Y#5,[=4M V lV3<R]'o-<-<oagBmEf>W,dNKx=w8m|@vm7l>d+U)gV8',|řu' ,8bwn>>cY|[\3I6E_X̖|tZ`koUiWmmqRBdS9km<'46l>҄C5G\$ӟFmKGZJk)
ʩk-=466iu{ 1W*)Y566kbFӡjHkh I6lh:)=1!h՟XēhmVQG7/=xȡ7]!|z*h0Ky?"N~i7u80y(=FYڌ=A$K!o%IȆZv|%ۃ:P -q6Po$*}G+sJTVN,3E$RΞ$!IecvDOFv%S<<IJF&nȿ(oݍyA;u#m/o-;F+YWy-`kFJ?h䟗7ne.sLDe<ecx)TϠ4PW7L`w%LtPKcJ - - -A - + + + + + diff --git a/src/com/droidlogic/otaupgrade/BackupActivity.java b/src/com/droidlogic/otaupgrade/BackupActivity.java index 3e25211..6c22e24 100644 --- a/src/com/droidlogic/otaupgrade/BackupActivity.java +++ b/src/com/droidlogic/otaupgrade/BackupActivity.java @@ -182,8 +182,10 @@ public class BackupActivity extends Activity implements IBackupConfirmListener{ };
public void run() {
- PrefUtils pref = new PrefUtils(BackupActivity.this);
- pref.copyBackup(false);
+ if (!new File(BACKUP_FILE).exists()) {
+ PrefUtils pref = new PrefUtils(BackupActivity.this);
+ pref.copyBackup(false);
+ }
Backup mBackup = new Backup(BackupActivity.this);
mBackup.setConfirmListener ( BackupActivity.this );
mBackup.main(args);
diff --git a/src/com/droidlogic/otaupgrade/InstallPackage.java b/src/com/droidlogic/otaupgrade/InstallPackage.java index ac51c63..4d24060 100644 --- a/src/com/droidlogic/otaupgrade/InstallPackage.java +++ b/src/com/droidlogic/otaupgrade/InstallPackage.java @@ -80,6 +80,9 @@ public class InstallPackage extends LinearLayout implements OtaUpgradeUtils.Prog mUpdateUtils.registerBattery();
if (mPref != null) {
+ if ( mPref.getScriptAsk() ) {
+ mPref.createAmlScript(mPackagePath, true, true);
+ }
mPref.write2File();
}
mDismiss.setEnabled(false);
diff --git a/src/com/droidlogic/otaupgrade/MainActivity.java b/src/com/droidlogic/otaupgrade/MainActivity.java index 3759952..a6d404b 100644 --- a/src/com/droidlogic/otaupgrade/MainActivity.java +++ b/src/com/droidlogic/otaupgrade/MainActivity.java @@ -55,7 +55,6 @@ import java.io.FileOutputStream; import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
-import java.util.Locale;
/**
@@ -295,15 +294,12 @@ public class MainActivity extends Activity implements OnClickListener { case R.id.btn_locale_certern:
String fullname = filepath.getText().toString();
-
- if ((filename != null) && (filename.length() > 0)) {
- createAmlScript();
+ if ( fullname.lastIndexOf("/") > 0 && (filename != null) && (filename.length() > 0)) {
+ UpdateMode = mPreference.createAmlScript(fullname,mWipeDate.isChecked(),mWipeMedia.isChecked());
UpdateDialog(fullname);
} else {
- Toast.makeText(this, getString(R.string.file_not_exist), 2000)
- .show();
+ Toast.makeText(this, getString(R.string.file_not_exist), 2000).show();
}
-
break;
case R.id.updatebtn:
@@ -337,70 +333,6 @@ public class MainActivity extends Activity implements OnClickListener { }
}
- private boolean createAmlScript() {
- File file;
- String res = "";
- String fullpath = filepath.getText().toString();
-
- //String filedir = fullpath.substring(0,fullpath.lastIndexOf("/"));
- if (fullpath.lastIndexOf("/") < 0) {
- Toast.makeText(this, getString(R.string.file_not_exist), 2000).show();
-
- return false;
- }
-
- file = new File("/cache/recovery/command");
-
- try {
- File parent = file.getParentFile();
-
- if (!parent.exists()) {
- parent.mkdirs();
- }
-
- if (!file.exists()) {
- file.createNewFile();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- res += "--update_package=";
-
- DiskInfo info = mPreference.getDiskInfo(fullpath);
- if ( info != null) {
- if ( info.isSd() ) {
- res += "/sdcard/";
- }else if ( info.isUsb() ) {
- res += "/udisk/";
- }else {
- res += "/cache/";
- UpdateMode = OtaUpgradeUtils.UPDATE_UPDATE;
- }
- }else {
- res += "/cache/";
- UpdateMode = OtaUpgradeUtils.UPDATE_UPDATE;
- }
-
- res += filename.getText().toString();
- res += ("\n--locale=" + Locale.getDefault().toString());
- res += (mWipeDate.isChecked() ? "\n--wipe_data" : "");
- res += (mWipeMedia.isChecked() ? "\n--wipe_media" : "");
-
- //res += (mWipeCache.isChecked() ? "\n--wipe_cache" : "");
- try {
- FileOutputStream fout = new FileOutputStream(file);
- byte[] buffer = res.getBytes();
- fout.write(buffer);
- fout.close();
- } catch (IOException e) {
- e.printStackTrace();
- Log.d(TAG, "IOException:" + this.getClass());
- }
-
- return true;
- }
-
public static String getString(final byte[] data, final String charset) {
if (data == null) {
throw new IllegalArgumentException("Parameter may not be null");
diff --git a/src/com/droidlogic/otaupgrade/PrefUtils.java b/src/com/droidlogic/otaupgrade/PrefUtils.java index c742bb6..f4bffa7 100644 --- a/src/com/droidlogic/otaupgrade/PrefUtils.java +++ b/src/com/droidlogic/otaupgrade/PrefUtils.java @@ -22,21 +22,25 @@ import java.io.FileInputStream; import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
+import com.amlogic.update.CheckUpdateTask;
import android.os.storage.VolumeInfo;
import android.os.storage.DiskInfo;
import android.os.storage.StorageManager;
import java.util.HashSet;
+import java.util.Locale;
import java.util.List;
import java.util.Set;
import java.util.ArrayList;
import java.util.Collections;
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.nio.channels.FileChannel;
-
+import com.amlogic.update.OtaUpgradeUtils;
/**
* @ClassName PrefUtils
* @Description TODO
@@ -45,9 +49,10 @@ import java.nio.channels.FileChannel; * @Author
* @Version V1.0
*/
-public class PrefUtils {
- public static Boolean DEBUG = true;
+public class PrefUtils implements CheckUpdateTask.CheckPathCallBack{
+ public static Boolean DEBUG = false;
public static final String TAG = "OTA";
+ public static final String EXTERNAL_STORAGE = "/external_storage/";
private static final String PREFS_DOWNLOAD_FILELIST = "download_filelist";
private static final String PREFS_UPDATE_FILEPATH = "update_file_path";
private static final String PREFS_UPDATE_SCRIPT = "update_with_script";
@@ -167,7 +172,7 @@ public class PrefUtils { for (VolumeInfo vol : mVolumes) {
if (vol != null && vol.isMountedReadable() && vol.getType() == VolumeInfo.TYPE_PUBLIC) {
devList.add(vol.getPath());
- Log.d(TAG, "path.getName():" + vol.getPath().getAbsolutePath());
+ //Log.d(TAG, "path.getName():" + vol.getPath().getAbsolutePath());
}
}
return devList;
@@ -228,6 +233,61 @@ public class PrefUtils { return filePath;
}
+ public int createAmlScript(String fullpath, boolean wipe_data, boolean wipe_cache) {
+ File file;
+ String res = "";
+ int UpdateMode = OtaUpgradeUtils.UPDATE_UPDATE;
+ file = new File("/cache/recovery/command");
+
+ try {
+ File parent = file.getParentFile();
+
+ if (!parent.exists()) {
+ parent.mkdirs();
+ }
+
+ if (!file.exists()) {
+ file.createNewFile();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ res += "--update_package=";
+
+ DiskInfo info = getDiskInfo(fullpath);
+ if ( info != null) {
+ if ( info.isSd() ) {
+ res += "/sdcard/";
+ }else if ( info.isUsb() ) {
+ res += "/udisk/";
+ }else {
+ res += "/cache/";
+ UpdateMode = OtaUpgradeUtils.UPDATE_OTA;
+ }
+ }else {
+ res += "/cache/";
+ UpdateMode = OtaUpgradeUtils.UPDATE_OTA;
+ }
+
+ res += new File(fullpath).getName();
+ res += ("\n--locale=" + Locale.getDefault().toString());
+ res += (wipe_data? "\n--wipe_data" : "");
+ res += (wipe_cache? "\n--wipe_media" : "");
+
+ //res += (mWipeCache.isChecked() ? "\n--wipe_cache" : "");
+ try {
+ FileOutputStream fout = new FileOutputStream(file);
+ byte[] buffer = res.getBytes();
+ fout.write(buffer);
+ fout.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ Log.d(TAG, "IOException:" + this.getClass());
+ }
+ return UpdateMode;
+ }
+
void write2File() {
String flagParentPath = getCanWritePath();
if ( flagParentPath == null ) {
@@ -272,6 +332,7 @@ public class PrefUtils { String backupInrFile = "/data/data/com.droidlogic.otaupgrade/BACKUP";
String backupOutFile = getCanWritePath();
+ File dev = new File ( backupOutFile );
if ( dev == null || !dev.canWrite() ) {
return;
@@ -296,6 +357,17 @@ public class PrefUtils { copyBackup(true);
}
+ +
+ public String onExternalPathSwitch(String filePath) {
+ if ( filePath.contains(EXTERNAL_STORAGE) || filePath.contains(EXTERNAL_STORAGE.toUpperCase()) ) {
+ filePath = filePath.replace(EXTERNAL_STORAGE,getCanWritePath());
+ return filePath;
+ }
+ return filePath;
+ }
+
+ public static void copyFile ( String fileFromPath, String fileToPath ) throws Exception {
FileInputStream fi = null;
diff --git a/src/com/droidlogic/otaupgrade/UpdateActivity.java b/src/com/droidlogic/otaupgrade/UpdateActivity.java index 08a424e..710e390 100755 --- a/src/com/droidlogic/otaupgrade/UpdateActivity.java +++ b/src/com/droidlogic/otaupgrade/UpdateActivity.java @@ -162,45 +162,31 @@ public class UpdateActivity extends Activity { public void onReceive(Context context, Intent intent) {
if (intent.getAction()
.equals("android.net.conn.CONNECTIVITY_CHANGE")) {
+
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- /*NetworkInfo mobileInfo = manager
- .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
- NetworkInfo wifiInfo = manager
- .getNetworkInfo(ConnectivityManager.TYPE_WIFI);*/
NetworkInfo activeInfo = manager.getActiveNetworkInfo();
-
- if ((activeInfo != null) && !activeInfo.isConnected()) {
- if (activeInfo.getState() != NetworkInfo.State.CONNECTED) {
- Toast.makeText(context, R.string.net_status_change,
+ if ( activeInfo == null|| !activeInfo.isConnected()) {
+ Toast.makeText(context, R.string.net_status_change,
1).show();
- }
- }
-
- /*
- if (!wifiInfo
- .isConnectedOrConnecting()
- && Integer
- .valueOf(
- R.string.download_resume)
- .equals(mCombineBtn
- .getTag())) {
- mCombineBtn
- .setText(R.string.download_pause);
- mCombineBtn
- .setTag(Integer
- .valueOf(R.string.download_pause));
- } else if (Integer
- .valueOf(
- R.string.download_pause)
- .equals(mCombineBtn
- .getTag())) {
- mCombineBtn
+ if (Integer.valueOf(R.string.download_pause).equals(mCombineBtn.getTag())) {
+ mCombineBtn
.setText(R.string.download_resume);
- mCombineBtn
+ mCombineBtn
.setTag(Integer
.valueOf(R.string.download_resume));
- }*/
+ if (mServiceBinder != null) {
+ mServiceBinder.setTaskPause(UpdateService.TASK_ID_DOWNLOAD);
+ }
+ }
+ }else if ((activeInfo != null) && activeInfo.isConnected()) {
+ mCombineBtn.setText(R.string.download_pause);
+ mCombineBtn.setTag(Integer
+ .valueOf(R.string.download_pause));
+ if (mServiceBinder != null) {
+ mServiceBinder.setTaskResume(UpdateService.TASK_ID_DOWNLOAD);
+ }
+ }
}
}
};
@@ -507,7 +493,7 @@ public class UpdateActivity extends Activity { " lastProgress:" + lastProgress);
}
- if (mDownSize > 0) {
+ if (mDownSize > 0 && lastProgress > 10*1024) {
mProgress.setVisibility(View.VISIBLE);
mProgress.setMax((int) mDownSize);
mPercent.setVisibility(View.VISIBLE);
@@ -521,6 +507,10 @@ public class UpdateActivity extends Activity { mPercent.setText(getString(
R.string.Download_succeed));
}
+ } else if (lastProgress < 10*1024) {
+ mPercent.setVisibility(View.VISIBLE);
+ mPercent.setText(getString(
+ R.string.scan_tip));
}
mProgress.setProgress((int) lastProgress);
diff --git a/src/com/droidlogic/otaupgrade/UpdateService.java b/src/com/droidlogic/otaupgrade/UpdateService.java index 2460b96..3f18145 100755..100644 --- a/src/com/droidlogic/otaupgrade/UpdateService.java +++ b/src/com/droidlogic/otaupgrade/UpdateService.java @@ -62,6 +62,7 @@ public class UpdateService extends Service { private UpdateTasks mDownloadTask;
private Notifier notice = new DownloadNotify();
private Context mContext = null;
+ private PrefUtils mPrefUtils;
private TimerTask autoCheckTask = new TimerTask() {
public void run() {
if ((mDownloadTask.getRunningStatus() != UpdateTasks.RUNNING_STATUS_RUNNING) &&
@@ -116,6 +117,7 @@ public class UpdateService extends Service { private void initInstance() {
if (mCheckingTask == null) {
mCheckingTask = new CheckUpdateTask(this);
+ ((CheckUpdateTask)mCheckingTask).setCallbacks(mPrefUtils);
}
if (mDownloadTask == null) {
@@ -128,9 +130,11 @@ public class UpdateService extends Service { public void onCreate() {
super.onCreate();
mContext = getBaseContext();
+ mPrefUtils = new PrefUtils(mContext);
initInstance();
}
+
public class uiBinder extends Binder {
public boolean resetTask(int taskId) {
boolean b = false;
|