From c1e3ac44d6b914867d85843515c14670477007c1 Mon Sep 17 00:00:00 2001 From: bzs0114 <371037563@qq.com> Date: Fri, 15 Nov 2024 16:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/readme.md | 0 doc/李豪杰显示结果.jpg | Bin 0 -> 162589 bytes doc/李豪杰的泛读报告.docx | Bin 0 -> 239639 bytes .../java/net/micode/notes/data/Contact.java | 38 +- .../java/net/micode/notes/data/Notes.java | 296 +++++++-------- .../notes/data/NotesDatabaseHelper.java | 348 ++++++++++++------ .../net/micode/notes/data/NotesProvider.java | 75 +++- .../net/micode/notes/gtask/data/MetaData.java | 27 +- .../net/micode/notes/gtask/data/Node.java | 34 ++ .../net/micode/notes/gtask/data/SqlData.java | 92 ++++- .../net/micode/notes/gtask/data/SqlNote.java | 252 +++++++++++-- .../net/micode/notes/gtask/data/Task.java | 169 +++++++-- .../net/micode/notes/gtask/data/TaskList.java | 166 +++++++-- 13 files changed, 1099 insertions(+), 398 deletions(-) delete mode 100644 doc/readme.md create mode 100644 doc/李豪杰显示结果.jpg create mode 100644 doc/李豪杰的泛读报告.docx diff --git a/doc/readme.md b/doc/readme.md deleted file mode 100644 index e69de29..0000000 diff --git a/doc/李豪杰显示结果.jpg b/doc/李豪杰显示结果.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c146057394bb2ba91d4db8ee139fc697bec5760a GIT binary patch literal 162589 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/李豪杰的泛读报告.docx b/doc/李豪杰的泛读报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..dc2ba682492267102f3bab6076414d760b6a4ef6 GIT binary patch literal 239639 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

8oW-h+va|y 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

DsrnaBg8Vb0uD6H^B)e zW|{!7m~=-x#nz4@_iI{8R+j3Y>O+V9h%+dNBBE(A5Dg5lX&iO|h+G^oc)MhY;C;kQ zQ$WYl==>Pgd&-I0%Q*&~U0t}bw{rUpQeJ2N!CaZ21HNzAIo|oJ2$mAcnCvF7$psn= zKF(3Kf^pNyQbI;=+~P!=Cr{6%HbQx~!LAfayJOYtcy;H9@?7SHiwC9Pq+g8n*{6L~ zsL!poI=^J`A9iW46vw+nemxc`R2R9T_Kp13&!0w-WQ5(;oGDZ%lcYQKHnUtUUn)B5 zd@0o@&drrPxp>Ab*V5C0WUm#!zT5S@e%Vu9altROfz#)Kb8N?!=k*(ETOXQUyy(2w z&eiwyKFZ85_0jM~>wo)Hj$rB{mFOnSlG8&fJEKuM z9Tle*(_v-VKb-yXTKV)D>)gzxd*-<^a{F1iO&yidE!k!X2rUsnB!73;93|@NovL*U z@|cDkEF z286T8AXY`eb2>?rolP)F>vh{Vtq^?vvA4o~2FR~Fms(3(n$QUwY* z;#JlwYtrn}9#P5->UxlRGTx*HY(2~M?+=6?v%_mW^DOYhW5piMzixH+h26( zn9&07>@bG=H5>Ii5L0{FcXb@wydjWJ<{*TqBWS&1q7BY z$Hr~&vZ-3?^9gnzr2*SE3J{ZlcmN@#%Cyg}VZgwfJ>xBK1T_&R%Q>4TPxsqLF=y8p zjWuZknsHv4_s=<*<<+X?)%wi5&{IqFO>E`)WSLd@e|`*;+_ZapI6e-2rRRbC^1>AF)qa=ol(th(%1*i zCGxeTUd5beQ4_6F0;JJHq)oVnc6@`f*-?igpNr=j5be(bLJyIh*aYk^jDb?%vPomV zdu}Hd8ZnWRN2mLenDM0L=*=5aEkZG@M2zTUiRrj>0fy5;z`23A(&h*?cL%YEq+^UU z&KM2bC#5&r{n;d;jEXBuCn8XmA7NaM(`HBZthY`F{&LFJ2`{_zW3H30X`Aat6I{i4 zQyk|~`uG8lt$gugivFE8gghd$##Oy2{Yy<-L>a6dibR7p|t{cQh?JWzbI_d zw_G^lx2EHB`{L{CJtH_hBz96-x9DV-Df^*0i4r7>iU$nFzNVBY?K#_F&rmRKkLGOe zeAo}NRm7$aaegW0OY4q(oR^sKl`Xq|AH&zaXEr9RDqp;KxMFL?&Lwr=7T-0Y3wOk} zJNnXCo`im7E5-*B`-A*@v)f7{b@q>LDadd6Eh75l{DX_14Vv4%EJt870YZlW`;Pt4 zi+h(_N@tow%w}|5kuB>@$d}1}RCjc!@Lnh2#75md@CnMkj@>BFGS2IE<)`Oy*nT9= zI0<98ZG9|jm@ru`Ks;e%1$?al6+y?S`d3tJf3Pi(`doI#7qNHA!=4Vg_Zs<{2i{iBt~Al;*ebAmdyW*at(u3A0Ndu7 z1?)Mjvy{ZVeWpdZLta==zQ{JVqvR%Xbh(&deJLnXFQF2|cfh)vop|uy5K}*y64?Syn#2t_R;MqB6^Mmh0lh zNkVmPM=t0N*fcZFp4<3bT+lmjj5=Af^oqRw(M5$@`rkAL%vi6{zHVYWhFQ@B79me< z;zHhlNKw!cqYZ^VXK#0PJtRwD>5dw%3uh_i z$*>*)!Bw-zAR%Sv(^Sg@b0YQb2wzP7<6L~JQ^{lNeDlhf~moZp!1&NCk zkj6I>PDGp?$~gM$)o(s;m-k2qt`C?|KKM~7Zya5uc+p+4`I3u_o_Y)xiV%ryDV)oM zLAj#Rdy^xi$?BGv-8xwN4WZ`Eg)h9d?<>c`?BB^8uaZb5Ha;l2}&+wYQZZ*~S)YGlys0ZR#JF+J6`}#J@GX z8i+eEZu1j2_OY$@R@M7hamMavU&XVfze?%x_bDe#TupjSnEH0+eAW);JcVZ$kZ`ien^5kmj7}cwnT2#?COU~`NTeJ6MBWQ$(>UTY1 z3rs%OQ0`la=atf(Gsj)7BV@9O#t=2H)m{%MPm!xq?y=M@qOYtcf^Elx2kCh|rMahj zI0p-Jl+vTgO&Oh*Cq+7wl=tjV-Nix}(iYO7%&2X0lbV3^3paMeqdPfmxy*fb6dBCG zA0twyTwLj^iKos6Ezr5S)NNz2$7{!^je7Uz5O4jqxTYQzlJPU` zW~%6v-1;N&{8{r|_lHwVSt%_?mut{Rnien%fH&7Zzi5YV@m$`%{)yN9Vx)EqJDQ*n zRm?$bZuZU3c3fwh)7)N@S(#+f{)~c|KBbAb)Nq|4UY(2xouXU6_wYy0DR{3X`Mb`{ zTRZIXR!C6h2}lxpRK4{i{dMeaIoV~12#TBVKHPHar2J-9ErDfA6r6j2ZzyJqj!Il( zz})%LizMfi-ePRH)Z)BoH@4SGUsTFfO)k*9=17f6fIz>XhLoMTshcirpSAhg0lb3C zCDUgz4`wqQGJVppLB6~byyc)<7lWH(GQ3^C}*e7|RXC-U*t(VyK@yB8oN}C>%F$?8Jq1oQ!!autxtlUPI-TzTCqZ}(&foeSf1!l zYWZR1oQZPGc6GgN6-tY`Dn3@ZJnae_yQLUR7+xB%k$xab@6DpRMaL?Y>^HC3y2OT` zbHZY&bkTs|`o+Iho~fh{up)Gha^_B+f!s>Vrw;-=I~QkH9&i*mtT($-qp3aTILWGdOhURrbnLp2=6U-X=C}IHvcj-g9yCAhVl{ zA-tX(PAe|inQzjdvF-Rzt(^@?;mWR zQCob4=hR7efT7*REBM<1zd^SHcM?ndpIrUp;xB%;uRdQUxJiQIFEhK!M{&W}p?dmz z3f9F)M(gN{d&KsmcXysG^0{narL*YP{l$#+gGcW^|3K(tZU5uNy`PoNiG)Nw{kiYW zdjGjA1Z5<)KYMxaCn>=TIc7qe)B|j?&(vh@GYprXarD<0lk&TcHfycdx>)RUi6Cg? zKoigZBPx)T*laVeFSl`i?$PYD#epj%7wN2>OF0-rSvw~HlSgR{5dH~gKZ~B*GW+AB z!$*HD8+=A7cfYEm5_YB*1zx-H z#Lu8HJApJFN?KMxu}b;i6uNpme=A!QKSMfiPL}eF3zy4R^tK4qCH@>{UOf5qr^stp zCVjD?ilJk{_*k1&$!H0n7MaB)Xq!)Bqu=$+52SM z0Iab~i|;Hanh}=0*|^8dAzA544NLie!}|D^C^a=s1I2#s!a&JB&6eToKa~ThH#a+t~q{_L3G)=zHZ4WUjx& zJ2CTQwqLfsj-C7Co|S^;lV!h!%~c{csaw4DRzHxPrgQqxTP?fNdl&I7&JJ~R`t;Oi zhi{w8F-95#1ZR!#C37ClmTWyXOTuP$@8%go&lgBnrz=Eh>&&%PPOZ*)c~D%_bH@`3 zZPtv1=P**r0~PNa^!L@c`;QTy5d~Mxl&fw_s20((n=8BZ=MbajwjHx<mmh$L9UGi1)XYc<%_TB@k$*f%)RzU$#5mD*HhNvJ#q(fpyhc=D_ zf>ezf6zNC;gaiRaq*+ElDNzv^6{V?!-V+faC?cSthANN{S^_Ej`-x1~IqzxTf4=k0 ztTjs(Ay3)+-gm#Ri@@vV^$WjmR}z|A-3hb#$=Aoja2aX|V>3B!9k!%g7&ql!lKO}- zpj|cS5r{9WN#aMr?^+LD__TXDeK~#8rnB2YH|O%C?oVKq_QJ@JU2L>HqxJM*QmD~B z*s`h>Lv}aF8xlADckoU!@y5Ow_$z-1txm!z?xru{~H(F$D<;OjTSI){a;2?Uv-yLW{3nwS#KlRa@CFm5H0fX>as}oVJ>W>w@Fi zh1k1NO2Wp;yF_NiE;j0c*2?a|P@`oRgiVuQpdOI#_%t>hbMUCYgIkvHTs7+>(#!IC z&4FmMpEL5g;it?`*zVQ5e3UrbajbgVJ{21)&2y)9&3HJV?*6hg_qEg#Kb=B{mny4N00!hUHC`6wQ`eTfcV z9eC!p?PmC@y2Un!-r88YFAo-S-!azJS#LNSJSVbblZ|0BX*@{SU)Xx;X!zk~6Po49 zw3%lv87BRnfq@E~3P$s@Jbc!^%&uNW3ho;3UP^yqX8nOLTTYXCtGD_!^F+Yd^TDhO zUGmi2q8qoiRq)3R?c84lRa_esn_FR7#l+05P)H7;@t-7Xo?5ptScoT#h&UFvZp@JE z%Fyagy;AZl-(=bIgv=Qe)N=UTy0WQj$iuKYyx0I+mQw#2o*GB1;T(GP=JB2xCTQvA zVzP91mK1}0@ykiscKHuuPay&Dee-^=SG(NUcGQa@QLCrby|55`IbhK zOYH_#D|Rql%9IGURX91zq35QW4LT{^`|Mw7kz=6qC}5-MMjV zrK0L#QHe~m%r?&@wp$C$9WYL@X&{i>a_1+llf6FM)Q{49_w1=>XrDZ_#MbM$SHa3M zAcG;^Fn7%{`7x0vG3O-oQ@JKNMc2y0{BP9r4FdMgSJg>>T+3G{*4%n|>9$ky!=9R@ zDnUciu9>a~u@|n#MNhHUZ20I(x*d)?RRQeXp+F>b3p#QlfNMN`Ud0R)OdSzb)TaH$ z{$A>Hvn+DcotVv~l#F%95rkV7jFy7vt*0HMh*Du~wDb0{# z2qgz*4LJ`phCB^svT8EB$^qg|+U|V+o9QR)IbL7 zBPN=%8s_kcbJ{oQ~ak_5IDn+VX^BNinm1N zIQe$V-R~VsJJxOTU@vK{lFk@=7>lu5Xy@3E~>)?2-@=LhAj0Sfpz>$$zl+E>uU9u7@zwY8|2%yl-W z4n?(V%w-%?5pKq5?%gta3U((aXI?m_`LT$SsV(`tsABH?t<}qB&A)3yV4Kf87?nmY zQ*TkOK(1Rt4xv@cg!1k&&KmD>+*(r;%6tRD;G?JCh(NoSursnouc0OJKzty`$ zJ$7RpGPJ&ILO)br9o3s_PL+|rgRFJyOVmDc`ry`{Eu4z}GttLnP})6R!0_X)n%nGX9>%K~mV(DAXdzH4oY->R?n(bBlHwLeQH&EmdeX7IzOr!Pvg+>zKu{S^Oj za?_!AmQ5MWFD3coo*&UR63xqw3OfkkGyj_dcNO%G^eMN+`1=zm{Yf$X!3k_sM#j33!BmS5RZf(_|#CA zzv+76_Dch6sTQijgKZi_8qte8tG8HjY!~^GlxE3U%bc7C-gkwVww)5O2%Zpp=H&TI zD-)Y3>8$e)vo~)$GjHJGF!vqXwCy{YpsnOZtjCp#3=@V9A?;C{Cwz1G3y|eNz-I_0 zFyZKu>|}?{gl=4(FczyMHiNN9ssdr0_Zz!X1L==PIm^&k%^Q?;`__QIq_Fnl=LyTg z5eGUGBTJp7a2ZWMYi@gZ|K8D!GN3~7y{oH%eIw2sW*J|<%O!nr=Hin%V!M5^ZfyJ(~65%u2?wX7B7<4M zTT`i|x*4-VO2P6Svp`}hCb}T8DKBLv6nBj<`SeNhV$=r8fk>?-s_hwFOP5_rW}mF8 zj3FCD!7G8C)85!UD_bJ<R`S$MVD6 zxyiw2`R03Z6Z9g%$Dx|emY}ZyltfdM@O@(E(CYwPMrvZJ$_UJNac9Gqio4^NlZG))v%F9@=-r z=GY|KQeL-GIQi4EaWn-RGPB%uzv#3p+Ev=_wgsDVhA<_vr?|#8SxWJFS2!YBv)gu; z=e>rsr#qo&!y+qeLVAV>)bLYDfhMRn!%r)+N_kwk+Pj>!)DiA=(gS~*j1~Y zBoHcFPAyerAc8k0JDIPK^umpX#J>sqc>o*_t7TnX883E{L)cP1`ryEZWc*)w~1NNjq@ zA@ORHzSgCUqe4n#k(fgvl$D&na{BC`huwEblAq>tM8JFOgtctWl-+n~%? z1VPhkE}PJP$xIx6F;P5`ih`=i&S2usO#%BRX}5Vp@m4)%3%lPOi5tx5$Et3s9A z{X)1Y%rfn(MlaZ(^yM>HxJSWod8n>uNegSZ48M+xy@XI*mS{WSIj2t2pW3H(V(ci`r{zark;&Nw~MhlX2S{q|drbp4uu7oP6Uvj83?wd%MiggCfW* z1yP?$h8itd6EBv3;5LWg6@RK1B$M>w{ZfTf`$^$vv##};uRBCSKIDZjPaYdQ!6~Npt0TS0b_)EV08cyh z`fF;91DbnK!y4JBz?I=a$$MR1EKcC$_(WZg>n{hJCFj@phPL@Ia#&-2KyAg7MFv4a z!uyiFyGNICsy`dVACY<^xi$Aq;$Y7Usdtk5^5*?Sfg5?|@NSQ_s15^NYH`TwoB6Zm zYPNH4wuI$RJG`#ukI%7@12@<48yMen5eTIG;_V3>FRMkVXhwfQvc<-b&D>4Vef)Jn zaqEC-v>JLfnXh)2W~j&k(}zPc;}MkhU^;Kl>iV0Wv3eBz>TrDW!JaH}PHoq&mFrNo zq8@fym7F@%RkH%3!qt%LGa>nxvCr5Bs>?7YT2`R7*SbyE8QL!?y{y%=JlLGi+(w(D zO$9za(TlZI{5Rd}_PFCd(V}rdSNM?Hrjw1;57y8N$eYA%{JbA&&YL9Fo6!6cJ@eN@ zS${ICwO%~c;vKY{em;aE8fp|OU9~-QQ>fN6JgRUf83W=Pm~z67yt&9lmzA5cqG>Eq z3Nbn?NNSuUxk{4S-LK^!W%cv^3bJp`nz(f+;oaOMYwHqE>Y}^(Fb7brX)W_#F(vxI z_EK&CQ(_Y~j8$ylvdx+r?O*b`f zw${=xE5omb9}`9j?-kw`e$afm?M5;xnxntkJU51?Y}+T#71a@Yf*A|)JW<5z6glQ{ zIHYc5Lw9v$>2l(M+q6ARuSz$9^lH3-9BLtC5m_(iQ2Skbs;LDYd1{yXIQSP@<5JHgCszNkX4}M=KQ$?&;(D;M8d8ve zBp6kxHBx<#Xl+zRxe{+^Q|g$Tg?p5ihdYL!PPXfoxa7GMJe)eA-!`v2Ic3APKA#`= zZKvPR?0Ei@wNSW!_{q`D*>_go^t$GCy>*}W@Yq@|lUzf~)Qsb$s&5=1S~)+#fq=OT z?&qo?Wb=xNS+dKi86=cKb?HZ6xhZ4&%1q2NFy)l>{P@{m!{auKK>|H^Fmb|AR6@+t z?pz&`?clSb(R%;OM+;>a9eCRXnS!RSoOiMCWO(GdPgBFFPpP$Mk1aF~>B8VD)SHo< zw{JCaTtlBcO4Qa;iLzA@tbEP$-dOEspg49NUjnmvE%|EP0xA5xF#2I%a_PXDV^#8< zVZ%5Sc0^WnRCI>z@^;%Awq$ru&zi%_D9zHl#@*ehB|i})OUx6B^G-#3ZtfLV5xpsT zetgZ3-jUlAVka=68~4f0q(~T20?y0Swy#rvbh<@BRpeaqC6^oZ2gDwU(%JqSoK#p9 zJ%^GV4!wpgyDxL;qoaqt`ynq-c+82h#xyrPogLWJI3!ghxn~X4qN{V6!r*q|=J8&( z*AWTw?e3qtW70p3f)bVFkKV&Oy|}iyB=1echqOB`q5Hlk2OZj0=bfmIJkup=VSo!y z4#zs|@cW$mk@HdXb(=(|v(2{TF|7^QK3>nRbDbl@GRZ5O)0;-+QREEDiiA^Es>5xj zaBYX)hR;VrjmoN$DW}zrc_nzR)2(b}Z}?T%57ZcLCq7vW-wf4i)Tz&JX-2j4R4d?-6cE|=~-g1jfh+-e^TZ$p_MYyCqxNm zfH0jE-V#v3-27wzbY5PpnWu^R#=SxcL;ZPfHWr`)?o>{krp=0(@?3&%)I?k@jn-@}}tb@bD9lmSeF~DGXMz?y` z4$x!9-22BKv*SY8L*QWMzKiq>Pg$aKZPB&vSj~u#nC?gk>5WpJyDu$I@LFRoNgb~= z)FIM*EY#)ueJpGuau3`Ixpr!ubV8_)b6#n}#R-nXA+xIo+50yfB$Csg3tLksFBDBl zfv}#q`uZtQ^@jr#$YIC= zmd^Of=Or^?AQY2KXwLh1-7FwrOjt$u9<`=TwU50I zV|ut+-ms%M*33f8hplMy%G*vwFJxfiINa8ux9+pyK12FWQ~f>OM|Lh2Pl%cryPvhb z7&I3l@;^s)UvIkV5<4Chyy0i$()F+%p=wK1s;Vio$rM?}VzS86g^b8Ndy@#gz?4l+ zCt?GZR4TGg)0kOrX!6!}w+~^iCe~28w8WN}3ZK{a zmJIcA5PKoY04^A(rmW%-`C3Jc^-tl+3PEN1;q@LGg?%^k;mb;nKLIfziM@g;H_MAK z89hl;t`$zng7^8HoVnDxcSBvlARO?x$+A*3EKaucL^*SNnc6a(zdN}Dp++_@B_HH| zjHy2%Rwzo>A8`1tp7&1lH1YY(+vl?uC6y`1H(eQzynWXAN=0-|WcTIk*Xm7X^~(1* z)hIs^w#tg$oP$hXt6IwbVa1Zo>gD}w4lmi>9oFzV2XsbJl%iJ0USAGYH6tgALzi@7 z2C`rNShbBV0yJoJ_#`Qf(tixhieFI=&2q z&F+Z^5#f6!Fa^8~xo7ig+D&^<%y=u4(-rP4oGzR%oPd>A>w%qAJvn+uL5K=gmRbdf0`Z9S4Do{l&bRM{cd!$%3*3EMJ)89|_9 zQWK|d8$gP>HVn}YrFQD zvB`|Q6W7LL>eVte6c?3wU9t{vm^-XuxYW{EWPWQ&ny9>3afpNh!-(_dnnAaarB@AX z38l7doWs4;janyN9!F?>m7td66WwyIB;#ByjH5mK4DjoDzmP7cAZHI*tH-5O9dz1! zQjt@M6dh}$KwU|+?+nxt9TM=?EF6s`b71wJvCHGP>RrSfMJX5y2OC3{^}y(0%W-Fu zWx*w;*taz`)ZAWPkN6&p2{)M|5aSDQGY?=8*f5tHvvnVA)528r$X#bqYkH=I= z_mcJ1iAks=?6kPG_0#-?x@4}6=!(Lucuq;~gX`Tf8^XMo%x1>}!k6{b20?uE`0)ojL2q(sv8`&> zs=f*9vURu3TQU;yz6s zgrkY<-lzzu8JXB~MgB^XN6|Ur>_C#0YMB`3SxiSZgrK0yH5;33{}JGeSZa_&K-=^A z(Dk|fnn#NOqhJKYgjWp^+Vww){BR6myU@c9+?GO6l1QEZwN1VNw8+06T;2oq{rM~+C9&hXnwPOn@jfXH- zyoTs)K*R3mmqj2ge#O+dSJH8ZYTcl11Q7pQ`JgowOXSaupeU|3)-PtKp+-Rr=&$Zf z&*S7k9q_+OYgb+nRq`Wm4uHwCH$4GY?8<`p_K+M~F95Y+8{uh~i-sDXp@!QCl*x#l zwYB?6@8YWw#(f)?qW^TUvgA#mqvUjv*!jwo%><+(oFsDG!MoNA>g_6c=aT%rb<51U zf@n-rn9`441rksfJrMSki}%4aga$F{Dp6>`sw1%#!3UHk6Ui%Dor1<7S_fNDag zBG8LhQ~>!Ua=!!k8t*I^-H4M@nz|>lj(P;@0RGeX!i8Wj^mNN{2?+i^0)ROA6X``G zP^b8(&w}>za24bG-@GBDECMp1{-PVu6aAlAR(Tjz5rM<%2Tb%`*l6rG^gXmcEBsbt zFHv+_9ki)l)hnwl^g4D^L2q&9x)`>De6ce$e!)#ipP9V?%|B!who1Bi4D`$s3?L5B z{NN1-llFZ&`Ui!OX75pWMjy)_zu;;*CQlus(_<$JA1p2doXrANr>{da3Y;2}=}b8R z;3)FlM}J@%LAu8V=pGMeNU_e${M)C#EZ*4kz^H`cfrQtAg6;Vt+m1VoC=0VLf_8p` zw_2bC0JYi-CjM8;DHQ+yH|TXJ6pX!^xM2Oh67+oYK%PzuEe;AEJ6Qdr1g=d_0;cbC z`ly4Df@Ch}(EOU!iUAE{e7=NC#@q+b`PiPrm5v8$UjLdC_%AY3|K8Whzq2hE8hC-w zd`c!$7z)s2MC!#Zebcdgn!^|Ezn0pv=#O@>+kESH1Ym4P?!dl?ToE|L5NCLgJLotD z$XC8eXD*&6C=R~+mgYk3IvUto+^JJCbWlT%j-Tg9Ku!1vY%6GrA9pLCajS-iYCfqw zImQ{)Pxxh2>dyku=J}xJa}mTwTaCuE&=O!wp*q4$qtp)rsOI4i(=RRjvhEc#)Xo=_ zSl?m6tW+MevV%^idw~JE_I;S4ru&d~kR96a44Ar}yKc{9J%H7Q=9eI;9mF(v!U^9K!{0i0R1(d6g{4M`uLUVNTeK=rBj0&U;zO|d5oh{eAg*+g+V1lrtu z-c!VT>qRb`>HG0UAE-@Dod>6G4}$$urtulfco@w1rASszF{DX@I!2tTp%JAXWsQJ3 znSs*T22Ul(N6zh>h%bm{5tI1ts)Q%L{Sa|U1Vmts#6Vkv-VGkA&%xJs*EKD5Wc$S! za=;sbmH*m#2X`Lp;*V7if|px`E^1D>qQQHop;*>$Uv`E#npb~C6#yY>>pXp()&K^T zRN<4JV8K$%x^AUTJ=A($`{jPkC0RiNaiYflPC*2P6;n7R6nQ!jidAvgzReMtCS&K2 zA=)i|V#>h-Yu7Rtt|bMe4m4xf$}dH)eDg;~4m=(-HBfS3W?eR>mRLlGvkEEWXPjrw zRMS8+E>nC5Zu&U>B4(b`g}_2YJaBfU#40GLAsdL!zr0OpDV!=Dw(yi=xV<9&3?}dB zuFL6iiGLFO_qcIIz~nyu`FMFC1`3&;_4a-`ZRgH{<}fi}RPb2P4g*5)H=NC!t^<+l zY{9Trx&BOC0w885?qJMP@O+tWu#&uY;{rTE=q>(*^Yft8Wt~z&b0?3EhH2bCVupbua{EFAJ>)r9Lfh$&+TJt?;k7unyvufRXv5{58`nUpQ@H| z|8^@`CvLBFTv$X(O3EiC?;yx^ci1MCuC3hl`Td_CI~hRogJ~<;hETIM;{4j44uOV& zHkWOHD#<}#H2=0G_bTH+ZZ>zyYJO_GPX!TxX{%P!H3q|YinviS?t+3jWKd~4O3>w; z4qyZy03gGcb*&{@(7feuu2j#yammIGfOdxbo+X7~N>x|G_~Sj|pzrqzM1)@L<}`U1 zngcWgPqGc*^SMvxct%6>n8$$~&=OY^esWU@D9BZmzz_LXqyc4ZwFIw8BE<$Vu^F+8 zI|O*RWLqH~c;?O8d|oLJSbg`IQb;9g+$rTw)JF)WB$k&%sTaAjCp6|Kdd$lD%t!=1 z_|-P2FY(YM2}Dr~rm<P-Gq?6a5ctjEVo&tv$L1jMpt3EX%Xc^$fI#=T3I&vIfFwaVCh z<2B3`53q;;cQe@y)}_h0FA?mD0iM5J38d3->Ua3hnYi=B{&;)R_Y7#JSbwW45biI7w*kmMg_*NM93Vyp z&z{lVdD?tn9$X9btl1Uk+1t)v3Uf~idAbH3+}k3WNWE!h9}@!Ij61#B9C`t+>m^J9UX!#xpTe-N5uw*Xli_da{G zvdRcF7qo*c7K*T38l$7QnxVYDEHm;IYI_I@ex(Dj(B5#;y(h7{ok z@FP|%;3sJji$R=aY<^KtWOr4MJQpINX!s*^+iFj1FVmFz*lLT_SqYj|{t~nr{gT=8t?Up4%od6@?e7am5C06* zdPfF{2z@P zFQANc}KiEcuw1UNvO&A3r{Ua)hu%#KF84eb0hWu+8z^LNFP!CJ7~8dED(W8GNkV3qZBR5Mm19m+sD8 z)_%(G6hOhZC=LrIL$cRGxz<(WI2d7P`0ldZc~I7~AflTN4gEhW9JrfnVgmU*AkI#) z`Ag>2Qe&CQ3e8UbOaa3lLZBg+-*V>nJ1cdvNqVvKc=a#%HyvfJA_H?}r3aICy-*Z% zp2MD@OK6JK7h4_mKB;^Uo-yNB9Hq2i>3#Sb_ADq55yU=QJ`D~t!p(wMKmVYYUdj!|%n+lZgaAxx_C z_TVCtlJl^tAUV+QoeXNOrJDi&ZDogw7H7dyd4u3p`lCMe9@%I@~yYYAo^ zd@nu&mzdoOW~&6?aUa)rk(Qy&ztezf9&Ttzvwf+5L76ouX}J`A6B|3(&H~Um=ehn* z(@f)Hh1AQu>!E}@^zs=q4`<%zioxeD7gAn1OtS_Ad);`v>plGG6O%I>0||O37_^Uh zG6tldvr>>Hn)7&s8KqK=gRolgR`OVI64D|B0laVOWOAs{Zx~a*fnJk~uon=6m5R3- z0D$_6R^ZKefqbX;1Eb?vuZt&Mt40XQb0Aemnny@4z+AhBF$BkfT_wE=LVk&WZnPAw zdh;tx61nOy2*5|=0v_bOv|qEH01k|l>Q7z#879sOf}XfCl3ng}{0oV~3yU%+*Fw8F zmL8-Irsr>cv&$tlxgh zswabqgv$#6R_cC07QRZ;F){%r(mn1&>kO_b-T}s%%zp*&`s3ni5beJxk-^XVSpNl& z_hKoU0P-(aAaqX1MyuoiH1eij0LY7jQ{0X0O~1-KpnnYZsdYVduV?h%kb)49j_{Y# z)SbV9jeP}u)>G-_7u6P<5Rek}5#S!GEG+H9$}KF+7fBR+^r2@n)#%p>6tf-xi@vW7 zPHv0DKKXkFjai4M^<MHl+=q1ViE2C4bBr#y#41-{vrTf#{aC# z*YK{vx&Y|IPaPeK!2iWro=2fn2n)ygn-UKI2)!7;Heir72*v?Fw1U`?l=7#70hv1|NP0jK;uMI-+U`ZzA} z8Gzin4_l)D73AnR7ten%{l5YK{2u{1 z{skcUw}1b+%5Q7&`=7wN09@k*TCIPXmj(0YSD5qPK+_D<GPJO0SWp1)mK;BXS~8?oa=%uRH#u+`pP)6X>gdO+)=pQtk<1#nKYdqw2naY(O%6{uM_1Aw2 z&r&8(-}ub#*x!A|XoIl-cQy<+XQE-)&+i{?h9N$^bxUhKlpW(FU#c7EKJ{_v#UFn0 ztlh}p%S$um98{tO;{m;|$c<jqAMN)NYLU6;7PGF2vTI-+xar`1S(n%pcyOR$bF>5;gh4mrQtJQYXZ=YHMU*0Gi1>l-ZWpN2 z^NZs8w_UY=4CB{4=KmeW@9!L&QY0{msqq8v9~~=R5HP~n-wRmlsG|IQ?rsqgk>+1L zFLrzE-+NvS|9JNQFGV#Dt)*dMVZ#v4#MJvt_{Bglr<*!>&MN35AnYH@Nuu{oe!ugU1*tfRby9JBYv+ed?g=g0VDS)0F4@ zSb3@Cz=J6DyU?T+`?qLw^2TTf1IJ2Inrn)nuipb~E@C2pahEptb|5K*C3OaR+t zGCV@zy39oV$NCONHt|^E5m+u0z_4)|EKV0>OJW|7gg?Iq31nQkw-6 zet}@l6F(j2WYii5p71Yzqp#zP8a`xaF4yj5MruDL`VT%;!^QS|?&6m<6R7sPf$<3K zKT2Ke8Onr6+nRd9nXiP*4hbgpFc&j5eEieDI;;Qbo8HXj&O$so!#BW?>=Zy=aWe$_ zd}H#G1lEPc6zul4Fpv%tU8$q!F)7>(Ps?@-e!C|ByZAS zYOxs*na$%^xe)WzGhAPh7H)nXB2*i`X{LS$f_50=8}k7_Bm1*y<}hF)Z59Vjx5E&b z3_WW82^dlPY}$B%+u1eup}?}7Q(SHo3}&25=1lFLRQFTZ4qWH?5xfOxh|~AsQ|4z8 z#c^n!D}P7OSN8`sA5&Wc<{-O4U06L|S}{}1)o)3Eb^zi$fSQ%mtc7k_eu-kE(WP%X*B zH|f(T4u(8=(Gkk7dK6AW9DsMA;smcAKdX@m;gl33B6^^s<_8`oXij9l8)iP=gWyI; zjP%1J_~R1uUIkk?H(;|jIta}tZ(Yp$wm`PyY2tv;qMeWepFW1TIM)aWmO45RG-Xxf zIc6b&Q`k%nrjjinaux$H56=1+?6HETejnl-B9u+rmtQQ{A_toCYcO$mQ)Ry&Y}B#~niK13Iz zz|?E2IaoymqLkaO(bW;Djk~}#q_rx*wBdX()EejC;EihPk?uma@1mcQ6Hj9@(+qGF z8jVbL@~&N1OqNJMfa(9~40&qzvSw&?hD*U9Ha&ax=YGmitj2_d5v{ch48WpGnXS8V zo$M|v+{CTSY~IK0lrsKEIj+D~9>0~A?WvYbV$jA1V-ZQr)_(du-r3pw3xCZ)+#Lbu zKYyOYxdj-hxQ!l6?^{XK)2y4Bx%V)DtCMISiUsF_ITb))1vD4nIR%XPEy!V}W7o7} z@tKAWK+@QecM6-!(FXIF%{x83qdG$SAa=qGh{Wns$Hv|9^3~8_W{08<)Wi+%0OTgg z0y5OOn}FnQcqL$h^h*GcvHR-@Z{?%zGPS@^y0b2?LV{c2QK`M&Qm^Q3j6ZriuM)p}X2)lng1gZ0Fdb(l;JE~Iy1{R!hD;HGtU|qL<+o-|6E}xng3)X`t-M#Y z>{P)kSspV;k&uKu;!EVt0#Ro$;vH$NI52yi%W;FBpVj75`OtxEP65Pv9fY^+7vzrb z)AXE{>#a9H9?`^6@H{|2*@1;7dZ!?efmV65@E|bcUQ7rAW42!Cgci&Nwd6MEctrh& z_xapAe^JZv2#zP0r-V+yLS%PzO9FFEy0=I@CZMHj&K~bJm&%w;9Zo8rO+uryxif&j zlAa3~);#Z&O_`NX?T@<7?3(8i!0CjzDKlYn_hBD-Ca`(DS|ABYTb1CAZY*a@&z~w7 zVyn#e5k}*;(oFnG*(ULak+a%PA9U6uklS~~YtYKcr_Ps1ybS~W%N-0)s`Bo51T8p% zly_F`ya(vDXW$x`c`umrdy;$6@^HVKFOA6`f816spc0J4;CQ10)}}lFWDPi{#KTh-bA0k7_gh zo24DmblN)I0SFz7i;oM;aQu4Y#z_{xv+L7NHPS8`M6~w2Si8Sg1IP5p)n31Yf}6=l zN8QMty_?-0JZj60PJaWD=nnTrY4Dp;44{E%|9V319y#%JCXyDD)CI62MxFS(=aA>L z>B+M7w{sH<0XLH&kL1ZE(Hm2|r5mub+H@JY`ny`R)?nUZUs-3_=1J-j8Nppvy5pC7|I9^*^M=+JxJnS{Az5aWeufJL;oTd#& z&Ov;-!xsUeY6RG-V&j-IABeu^xNvgsIkj3+eIIGfAjBAnHp^zF?xoR4`_8MSk{qpQ z>OXs{yoE;cJ9fEJ$F$?^k&FES#*>Bfw6*gK&Ir7u`Wg@UH!5Kj%`zThfK4g`^t4_D zQ!*Moa%Ml}Cd))6Fe%T( z+J`FPj(E*Z))BaM%@6}#M<}fcQ$6Ty+CXJE~a8vuKoEK zqaf16c`8pEIvz&D@8p)q zGDLRMon+CXG5sXsephPluFegCYVM>C1Ts=9S_4b|!Ij&Fnf-v--rh4YDDWtQBH!!8 z02|I^rqq(E&Xg#OZ~#lRKYAjXLQe0e*lL=98F%VMQhfo55nK{}LG7{A^yA}WWtX|O z`Z4_t#4wZ$gXvpu-|15jVgTteHBx;(Y128iSW*WNEJ7|z=JH3LfuC>R0(LN$S%;A7`9@pJU_W37IeL5i($%;g45`+Hk>Oq{%i zxKS%ukarMLMaNDruvpk0cyt%gpdTPUW;aKE^uY#*{G}slcU%{RSdUV}lX}mWVBNTO zFl=`Qdf2uTox9Ni<`_%kzK@k>SO!hJpdSYL#jDuo487v%kC3V}IYg?y{Y z$HB^&6BvW{#H7J;Zo+&X$3aGeA%|{^PCy1%sbH(<=|{k5$fQ3(l_uWJRDvVzw4F}q zbiToGOLB!}88q!qc@(wICj-bv8xv;)jtQ+afK*>jsyeNf+IVqR8$M5}r;r|;QF9^H zHvlqEoI7hx0aJ@+0)6XQS}QTs`Esp>7Px%uGJ0)I_cy3u18 zHCn6A)As1C3NST6IQhOD$KrLrRQZyE=`qFoNWPO8rI%dDq5BB1@F7>oKPooYc(y_W zo)dIzkO|s!$r*98iE-^aBS~g?SD3TAI`;&q;Yfhb>tK^@Z*)Hi6WM0l8Le@J@|-JM zpU6zfC1tZ9XKqe!exPfVt|@1hnL9cQc@+6h{OIENRpk~OO!a4GF0J$$9jMwdx{F*? z7IQY>{RB$JERhM{ODm1zLo}#BK%-fQj%gA*5CmZDcotm0wPpK$TFMG0k*l z3WJ1xV04}|_zJVikLNmhyxmBbPczr%?^P-oRh(`sd}CUq=b@tDyeLNHj(70@CKQB+ zPbvDRWAtnlL>j#pnS7r0hP&a*e#yl(l+BO|eW`XQfjrV0QpnOTp%El>*OFkY(h8t) z>8Xn1ceIf06A)K=F`1;egBJBTp`=f_ch}7t0+ilfT`gFykO@bY>!FVIxhR-Drvxh7I!<~9tyOV*^=ej|z zb%D|T=ra^z{y8jnD3+xo$3X3lKayrrMv_CtRwI&5s^yX7UE`ELV5B}XQO1085<;G~ zDib(*T{FR0avn4FNGrE+lpqL^l+4~TSrb3Y&W|dOhQahiHl7xzuu%J z9h_!fKwdR0BnCt$8BkHV0nSP`nst@aAjpXmm^ZVTXIp5ENz&!)+G4#+{O4Aj=N(Ii z#*KcejHq6Sp%=-Ynawx<{SE0{SwcN6{S>YEb`0aAPA3b6&CF&h8G&?%cFCJ-`KP`Z z?!Vqu9zD;69EPcpa{fp&G-BAnVMWg?bxpg06C!V39Z~=Fn=Y~c#x*bfk_V8eI0O`9 zGgS6JO9*OAsff3Q^dyM)UD8%*e1MRtG6CGFWAme9nX$>$gOr`dU4)ejN^y`Xb|JE# zk_S~1Tq-e}f-1$GG)({zcCvcW(1T$#ZV(Ok6RCxI07`jdo?RxgaNe*LK@bD7Xs~C@ zNoUCF$$_Nc@%e2IXoswXVW=dXPbu}LE1<3zbCU`XZ4EP{RkW?3cXB+l=z|% z;&&dlDJZ%<+4sU0TBY?0>UjP~XO3GlWUYpM5iH+K=ecy}y8vFUFzBWcu-$N#E->9_ zf#;I(#=!6P{L~@o*M26!; z5*{6PD;sdjfWVlFi-U1snegasTw)xDIE;i3ATxlE99T@o1EU_u;;RBjwcHR28aYiA z-hd~6U|8Ug8wmgYVU3K@v9%Q9K-{1$GTLs0EAX(>vl?%i3ZxBMN0K4}61B{1_OVGi;zhoLmwyyxsB2+~l^6dsjgAqYBytM#zeeh@@zAOJTjDxT&X0%7G8q;i^{ zIP*RagMjRK1{7_z?+o$4O(t1^a74-WrZ*!LP23iN@k7l<=MHQ1pY9fq{xt-!-0PBS6OZ9cx901?lpcm&kj zTN1{_2sxjwmk;P<-{~B`qBlza{KbVzDjQD97&Ku7G^Zyx6%}9h!BRm)EMX4ffRPL+ zoGPX?dndfbXxz&c4Fu6fc~Dmf(=GaPv#ok%M15`GFFWr`7k*h2;3LS@<#gYzCzz=h zo-TM^SglCc?C9I7*S^yo2iUWNiz-)ojNk94K!{tzPyp{Qp6rdLhyb#B=nZ&5@R5AD z+gu5Nq8o;20O|8_>5VGE?^MP-#9@TAa#m2eUN9MrB~L*fdou(%$e=Hqy8|*V9Uc3T zM|Oi;&<$ajy7b5yLB?>@mr^Lzwq~$SkSMGObpx9!)d`S3(M&9WqMP#~dn?arD2>LYDF3nOt)3#3Gh&`|_=uwKnp+!`x|LhkGs0N;}+T{{Y;Au=`iy&9=d z*z70BF?3|lgAscST4gns_?zA^8MJgUOIAsMQjtR9vB0h;IK>p>1Th!uPy@~49*8Yy zbxiT{aq-OZS>QR)i$h~5^~?kMPVYcC4do>=R1mXurr^mP4??5oXaw3=7gXqRorxfW zW>L&g0{ux|(~K33Z@#r5!24!91c8bDe2%&U$hZ-RoLEN?Qx}v?KP_fW$eN|(z6t;s zr-ebYt?X4NffI->tar>fUN&*N*mD{Vhmpx0ASalbI-P|Y>(m$;FTEs4XR*qiryfXK zK%B=JkZx>-u!x6&I8j>4we_{XwhM|zpf~3EZkoMS+^>Zi?CwBX>^0^Rv1XNshVqQBw+L@11izplWROZgw*;P&-Df1|5aQD#WL9lFowd;-)d^&uReK$ z9uqYVV(y_$Z|vmf?}2nIw`wX3VEPpsVMqw$YRu+ACf|rvGH8-%)G=&X%;L*NC7tB% z*G=651MaQ`fJY4W2N^pSDQSP43hCqpl1A}pUPsd5I5NJ^6nC2CONuL>d6Auh1G*Z^ z@+EI_#nNLLYP#zI+Xt|Qw8;zDGDUTzLG9H25(JG_J{JG-7cY10i=GG=urmWS_eHwr z9kMzyg2n{3_x8a~eRQn$Ap6kD?0^Qh3}`HzB$NM9Hro>OYQIviallR}yR^7%8;Hpk z4w7fGkp{6lw4?qdY&=8+w0;Zhk03Q?e^lQ}$^9?>3GfTCt&M_&O@de4WTqA=>mo@n ztFYy%NB=kOK;|H$JqN}G7Vw=0q?ZAZyj5H9;Hkm7G{G6lISTSK3onuCtCFMKcuSB8 z1JC+3akJwuy6{uf^se7K2$OvR2Vs%!>#v=c!G?)JsQLmDbVe3}q^I-zw6h*5v4N5X zVwB+^poAQ=vM(>#yx*!6&=>D^`S?0qkI_0iLbLZ(|HX@mM=W?TP_*aZRk`#_3R8s+ z@Io=j=ytAg_hN}ex>tk|(bie~*8opw!Ix=#!r~SJK=Vw2JOf?182V1hRJuk-XPVZC)sLlfXt3q3iU!Dx|uYhPT_*dUhTRBJ7Km1oL zd2EW|#q)v=0DXP^iCo`1aefR?(&z{-MoORT#_m%803lcV)hQ>KCphC~{rYboS2Ca( zOpVX_i~(PHp^vV;bz$34sV}A)iChDa_rEw7g$Fuh6Sn8Fbdjjg;B7ajEa)T+UsHXi z??dt(!aSo^P4e0o`s!v11&-om-$d3UbZ5z^n?nc;6h|zw16!VCKo%dIh1mds?+5@& z{gdb~nil*~rmV7?TOWLSG$}(a(;Kny!_0Hg@!>Q*Q20aE3bq)PB=O z%qkOXnF9xi<3h8+%!>tayo1_Vs;!O(o_atEzZWDrh@#Gzp3CZ06#@MhG(Om4$`DCk zTK5FepWsZV>P(l6io2vyGm8JWuCpNS{XePAuv>y4_#>!5Y0(ThfWuHBqXiK-mTdGj zMLMv#9r}V%>G)-hWGIhiVHNQDSVjT}@0uZK&tZT8bR1vfJOG8Kf3-fax=!M!!2;Y! zK?cYb!IH~n+{*onfLCr{GFxZW$!oJ+64T$ro{jj%-P2m+(Hw5({1hR>9+YmIEj)Z~ z4TD4!ZwjKqfXdS?upV&hsIT1mX(yWq`6tZ~X3TKE27XphZ!Q8M8(a|2OhI5zfx~9b zhNU2S@TLpvRtx-mGO7HL?Omp)K1l?oprA0zZf`VALl37XSV}wk-H6ika*~xEf&BVr zfG3W&fB>g5Ayy4j;Dt^m4=3P;6EX%7^RvzQz^NPt_3BRgeCtAAYUiE7K|Fsj6AJg5 zOF^n^_)|IW6B;cfDC>CuSR0(HY#&uDt3%()3B;Mr$_Wm;909HrR89}*i_Weiw|3gM z!IB%GwoIX%qqI{{Av);)WA8hln#{JgXPi+73*J%e2sVfT1O){`38SbeC1`+Pq=^t1 z6+sdKLmfp$9R-AhfCOTpND(v$80sJ*B!NUlLsnmXq?n?>_rHd++CYP66YirdVi0 zulVm#uyRka15?0S=+JAy=-o$C^lw|E$g;Z@(lQj(axA{F$!!?c zp&hEFBGpvL*C-qMnCmm7T_4fG`0Q$Hahc$yDNYPR%m#`ZKgIt|hI3DkI)E)$0 z*pETwGiR#u`2+-^_Z8QsT3P~w_tLxoqukqFsL{M$Snr|xkF>z~ldj*i_*YZ)v&l>*`6g_qyik@H5gJkC* zG<&qv2z)i$&#N;KR?5Q-V4U6o2>?B<5wHJneL%l3IOs~076RxV^WR?zzk>Du8AS6B zZyEpNsqE7Nc!fSl1$Q<9Z=j~2cYqUqDT2`rN-vtDf5)*8z{&e|2}GK(d@lgg|5Ruw zU$vBfwUtGL{YtG#c5j351N6>GX?R41;Wm;`n?aUAJzEtKy0p2%Lf{so0GJe zr)!x=e)?F<)Buqc-}4W^^8a!y@h=UGf4oSl#3bke85K|<02vkNK0uiZz$>7Mq~|b& zSP1r+8X%UW)Fbu36N^6(@MGVK7AsB`*4r05w5^^)x6LBohD?-?u^7gueLjGgOa=zx z%w!?K2|!Nm7axk&PrE;#eb4Fb9?kYs}d8`i{5Po zWn$51Wuk*`1MK|B|BW(H%01tA*(w#&t-ZY!v0^}qRzA&EMSG1#U(I8vmyU`$II7tO ze_k|x3A3s0$ESVY|D;+kJmL4k48oA#-3h_bDk<|8S+TT?_>jy%*G}5qhZB?n-~bsxA1a*~EBxc0BWO9?+T&U4@Gt4*B&jNm9^I+bK(i1FjW&|1z zOd7{}lb24UwBJxPn!@=tmjhbFhAmn_LNJ)?kF7L#P%-@7R4=R7gP)+-bGJmQ#dWJO zl;YTg#o*VRJ1!B>ET#7l9?CJq4tjDS#7ulE%+Leib%jla{a5EDsDnd}A8<4x7 zKGD|zeQ8+Fble1PvHk5}II>R&1EwDyaPALJJDLQjU}7eiD$*DEhrF8^alwxx?Yu*FxI=rpp!gu!#hYSL#|om&x@}2v?vz4NyM*~%)SQ0 zqZS^`WC?51@X;jnlwi3=@|bk{ss3Vc$8t`Cey+j*J@CoY9cvHlKw0*L@I}I9Y9Zm{ zu{lenOcLG^`^*6zY+ZU>b(fI3rM=>27IE5*OGSmb>iaxNm4F9`Sz8^&=o>rTJU+)3M-QN;GksIni zS6zHGEC79tzgA>?`8Swo|10iG^KD?fgfSxlTMKwVrk?lf`>+@Ax57m_x;>V%6lAak zpRn!zK=6y|`VwBhasT+Q386nr56!n>?lLEV^MyL@pIcyp_ErBggO&d0@`E45!4{9C zrUoCGoL^!~iibb-i}~+JL4OuMfA(+xH?ajQGi+)f(}Dav9|=`re^0LalDod-uD>^T zeTlD+*l?uP^Z>?Z5sGHjwU*2M@xNcOkSNYB4bko}vW)zP(-l zbNd{>uJnwo%Q5Z1{HM_35hT|C9R=r?{=~mUe`272{J`+UR~Ot9XLMzBh5xa+WP#c_ zBbB(XzFGBgz$<(jDnieiKmn4b(S^qcYlCil{=90xSbO)cH zA;#dN)TimWxrJuAhjMS?Zsy_a>YpY*zxJI<&${!oS8`T!*XETe?a3TDbN=uPaQ@?- zt9k0X_sDFyvw7C*#8WQ~oHb=4493SN_$OwUxAEA;!XV2YI(=wlV7TNvzn-FAO}`#V zwQ!WjQst~3Z5{CdOW6HOJjDjNU6>pIUJl|1ii#2>x( z2y^IOZ8Uh+pTA2b&k^j*-LKX_fx zV+bhdQ|L2)@Y<2^ufBX7JR^?qs_S`fMuBK_bTn7pOK zE%fb9&oVGF3c1OR5C5Y?I+bIOHRQhrHZ-a~yZid)d9;)S<^LV;sS`Q}{a0^H{!W-0 zKA#3fr~+VmaTL{kr}kZ7|8>Rn&~d4Mvpih%aY?;hIsBd%BWcnN_Q9P%eZL;Hw@+^_ zA4V4(ZBm#@4~3S**EjBt?SJFaW#N>~O=FC8xeI_%M+?_EYy~b6kaDRZ5?V-^7`g`$ z+}u(OCM0~t;Q?QpZe?43;9eN+Ea~gSG&jA$J$3G9%UXh}bjdPud&mg;&*mlVz zrZvJS_{~Vi{*PZ>pST5MFw{gc@#p)Dls&9`7GL5>vjSSn39DjnU@R4Jqj_cXXuFPn zcoTWX(e|?--Q``lEIzXRvmUR*&uKM9;Rp6AOeuMTpJT(Ca%%=L&z1OQ8} z?%bw)K|m={hAG*+++B9TCG-K5O$2%eEhxt7%gFA|_ZvG`17gTb#41`U!@8Zh0 zB}MGT)cybZ;23<#Kj!QU+`V z?|~Fxv^MA^0JcWPWFX6Qg2&j>YAub5{T0L~mq+Tq%O4wc2%}7wrYunhwm*e*^MzAcp?GGNZorry_K8 z#EcouVwe9X)^Q4-&m|ez5MAL4v@GrVju%t0MtA_66o0_x-!%7MiC(T zXP%GSvY>##jS-!*47_FlqcQvjfPwGpv$p{%>O_E3k~iGIZeDfOMZlrfo&U)q zUfU+SZd6?@am%|U?!%&SgC&yy!_5*+dL~k?ux3gPu!t{D%#49jOq=!*C_Gjf8mnm; zwV?X(^xkF?0m%iYuhI*YZB)BvQH%h%sts}HdL9iGaZ5+J0-fMi9Zn6sIErW>-c}E&;oLJgW;=q9f7$R_TxzPj^6? z(AvrF_JQrxN6eZ<2jfqpHkRs_YaVcO#vB_d+o2d=ED+y9)1o8H2bBdEH=TY0rOvcM z;NNAlp-N1<)dzeJ!vsKnagf|;#n^ZH6a^3XFBACFXHJE|@U&UNPEQ?`7i*cvMRP?h zr>>k<&4?+$sPpHjrY;J$%!+3Zsrw2i77vRIL*LFViJ9OFB*R-pcW2~Z!XHmKl^6n~ z$m;>az7)F<+n_1}4qi7i9g7Q^fa&4-`qJ@%jBDyA4BF7^i;ByFmNnI%9y;=>TUOof z_={1U`lU_1qeaZcTB>&;$0%d=ZNnFCOYU}Ntuc#!c*!VFR8Y-H8&z9WDsdAPg&RB0 z3nGWeP8Mp{-&Z?x<1>eAI7t-!dLV1yLSZ2-)o83kaB2Z&9gqn`r+W+?2F!c`p6`## z-5UIglSV;@0HLx?F!&?4E59YUj!(WtR8f65v*EzImLkj|VPpkfsh<5-1zfwxkcG*L z@12WG1qzUO>mj518q<-koAdAviItnyJz5lF#Y#AF_~;0Gd+11PwvbtNWNy#fmlKQ8 zG0s^9Z|9UGvIiDB`rTHY;EgTYP~{m{Rw^Eopz-KA#MeJN_FoeLqX*X?cT~3t7mLKC zkw@}D7m7P_=$djDw`sS@DB#x*KwmMzyYhM2vtr<~tUG^$Zi@(b>gMLgfiamb69jY~ zR$x($r#*M^O?YdcItp~$-afBO<&-4Nr_RGgZ?oa}`*KA`Nc6Whs}yVTT=~y8R?1s- zcbMLeUaex3p;pGLUre(if5UGsgfa^OaAI`D=eSt_C99*AMBF}6;}x9aug3CXDN33> zmOzUK+x+N-J6OTt6Fik$UEc=+Kejz3Kv!#%o&RlU(IAlM_)$XVq3`Zn>I0Op*|P{N z%f5DRrAVmu$TYo?9Xya>^Ajhr(&H=!Eotj~SE)Gm#-wh{;sbjq{uHvuaOQ1%Y*yLSl6XwwFow}9_ zd<;3_LBNyCAD%D}vTDK%+E&#Coke`D+}46$H3TdhBkH;hfEqEY$F{_F@UuPAt~n5B zw~_F7? zsKw&<&^L!#Ix$k3EppJ@rnxuRh*%m`5v?;btF0J;?mJg^aLtVAHW;5vHlC<^tH=iY zZm!d~sMF6PX5J@IVA(mjEe%zKUMrkAp_RtiqMa@yBZ+I1n4>7=&zT!}r8!qusCDy7 zt-dA9S75F+AeeCyJkI89!K{kXX}!2yC&nehFi*vD{vy$g#K`E!>!$DBx{DLL1x4i& z3y~?riTU%fo`TV7rDFY3tJCrFj!T&4+NaG=ng);KUkrfY$l6y&d8@QCInZon)%<>n zz09sq5n@Pd`N+44O%w8Yw3U%pqJ%5ATjDTE=1O~$FK}9SUD?Ho7HabGS@FVEW-qOL z!CeV%8y6PIvK)ItJXHe}tn8J3N`A>1!|aOPx;{cHsb9bUp>c*#FF&5N<$j!vCo9-f zKR@n(I>BjL9i(rn$hViYw~#L&9}|}&rz-+eSzM{243_MPZJHb0!`$>K&hj8fiwP;u zcBMrdM0HWSLxNKzezRgTx0xa-#2;6&m64dJEm145j;FiUab=mV3^_Dgq2X$*8m)e7 zUR=YgxO<4O@0Hz^Y6+G0qTNJCPo1R)cVh&;QD2jafv~IeW>&O$%n=XfKHtYmL-%Rf z$?JYz)A%NH)btF%!t8i9mNk!M$#ww-p)Tnou|?Da$Oe_<`laslJu6V(Jf3jTSz8oGQCzO=aRX-q#cQg5cgt6#U-WA} zoAdoR&}Ct}D^Rb`uHh8;yiG6uq2V23|NR8R!^m6ML|5YkV;NGh+yNO~{DDNH!I=W< zEUoWmpyq8YLOu|kN!+R&P{g!V8`>C_r?hUZhd|WT%~iO0ib1hzs7gJ>J)ivT>8?IA zWXy!+@v1RybFSQ8a#Mp=tWpnajAD;0Av%#-7HlIfAL%U(vGEm@ATry~gwW{6Dj96( zqiP*CE(jL1b;xKV(?s$qySa(1ru=V{C@wPVSO#UvCpKPPvjxfbnzm~iZklDHutH!h z+h_KDY%lj*S1IrywMA^U*lT*5`tUt)QcPFLBu?bGYXrQ-E>qr+d}ZI=d!}bTL*Fqv zC@%u8v;~wI*&KSA^8vPMXflJkcjipx4z4{Z|k{vE_L1*Mg?rk7&sopz$A@|U}!J*Xjw zRKj!|C&~3zW}>CSa*7o>(;E@;fLa-&7ONJsB8IHSJ}qhPGBA&$ymeK=`vyA#h@9a& zU)fJ!kjYMEVLWx}&H5;6aTj9Dsq(a<*o1I)I$0K0NVZD2#LzP5Xw;EyqQkz4?Gg)2 zb&zF8%t(CZrKW_{J&W@1Zl{Kk0$7Rxt@f#!dY|PWj~h9w*R5&=J|}?^nBY4_l+_J; z-L5kZtXuxnd{$CXL&|Pb=cqcXQ0$t3MrN3*024mM-=Q0DnyI2%wl<)g`KTr_#pBch zJz}E_qG3VI?)jEkG@?p{Z5FMu>VfX`>X(7j8g{#fCfq}Ca~9|^M^X7yEVAO+J)%l> z7-eHaBlTs}!|2Kw%jwl)HKyruI2l!$gALDwK9tH!#aQH9Vthj(m8hy@c@I1I-8e8Z z+cIF^*48GolpH=jG%?;{bM`oJ1jJ6iL$Q*<$QZDSK?W3VQo<(IMmAQrn%-qc4a>Qc zvvLd!r(@5j8C3qvP5bs2if!LKS@CkU(|rD_iv2hXr8lnGZn8?|9WfIiqb2p=XBZt1 zCg}cE`oSXO5KC2-A~I5#n&^x$X01l_g-fGU5n+`X)k-qnR_1{qCAdaVFsuaEXbPIW zw&6^Q99N}BZUZVwy+I4FoSjzY9K_y&KgYO04UArq)=(n5B$IB+qO9;_TcI?bt}Jw` z+cWE=K@13w741IpC)M(4b0`PYR3n)j6_$!bWk^fk#A=)1ZRmkVw9r%;UWr?U^IH#~ek~RAp(l(3l%czE65%>RJ6Ngw+cL zw;A>Z>r%1%1$t&d=dYSC=BD}gZ!GAVL{o#ulArCATq@p*-$;p!idwg7&GO!^ZZ_w- zA=RqkMyiKt?9N@3mr>;}nUDBU9Uk^#am@^auxNrY{bEQ~^y9Uw5Xles3!Z3rMrit;VyioVrvN6rmHL#oyjzk|@lCYYNF0 zO~{~DT~%}93h@4kLUcg8D9Br=9Y(d1Il@Yyn1^0F{K}=ORGhNRT<)W-idkD6rBMyk-ByO2|y&9Go8|#$uFA#(6su5iXuEdKWy81)l1&wRiM3bg%QESlQgIMF&09D~vSUZGFCycaE}NDjC2DH} zDyY?z#wv0Wv7|Q85_i3Fb5%Oo9REFInrg=F*X&n6g?eb~9&p}`Q4$kQ2Vj~KM>MP4 z*%2&^rca6AZVbWQt4Ej=%pfp7X*K+~Rx~57Si9i{;)ZKz9K)D%p~yR>dY5x_YvWr0 z__sIMQEhN6gVUDNc51(Fcqq$BJKoBFfO6tvJJc*OX;I}|qFuw!V4)8o!x{+#kM<{9 z;Ve%VIb!Fy#`%T6u#}-@r?zp<87}x~$NJP6s;TqUnDrZ4;;AmI5U9^he;Gq{U@78x z36W7k()B*nJ83{E~}{)>5sve{qd zefD(8JDS`|l!tm_PFZ+<8$)gzk_>)nltUDP`Fb6G-F8#v9vlS`S`nQ|ZQL2Yi^rXH z&9%bAisVF0phvCBrctc=QqQty^=4XI=9#By?+5o;$?E)VU2O9l96?D-DReF;&Gn{7 zVRSuKK@eHkG!7PnuD}}C;4X9~+A`g7Jt2cRjGH|}ApG@JqX}Yq8=2FK(X_{10Pk$e zHaOGdh{F(4g)8F;QTkW~@B|Eay2=A1YS9(MbcLV`>LY5YbGEO!^ur~?JxFinC5u&2 zV)f)e&I9e`ErIJ*J(*>eX;F2CC=)F2BITY+y+u{k8N=lQ`ooRO8|4g9?pE6EGJk2< zjgU|Jg&psE(rnh1t{0|cs?BaZi~5&Hq6+tyoI~rbB9&^ofu6fl8++z-ksEdq!8jp1 zIhO5wilyQFgs2k669g--bLHD_-O>}l!$%s1A-(6P1H3v@HUH8y6&hlj>l(`LOUd;z zILUa|F0&=UwT$Y&+Bk%&XY)7mof8=by=23x$DelFZV4=c(I}rEM0ldb ztQ)Rp%jlS~+yZ6}BppEHY$oXn5LwY*vFLc3$KzH|}9CfEWuJ776pBrbqV@Cz!L0gfHbm z-l1UCl-?4;4*R0p(FlD)g_Y>Q`LxVsjaDeCIj!EWL<6-^A49_9ic;U0I#Y`xE46in zPgc%TwoN?-(pKnvRg`|lGZKSYt84OYThm^Y(;?>s}A=NTv=hXp8 zB6c9k{Ri|(o$Wa72ceeh+1^9Q6WAw7k-OIIl8J6KtJ*0OS?qy#rjA^iwyq4B9o==p z?0ZUa0A7?pbwb)PHIWzgVF;)9Y~7B=>7H1Pcv|hkC0&|me>P#z^X=(C`q6vFXuNWS ze#T|ddtwW-Q|-hmVIJoUvW0Oas*-wzauOL%IpHI)<~2r+M6Zl7emB2lhU)WsV9n;o z8J=e;_O%x|qU5x`UZ+|sqPP2!5=K45qwS(^OXWgjV#&>-fOWrFzcy@b6kQF!Cc22` z5lxR)qh&@m>F6%*_{kZpF?+&D?23!*0QMgCPvFnBsIK*KYZT{4uQ<@KG_H|1>lz)g z39lktRYOKweVcrgbN;$(96e=~G#==I=SetU!QoJ_DMtVA!bc?-ZbezzOxrHIfP3h=yj~1flkCD%xYDI$`iMH$D+cd=Jy8T=z%;#U zBX>FZp2;XHq05FlRz>Wg>?W_VJiGH%6bS)VFqdTXy2g7LStrU-EINZ#SPO5$*v?;e z-Hs{mf4%FMsv{4g>m6~1$vZhg{8SNvitF);xf@3Rd6mF6D|#jMB%&;}*Hf$y``xg^F|futzX-=J%+p=1|~Lne!g+7`?tl@gy_>sks(1QxK*54-$% zqwK2(*b9(*;OPuDtW_+HI5i1E_2;PVi=tPAG|XrpW?M+UF=%^OkQvAcFLb>wXUR72 zTdS3PY*$S6c?rdlmC)p<>FSGfL%1>>G;MLVf`A$N?L@K&qiJQD)`aUZ=EU3k9hLiG z)~&ll|FA$y&Q<#2P5LG|HN5bmErXn~Y61QnwU;}#(~ZL`b4_x6vPGMtl4%gr#>yme z5Ch59oYtxV(cUOVj-Kk$&Gp<6tFM$zQanuiXlk*&yTYr})-v}Ql`1wMRY8d@qCF5>vaywZfWsNOncF^J&z=?Yx}J@~i&(v#{-5r#a4t zC2cJEWwFW6LX-Kck2rre*vK+iu}wCp`qj@3=PnzMMBz!#9GTlN78}!A%TE>mw>ddEgptAS`hubkHFxR!ARLUzM8He_ihS_fwdhrES~t z6~QdAA-<$p@hQ#FcV6(jP%d=N>HLd4{O~Y&;!ZfCNDm3v>qMGl3VryPImByW19M@M zqNJH-h2ocqK|}A*Il-+5&%Nc{o8Zur<6XJJcKTnqY3-BThYPQ@!cgJ0mEe21X|LeK zOephcqGEyf`6}1GQ*S<>xFNP>f9QZ*I%~e2aaUhsfu>a+k}Tgoe~uyZ>VZ~xkQ`KNtx=fu42sJr= z;l{!o#+b)I$pKWw%g(ndssJ={v!%Zr~!C25K<7Y>7+YFTVvR;1c1;C!jS~~A73B@{V9$Q8{GVkpaiwZ6z z5UF4t&3n6C`hfqv$JT$4TmSj<^8ZC&eDhiEVOzW|V1ZtJmPlPqp$f_>SDjj_RzG-aia7cJX0x;Xm$qQ~ZiQ3=}kK> zAQbpcLNPN7Ml<6>^8FZH24G=uppm9D0YB=V3AmMmDP9$TWP>*VSgcN?{1(jdozfg% zU3~#=Bb=4TT(|#{ViC`2uZah^%g#4G^Tx8lW@{ZVkyn5T91x0g5Fb|*phn1o6?Gal z_4zS?b7_xJU%kNXmVIOS2dXuk;jeyd0yg3D;s1Qj(tlQH{kzh`R3ZO&5s#OkpP}0O z>~lM`E7NTuO@ulF2LiF_?(Ix_)?=8jl&-n}AWs=Ez`Q7BZwC#R0Mla1CSQmeevh6O-Ud#iq1`uv7TZ>ybVH8 ze>gVUS4kuBP^rV;Joc6kiy-5aNxx&wWpvBoq z(GT=4X^`zH=6pRl<2F45~9khM#PUy6deFFx{wMFx2yBjqFHo~1#cLB*55#zLjy!J zH|C35Z+j0uFA6CyLHE2V90a7*>5J`mgUut%?Y@*R2{bJSguDd8t7<;q))upW?`W=a zPE(L~g7<@^gt6fP0i?w}#OHfDNWhuf8y^Rbwkm3*Ciw3AZxtO~UIQyvaxJgQ9Lm$=?_1&++Fh0gUYwRgx9XM%#7 z9_5d$MaXi`%m(s{7s0n4Rl0c%*3!}O^9e0{51If@?*tcDh1iE{f(BRG_>!8C zF!;VoH>W{|V~@5A0LV<2JzX_p18sfkh>l0ULx8ARtIN2#Euh&EvFq?o`r79%I zzECIw_v$L2cxbfaXP}97S^x<;%gWqQx&3ckjDZUG#Sk7UNT8l&<1VLK;vs;71UA|J zHo1pX5Zn1O=Na!#A*>Nsc;w8IiLu^7L(sW>rq&OBjZsh^5CI?F3S}*8-m9g?C=$wj=_ng1TfJ9G_h5 zf5a`>NqxERnBhgEdD`4Mo&8t6=EEEMK_z-t!|V)6;o`TKzm0z>{wOYgW*aC8Rj(%l z&b2*M$v_EBS6*=wi{y@i4QY6M9}_Sh508ESOb)gsMnsoKX+Zat{zJ{-Tp6J9kaixj z%A|tyP!K5ndnT`?e=gJr2>`p9hyp}kF0@4!U^Y=whNrDN5B0e7e7Nuzl? zq)%}&Qa{MkSAs$=NN!3bULMC_NOK(-xTNB5hR-U`qk%5E0GOQ~_GwN7$NF6>yw}Q#_qDc-z#!bXC6&*!Px8^++D{QB#ygIL967#F|! zX}4}hOl~Y!y^b|Gc3!^&6brxk_N93PA8zZ#@J6#BiuUh)VR;_<{ABC1i{FDM=L8e`P zPbW8MeDW=@Pu7)z&ZpS|#pn@<=(4%@<@z5TGs?5{IUvJMg3c`Yd2efh;lWDuJgbL) zef8wME&mk{1w^Rv8<)Q@ob5iw`kTAOPfQNhx=UjeKF$x$3$L|2-hK$@k9d{K06z39#a(+XcKFUz|>KjqLIxm(iZ=t%gXwM+lvApTc;lJuf70oP6MpsB4YpT zgIrp@t7AO*VtcM$SHblQV0V!YAA31{x6shVmDtd;$!2p8rMV%f@vGF`9&3f(|0Q=z4=Z`a=5?pyd_p>{R`zzM~E z3x5QoBfkLws1!aLZVcKm8o8MiFb5()D- zQ2_eiAB>E0vWEdn1^YD1!4B$ahX>wfmoy1~bwsKu=_Cb^1#etxW2DoOO`L|=*v2Sy^8;s6#E5we%8I>|7o9Oaz8ri+x2XZ1KHEF=Y!E1 zXz@e(}f9 zbDd23Fc{73fo6T36Qss~dyJXVc67^T7<<3h(}|<>h8c}I!zmZ*-M!gdz(L+8IYYGq zyi8T7Sm%<32|ACD42wZK8oUZ;fKDnb)qm6Wi54XU4K_%9p#T|(AOR<+?uH-47=Dr} z<=}&^ZN81_&B0Sf^Q3;9C5M5&MA}OG>u#ea(#i2>I1}OkrzN4N+bg6{G*>kh8j^@^ zm>8yeyeP;m=r(-C50%<$^)ADKF&FK0j!R{DC+A?t;*gu{551155=z?ZczQGA_j(;# zNGAivNRyBQ4_OkylfL#DQa>~*hI6xnZVpelgrial#y9X^cW}izQ+7ltynH(pHLmTV zJ4^zg%Ws4_uo_K(n(g(ysxdM(t}NuRm9L`veU+JMb zYanQRN;8%OgBCocTvk6*Poqxiep2GX2YB{xJ-6RSG7GLC08)FM4pzK;uCHv;zm9nn&-1z|#%9{N{q04e*J* zK0Kqo5FDV%h2CAA%;bB6{NTZyLsHwy9nU74^3pd{K7->Z(5#e%8;GiyEx{vHV_8&^ zLEkw`wIOicJZEvqyVDt2oAv%`F5zPBR1)0765<%|G@r$5t9c0hm+N?DqQ?mI1qann zPlYzahndtRb%}%fGDTR z6MN|aCp^Ag-x&DP8$5jHvxw9K3-@S$>dkcU=S;#`qbsugB$j@B1JF3pe38Nbf zMlh6mU^4`5+P+DI#!`ZX*~csH2W1BeRJr9~CQdA0-h8X6KSgIfJQF!1d+tbL!NIrV z9fv^&1SpF-QW-rXT1iuO!yCgj>T3`M(5VWJ&7ZCJa025b!2-tnZR9Fr1#AfzMmq+1 zs(^9N2WwyH{T|@bR`@^zpbV0(U~Q{}WqCk!&>xzxg$3Va&k5uM_aH7D(gUT+6~Hvn z>Myu%ZU;u%^_QhIS@U~-?_Y({pxvO#4Q;RHt`U;)hjB;iu++UxQ3oW&QgZ&S1j`^Y zIN;lA#p5BErP6!%e+X=lC)E&O7Fil7^%)ErcHpFCCJwhDj5+}Iz`f@3X2C(rfPG|e z()hk$pqd&UZ;G6n4n4SAQuKXFpdK(yNjD5d-Pdpq0MmMiHUz;#g-)o}3tH)|>4+1* zy>1}y7Ky~besH`uLw(`*&aNYuh8A&=A6i@2&-Fs(3>*Y<P4Ihg%+fZbzLUxLq5d|hXnyx2h3SC7#j zWhpY-G5{jSg402`%)rXD2!uNd^p50!32Z&FdSj(E zf?s`Z(>yTbK2-Mv>^q&}`bixRP#gvUAHzBgfLzbsIU%qHqhh%0Tu3Q_!6R@SDzGI# zj!v`&@E~+*YMxN0t0HN@!{-=0(oN9Dgkf`6iY(?{L=3a z0clhwv}uMWeQWs8*cMEw$1|G1uC^WytQ`|bDvV~@NZtMXC(_*qEHS_Qh+f;_%hw~e zz(ooY!nvKx_hNE;Crz_=vX6aSH}IImDlterSyB@!c$ngD&*SCGW1u^oU~@Lv!UvqY zI4-&!WF~DIepoV!+Z2sk-t5H;aNSW#tB*u>o1ibKm}IxDiz#yNh77KyLqXL;BZv2H z1e1V8n8b(npMqLow+IfFyip`h=vA{kes4j#WwY7YW$wh){h_jYH{_4MJOS<5p4QQ_ z_vLnWTK2`?pS-gE6~51$1t>llBY9tGOD!0$SvS@Ia+nQGGI|?Y zI`Z_hhw;L(=fp$3BygmqEki9~#TLoSMB{mecMO1MSvF2m+I_@Jb+P@?ExFTBMq*&G zS8Owb7dEW6*+hZtDgi_GePdh9bip7wBWn2Un(%etz<8bXdd`Mmz%Q{?+|UpB8rO%{ zcDWn0F0GRf8SSf+6%?h+Xc>V9X+Xix&mfjPxVW4PC-9>2q0&+VaU4GrlYbkq%R2p| z+n^(%1lWFBvpPttTQ31oJP~l*2tdtP$KMZhDuou!+(jjb?t_7)rEb2eshZJ6ebSVn zX6tm%O8b~);OhmG8z-;?;&{_#tDol{=0fn(8Sz5x?ci9p1l&5WJ8Z?jNQy0-Z$s-J zjUh0#w+~|5g6-`N{qi))HgK84wRPGeu$>36Y7=^_$2+sf)0(ihtyGK17BwWKd5TV{QGqQ5zc}qz?hZU*p{37KIovORB5UP%@4uC zt?_PP?bPX`e*@K(TLKlH)@v{%hxA-4_TbC~)(cRAZKesC>-+~YoE%o*71Dm|4XMs`3#};0bZYd7fmhT@19N z)rbgaYE3^d0&W2z_rS2m_-l=HuJ|~Z=qq*ulZ-lZbuRK-xcA_OkogJJ)u;ojhm3?5 zYC^1B1p|rM!n{)8Dr%Ea_`0T4tSizLFA|)7aV`Eer`}{=_IJG*=TU?*n&xoDPSys{9A2XyDB4vxb_#HEK)-HSHs{*9{2H% znx<^jY9C|VIu2}XN%_>>NJjH&s-vI;(iir2Ci%sc$_%7X*kDd zB&Tyc)t)mDwTd{w*KNJPoERUmbqWDIJgh?BSrdxUXt|ME{@sf8>6MX>JE7CC1R8XT z%u4&s>YCo{&`Ixckws97LqF~Uzki!5%z359fIn=h0if7roxeV6Z^di#+b|tFeud9R zWQ2-lj$U~$109q~Dh=8<+Q{@jt3>C~14Zn*38C=`;tfySyr5UJoo>h$b2%yU#DSRn zqGXj&te#*)W+ro=J%%871Y?8-d>>2Ga6bYI6oOx2JU<`69Ly0Z z2K7IxYpr%EEML*H+cW5`oo$3_3+?2#L7=Yh1{^2giN3k=-P*?%;IBZ(3h6P!0xc(t zF!`*QXofJdguVc26m}Gd<-o#6fAwZhgunG>q$6|LkFWRvX+)LjkKlp6of}F=$5WEn zvu?_5MdjBD(L=0Gdm_G@LfwICc?Ri}q6U6&o*s%UyV?BQ2B{OpNqat9^<~y z#xWEE>x?=)@-#7I&|32X76VM}#_V!mcR&x*+^s4?zW+yZRTwIztxAAQC06an84Gro z8}Q2K85OD2GFPjS*B}m-4i)!8R#2gJMv+K9c{KWOK4gJ4x=vldCxLP;gE2xs+yOx5 zb{kWIkCkZ>WiygQMBn%tJYp6G_njbm97`nF>@kgB-t=;Y&B16(UJZ)Q+^4#I&#Y8P z&y-RE&tDBJaKPLF{!~Ovh7o{k*|U=96Dk=gGulS6s5W&3nvZx*@Og4Tv~NY``(?>= zPJrdC6mw3tL0;fAXB=6;s_JeFu)>T%Z%^uaQQ|^kNH93#IaP0I055`CXHO24Oi;XL zGmH)@e#AnTU5?N1P=+Kkm<%B>h|5kf#=H)CeGY*O8xRzkBQuEW>~UzpJW1d^hx5sD zM%QDk$cC;08{iys2m~i>qTQ+=s|gH|petx+ZnW_T@$rBh2FVbe3qf8cF4-?zVYe3} z5XHafa;pROY8dRgq@$e9Ot~NX+^LUWo_f1Vl|pp9X^{BjC=aJ*3_K1t#EHS?n$y&Q@k>YV(gn3Hdq^-oGH)j|brq;gk1<2J|&6bdL8DWh{-sTUD7#xJt zHI8rbnZWKf6d)~;unNw246k~-ePW?ORwkCaOK5ebs=17q9whA#m$WZQ+_6TeQk9q< zsIu$i7T%i3i{z7APyV1i4Sznt(vdBY{P-$a`GoVkFqu^q#wQ={F?sVFAk7 zomY0WYE_uEP`+x%k&QA3P-*U_5p>H{^)(?2x5~8c`{%jZkOF+$~$d^%0X4Hvqpf&K0`unBw>=MSxBV0YB7A zaLprxgf~r+wg=!|ZL=x)ia)Fi2U|iWL=VHzcM6K7rmR;_%;u)Krpr0uw@`a`H9&KS zRF$8I#}Dw1EVRVolAD$_O*EAjyEY&Ny1Cj!3!3X$JfHLhyJXe5%|&$G=%^p45oWx~X~NMNGKxNJ!xFsE zB_ij}$Y6eH(82?YO2S3YImCfLbK*1y1(LENk}g(EvKNm|<9<_q4qC@U&TDC4dqzjp z5hq+f-M=%fj{ow_^@yxl@g7=MkLiBR$vP+>dgdxUM+%V=iff6L*ZCo|^f(0Q3>Fc?VEx8VE=Js*@=5Uht&6a|@6y z(e%Ymj*WeS$Rb@)u7L(wo!CMQV9zI)FvTKR-P9otSW2h~Iib->LROV&W?+bd38p=< z5p4gG>|f(FM%j7o@^)Be1l%O@ev-44Onm#Zfjjvp3}At-dFm?73(Ny zi$*5Tpb?Nh_jYaFif&NimgHpWw*+*6dei4^^7G{}g6E-cUA-I!&k!{1w%!M3QOmD& z9nlA#@#!x$zgx75+e9+*g8MP|ZcdY7fPlGJZO*;=6EhX|2KNpHXFt!Ok<`{cb0w1p zze-6m{fcu$I1sgf*d9EuO7fTaT|{z8;%-{yWufx&hvp?QmGL2nwmDTnHKeGw?YCtU zqdkrh{N^A&-3UOzT^;i4j(=xU=rtuS!>X;VX&NfcEpZ}pBE^8sn#m-pATs3xkNmO* zpr}K5AJeN}BTq2b>V?%1lyEW5?yO_H&5@R-OXW3bt5pKhMF-cjFfl*5BmD*sCEo{V zMo{9)K0Yf4TBFw~6n4#B{_cTJ$?Yb9^Rv*!$`zKl-N{Lua~q8nytIkBF_+$690(9l&0IB z|MF=9F^jI-f=>pnYsn8GKRlxZn_g#t^u#L9Rd(V#ADq1uheDUW`q*z$rWf+e#K?(77`{rnoT1KMi zZfliHgE&y&-8PI&!ah$f;+BeKbdYh(WooBw&ZkO?2}OW#Gse0lBTBoB7_HHrrQ6$R`517>er^kINk=Vjsy z96&qvCT3RLRySy@CufN|*A9!`&ZKx`Aa+LbUQ<-`G?k1zET?Tl5xut)0$(2@FYvjU zwkaym(-}oAZzHOw$p^QAc7mJ${gF;kMSO zq&3xN&fy{+wMnWgwZh~GNT#Sjp1#;DtL$$)apNJP=DW<5oX)hseWrBJ=Yj8|jsO@)y0IT~Inl{fV8X+IFB|TW`UkQ8pp%v1q}z*T@*`J}?i6 z4?a)Lyi)M!qNnxE)%!-}Wr3^z?P3sJvV`qcrYZD#WSDGw6As0&K7aK+$*$p-qz#

Be|Umrjy<{_PF<0ollcPQem@7Ls?EKq#OV4y;w9R%ThIwe+bSx)6+7ivuGhZ(>=Unv$ zc>1^_W?4xj@DG$-Sj{d2Hu8-)1j0yMttIUi9kQ`f=cc|-zJ(fnSDq0aT`HnxXUcw4 z{b1d6JZ`t3?G*qt@;E;pN@%TGOuW{Yd54ppLg%YwL=js^%kg`tMv*f}psQ%DnjpGM zY)%cF?}XC;r+Vb8z|l@drGh0ViSDPuSQ0yu_!yYM;j}A4ir+e9H;oVGXQR()DAm18 z>HsBd!>yEluJakPtSFW=t-maFc6;qi5^wzca;;3MnMZ*&OJMKCx)OL$inFf zjuz8(R8E_NNSI@QkheS$ja3m?V3s9X-Zdjf*Z%@6_OG4>w&(d7nkuRw52+wF@MT`) z=yeX)mj?UDW>8FL?^;SV9>=N)-r}!P7w%=fFess4F%0W|0dQcZ!eQC&fQgY7r()l& zoI)+0?sdIP4PhZ?fH_O8!lt?31U#y<`(<6K&)+t%WYx%Djm4HLJw*Qf%QkIVD zL=i;^rBIl%bW#T`bSz0(3X@}Jh7fX6bhJp;)S!h^*|MCXjifkCOdF+=>?%@P7^46E zyzk7I8B^EyegEtGI@dY9u9?C6KF{;c{oc?0+|RxIZY|jiwIYaKt0upnW8b#hJl`X< z+s%G+_N4976(?e49usA=7>DR)#Zwu(J)2s^;}=^qngPcN1Hu8@>7LV&2(`(idl%JT zX>V!zyvluNsq=J#7Lf104&Gs>IY!C#hgkBw2lNxcg85qVndxM+*Kuo^n=QOT$^4b-T9DVLg+c<>%(6qwvcK4ZIje^&7h@X@Rf(Y%d0L(oAhUv z3}jmRB$NplOvuowdvZvpZi=g5Z@+nQ8-w;Dv%gmwwjin5DJ|a(d=yAD6}Y9GA6}?v zm0v`ydYky*T61O4&D_QzgaH(azWPDEz>?~V6W=~f=>7@IZlZ#nv~ogyWla3-`kJLt zEw_!;;$`aE^);E%5)Y&klh>H{wkIF7UwvNs>5kx)v^V{6wos5`s zW-GUKtlNIuX|NOE&J>qjpeXES9Ac&kJ&>j;xvUnGzqK#>v`(8+8)!s6SdoZiIa_3h z`GT6JunzE%iPJXJ#Kuz$LA`aCBlT?2zJrZiKz)%&4+i7>mSMM%jkC*Y&EJS#t4*9z zL`j-aR^U~zw2!~=#YHmKNb4(}r(&F#fR!OZ{s;!DkELxgt{vfbn1at)R1tY#PC1VD z+f*9|EN$8|xk?Z)naSW_v-%M%LoBj4SPY3D>mqy*& zMSNA%f+}?dlnJx_ABn;7`f|vRpP)h4DF_BnE5e9-iz+)wgK@20-v}@EX-|1lpm=xP z6Uy%+%9zSMnF<$28)74CKL?JlOOZG{B)-D}{qf@ynF=3pwXn4oni9A5!@k$@=_&DL zUAeu0bAJVGy`oyQ1F$MiUC#QCKaM+#S3`A+YKt?{V&VZp8Y4gUfS$j|KL6qQLI=nN zAt6|m1kQL{n-HksFb`BgFz7@b_C~;d`LH?6M<`n0AVHUZ03~U{Y2sxP6!XA-JC6)>e@XgegR|8T!|38nIE0#O5u!7y05JgZ zy8;yo+hq*2I3ti$0O}&)jzyJ-p;r$M_MAo_s8)ECVO^GzVoHDmBhVJs#i>(^@+ zeOIN_`Qd{KtWdADN%2QLz1CUcN)^(SwG32WaA@W+dr4Zob1`hjbGeQBpq4F#H8w;4 z=rnp&yh>(c&(Dgx6dM!G+&KCR_FCPF;(L&5wYDdZ5uQg4X-7Lh9#4m`BEvxI=6z6- zs}QOI>|Ll0+sYzD+d%)93@mKCPVmA?X}v1PZ78Gmt%H z%AOQ#6E-Z{O)GIE-GNs2YBWlC{yUBFnXQe0Rsm#nhXXsj5CS}$D%p!>jHw7sRv*Ev z0s@5+_&6FodhOJ@{6hg^A`VaVa?~(RWiahNUaR!X{4scrbsLI{0Ko#^H5DLqDXY-? zS3q7Y6S-cAwiwWM>l6xrjk4b^ZOw@M61 zhJfRV$KD7YM%*6x&uAQH$ycMDrnPgjW%2O)bK*k-MYzza zPi(A)N12Gqq({UuBfRGWwh?z|_0Pd5b6{`r8_{FBLwP!{5F4#~5E2o~gy;eT43~{V z4PJ`ysV`fH3qN zGZN`CL=>4AUi|Je!F4|f<;lHQW@DNH@W6ta=mZdw4{r< zybP45Vksz4BYwfT9krPmeNwcu+dkXnK9!s^P!ad)4nIh@YP+qku7Qwf!D`TKL_u3l zRJRueLK~C-Mj!%sDc(kbD$Ma(u;D@#TG}Ao4+;Q5egi+LgYgcA&caN)chmDhIH2wT zN{cL;23Q0!aj>hvFa=7_xOKLz!&u?nl4Eb_`X%m=3I*9iW^Il871L{T`_eDH85*v# z&V%&Hd~b5ffyLIu#B!FGgOv&i4~w~SO5IF62WzTFYo%)z)!Cbsp3&)O-m&JnIu6^% zILbtgVZwTe;EWYg+Hrc;LX6+;`2hxKt$7C?ZI7q@u-+d|gTOnSk9-@PiI%3gT@VM6 zV81)sGoj@WH$bF~E(`UDcT5~751TQ7Kga)>eGmfBuDcjvZ4sE>XK(DHiQW>|I6x^o zr8Xz{voXTK!txRkVk`4|nW@h1W-3Cqo^nQSuO~T5J;r(PKh2X+#^g9c-iIro- z`^kb;V-b`0^9*k1hCCAfKm6%4GHF;TH>`{j-cPLHAX}K5{83W} zNm8p24(#-~Zaa4lvl5HhOh5XU=lS@qo+(F02*mpBFHb0bQ*VS@{`P$GmA^i|HEOci zUQa@%E37^cv%m^d(DLIsubVlxm#ePV12A8$Q#GA#|B|&pjo{>A3kqIX0vBi>0yn1W z?ZF`f`MiIVI2fwsXiBf|-`>&T&qU7p zvKR)GTyfs@Y~=5M{L1!~B^I9NIkJ><|MvCun(QK2@39^F0x0s($g&J^D#}RJ=9G-@ zvx`td`t^FKjP*^PLVhs%`RW?n-<;12oAYU^D*K&b)kk(o7XB^ovdzJ_zW4mC8J`G# zLlg8{WFILL;4ofgvNC7Imaz3}1izbr{z2Gl(!3mfvW~Ivi#?g-PFaYqnF4=}$F32W zJzI7N{%RUSAWURmql&J~j%ipes5U9QN2qbutq`rp%Cqmfd#&tDHVXN5R#Jm#!^h~g z=R<;ahZg1LTzySecdiMh{JDeTyF1`SoX6`436`Q^SH#K(OiJIr+UhfLw#JU#2Cvhe zt(4NNZo4@UIkr_jE@(!54-TkWEsrzE11zZcnQAwP1STxu?+CO{w<0==cVFLd&9^z$Hj z`l<$axMTFa8b@<2TQq4^U-YC(Q#& zeDl*HdEbsj%}=X8Y~J2FG0W|I^WsQ{)yt<|a<{C0ZaDnm^~%V%E8Bmz>$Lbz_8N-P=X;SBPW=O5UARMxGg=a3l9fOzA0m!(z$RnpERGV~6R}p2vxZ zU8%V5bB5tecU0UHtzfQhv58^Rb@`5}Nw%C&dAqOh2{E$x5B@%OH_uK@J0fwNQCya# zA6mX%wxVEvKYb^Gn{&@)+MN#pQqzP8gvmha%?4hczCd4li$HG@#TJqId>qZ}`Xb5j zzM6iqWcOsvXV-nCCrn(phO|q3QcTGlM@o{ys(_$RQ>uRXQTgPtn#GmG4w}o+J5K2t zPQo>7PEpivja3k+J{W!JR^`hsrK@uy#n(>UASFt)-mMt>rtRi07cM-TY~hv~yK4N0 zC^P!B<45QRgbr$i`|J}6_M3D5KuMlN=ld<*1{d!L_!=3!lWVynI3+7*MQ_pdCeg^+ zImWNFUOHHqr0pBfHW62rwkVe0TDKvl;Mbs2YZffEd7hwTKq@F-nD*Xk{P4OJR7TZ1 z;+D*yQuX91(QA_?($~%+PK_{4&P!)Kgf%p|1cl{kKP)H}5?R`mNz}ffKWNbPV^>ztES){Sjvwxk+SIXgPj1dL zeZus{r~SWL$=_}#>Rb*l|NUTEwWZE5JS~ASQwSrHhWB~FBO?e9Z3SY_`?g8}TP^>-7)q<2FKTe`x(ZHW2G>OW?okK^?uwB!0~&&Cy<{ z0vCP{&C!fN2R`^uf}G9$D861EBOUOkFw83EfxgGd@0ddGOLRh#5kF9q))YZ*Imt~a zUP*}>;x{Xr%GGd`+~lQNdH_jb*9rnbZ-^Ogd4J3=jRtI+us`DorHwENfne9DDPA*$V@rq4!O?qV*flvaksrb0ef!A_3 zbn)2gOj1+z_H^dG_q5!>20|8r@FA18i{twRaO&e@V_m58>!LedcE_9)0$~QcxbMQK zo9p(mE;RUcacO>}zH$AURD@(VA8_V&%=R4cJXu`nLi^U z?#vXyFbi1un_=>D&tHF-kC@UxA^G}3YYM;S!3V>Zh65M&yAcR*2iSpg;!W1{qxc58 zlQABGlvt0o$ sContactCache; + // һַ̬ڱ־Ϣ private static final String TAG = "Contact"; + // һַ̬ڲѯϵϢSQL private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'" + " AND " + Data.RAW_CONTACT_ID + " IN " @@ -36,38 +39,65 @@ public class Contact { + " FROM phone_lookup" + " WHERE min_match = '+')"; + // ݵ绰ȡϵϢ public static String getContact(Context context, String phoneNumber) { + // Ϊգ򴴽һµHashMap +public class Contact { + +// ݵ绰ȡϵ + public String getContactName(String phoneNumber) { + // ϵ˻Ϊգ򴴽һµHashMap if(sContactCache == null) { sContactCache = new HashMap(); } - + + // Ѿڸõ绰ϵϢֱӷ if(sContactCache.containsKey(phoneNumber)) { return sContactCache.get(phoneNumber); } - + + +// phoneNumberתΪCallerIDMinMatchʽ滻CALLER_ID_SELECTIONַ String selection = CALLER_ID_SELECTION.replace("+", PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); + // ִвѯ +// ݵ绰ѯϵ +// ȡContentResolver Cursor cursor = context.getContentResolver().query( + // ѯURI Data.CONTENT_URI, + // ѯ new String [] { Phone.DISPLAY_NAME }, + // ѯ selection, + // ѯIJ new String[] { phoneNumber }, + // null); - + + // ѯΪαָһ if (cursor != null && cursor.moveToFirst()) { try { + // ȡϵ String name = cursor.getString(0); + // 绰ϵ뻺 sContactCache.put(phoneNumber, name); + // ϵ return name; } catch (IndexOutOfBoundsException e) { + // ȡϵӡ־ Log.e(TAG, " Cursor get string error " + e.toString()); + // null return null; } finally { + // رα cursor.close(); } } else { + // ûƥϵˣӡ־ Log.d(TAG, "No contact matched with number:" + phoneNumber); + // null return null; } } -} +} \ No newline at end of file diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/data/Notes.java b/src/Notesmaster/app/src/main/java/net/micode/notes/data/Notes.java index f240604..f28f07a 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/data/Notes.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/data/Notes.java @@ -18,262 +18,242 @@ package net.micode.notes.data; import android.net.Uri; public class Notes { + // Notesij + // һʾNotesȨ public static final String AUTHORITY = "micode_notes"; + // һʾNotesıǩ public static final String TAG = "Notes"; + // һʾNotesΪNote public static final int TYPE_NOTE = 0; + // һʾNotesΪFolder public static final int TYPE_FOLDER = 1; + // һʾNotesΪSystem public static final int TYPE_SYSTEM = 2; - /** - * Following IDs are system folders' identifiers - * {@link Notes#ID_ROOT_FOLDER } is default folder - * {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder - * {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records - */ + + // ļеID public static final int ID_ROOT_FOLDER = 0; + // ʱļеID public static final int ID_TEMPARAY_FOLDER = -1; + // ͨ¼ļеID public static final int ID_CALL_RECORD_FOLDER = -2; + // վID public static final int ID_TRASH_FOLER = -3; + // IntentĶ +// һʾڵͼ public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; +// һʾɫͼ public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; +// һʾСͼ public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; +// һʾС͵ͼ public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; +// һʾļеͼ public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; +// һʾͨڵͼ public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; - public static final int TYPE_WIDGET_INVALIDE = -1; - public static final int TYPE_WIDGET_2X = 0; - public static final int TYPE_WIDGET_4X = 1; + // С + public static final int TYPE_WIDGET_INVALIDE = -1; // Чwidget + public static final int TYPE_WIDGET_2X = 0; // 2xwidget + public static final int TYPE_WIDGET_4X = 1; // 4xwidget public static class DataConstants { - public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; - public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; + public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; // ıʼǵcontent type + public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; // бʼǵcontent type } - /** - * Uri to query all notes and folders - */ - public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); + +// һʾnoteUri + public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); - /** - * Uri to query data - */ - public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); + + // һʾݵURI + public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); + // һӿڣڶNote public interface NoteColumns { - /** - * The unique ID for a row - *

Type: INTEGER (long)

- */ + + // һʾID public static final String ID = "_id"; - /** - * The parent's id for note or folder - *

Type: INTEGER (long)

- */ + + + // һʾڵID public static final String PARENT_ID = "parent_id"; - /** - * Created data for note or folder - *

Type: INTEGER (long)

- */ + + + // һʾ public static final String CREATED_DATE = "created_date"; - /** - * Latest modified date - *

Type: INTEGER (long)

- */ + + // һʾ޸ public static final String MODIFIED_DATE = "modified_date"; - /** - * Alert date - *

Type: INTEGER (long)

- */ + + + // һڴ洢 public static final String ALERTED_DATE = "alert_date"; - /** - * Folder's name or text content of note - *

Type: TEXT

- */ + + +// һڱʾƬ public static final String SNIPPET = "snippet"; - /** - * Note's widget id - *

Type: INTEGER (long)

- */ + + +// һʾСID public static final String WIDGET_ID = "widget_id"; - /** - * Note's widget type - *

Type: INTEGER (long)

- */ + + +// һʾС public static final String WIDGET_TYPE = "widget_type"; - /** - * Note's background color's id - *

Type: INTEGER (long)

- */ + + + // һʾɫID public static final String BG_COLOR_ID = "bg_color_id"; - /** - * For text note, it doesn't has attachment, for multi-media - * note, it has at least one attachment - *

Type: INTEGER

- */ + + // NoteеǷиֶ + // һʾǷи public static final String HAS_ATTACHMENT = "has_attachment"; - /** - * Folder's count of notes - *

Type: INTEGER (long)

- */ + + // Noteеıʼֶ +// һڴ洢ʼ public static final String NOTES_COUNT = "notes_count"; - /** - * The file type: folder or note - *

Type: INTEGER

- */ + + // Noteеֶ + // һʾ public static final String TYPE = "type"; - /** - * The last sync id - *

Type: INTEGER (long)

- */ + + // NoteеͬIDֶ +// һͬID public static final String SYNC_ID = "sync_id"; - /** - * Sign to indicate local modified or not - *

Type: INTEGER

- */ + + // Noteеı޸ֶ +// һʾ޸ public static final String LOCAL_MODIFIED = "local_modified"; - /** - * Original parent id before moving into temporary folder - *

Type : INTEGER

- */ + + // NoteеԭʼIDֶ +// һʾԭʼID public static final String ORIGIN_PARENT_ID = "origin_parent_id"; - /** - * The gtask id - *

Type : TEXT

- */ + + // NoteеGTask IDֶ +// һڴ洢ID public static final String GTASK_ID = "gtask_id"; - /** - * The version code - *

Type : INTEGER (long)

- */ + + // Noteеİ汾ֶ + // һʾ汾 public static final String VERSION = "version"; } public interface DataColumns { - /** - * The unique ID for a row - *

Type: INTEGER (long)

- */ + + // DataеIDֶ + // һʾID public static final String ID = "_id"; - /** - * The MIME type of the item represented by this row. - *

Type: Text

- */ + + // DataеMIMEֶ +// һʾMIME public static final String MIME_TYPE = "mime_type"; - /** - * The reference id to note that this data belongs to - *

Type: INTEGER (long)

- */ + + // DataеNote IDֶ +// һڱʾʼǵID public static final String NOTE_ID = "note_id"; - /** - * Created data for note or folder - *

Type: INTEGER (long)

- */ + + // DataеĴֶ +// һʾ public static final String CREATED_DATE = "created_date"; - /** - * Latest modified date - *

Type: INTEGER (long)

- */ + + // Dataе޸ֶ +// һʾ޸ public static final String MODIFIED_DATE = "modified_date"; - /** - * Data's content - *

Type: TEXT

- */ + + // Dataеֶ +// һCONTENTֵΪ"content" public static final String CONTENT = "content"; - /** - * Generic data column, the meaning is {@link #MIMETYPE} specific, used for - * integer data type - *

Type: INTEGER

- */ - public static final String DATA1 = "data1"; - - /** - * Generic data column, the meaning is {@link #MIMETYPE} specific, used for - * integer data type - *

Type: INTEGER

- */ - public static final String DATA2 = "data2"; - - /** - * Generic data column, the meaning is {@link #MIMETYPE} specific, used for - * TEXT data type - *

Type: TEXT

- */ - public static final String DATA3 = "data3"; - - /** - * Generic data column, the meaning is {@link #MIMETYPE} specific, used for - * TEXT data type - *

Type: TEXT

- */ - public static final String DATA4 = "data4"; - - /** - * Generic data column, the meaning is {@link #MIMETYPE} specific, used for - * TEXT data type - *

Type: TEXT

- */ - public static final String DATA5 = "data5"; + +// һDATA1ֵΪ"data1" + public static final String DATA1 = "data1"; + + + public static final String DATA2 = "data2"; // һDATA2ֵΪ"data2" + + + public static final String DATA3 = "data3"; // һDATA3ֵΪ"data3" + + + public static final String DATA4 = "data4"; // һDATA4ֵΪ"data4" + + + public static final String DATA5 = "data5"; // һDATA5ֵΪ"data5" } +// һΪTextNoteĹ̬࣬ʵDataColumnsӿ public static final class TextNote implements DataColumns { - /** - * Mode to indicate the text in check list mode or not - *

Type: Integer 1:check list mode 0: normal mode

- */ + + // ıʼģʽ +// һMODEֵΪDATA1 public static final String MODE = DATA1; + // бģʽ +// һʾбģʽ public static final int MODE_CHECK_LIST = 1; + // ıʼ +// һʾΪ"text_note" public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; + // ıʼ + // һʾıʼǵContentItemType public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; + // ıʼURI + // һUriڷtext_note public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); } +// һΪCallNoteĹ̬࣬ʵDataColumnsӿ public static final class CallNote implements DataColumns { - /** - * Call date for this record - *

Type: INTEGER (long)

- */ + + // ͨ + // һCALL_DATEֵΪDATA1 public static final String CALL_DATE = DATA1; - /** - * Phone number for this record - *

Type: TEXT

- */ + + // 绰 +// һPHONE_NUMBERֵΪDATA3 public static final String PHONE_NUMBER = DATA3; + // ͨʼ + // һʾΪcall_note public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; + // ͨʼ +// һʾΪcall_note public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; + // ͨʼURI +// һUriڷCallNoteProviderе public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); } } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java index ffe5d57..b5fb389 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -28,75 +28,117 @@ import net.micode.notes.data.Notes.NoteColumns; public class NotesDatabaseHelper extends SQLiteOpenHelper { + +// ݿ private static final String DB_NAME = "note.db"; +// ݿ汾 private static final int DB_VERSION = 4; public interface TABLE { +// һNOTEֵΪ"note" public static final String NOTE = "note"; +// һDATAֵΪ"data" public static final String DATA = "data"; } +// һڱʶNotesDatabaseHelper private static final String TAG = "NotesDatabaseHelper"; +// һ̬NotesDatabaseHelper͵ımInstance private static NotesDatabaseHelper mInstance; + // 崴ʼDZSQL private static final String CREATE_NOTE_TABLE_SQL = "CREATE TABLE " + TABLE.NOTE + "(" + + // һΪNoteı NoteColumns.ID + " INTEGER PRIMARY KEY," + + // һΪIDУΪINTEGERΪ NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + // һΪPARENT_IDУΪINTEGERĬֵΪ0 NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," + + // һΪALERTED_DATEУΪINTEGERĬֵΪ0 NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + + // һΪBG_COLOR_IDУΪINTEGERĬֵΪ0 NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + // һΪCREATED_DATEУΪINTEGERĬֵΪǰʱ NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," + + // һΪHAS_ATTACHMENTУΪINTEGERĬֵΪ0 NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + // һΪMODIFIED_DATEУΪINTEGERĬֵΪǰʱ NoteColumns.NOTES_COUNT + " INTEGER NOT NULL DEFAULT 0," + + // һΪNOTES_COUNTУΪINTEGERĬֵΪ0 NoteColumns.SNIPPET + " TEXT NOT NULL DEFAULT ''," + + // һΪSNIPPETУΪTEXTĬֵΪַ NoteColumns.TYPE + " INTEGER NOT NULL DEFAULT 0," + + // һΪTYPEУΪINTEGERĬֵΪ0 NoteColumns.WIDGET_ID + " INTEGER NOT NULL DEFAULT 0," + + // һΪWIDGET_IDУΪINTEGERĬֵΪ0 NoteColumns.WIDGET_TYPE + " INTEGER NOT NULL DEFAULT -1," + + // һΪWIDGET_TYPEУΪINTEGERĬֵΪ-1 NoteColumns.SYNC_ID + " INTEGER NOT NULL DEFAULT 0," + + // һΪSYNC_IDУΪINTEGERĬֵΪ0 NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," + + // һΪLOCAL_MODIFIEDУΪINTEGERĬֵΪ0 NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + // һΪORIGIN_PARENT_IDУΪINTEGERĬֵΪ0 NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," + + // һΪGTASK_IDУΪTEXTĬֵΪַ NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" + + // һΪVERSIONУΪINTEGERĬֵΪ0 ")"; +// һڴݱSQL private static final String CREATE_DATA_TABLE_SQL = +// һΪTABLE.DATAıУ "CREATE TABLE " + TABLE.DATA + "(" + + // IDУΪINTEGERΪ DataColumns.ID + " INTEGER PRIMARY KEY," + + // MIME_TYPEУΪTEXTΪ DataColumns.MIME_TYPE + " TEXT NOT NULL," + + // NOTE_IDУΪINTEGERΪգĬֵΪ0 DataColumns.NOTE_ID + " INTEGER NOT NULL DEFAULT 0," + + // CREATED_DATEУΪINTEGERΪգĬֵΪǰʱ NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + // MODIFIED_DATEУΪINTEGERΪգĬֵΪǰʱ NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + // CONTENTУΪTEXTΪգĬֵΪַ DataColumns.CONTENT + " TEXT NOT NULL DEFAULT ''," + + // DATA1УΪINTEGER DataColumns.DATA1 + " INTEGER," + + // DATA2УΪINTEGER DataColumns.DATA2 + " INTEGER," + + // DATA3УΪTEXTΪգĬֵΪַ DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," + + // DATA4УΪTEXTΪգĬֵΪַ DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," + + // DATA5УΪTEXTΪգĬֵΪַ DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" + + // ")"; +// һڴSQL private static final String CREATE_DATA_NOTE_ID_INDEX_SQL = +// һΪnote_id_index "CREATE INDEX IF NOT EXISTS note_id_index ON " + +// ѯTABLENOTE_IDе TABLE.DATA + "(" + DataColumns.NOTE_ID + ");"; - /** - * Increase folder's note count when move note to the folder - */ + + // һ̬ڸʱļĴ private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = - "CREATE TRIGGER increase_folder_count_on_update "+ - " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + - " BEGIN " + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + - " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + - " END"; - - /** - * Decrease folder's note count when move note from folder - */ + "CREATE TRIGGER increase_folder_count_on_update "+ // һڸNotePARENT_IDֶκӶӦļеNOTES_COUNTֶ + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + // NotePARENT_IDֶθº󴥷 + " BEGIN " + // ʼ + " UPDATE " + TABLE.NOTE + // Note + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + // NOTES_COUNTֶμ1 + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + // IDֶεֵ + " END"; // + + +// һڱʾڸ´мļIJ +// һΪdecrease_folder_count_on_updateĴڸNoteparent_idֶκִ private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = "CREATE TRIGGER decrease_folder_count_on_update " + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + @@ -107,255 +149,327 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper { " AND " + NoteColumns.NOTES_COUNT + ">0" + ";" + " END"; - /** - * Increase folder's note count when insert new note to the folder - */ + + // һڲʱļмĴ private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER = - "CREATE TRIGGER increase_folder_count_on_insert " + - " AFTER INSERT ON " + TABLE.NOTE + - " BEGIN " + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + - " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + - " END"; - - /** - * Decrease folder's note count when delete note from the folder - */ + "CREATE TRIGGER increase_folder_count_on_insert " + // һΪincrease_folder_count_on_insert + " AFTER INSERT ON " + TABLE.NOTE + // NOTEϲݺ󴥷 + " BEGIN " + // ʼ + " UPDATE " + TABLE.NOTE + // NOTE + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + // NOTES_COUNTֶμ1 + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + // ΪID²ݵPARENT_ID + " END"; // + + + // һɾļʱļĴ private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER = - "CREATE TRIGGER decrease_folder_count_on_delete " + - " AFTER DELETE ON " + TABLE.NOTE + - " BEGIN " + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + - " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + - " AND " + NoteColumns.NOTES_COUNT + ">0;" + - " END"; - - /** - * Update note's content when insert data with type {@link DataConstants#NOTE} - */ + "CREATE TRIGGER decrease_folder_count_on_delete " + // һɾʼǺļеıʼ + " AFTER DELETE ON " + TABLE.NOTE + // ɾʼǺ󴥷 + " BEGIN " + // ʼ + " UPDATE " + TABLE.NOTE + // ±ʼDZ + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + // ʼ1 + " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + // ڸļIDڱɾʼǵĸļID + " AND " + NoteColumns.NOTES_COUNT + ">0;" + // ʼ0 + " END"; // + + + // һڴ洢ڲʱ±עݵĴ private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER = - "CREATE TRIGGER update_note_content_on_insert " + - " AFTER INSERT ON " + TABLE.DATA + - " WHEN new." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + - " BEGIN" + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + - " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + - " END"; - - /** - * Update note's content when data with {@link DataConstants#NOTE} type has changed - */ + "CREATE TRIGGER update_note_content_on_insert " + // һΪupdate_note_content_on_insert + " AFTER INSERT ON " + TABLE.DATA + // ڲݱ󴥷 + " WHEN new." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + // ²ݵMIME_TYPEΪNOTEʱ + " BEGIN" + // ʼ + " UPDATE " + TABLE.NOTE + // NOTE + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + // ²ݵCONTENTֵNOTESNIPPET + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + // NOTEID²ݵNOTE_IDƥ + " END"; // + + +// һڸ´ʱע͵ private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER = "CREATE TRIGGER update_note_content_on_update " + - " AFTER UPDATE ON " + TABLE.DATA + - " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " AFTER UPDATE ON " + TABLE.DATA + // һڸDATAִ + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + // ݵMIME_TYPEΪNOTEʱ " BEGIN" + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + - " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + + " UPDATE " + TABLE.NOTE + // NOTE + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + // ݵCONTENTֵNOTESNIPPET + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + // NOTEУIDݵNOTE_ID " END"; - /** - * Update note's content when data with {@link DataConstants#NOTE} type has deleted - */ + + // һڴ洢ɾʱע͵ private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER = - "CREATE TRIGGER update_note_content_on_delete " + - " AFTER delete ON " + TABLE.DATA + - " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + - " BEGIN" + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.SNIPPET + "=''" + - " WHERE " + NoteColumns.ID + "=old." + DataColumns.NOTE_ID + ";" + - " END"; - - /** - * Delete datas belong to note which has been deleted - */ + "CREATE TRIGGER update_note_content_on_delete " + // һΪupdate_note_content_on_delete + " AFTER delete ON " + TABLE.DATA + // ɾݱ󴥷 + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + // ɾݵMIME_TYPEΪNOTEʱ + " BEGIN" + // ʼ + " UPDATE " + TABLE.NOTE + // NOTE + " SET " + NoteColumns.SNIPPET + "=''" + // SNIPPETֶΪַ + " WHERE " + NoteColumns.ID + "=old." + DataColumns.NOTE_ID + ";" + // NOTEУIDɾݵNOTE_ID + " END"; // + + +// һɾʱɾ private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER = - "CREATE TRIGGER delete_data_on_delete " + - " AFTER DELETE ON " + TABLE.NOTE + - " BEGIN" + - " DELETE FROM " + TABLE.DATA + - " WHERE " + DataColumns.NOTE_ID + "=old." + NoteColumns.ID + ";" + - " END"; - - /** - * Delete notes belong to folder which has been deleted - */ + "CREATE TRIGGER delete_data_on_delete " + // һΪdelete_data_on_delete + " AFTER DELETE ON " + TABLE.NOTE + // ɾNOTEеݺ󴥷 + " BEGIN" + // ʼ + " DELETE FROM " + TABLE.DATA + // DATAɾ + " WHERE " + DataColumns.NOTE_ID + "=old." + NoteColumns.ID + ";" + // ΪNOTE_IDڱɾNOTEID + " END"; // + + + // һɾļʱɾʼǵĴ private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER = - "CREATE TRIGGER folder_delete_notes_on_delete " + - " AFTER DELETE ON " + TABLE.NOTE + - " BEGIN" + - " DELETE FROM " + TABLE.NOTE + - " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + - " END"; - - /** - * Move notes belong to folder which has been moved to trash folder - */ + "CREATE TRIGGER folder_delete_notes_on_delete " + // һΪfolder_delete_notes_on_delete + " AFTER DELETE ON " + TABLE.NOTE + // ɾNOTEеݺ󴥷 + " BEGIN" + // ʼ + " DELETE FROM " + TABLE.NOTE + // NOTEɾ + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + // ɾΪPARENT_IDڱɾݵID + " END"; // + + +// һڱʾڻվƶļļʱʾϢ private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER = - "CREATE TRIGGER folder_move_notes_on_trash " + - " AFTER UPDATE ON " + TABLE.NOTE + - " WHEN new." + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + - " BEGIN" + - " UPDATE " + TABLE.NOTE + - " SET " + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + - " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + - " END"; - + "CREATE TRIGGER folder_move_notes_on_trash " + // һΪfolder_move_notes_on_trashĴ + " AFTER UPDATE ON " + TABLE.NOTE + // NOTEִи²󴥷 + " WHEN new." + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + // ¼¼ĸIDͰļIDʱ + " BEGIN" + // ʼִд + " UPDATE " + TABLE.NOTE + // NOTE + " SET " + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + // IDΪͰļID + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + // ڸIDھɼ¼ID + " END"; // + +// 캯ڳʼNotesDatabaseHelper public NotesDatabaseHelper(Context context) { + // øĹ캯ġݿơα깤ݿ汾 super(context, DB_NAME, null, DB_VERSION); } public void createNoteTable(SQLiteDatabase db) { + // ִдnoteSQL db.execSQL(CREATE_NOTE_TABLE_SQL); + // ´noteĴ reCreateNoteTableTriggers(db); + // ϵͳļ createSystemFolder(db); + // ӡ־noteѴ Log.d(TAG, "note table has been created"); } +// ´ʼDZ private void reCreateNoteTableTriggers(SQLiteDatabase db) { + // ɾд +// ɾΪincrease_folder_count_on_updateĴ db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update"); +// ɾΪdecrease_folder_count_on_updateĴ db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_update"); +// ɾΪdecrease_folder_count_on_deleteĴ db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete"); +// ɾΪdelete_data_on_deleteĴ db.execSQL("DROP TRIGGER IF EXISTS delete_data_on_delete"); +// ɾΪincrease_folder_count_on_insertĴ db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_insert"); +// ɾΪfolder_delete_notes_on_deleteĴ db.execSQL("DROP TRIGGER IF EXISTS folder_delete_notes_on_delete"); +// ɾΪfolder_move_notes_on_trashĴ db.execSQL("DROP TRIGGER IF EXISTS folder_move_notes_on_trash"); + // +// ִļм db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); +// ִмļм db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); +// ִмļм db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER); +// ִɾݴ db.execSQL(NOTE_DELETE_DATA_ON_DELETE_TRIGGER); +// ִļм db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER); +// ִɾļеıʼǴ db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER); +// ִƶļеıʼǴ db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER); } + // ϵͳļ private void createSystemFolder(SQLiteDatabase db) { + // ContentValuesڴ洢 ContentValues values = new ContentValues(); - /** - * call record foler for call notes - */ + +// NoteColumns.IDֵΪNotes.ID_CALL_RECORD_FOLDER values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER); +// NoteColumns.TYPEֵΪNotes.TYPE_SYSTEM values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); +// values뵽TABLE.NOTE db.insert(TABLE.NOTE, null, values); - /** - * root folder which is default folder - */ + +// values values.clear(); +// Notes.ID_ROOT_FOLDERvalues values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER); +// Notes.TYPE_SYSTEMvalues values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); +// values뵽TABLE.NOTE db.insert(TABLE.NOTE, null, values); - /** - * temporary folder which is used for moving note - */ + + // values values.clear(); + // NoteColumns.IDֵΪNotes.ID_TEMPARAY_FOLDER values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER); + // NoteColumns.TYPEֵΪNotes.TYPE_SYSTEM values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + // values뵽TABLE.NOTE db.insert(TABLE.NOTE, null, values); - /** - * create trash folder - */ + +// values values.clear(); +// NoteColumns.IDֵΪNotes.ID_TRASH_FOLER values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); +// NoteColumns.TYPEֵΪNotes.TYPE_SYSTEM values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); +// values뵽TABLE.NOTE db.insert(TABLE.NOTE, null, values); } public void createDataTable(SQLiteDatabase db) { + // ִдݱSQL db.execSQL(CREATE_DATA_TABLE_SQL); + // ´ݱ reCreateDataTableTriggers(db); + // ִдݱSQL db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL); + // ӡ־ʾݱѾ Log.d(TAG, "data table has been created"); } +// ´ݱ private void reCreateDataTableTriggers(SQLiteDatabase db) { +// ɾΪupdate_note_content_on_insertĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_insert"); +// ɾΪupdate_note_content_on_updateĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update"); +// ɾΪupdate_note_content_on_deleteĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_delete"); +// ִи±ʼݵĴ db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER); +// ִи±ʼݵĴ db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER); +// ִи±ʼݵĴ db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER); } + // ȡNotesDatabaseHelperʵ static synchronized NotesDatabaseHelper getInstance(Context context) { + // mInstanceΪգ򴴽һµNotesDatabaseHelper if (mInstance == null) { mInstance = new NotesDatabaseHelper(context); } + // mInstance return mInstance; } @Override + // дonCreateڴݿ public void onCreate(SQLiteDatabase db) { + // createNoteTableNote createNoteTable(db); + // createDataTableData createDataTable(db); } + // дonUpgradeݿ汾ʱ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + // Ƿ´ boolean reCreateTriggers = false; + // ǷV2汾 boolean skipV2 = false; +// ɰ汾Ϊ1 if (oldVersion == 1) { + // 汾2 upgradeToV2(db); - skipV2 = true; // this upgrade including the upgrade from v2 to v3 + // 汾2 + skipV2 = true; + // ɰ汾ż1 oldVersion++; } + // ɰ汾Ϊ2ҲV2汾V3汾´ͬʱɰ汾1 if (oldVersion == 2 && !skipV2) { upgradeToV3(db); reCreateTriggers = true; oldVersion++; } +// ɰ汾Ϊ3 if (oldVersion == 3) { + // 汾4 upgradeToV4(db); + // 汾ż1 oldVersion++; } +// Ҫ´ִ´ if (reCreateTriggers) { + // ´NoteTable reCreateNoteTableTriggers(db); + // ´DataTable reCreateDataTableTriggers(db); } + // ɰ汾°汾׳쳣 if (oldVersion != newVersion) { throw new IllegalStateException("Upgrade notes database to version " + newVersion + "fails"); } } + // ݿV2汾 private void upgradeToV2(SQLiteDatabase db) { + // ɾΪNOTEı db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE); + // ɾΪDATAı db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA); + // ΪNOTEı createNoteTable(db); + // ΪDATAı createDataTable(db); } + // ݿ⵽V3汾 private void upgradeToV3(SQLiteDatabase db) { - // drop unused triggers + +// ɾΪupdate_note_modified_date_on_insertĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert"); +// ɾΪupdate_note_modified_date_on_deleteĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete"); +// ɾΪupdate_note_modified_date_on_updateĴ db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update"); - // add a column for gtask id + +// NOTEΪGTASK_IDTEXTУĬֵΪַ db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''"); - // add a trash system folder + + // һContentValuesڴ洢Ҫ ContentValues values = new ContentValues(); + // ID_TRASH_FOLERֵIDֶ values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); + // TYPE_SYSTEMֵTYPEֶ values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + // ݲ뵽NOTE db.insert(TABLE.NOTE, null, values); } + // ݿV4汾 private void upgradeToV4(SQLiteDatabase db) { + // ִSQL䣬NOTEVERSIONУΪINTEGERĬֵΪ0 db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0"); } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesProvider.java b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesProvider.java index edb0a60..67bd6d6 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesProvider.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/data/NotesProvider.java @@ -35,78 +35,118 @@ import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.data.NotesDatabaseHelper.TABLE; +// һNotesProvider̳࣬ContentProvider public class NotesProvider extends ContentProvider { + // һUriMatcher private static final UriMatcher mMatcher; + // һNotesDatabaseHelper private NotesDatabaseHelper mHelper; + // һڱʶNotesProvider private static final String TAG = "NotesProvider"; - private static final int URI_NOTE = 1; - private static final int URI_NOTE_ITEM = 2; - private static final int URI_DATA = 3; - private static final int URI_DATA_ITEM = 4; + // URI + private static final int URI_NOTE = 1; // ʼURI + private static final int URI_NOTE_ITEM = 2; // ʼURI + private static final int URI_DATA = 3; // URI + private static final int URI_DATA_ITEM = 4; // URI +// URI_SEARCHֵΪ5 private static final int URI_SEARCH = 5; +// URI_SEARCH_SUGGESTֵΪ6 private static final int URI_SEARCH_SUGGEST = 6; static { +// һUriMatcherƥUri mMatcher = new UriMatcher(UriMatcher.NO_MATCH); +// ƥƥ"note"·URI_NOTE mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE); +// ƥƥ"note/#"·URI_NOTE_ITEM mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM); +// ƥƥ"data"·URI_DATA mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA); +// ƥƥ"data/#"·URI_DATA_ITEM mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM); +// ƥƥ"search"·URI_SEARCH mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH); +// ƥƥ"search/*"·URI_SEARCH_SUGGEST mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST); +// ƥƥ"search/*"·URI_SEARCH_SUGGEST mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST); } - /** - * x'0A' represents the '\n' character in sqlite. For title and content in the search result, - * we will trim '\n' and white space in order to show more information. - */ + + // һʼǵͶӰ private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + "," + NoteColumns.ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA + "," + // NoteColumns.SNIPPETеĻз滻ΪַȥβոΪSearchManager.SUGGEST_COLUMN_TEXT_1ֵ + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_1 + "," + // NoteColumns.SNIPPETеĻз滻ΪַȥβոΪSearchManager.SUGGEST_COLUMN_TEXT_2ֵ + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + "," + // R.drawable.search_resultΪSearchManager.SUGGEST_COLUMN_ICON_1ֵ + R.drawable.search_result + " AS " + SearchManager.SUGGEST_COLUMN_ICON_1 + "," + // Intent.ACTION_VIEWΪSearchManager.SUGGEST_COLUMN_INTENT_ACTIONֵ + "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + "," + // Notes.TextNote.CONTENT_TYPEΪSearchManager.SUGGEST_COLUMN_INTENT_DATAֵ + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA; + // һַ̬ڴ洢ѯ private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION - + " FROM " + TABLE.NOTE - + " WHERE " + NoteColumns.SNIPPET + " LIKE ?" - + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER - + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; +// ƴSQL䣬ѯnotesnippetֶΰַָparent_idID_TRASH_FOLERtypeTYPE_NOTEļ¼ + + " FROM " + TABLE.NOTE // Ӳѯ + + " WHERE " + NoteColumns.SNIPPET + " LIKE ?" // ӲѯƥƬ + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER // Ӳѯųվ + + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; // Ӳѯƥʼ @Override + // дonCreate public boolean onCreate() { + // ȡNotesDatabaseHelperʵ + // ȡNotesDatabaseHelperʵ mHelper = NotesDatabaseHelper.getInstance(getContext()); + // true return true; } @Override + // дqueryڲѯ +// ݸUriͶӰѡ˳ѯ public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { +// һα Cursor c = null; +// ȡһֻݿ SQLiteDatabase db = mHelper.getReadableDatabase(); +// һַ͵ıidʼΪnull String id = null; +// ݴuriƥӦURI_NOTEȻִӦIJ switch (mMatcher.match(uri)) { + // ƥ䵽URI_NOTEִ² case URI_NOTE: + // ѯݿ⣬ȡָе +// ѯݿеNOTEָе c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null, sortOrder); +// selectionselectionArgsɸѡؽ break; +// URI_NOTE_ITEMֵȡ·еĵڶΪid case URI_NOTE_ITEM: id = uri.getPathSegments().get(1); +// ʹidΪѯѯݿеNOTEؽ c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs, null, null, sortOrder); break; +// URI_DATA case URI_DATA: + // ݿвѯݣһCursor c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null, sortOrder); break; +// URI_DATA_ITEMֵȡ·еĵڶΪid case URI_DATA_ITEM: id = uri.getPathSegments().get(1); +// ѯݿ⣬ȡָidݣprojectionΪѯУselectionΪѯselectionArgsΪѯIJ c = db.query(TABLE.DATA, projection, DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs, null, null, sortOrder); break; @@ -166,13 +206,13 @@ public class NotesProvider extends ContentProvider { default: throw new IllegalArgumentException("Unknown URI " + uri); } - // Notify the note uri + if (noteId > 0) { getContext().getContentResolver().notifyChange( ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null); } - // Notify the data uri + if (dataId > 0) { getContext().getContentResolver().notifyChange( ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null); @@ -194,10 +234,7 @@ public class NotesProvider extends ContentProvider { break; case URI_NOTE_ITEM: id = uri.getPathSegments().get(1); - /** - * ID that smaller than 0 is system folder which is not allowed to - * trash - */ + long noteId = Long.valueOf(id); if (noteId <= 0) { break; @@ -298,7 +335,7 @@ public class NotesProvider extends ContentProvider { @Override public String getType(Uri uri) { - // TODO Auto-generated method stub + return null; } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/MetaData.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/MetaData.java index 3a2050b..9a1e5a4 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/MetaData.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/MetaData.java @@ -16,48 +16,68 @@ package net.micode.notes.gtask.data; +// CursorLog import android.database.Cursor; import android.util.Log; +// GTaskStringUtils import net.micode.notes.tool.GTaskStringUtils; +// JSONExceptionJSONObject import org.json.JSONException; import org.json.JSONObject; public class MetaData extends Task { +// һڱʶMetaData private final static String TAG = MetaData.class.getSimpleName(); +// һΪmRelatedGidַʼֵΪnull private String mRelatedGid = null; + // Ԫ public void setMeta(String gid, JSONObject metaInfo) { try { + // gidmetaInfo metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); } catch (JSONException e) { + // JSONException쳣ӡ־ Log.e(TAG, "failed to put related gid"); } +// ñʼ setNotes(metaInfo.toString()); +// setName(GTaskStringUtils.META_NOTE_NAME); } + // ȡGID public String getRelatedGid() { return mRelatedGid; } @Override + // дisWorthSaving() public boolean isWorthSaving() { + // getNotes()صֵΪnull򷵻true򷵻false return getNotes() != null; } @Override + // дsetContentByRemoteJSON public void setContentByRemoteJSON(JSONObject js) { + // øsetContentByRemoteJSON super.setContentByRemoteJSON(js); + // getNotes()Ϊ if (getNotes() != null) { try { + // getNotes()ֵתΪJSONObject JSONObject metaInfo = new JSONObject(getNotes().trim()); + // ȡmetaInfoеGTaskStringUtils.META_HEAD_GTASK_IDֵ mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); } catch (JSONException e) { + // ӡ־ Log.w(TAG, "failed to get related gid"); + // mRelatedGidΪnull mRelatedGid = null; } } @@ -65,17 +85,22 @@ public class MetaData extends Task { @Override public void setContentByLocalJSON(JSONObject js) { - // this function should not be called + + // ݱJSON throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); } @Override + // д෽ȡJSON public JSONObject getLocalJSONFromContent() { + // ׳ǷʴʾMetaData:getLocalJSONFromContentӦñ throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); } @Override + // дgetSyncAction public int getSyncAction(Cursor c) { + // ȡCursor throw new IllegalAccessError("MetaData:getSyncAction should not be called"); } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Node.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Node.java index 63950e0..7aa74b1 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Node.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Node.java @@ -21,80 +21,114 @@ import android.database.Cursor; import org.json.JSONObject; public abstract class Node { + // ͬ public static final int SYNC_ACTION_NONE = 0; + // Զ̽ڵ public static final int SYNC_ACTION_ADD_REMOTE = 1; + // ӱؽڵ public static final int SYNC_ACTION_ADD_LOCAL = 2; + // ɾԶ̽ڵ public static final int SYNC_ACTION_DEL_REMOTE = 3; + // ɾؽڵ public static final int SYNC_ACTION_DEL_LOCAL = 4; + // Զ̽ڵ public static final int SYNC_ACTION_UPDATE_REMOTE = 5; + // ±ؽڵ public static final int SYNC_ACTION_UPDATE_LOCAL = 6; + // ³ͻڵ public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; + // public static final int SYNC_ACTION_ERROR = 8; + // ڵID private String mGid; + // ڵ private String mName; + // ޸ʱ private long mLastModified; + // Ƿɾ private boolean mDeleted; + // 캯 + // 캯ʼNode public Node() { + // ʼmGidΪnull mGid = null; + // ʼmNameΪַ mName = ""; + // ʼmLastModifiedΪ0 mLastModified = 0; + // ʼmDeletedΪfalse mDeleted = false; } +// ȡ public abstract JSONObject getCreateAction(int actionId); +// ȡ¶ public abstract JSONObject getUpdateAction(int actionId); +// ԶJSON public abstract void setContentByRemoteJSON(JSONObject js); +// ݱJSON public abstract void setContentByLocalJSON(JSONObject js); +// лȡJSON public abstract JSONObject getLocalJSONFromContent(); +// αȡͬ public abstract int getSyncAction(Cursor c); + // GID public void setGid(String gid) { this.mGid = gid; } + // ֵķ public void setName(String name) { + // nameֵԱmName this.mName = name; } + // ޸ʱ public void setLastModified(long lastModified) { this.mLastModified = lastModified; } +// Ƿɾı־ public void setDeleted(boolean deleted) { this.mDeleted = deleted; } + // ȡGid public String getGid() { return this.mGid; } + // ȡ public String getName() { return this.mName; } + // ȡ޸ʱ public long getLastModified() { return this.mLastModified; } public boolean getDeleted() { + // mDeletedֵ return this.mDeleted; } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlData.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlData.java index d3ec3be..430e823 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlData.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlData.java @@ -24,148 +24,209 @@ import android.database.Cursor; import android.net.Uri; import android.util.Log; +// Notes࣬Notesкݳ import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.DataColumns; import net.micode.notes.data.Notes.DataConstants; import net.micode.notes.data.Notes.NoteColumns; +// NotesDatabaseHelper࣬Notesı import net.micode.notes.data.NotesDatabaseHelper.TABLE; +// ActionFailureException࣬ڴʧ쳣 import net.micode.notes.gtask.exception.ActionFailureException; +// JSONص࣬ڴJSON import org.json.JSONException; import org.json.JSONObject; public class SqlData { + // һڱʶЧID private static final String TAG = SqlData.class.getSimpleName(); private static final int INVALID_ID = -99999; + // һڴ洢ݵ public static final String[] PROJECTION_DATA = new String[] { DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, DataColumns.DATA3 }; - public static final int DATA_ID_COLUMN = 0; + public static final int DATA_ID_COLUMN = 0; // ID - public static final int DATA_MIME_TYPE_COLUMN = 1; + public static final int DATA_MIME_TYPE_COLUMN = 1; // MIME - public static final int DATA_CONTENT_COLUMN = 2; + public static final int DATA_CONTENT_COLUMN = 2; // - public static final int DATA_CONTENT_DATA_1_COLUMN = 3; + public static final int DATA_CONTENT_DATA_1_COLUMN = 3; // 1 - public static final int DATA_CONTENT_DATA_3_COLUMN = 4; + public static final int DATA_CONTENT_DATA_3_COLUMN = 4; // 3 - private ContentResolver mContentResolver; + private ContentResolver mContentResolver; // ݽ - private boolean mIsCreate; + private boolean mIsCreate; // Ƿ񴴽 - private long mDataId; + private long mDataId; // ID - private String mDataMimeType; + private String mDataMimeType; // MIME - private String mDataContent; + private String mDataContent; // - private long mDataContentData1; + private long mDataContentData1; // 1 - private String mDataContentData3; + private String mDataContentData3; // 3 - private ContentValues mDiffDataValues; + private ContentValues mDiffDataValues; // ֵ +// 캯ʼSqlData public SqlData(Context context) { + // ȡContentResolver mContentResolver = context.getContentResolver(); + // Ϊ״̬ mIsCreate = true; + // ʼIDΪЧID mDataId = INVALID_ID; + // ʼΪNOTE mDataMimeType = DataConstants.NOTE; + // ʼΪַ mDataContent = ""; + // ʼ1Ϊ0 mDataContentData1 = 0; + // ʼ3Ϊַ mDataContentData3 = ""; + // ʼContentValues mDiffDataValues = new ContentValues(); } + // 캯ڴCursorм public SqlData(Context context, Cursor c) { + // ȡContentResolver mContentResolver = context.getContentResolver(); + // mIsCreateΪfalse mIsCreate = false; + // Cursorм loadFromCursor(c); + // ʼmDiffDataValues mDiffDataValues = new ContentValues(); } +// αм private void loadFromCursor(Cursor c) { + // αлȡID mDataId = c.getLong(DATA_ID_COLUMN); + // αлȡMIME mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN); + // αлȡ mDataContent = c.getString(DATA_CONTENT_COLUMN); + // αлȡ1 mDataContentData1 = c.getLong(DATA_CONTENT_DATA_1_COLUMN); + // αлȡ3 mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN); } + // public void setContent(JSONObject js) throws JSONException { + // ȡID long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID; + // Ǵ״̬IDһ£ID if (mIsCreate || mDataId != dataId) { mDiffDataValues.put(DataColumns.ID, dataId); } + // ID mDataId = dataId; + // ȡ String dataMimeType = js.has(DataColumns.MIME_TYPE) ? js.getString(DataColumns.MIME_TYPE) : DataConstants.NOTE; + // ǴͲͬͷֵ if (mIsCreate || !mDataMimeType.equals(dataMimeType)) { mDiffDataValues.put(DataColumns.MIME_TYPE, dataMimeType); } + // mDataMimeType = dataMimeType; + // ȡ String dataContent = js.has(DataColumns.CONTENT) ? js.getString(DataColumns.CONTENT) : ""; + // Ǵݲͬݷֵ if (mIsCreate || !mDataContent.equals(dataContent)) { mDiffDataValues.put(DataColumns.CONTENT, dataContent); } + // mDataContent = dataContent; + // ȡjsDATA1ֶεֵûֵΪ0 long dataContentData1 = js.has(DataColumns.DATA1) ? js.getLong(DataColumns.DATA1) : 0; + // ǴmDataContentData1ֵdataContentData1ֵȣdataContentData1ֵmDiffDataValues if (mIsCreate || mDataContentData1 != dataContentData1) { mDiffDataValues.put(DataColumns.DATA1, dataContentData1); } + // dataContentData1ֵmDataContentData1 mDataContentData1 = dataContentData1; + // ȡjsDATA3ֶεֵûֵΪַ String dataContentData3 = js.has(DataColumns.DATA3) ? js.getString(DataColumns.DATA3) : ""; + // ǴmDataContentData3ֵdataContentData3ֵȣdataContentData3ֵmDiffDataValues if (mIsCreate || !mDataContentData3.equals(dataContentData3)) { mDiffDataValues.put(DataColumns.DATA3, dataContentData3); } + // dataContentData3ֵmDataContentData3 mDataContentData3 = dataContentData3; } public JSONObject getContent() throws JSONException { + // mIsCreateΪtrue˵ûݿд if (mIsCreate) { Log.e(TAG, "it seems that we haven't created this in database yet"); return null; } + // һJSONObject JSONObject js = new JSONObject(); + // mDataIdJSONObject js.put(DataColumns.ID, mDataId); + // mDataMimeTypeJSONObject js.put(DataColumns.MIME_TYPE, mDataMimeType); + // mDataContentJSONObject js.put(DataColumns.CONTENT, mDataContent); + // mDataContentData1JSONObject js.put(DataColumns.DATA1, mDataContentData1); + // mDataContentData3JSONObject js.put(DataColumns.DATA3, mDataContentData3); + // JSONObject return js; } public void commit(long noteId, boolean validateVersion, long version) { + // Ǵ if (mIsCreate) { + // IDЧֵаID if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) { + // ƳID mDiffDataValues.remove(DataColumns.ID); } + // noteIdֵ mDiffDataValues.put(DataColumns.NOTE_ID, noteId); + // Uri uri = mContentResolver.insert(Notes.CONTENT_DATA_URI, mDiffDataValues); try { + // ȡݵID mDataId = Long.valueOf(uri.getPathSegments().get(1)); } catch (NumberFormatException e) { + // ȡIDʧܣӡ־׳쳣 Log.e(TAG, "Get note id error :" + e.toString()); throw new ActionFailureException("create note failed"); } } else { + // mDiffDataValuesĴС0 if (mDiffDataValues.size() > 0) { int result = 0; + // validateVersionΪfalse if (!validateVersion) { + // mContentResolverе result = mContentResolver.update(ContentUris.withAppendedId( Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null); } else { + // mContentResolverеݣ֤汾ŵ result = mContentResolver.update(ContentUris.withAppendedId( Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE @@ -173,16 +234,21 @@ public class SqlData { String.valueOf(noteId), String.valueOf(version) }); } + // ½Ϊ0 if (result == 0) { + // ӡ־ Log.w(TAG, "there is no update. maybe user updates note when syncing"); } } } + // mDiffDataValues mDiffDataValues.clear(); + // mIsCreateΪfalse mIsCreate = false; } +// ȡmDataIdֵ public long getId() { return mDataId; } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java index 79a4095..c3fae0c 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/SqlNote.java @@ -39,10 +39,13 @@ import java.util.ArrayList; public class SqlNote { + // һڱʶļ private static final String TAG = SqlNote.class.getSimpleName(); + // һڱʶЧID private static final int INVALID_ID = -99999; + // һڴ洢NoteColumnsе public static final String[] PROJECTION_NOTE = new String[] { NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID, NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE, @@ -52,175 +55,241 @@ public class SqlNote { NoteColumns.VERSION }; - public static final int ID_COLUMN = 0; + public static final int ID_COLUMN = 0; // ID - public static final int ALERTED_DATE_COLUMN = 1; + public static final int ALERTED_DATE_COLUMN = 1; // - public static final int BG_COLOR_ID_COLUMN = 2; + public static final int BG_COLOR_ID_COLUMN = 2; // ɫID - public static final int CREATED_DATE_COLUMN = 3; + public static final int CREATED_DATE_COLUMN = 3; // - public static final int HAS_ATTACHMENT_COLUMN = 4; + public static final int HAS_ATTACHMENT_COLUMN = 4; // Ƿи - public static final int MODIFIED_DATE_COLUMN = 5; + public static final int MODIFIED_DATE_COLUMN = 5; // ޸ - public static final int NOTES_COUNT_COLUMN = 6; + public static final int NOTES_COUNT_COLUMN = 6; // ʼ - public static final int PARENT_ID_COLUMN = 7; + public static final int PARENT_ID_COLUMN = 7; // ID - public static final int SNIPPET_COLUMN = 8; + public static final int SNIPPET_COLUMN = 8; // ժҪ - public static final int TYPE_COLUMN = 9; + public static final int TYPE_COLUMN = 9; // - public static final int WIDGET_ID_COLUMN = 10; + public static final int WIDGET_ID_COLUMN = 10; // СID - public static final int WIDGET_TYPE_COLUMN = 11; + public static final int WIDGET_TYPE_COLUMN = 11; // С - public static final int SYNC_ID_COLUMN = 12; + public static final int SYNC_ID_COLUMN = 12; // ͬID - public static final int LOCAL_MODIFIED_COLUMN = 13; + public static final int LOCAL_MODIFIED_COLUMN = 13; // ޸ - public static final int ORIGIN_PARENT_ID_COLUMN = 14; + public static final int ORIGIN_PARENT_ID_COLUMN = 14; // ԭʼID - public static final int GTASK_ID_COLUMN = 15; + public static final int GTASK_ID_COLUMN = 15; // GoogleID - public static final int VERSION_COLUMN = 16; + public static final int VERSION_COLUMN = 16; // 汾 - private Context mContext; + private Context mContext; // - private ContentResolver mContentResolver; + private ContentResolver mContentResolver; // ݽ - private boolean mIsCreate; + private boolean mIsCreate; // Ƿ񴴽 - private long mId; + private long mId; // ID - private long mAlertDate; + private long mAlertDate; // - private int mBgColorId; + private int mBgColorId; // ɫID - private long mCreatedDate; + private long mCreatedDate; // - private int mHasAttachment; + private int mHasAttachment; // Ƿи - private long mModifiedDate; + private long mModifiedDate; // ޸ - private long mParentId; + private long mParentId; // ID - private String mSnippet; + private String mSnippet; // ժҪ - private int mType; + private int mType; // - private int mWidgetId; + private int mWidgetId; // СID - private int mWidgetType; + private int mWidgetType; // С - private long mOriginParent; + private long mOriginParent; // ԭʼID - private long mVersion; + private long mVersion; // 汾 - private ContentValues mDiffNoteValues; + private ContentValues mDiffNoteValues; // ͬʼֵ - private ArrayList mDataList; + private ArrayList mDataList; // б +// 캯ڳʼSqlNote public SqlNote(Context context) { + // ʼ mContext = context; + // ʼݽ mContentResolver = context.getContentResolver(); + // Ϊ״̬ mIsCreate = true; + // ЧID mId = INVALID_ID; + // Ϊ0 mAlertDate = 0; + // ñɫIDΪĬֵ mBgColorId = ResourceParser.getDefaultBgId(context); + // ôΪǰʱ mCreatedDate = System.currentTimeMillis(); + // ǷиΪ0 mHasAttachment = 0; + // ޸Ϊǰʱ mModifiedDate = System.currentTimeMillis(); + // øIDΪ0 mParentId = 0; + // ƬΪַ mSnippet = ""; + // Ϊʼ mType = Notes.TYPE_NOTE; + // СIDΪЧֵ mWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; + // СΪЧֵ mWidgetType = Notes.TYPE_WIDGET_INVALIDE; + // ԭʼIDΪ0 mOriginParent = 0; + // ð汾Ϊ0 mVersion = 0; + // ʼֵ mDiffNoteValues = new ContentValues(); + // ʼб mDataList = new ArrayList(); } +// 캯ڴCursorмSqlNote public SqlNote(Context context, Cursor c) { + // Ķ mContext = context; + // ȡContentResolver mContentResolver = context.getContentResolver(); + // Ϊδ mIsCreate = false; + // CursorмSqlNote loadFromCursor(c); + // ʼб mDataList = new ArrayList(); + // ΪNotes.TYPE_NOTE if (mType == Notes.TYPE_NOTE) loadDataContent(); + // ʼContentValues mDiffNoteValues = new ContentValues(); } + // 캯ĺid public SqlNote(Context context, long id) { + // mContext = context; + // ȡݽ mContentResolver = context.getContentResolver(); + // Ϊδ mIsCreate = false; + // αм loadFromCursor(id); + // ʼб mDataList = new ArrayList(); + // Ϊʼǣ if (mType == Notes.TYPE_NOTE) loadDataContent(); + // ʼֵ mDiffNoteValues = new ContentValues(); } private void loadFromCursor(long id) { + // ݿвѯָidıʼ Cursor c = null; try { c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)", new String[] { String.valueOf(id) }, null); + // ѯΪ if (c != null) { + // αƶһ¼ c.moveToNext(); + // αм loadFromCursor(c); } else { + // ѯΪգ־ Log.w(TAG, "loadFromCursor: cursor = null"); } } finally { + // رα if (c != null) c.close(); } } + // αм private void loadFromCursor(Cursor c) { + // ȡID mId = c.getLong(ID_COLUMN); + // ȡ mAlertDate = c.getLong(ALERTED_DATE_COLUMN); + // ȡɫID mBgColorId = c.getInt(BG_COLOR_ID_COLUMN); + // ȡ mCreatedDate = c.getLong(CREATED_DATE_COLUMN); + // ȡǷи mHasAttachment = c.getInt(HAS_ATTACHMENT_COLUMN); + // ȡ޸ mModifiedDate = c.getLong(MODIFIED_DATE_COLUMN); + // ȡID mParentId = c.getLong(PARENT_ID_COLUMN); + // ȡƬ mSnippet = c.getString(SNIPPET_COLUMN); + // ȡ mType = c.getInt(TYPE_COLUMN); + // ȡСID mWidgetId = c.getInt(WIDGET_ID_COLUMN); + // ȡС mWidgetType = c.getInt(WIDGET_TYPE_COLUMN); + // ȡ汾 mVersion = c.getLong(VERSION_COLUMN); } private void loadDataContent() { + // һα Cursor c = null; + // б mDataList.clear(); try { + // ѯݿ⣬ȡָid c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA, "(note_id=?)", new String[] { String.valueOf(mId) }, null); + // α겻Ϊ if (c != null) { + // αû if (c.getCount() == 0) { + // ӡ־ Log.w(TAG, "it seems that the note has not data"); + // return; } + // α while (c.moveToNext()) { + // һSqlData󣬲αеݸֵö SqlData data = new SqlData(mContext, c); + // öӵб mDataList.add(data); } } else { + // ӡ־ Log.w(TAG, "loadDataContent: cursor = null"); } } finally { + // رα if (c != null) c.close(); } @@ -228,114 +297,164 @@ public class SqlNote { public boolean setContent(JSONObject js) { try { + // ȡnote JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + // noteϵͳļУ if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + // noteϵͳļУϢ Log.w(TAG, "cannot set system folder"); } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { - // for folder we can only update the snnipet and type + + // noteļ + // ȡnoteժҪ String snippet = note.has(NoteColumns.SNIPPET) ? note .getString(NoteColumns.SNIPPET) : ""; + // ǴnoteժҪmSnippetȣժҪmDiffNoteValues if (mIsCreate || !mSnippet.equals(snippet)) { mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); } + // ժҪֵmSnippet mSnippet = snippet; + // ȡnote int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) : Notes.TYPE_NOTE; + // ǴnotenoteͺmTypeͬtypemDiffNoteValues if (mIsCreate || mType != type) { mDiffNoteValues.put(NoteColumns.TYPE, type); } + // mType mType = type; } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) { + // ȡnote JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + // ȡnoteid long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID; + // ǴnotenoteidmIdͬidmDiffNoteValues if (mIsCreate || mId != id) { mDiffNoteValues.put(NoteColumns.ID, id); } + // mId mId = id; +// ȡ long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note .getLong(NoteColumns.ALERTED_DATE) : 0; +// ½ʼǻб仯ڷֵ if (mIsCreate || mAlertDate != alertDate) { mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate); } +// mAlertDate = alertDate; +// ȡɫID int bgColorId = note.has(NoteColumns.BG_COLOR_ID) ? note .getInt(NoteColumns.BG_COLOR_ID) : ResourceParser.getDefaultBgId(mContext); +// ½ʼǻ߱ɫIDб仯򽫱ɫIDֵ if (mIsCreate || mBgColorId != bgColorId) { mDiffNoteValues.put(NoteColumns.BG_COLOR_ID, bgColorId); } +// ±ɫID mBgColorId = bgColorId; +// ȡ long createDate = note.has(NoteColumns.CREATED_DATE) ? note .getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis(); +// ½ʼǻߴб仯򽫴ڷֵ if (mIsCreate || mCreatedDate != createDate) { mDiffNoteValues.put(NoteColumns.CREATED_DATE, createDate); } +// ´ mCreatedDate = createDate; +// ȡǷи int hasAttachment = note.has(NoteColumns.HAS_ATTACHMENT) ? note .getInt(NoteColumns.HAS_ATTACHMENT) : 0; +// ½ʼǻǷиб仯Ƿиֵ if (mIsCreate || mHasAttachment != hasAttachment) { mDiffNoteValues.put(NoteColumns.HAS_ATTACHMENT, hasAttachment); } +// Ƿи mHasAttachment = hasAttachment; +// ȡnote޸ڣûȡǰʱ long modifiedDate = note.has(NoteColumns.MODIFIED_DATE) ? note .getLong(NoteColumns.MODIFIED_DATE) : System.currentTimeMillis(); +// Ǵnote޸ڲͬ޸ڷmDiffNoteValues if (mIsCreate || mModifiedDate != modifiedDate) { mDiffNoteValues.put(NoteColumns.MODIFIED_DATE, modifiedDate); } +// mModifiedDate mModifiedDate = modifiedDate; +// ȡnoteĸidûΪ0 long parentId = note.has(NoteColumns.PARENT_ID) ? note .getLong(NoteColumns.PARENT_ID) : 0; +// Ǵnote߸idͬ򽫸idmDiffNoteValues if (mIsCreate || mParentId != parentId) { mDiffNoteValues.put(NoteColumns.PARENT_ID, parentId); } +// mParentId mParentId = parentId; +// ȡnoteժҪûΪַ String snippet = note.has(NoteColumns.SNIPPET) ? note .getString(NoteColumns.SNIPPET) : ""; +// ǴnoteժҪͬժҪmDiffNoteValues if (mIsCreate || !mSnippet.equals(snippet)) { mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); } +// mSnippet mSnippet = snippet; + // ȡnoteеtypeֵûʹNotes.TYPE_NOTE int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) : Notes.TYPE_NOTE; + // ǴnotetypeֵmTypeͬtypeֵmDiffNoteValues if (mIsCreate || mType != type) { mDiffNoteValues.put(NoteColumns.TYPE, type); } + // mTypeֵ mType = type; + // ȡnoteеwidgetIdֵûʹAppWidgetManager.INVALID_APPWIDGET_ID int widgetId = note.has(NoteColumns.WIDGET_ID) ? note.getInt(NoteColumns.WIDGET_ID) : AppWidgetManager.INVALID_APPWIDGET_ID; + // ǴnotewidgetIdֵmWidgetIdͬwidgetIdֵmDiffNoteValues if (mIsCreate || mWidgetId != widgetId) { mDiffNoteValues.put(NoteColumns.WIDGET_ID, widgetId); } + // mWidgetIdֵ mWidgetId = widgetId; + // ȡnoteеwidgetTypeֵûʹNotes.TYPE_WIDGET_INVALIDE int widgetType = note.has(NoteColumns.WIDGET_TYPE) ? note .getInt(NoteColumns.WIDGET_TYPE) : Notes.TYPE_WIDGET_INVALIDE; + // ǴnotewidgetTypeֵmWidgetTypeͬwidgetTypeֵmDiffNoteValues if (mIsCreate || mWidgetType != widgetType) { mDiffNoteValues.put(NoteColumns.WIDGET_TYPE, widgetType); } + // mWidgetTypeֵ mWidgetType = widgetType; +// ȡnoteORIGIN_PARENT_IDûֵΪ0 long originParent = note.has(NoteColumns.ORIGIN_PARENT_ID) ? note .getLong(NoteColumns.ORIGIN_PARENT_ID) : 0; +// ǴnotemOriginParentoriginParentȣoriginParentmDiffNoteValues if (mIsCreate || mOriginParent != originParent) { mDiffNoteValues.put(NoteColumns.ORIGIN_PARENT_ID, originParent); } +// mOriginParentֵ mOriginParent = originParent; +// dataArrayеÿһJSONObject for (int i = 0; i < dataArray.length(); i++) { JSONObject data = dataArray.getJSONObject(i); SqlData sqlData = null; + // dataIDȡIDֵ if (data.has(DataColumns.ID)) { long dataId = data.getLong(DataColumns.ID); + // mDataListҵdataIdȵSqlData for (SqlData temp : mDataList) { if (dataId == temp.getId()) { sqlData = temp; @@ -343,64 +462,94 @@ public class SqlNote { } } + // sqlDataΪգ򴴽һµSqlData󣬲ӵmDataList if (sqlData == null) { sqlData = new SqlData(mContext); mDataList.add(sqlData); } + // sqlDataΪdata sqlData.setContent(data); } } } catch (JSONException e) { + // JSON쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // false return false; } + // true return true; } public JSONObject getContent() { + // ȡ try { JSONObject js = new JSONObject(); + // mIsCreateΪtrueʾûݿд if (mIsCreate) { Log.e(TAG, "it seems that we haven't created this in database yet"); return null; } +// һSONObjectΪnote JSONObject note = new JSONObject(); +// mTypeNotes.TYPE_NOTE if (mType == Notes.TYPE_NOTE) { + // mIdnote note.put(NoteColumns.ID, mId); + // mAlertDatenote note.put(NoteColumns.ALERTED_DATE, mAlertDate); + // mBgColorIdnote note.put(NoteColumns.BG_COLOR_ID, mBgColorId); + // mCreatedDatenote note.put(NoteColumns.CREATED_DATE, mCreatedDate); + // mHasAttachmentnote note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment); + // mModifiedDatenote note.put(NoteColumns.MODIFIED_DATE, mModifiedDate); + // mParentIdnote note.put(NoteColumns.PARENT_ID, mParentId); + // mSnippetnote note.put(NoteColumns.SNIPPET, mSnippet); + // mTypenote note.put(NoteColumns.TYPE, mType); + // mWidgetIdnote note.put(NoteColumns.WIDGET_ID, mWidgetId); + // mWidgetTypenote note.put(NoteColumns.WIDGET_TYPE, mWidgetType); + // mOriginParentnote note.put(NoteColumns.ORIGIN_PARENT_ID, mOriginParent); + // notejs js.put(GTaskStringUtils.META_HEAD_NOTE, note); + // һJSONArray JSONArray dataArray = new JSONArray(); + // mDataListеÿһSqlData for (SqlData sqlData : mDataList) { + // ȡSqlDataеcontentԣJSONObject JSONObject data = sqlData.getContent(); + // JSONObjectΪգӵdataArray if (data != null) { dataArray.put(data); } } js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); } else if (mType == Notes.TYPE_FOLDER || mType == Notes.TYPE_SYSTEM) { + // mTypeļлϵͳͣmIdmTypemSnippetnote note.put(NoteColumns.ID, mId); note.put(NoteColumns.TYPE, mType); note.put(NoteColumns.SNIPPET, mSnippet); + // notejs js.put(GTaskStringUtils.META_HEAD_NOTE, note); } return js; } catch (JSONException e) { + // JSONExceptionӡ־ Log.e(TAG, e.toString()); e.printStackTrace(); } @@ -408,73 +557,97 @@ public class SqlNote { } public void setParentId(long id) { + // øID mParentId = id; + // IDӵֵ mDiffNoteValues.put(NoteColumns.PARENT_ID, id); } public void setGtaskId(String gid) { + // GtaskId mDiffNoteValues.put(NoteColumns.GTASK_ID, gid); } public void setSyncId(long syncId) { + // ͬID mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId); } public void resetLocalModified() { + // ñ޸ mDiffNoteValues.put(NoteColumns.LOCAL_MODIFIED, 0); } public long getId() { + // ȡID return mId; } public long getParentId() { + // ȡID + // ظID return mParentId; } + // Ƭ public String getSnippet() { return mSnippet; } + // жǷΪʼ public boolean isNoteType() { return mType == Notes.TYPE_NOTE; } public void commit(boolean validateVersion) { + // Ǵ if (mIsCreate) { + // IDЧmDiffNoteValuesаID if (mId == INVALID_ID && mDiffNoteValues.containsKey(NoteColumns.ID)) { + // mDiffNoteValuesƳID mDiffNoteValues.remove(NoteColumns.ID); } + // ݵNotes.CONTENT_NOTE_URI Uri uri = mContentResolver.insert(Notes.CONTENT_NOTE_URI, mDiffNoteValues); try { + // ȡݵID mId = Long.valueOf(uri.getPathSegments().get(1)); } catch (NumberFormatException e) { + // ȡIDʧܣӡ־׳ActionFailureException쳣 Log.e(TAG, "Get note id error :" + e.toString()); throw new ActionFailureException("create note failed"); } + // IDΪ0׳IllegalStateException쳣 if (mId == 0) { throw new IllegalStateException("Create thread id failed"); } + // ΪNotes.TYPE_NOTE if (mType == Notes.TYPE_NOTE) { + // mDataList for (SqlData sqlData : mDataList) { + // ύ sqlData.commit(mId, false, -1); } } } else { + // mIdСڵ0mIdNotes.ID_ROOT_FOLDERNotes.ID_CALL_RECORD_FOLDER׳쳣 if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) { Log.e(TAG, "No such note"); throw new IllegalStateException("Try to update note with invalid id"); } + // mDiffNoteValuesĴС0°汾 if (mDiffNoteValues.size() > 0) { mVersion ++; int result = 0; + // validateVersionΪfalseֱӸ if (!validateVersion) { result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + NoteColumns.ID + "=?)", new String[] { String.valueOf(mId) }); + // validateVersionΪtrue°汾СڵmVersionļ¼ } else { result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)", @@ -482,11 +655,13 @@ public class SqlNote { String.valueOf(mId), String.valueOf(mVersion) }); } + // ½Ϊ0־ if (result == 0) { Log.w(TAG, "there is no update. maybe user updates note when syncing"); } } + // mTypeNotes.TYPE_NOTEmDataListеÿSqlData󣬲commitmIdvalidateVersionmVersion if (mType == Notes.TYPE_NOTE) { for (SqlData sqlData : mDataList) { sqlData.commit(mId, validateVersion, mVersion); @@ -494,12 +669,15 @@ public class SqlNote { } } - // refresh local info + loadFromCursor(mId); + // mTypeNotes.TYPE_NOTEloadDataContent() if (mType == Notes.TYPE_NOTE) loadDataContent(); + // mDiffNoteValues mDiffNoteValues.clear(); + // mIsCreateΪfalse mIsCreate = false; } } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Task.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Task.java index 6a19454..b83a533 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Task.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/Task.java @@ -31,72 +31,105 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; - public class Task extends Node { + + // һڱʶTaskļ private static final String TAG = Task.class.getSimpleName(); + // һ͵ıڱʶǷ private boolean mCompleted; + // һַ͵ıڴ洢ıעϢ private String mNotes; + // һJSONObject͵ıڴ洢ԪϢ private JSONObject mMetaInfo; + // һTask͵ıڴ洢ǰһֵ private Task mPriorSibling; + // һTaskList͵ıڴ洢ĸб private TaskList mParent; +// 캯ʼTask public Task() { + // øĹ캯 super(); + // ʼmCompletedΪfalse mCompleted = false; + // ʼmNotesΪnull mNotes = null; + // ʼmPriorSiblingΪnull mPriorSibling = null; + // ʼmParentΪnull mParent = null; + // ʼmMetaInfoΪnull mMetaInfo = null; } +// actionIdȡ public JSONObject getCreateAction(int actionId) { + // һJSONObject JSONObject js = new JSONObject(); try { - // action_type + + // actionTypeΪ js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); - // action_id + + // actionIdΪactionId js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); - // index + + // indexΪ js.put(GTaskStringUtils.GTASK_JSON_INDEX, mParent.getChildTaskIndex(this)); - // entity_delta + + // һJSONObject JSONObject entity = new JSONObject(); + // nameΪǰ entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + // creatorIdΪnull entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + // entityTypeΪ entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, GTaskStringUtils.GTASK_JSON_TYPE_TASK); + // getNotes()ΪգgetNotes()ֵentity if (getNotes() != null) { entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); } + // entityjs js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); - // parent_id + + // mParentGidjs js.put(GTaskStringUtils.GTASK_JSON_PARENT_ID, mParent.getGid()); - // dest_parent_type + + // GTaskStringUtils.GTASK_JSON_TYPE_GROUPjs js.put(GTaskStringUtils.GTASK_JSON_DEST_PARENT_TYPE, GTaskStringUtils.GTASK_JSON_TYPE_GROUP); - // list_id + + // mParentGidjs js.put(GTaskStringUtils.GTASK_JSON_LIST_ID, mParent.getGid()); - // prior_sibling_id + + // mPriorSiblingΪգmPriorSiblingGidjs + // mPriorSiblingΪգmPriorSiblingGidjs if (mPriorSibling != null) { js.put(GTaskStringUtils.GTASK_JSON_PRIOR_SIBLING_ID, mPriorSibling.getGid()); } + // JSONException쳣 } catch (JSONException e) { + // ӡ쳣Ϣ Log.e(TAG, e.toString()); + // ӡ쳣ջϢ e.printStackTrace(); + // ׳ActionFailureException쳣 throw new ActionFailureException("fail to generate task-create jsonobject"); } @@ -104,207 +137,280 @@ public class Task extends Node { } public JSONObject getUpdateAction(int actionId) { + // һJSONObject JSONObject js = new JSONObject(); try { - // action_type + + // actionΪ js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); - // action_id + + // actionIdjs js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); - // id + + // getGid()ķֵjs js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); - // entity_delta + + // һJSONObject JSONObject entity = new JSONObject(); + // getName()ķֵJSONObjectУΪGTASK_JSON_NAME entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + // getNotes()ֵΪnullgetNotes()ķֵJSONObjectУΪGTASK_JSON_NOTES if (getNotes() != null) { entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); } + // getDeleted()ķֵJSONObjectУΪGTASK_JSON_DELETED entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + // JSONObjectjsУΪGTASK_JSON_ENTITY_DELTA js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); } catch (JSONException e) { + // JSON쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // ׳Զ쳣 throw new ActionFailureException("fail to generate task-update jsonobject"); } return js; } + // ԶJSON public void setContentByRemoteJSON(JSONObject js) { if (js != null) { try { - // id + if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + // jsonGTaskStringUtils.GTASK_JSON_IDֶΣGid setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); } - // last_modified + if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + // jsonGTaskStringUtils.GTASK_JSON_LAST_MODIFIEDֶΣLastModified setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); } - // name + if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + // jsonGTaskStringUtils.GTASK_JSON_NAMEֶΣName setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); } - // notes + if (js.has(GTaskStringUtils.GTASK_JSON_NOTES)) { + // jsonGTaskStringUtils.GTASK_JSON_NOTESֶΣNotes setNotes(js.getString(GTaskStringUtils.GTASK_JSON_NOTES)); } - // deleted + if (js.has(GTaskStringUtils.GTASK_JSON_DELETED)) { + // jsonGTaskStringUtils.GTASK_JSON_DELETEDֶΣDeleted setDeleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_DELETED)); } - // completed + if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) { + // jsonGTaskStringUtils.GTASK_JSON_COMPLETEDֶΣCompleted setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED)); } } catch (JSONException e) { + // JSONException쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // ׳Զ쳣ActionFailureException throw new ActionFailureException("fail to get task content from jsonobject"); } } } public void setContentByLocalJSON(JSONObject js) { + // жϴJSONObjectǷΪգǷMETA_HEAD_NOTEMETA_HEAD_DATAֶ if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE) || !js.has(GTaskStringUtils.META_HEAD_DATA)) { + // ־ Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); } try { + // ȡJSONеnote JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + // ȡJSONеdataArray JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + // noteͲNotes.TYPE_NOTEϢ if (note.getInt(NoteColumns.TYPE) != Notes.TYPE_NOTE) { Log.e(TAG, "invalid type"); return; } +// dataArray for (int i = 0; i < dataArray.length(); i++) { + // ȡеJSONObject JSONObject data = dataArray.getJSONObject(i); + // жMIME_TYPEǷΪNOTE if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + // setName(data.getString(DataColumns.CONTENT)); + // ѭ break; } } +// JSONException쳣 } catch (JSONException e) { + // ӡ쳣Ϣ Log.e(TAG, e.toString()); + // ӡ쳣ջϢ e.printStackTrace(); } } public JSONObject getLocalJSONFromContent() { + // ȡʼ String name = getName(); try { + // mMetaInfoΪգ˵½ıʼ if (mMetaInfo == null) { - // new task created from web + + // nameΪգ˵ʼΪ if (name == null) { Log.w(TAG, "the note seems to be an empty one"); return null; } JSONObject js = new JSONObject(); + // һJSONObject JSONObject note = new JSONObject(); + // һJSONObject JSONArray dataArray = new JSONArray(); + // һJSONArray JSONObject data = new JSONObject(); + // һJSONObject data.put(DataColumns.CONTENT, name); + // namedata dataArray.put(data); + // datadataArray js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); + // dataArrayjs note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + // Notes.TYPE_NOTEnote js.put(GTaskStringUtils.META_HEAD_NOTE, note); + // notejs return js; } else { - // synced task + + // ȡԪϢеıʼǶ JSONObject note = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + // ȡԪϢе JSONArray dataArray = mMetaInfo.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + // for (int i = 0; i < dataArray.length(); i++) { + // ȡеÿһݶ JSONObject data = dataArray.getJSONObject(i); + // ݶMIMEΪʼ if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + // ݶcontentֶΪgetName()ķֵ data.put(DataColumns.CONTENT, getName()); + // ѭ break; } } + // notetypeΪNotes.TYPE_NOTE note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + // mMetaInfo return mMetaInfo; } } catch (JSONException e) { + // ӡ־ Log.e(TAG, e.toString()); + // ӡջ e.printStackTrace(); + // null return null; } } public void setMetaInfo(MetaData metaData) { + // жϴmetaDataǷΪգmetaDataеnotesǷΪ if (metaData != null && metaData.getNotes() != null) { try { + // metaDataеnotesתΪJSONObject mMetaInfo = new JSONObject(metaData.getNotes()); } catch (JSONException e) { + // תʧܣӡ־mMetaInfoΪnull Log.w(TAG, e.toString()); mMetaInfo = null; } } } + // αcȡͬ public int getSyncAction(Cursor c) { try { + // ȡnoteInfo JSONObject noteInfo = null; if (mMetaInfo != null && mMetaInfo.has(GTaskStringUtils.META_HEAD_NOTE)) { noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); } + // noteInfoΪգ˵note metaѾɾ if (noteInfo == null) { Log.w(TAG, "it seems that note meta has been deleted"); return SYNC_ACTION_UPDATE_REMOTE; } + // noteInfoûID˵remote note idѾɾ if (!noteInfo.has(NoteColumns.ID)) { Log.w(TAG, "remote note id seems to be deleted"); return SYNC_ACTION_UPDATE_LOCAL; } - // validate the note id now + + // note idǷƥ if (c.getLong(SqlNote.ID_COLUMN) != noteInfo.getLong(NoteColumns.ID)) { Log.w(TAG, "note id doesn't match"); return SYNC_ACTION_UPDATE_LOCAL; } + // 鱾Ƿ޸ if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { - // there is no local update + + // ͬidǷƥ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { - // no update both side + return SYNC_ACTION_NONE; } else { - // apply remote to local + return SYNC_ACTION_UPDATE_LOCAL; } } else { - // validate gtask id + + // gtask idǷƥ if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { Log.e(TAG, "gtask id doesn't match"); return SYNC_ACTION_ERROR; } + // ͬidǷƥ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { - // local modification only + return SYNC_ACTION_UPDATE_REMOTE; } else { return SYNC_ACTION_UPDATE_CONFLICT; } } } catch (Exception e) { + // ӡ־ Log.e(TAG, e.toString()); + // ӡջϢ e.printStackTrace(); } @@ -312,39 +418,48 @@ public class Task extends Node { } public boolean isWorthSaving() { + // жǷҪ棬mMetaInfoΪգgetName()Ϊҳȴ0getNotes()Ϊҳȴ0򷵻true return mMetaInfo != null || (getName() != null && getName().trim().length() > 0) || (getNotes() != null && getNotes().trim().length() > 0); } public void setCompleted(boolean completed) { + // Ƿ this.mCompleted = completed; } public void setNotes(String notes) { + // ע this.mNotes = notes; } public void setPriorSibling(Task priorSibling) { + // ǰһֵ this.mPriorSibling = priorSibling; } public void setParent(TaskList parent) { + // ĸб this.mParent = parent; } public boolean getCompleted() { + // Ƿ return this.mCompleted; } public String getNotes() { + // ıע return this.mNotes; } public Task getPriorSibling() { + // ǰһֵ return this.mPriorSibling; } public TaskList getParent() { + // ĸб return this.mParent; } diff --git a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/TaskList.java b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/TaskList.java index 4ea21c5..e5db5ac 100644 --- a/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/TaskList.java +++ b/src/Notesmaster/app/src/main/java/net/micode/notes/gtask/data/TaskList.java @@ -31,127 +31,182 @@ import java.util.ArrayList; public class TaskList extends Node { + // һڱʶTaskListļ private static final String TAG = TaskList.class.getSimpleName(); + // һͱڴ洢TaskList private int mIndex; + // һArrayListڴ洢TaskListӽڵ private ArrayList mChildren; + // 캯ʼmChildrenmIndex public TaskList() { super(); mChildren = new ArrayList(); mIndex = 1; } + // actionIdȡ public JSONObject getCreateAction(int actionId) { + // һJSONObject JSONObject js = new JSONObject(); try { - // action_type + + // GTASK_JSON_ACTION_TYPEֵΪGTASK_JSON_ACTION_TYPE_CREATE js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); - // action_id + + // GTASK_JSON_ACTION_IDֵΪactionId js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); - // index + + // GTASK_JSON_INDEXֵΪmIndex js.put(GTaskStringUtils.GTASK_JSON_INDEX, mIndex); - // entity_delta + + // һJSONObjectentity JSONObject entity = new JSONObject(); + // GTASK_JSON_NAMEֵΪgetName()ķֵ entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + // GTASK_JSON_CREATOR_IDֵΪ"null" entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + // GTASK_JSON_ENTITY_TYPEֵΪGTASK_JSON_TYPE_GROUP entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, GTaskStringUtils.GTASK_JSON_TYPE_GROUP); + // GTASK_JSON_ENTITY_DELTAֵΪentity js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); } catch (JSONException e) { + // JSONException쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // ׳ActionFailureException쳣ʾtasklist-create jsonobjectʧ throw new ActionFailureException("fail to generate tasklist-create jsonobject"); } + // js return js; } + // actionIdȡ² public JSONObject getUpdateAction(int actionId) { + // һJSONObject JSONObject js = new JSONObject(); try { - // action_type + + // actionΪ js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); - // action_id + + // actionId js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); - // id + + // gid js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); - // entity_delta + + // entity JSONObject entity = new JSONObject(); + // entityname entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + // entitydeleted entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + // entityjs js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); } catch (JSONException e) { + // JSONException쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // ׳ActionFailureException쳣 throw new ActionFailureException("fail to generate tasklist-update jsonobject"); } + // js return js; } + // ԶJSON public void setContentByRemoteJSON(JSONObject js) { if (js != null) { try { - // id + + // жjsonǷGTASK_JSON_IDֶ if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + // GTASK_JSON_IDֶεֵgid setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); } - // last_modified + + // жjsonǷGTASK_JSON_LAST_MODIFIEDֶ if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + // GTASK_JSON_LAST_MODIFIEDֶεֵlastModified setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); } - // name + + // жjsonǷGTASK_JSON_NAMEֶ if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + // GTASK_JSON_NAMEֶεֵname setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); } } catch (JSONException e) { + // JSONException쳣ӡ쳣Ϣ׳ActionFailureException쳣 + // ӡ־ Log.e(TAG, e.toString()); + // ӡջϢ e.printStackTrace(); + // ׳쳣ʾȡбʧ throw new ActionFailureException("fail to get tasklist content from jsonobject"); } } } public void setContentByLocalJSON(JSONObject js) { + // жϴJSONObjectǷΪջǷMETA_HEAD_NOTEֶ if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) { + // Ϊջ߲META_HEAD_NOTEֶΣ־ Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); } try { + // ȡJSONObject JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + // жǷΪļ if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { + // ȡļ String name = folder.getString(NoteColumns.SNIPPET); + // setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + name); } else if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + // жǷΪļ if (folder.getLong(NoteColumns.ID) == Notes.ID_ROOT_FOLDER) + // øļ setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT); + // жǷΪͨ¼ļ else if (folder.getLong(NoteColumns.ID) == Notes.ID_CALL_RECORD_FOLDER) + // ͨ¼ļ setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_CALL_NOTE); else + // Ƿϵͳļ Log.e(TAG, "invalid system folder"); } else { + // Log.e(TAG, "error type"); } } catch (JSONException e) { + // 쳣 Log.e(TAG, e.toString()); e.printStackTrace(); } @@ -159,61 +214,86 @@ public class TaskList extends Node { public JSONObject getLocalJSONFromContent() { try { + // һJSONObject JSONObject js = new JSONObject(); + // һJSONObject JSONObject folder = new JSONObject(); + // ȡļ String folderName = getName(); + // ļMIUI_FOLDER_PREFFIXͷȥǰ׺ if (getName().startsWith(GTaskStringUtils.MIUI_FOLDER_PREFFIX)) folderName = folderName.substring(GTaskStringUtils.MIUI_FOLDER_PREFFIX.length(), folderName.length()); + // ļƷfolder folder.put(NoteColumns.SNIPPET, folderName); + // ļĬļлͨ¼ļУΪϵͳ if (folderName.equals(GTaskStringUtils.FOLDER_DEFAULT) || folderName.equals(GTaskStringUtils.FOLDER_CALL_NOTE)) folder.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + // Ϊļ else folder.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + // folderjs js.put(GTaskStringUtils.META_HEAD_NOTE, folder); return js; } catch (JSONException e) { + // JSON쳣 Log.e(TAG, e.toString()); + // ӡ쳣Ϣ e.printStackTrace(); + // null return null; } } public int getSyncAction(Cursor c) { try { + // ޸Ϊ0 if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { - // there is no local update + + // ͬIDе޸ʱ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { - // no update both side + + // ޲ return SYNC_ACTION_NONE; } else { - // apply remote to local + + // ظ± return SYNC_ACTION_UPDATE_LOCAL; } } else { - // validate gtask id + + // gtask IDвgetGid()ش if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { Log.e(TAG, "gtask id doesn't match"); return SYNC_ACTION_ERROR; } + // ͬIDе޸ʱ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { - // local modification only + + // ظԶ return SYNC_ACTION_UPDATE_REMOTE; } else { - // for folder conflicts, just apply local modification + + // ظԶ return SYNC_ACTION_UPDATE_REMOTE; } } } catch (Exception e) { + // ӡ־ Log.e(TAG, e.toString()); + // ӡջϢ e.printStackTrace(); } +// ͬ return SYNC_ACTION_ERROR; +// +public int getChildTaskCount() { + return mChildren.size(); } public int getChildTaskCount() { @@ -221,38 +301,54 @@ public class TaskList extends Node { } public boolean addChildTask(Task task) { + // 巵ֵ boolean ret = false; + // жϴǷΪգmChildrenв if (task != null && !mChildren.contains(task)) { + // ӵmChildren ret = mChildren.add(task); + // ӳɹ if (ret) { - // need to set prior sibling and parent + + // mChildrenΪգǰһֵܽڵΪnull task.setPriorSibling(mChildren.isEmpty() ? null : mChildren .get(mChildren.size() - 1)); + // ĸڵΪǰ task.setParent(this); } } + // ӽ return ret; } public boolean addChildTask(Task task, int index) { + // indexǷϷ if (index < 0 || index > mChildren.size()) { Log.e(TAG, "add child task: invalid index"); return false; } + // taskǷΪգtaskǷѾmChildren int pos = mChildren.indexOf(task); if (task != null && pos == -1) { + // taskӵmChildrenָλ mChildren.add(index, task); - // update the task list + + // ȡǰǰһͺһ Task preTask = null; +// ȡǰǰһ Task afterTask = null; +// ǰǵһȡǰһ if (index != 0) preTask = mChildren.get(index - 1); +// ǰһȡһ if (index != mChildren.size() - 1) - afterTask = mChildren.get(index + 1); + afterTask = mChildren.get(index + 1);x + 1); + // õǰǰһ task.setPriorSibling(preTask); + // һΪգúһǰһΪǰ if (afterTask != null) afterTask.setPriorSibling(task); } @@ -261,21 +357,32 @@ public class TaskList extends Node { } public boolean removeChildTask(Task task) { + // 巵ֵ boolean ret = false; + // ȡҪɾбе int index = mChildren.indexOf(task); + // Ϊ-1˵ if (index != -1) { + // бɾ ret = mChildren.remove(task); + // ɾɹ if (ret) { - // reset prior sibling and parent + + // ֵΪnull task.setPriorSibling(null); + // ĸΪnull task.setParent(null); - // update the task list + +// indexmChildrenĴС if (index != mChildren.size()) { + // ȡmChildrenindexλõԪأǰһֵܽڵΪmChildrenindex-1λõԪ mChildren.get(index).setPriorSibling( index == 0 ? null : mChildren.get(index - 1)); } +// ret +return ret; } } return ret; @@ -283,25 +390,31 @@ public class TaskList extends Node { public boolean moveChildTask(Task task, int index) { + // indexǷϷ if (index < 0 || index >= mChildren.size()) { Log.e(TAG, "move child task: invalid index"); return false; } + // taskǷmChildren int pos = mChildren.indexOf(task); if (pos == -1) { Log.e(TAG, "move child task: the task should in the list"); return false; } + // posindexȣҪƶ if (pos == index) return true; + // Ƴtaskӵָλ return (removeChildTask(task) && addChildTask(task, index)); } + // gid public Task findChildTaskByGid(String gid) { for (int i = 0; i < mChildren.size(); i++) { Task t = mChildren.get(i); + // gidȣ򷵻ظ if (t.getGid().equals(gid)) { return t; } @@ -310,34 +423,43 @@ public class TaskList extends Node { } public int getChildTaskIndex(Task task) { + // mChildrenе return mChildren.indexOf(task); } public Task getChildTaskByIndex(int index) { + // ȡ if (index < 0 || index >= mChildren.size()) { + // Чӡ־ Log.e(TAG, "getTaskByIndex: invalid index"); return null; } + // Ӧ return mChildren.get(index); } public Task getChilTaskByGid(String gid) { + // mChildrenбgidȵTask for (Task task : mChildren) { if (task.getGid().equals(gid)) return task; } + // ûҵnull return null; } public ArrayList getChildTaskList() { + // mChildrenб return this.mChildren; } public void setIndex(int index) { + // mIndexֵ this.mIndex = index; } public int getIndex() { + // صǰ return this.mIndex; } }