From 2c9e4126bc463336370ef8e001e27a46c96edccb Mon Sep 17 00:00:00 2001 From: Andrew Shaw Date: Fri, 27 Jan 2012 01:06:47 -0800 Subject: [PATCH 1/3] Styled checkbox for assigned tasks --- astrid/res/drawable/check_box_1.png | Bin 2908 -> 2907 bytes astrid/res/drawable/check_box_2.png | Bin 2941 -> 2918 bytes astrid/res/drawable/check_box_3.png | Bin 2912 -> 2911 bytes astrid/res/drawable/check_box_4.png | Bin 2906 -> 2904 bytes astrid/res/drawable/check_box_checked_1.png | Bin 4798 -> 4538 bytes astrid/res/drawable/check_box_checked_2.png | Bin 4826 -> 4543 bytes astrid/res/drawable/check_box_checked_3.png | Bin 4808 -> 4539 bytes astrid/res/drawable/check_box_checked_4.png | Bin 4821 -> 4521 bytes astrid/res/drawable/check_box_large_1.png | Bin 0 -> 2908 bytes astrid/res/drawable/check_box_large_2.png | Bin 0 -> 2941 bytes astrid/res/drawable/check_box_large_3.png | Bin 0 -> 2912 bytes astrid/res/drawable/check_box_large_4.png | Bin 0 -> 2906 bytes astrid/res/drawable/check_box_repeat_1.png | Bin 3133 -> 3101 bytes astrid/res/drawable/check_box_repeat_2.png | Bin 3162 -> 3121 bytes astrid/res/drawable/check_box_repeat_3.png | Bin 3126 -> 3096 bytes astrid/res/drawable/check_box_repeat_4.png | Bin 3125 -> 3095 bytes .../drawable/check_box_repeat_checked_1.png | Bin 5022 -> 4725 bytes .../drawable/check_box_repeat_checked_2.png | Bin 5037 -> 4720 bytes .../drawable/check_box_repeat_checked_3.png | Bin 5043 -> 4715 bytes .../drawable/check_box_repeat_checked_4.png | Bin 5050 -> 4726 bytes astrid/res/layout/task_adapter_row.xml | 47 ++++++++++-------- .../todoroo/astrid/adapter/TaskAdapter.java | 20 +++++--- 22 files changed, 39 insertions(+), 28 deletions(-) create mode 100644 astrid/res/drawable/check_box_large_1.png create mode 100644 astrid/res/drawable/check_box_large_2.png create mode 100644 astrid/res/drawable/check_box_large_3.png create mode 100644 astrid/res/drawable/check_box_large_4.png diff --git a/astrid/res/drawable/check_box_1.png b/astrid/res/drawable/check_box_1.png index 908faa2c899ef51944aab98020c316b6c21d08d4..65aae5bf6fd142d4be17eadc332954504dd98167 100644 GIT binary patch delta 199 zcmca3c3VubGr-TCmrII^fq{Y7)59eQNUH#`JO>+)?BARJZKL9RuKG4l7srr_TW@Aq za~&|?ab9Yo{_^knE0bGx1#g>XCGed2)02~x9$XTa&uj=%)d|~a)|#HHtg6hAvilB~ z>+f{kX}w&Nck29}R6fP1eqowR*|tBaOhOYHSX2}kIXxVhZn3QRe(3$Y>D4@)K^@Ka zQo2*;aDGmUWGZ0Tk={CMb*#ON9MCcU|1&c@`y%Yf|9<`hAeX_@)z4*}Q$iB}G1*K} delta 200 zcmcaDc1KLHGr-TCmrII^fq{Y7)59eQNNWSJItLq&oHl>s?v0A`x$4_JT^vIyZoRqT z$aO%0$K~S8N1j#xjlZh2mOR}gvebpyUOW6($Kq}arI4k3qN{>#Tod1Ze&3mMt*R@J zn%=o7%GftkVogn^p-A)g*Ebg~j^{rU8Ts@z6StU7#D;`}O{@^c=|tmY#)s3l*qfhz wvqs#?Mwt0M*HjhbW$e+iJimdi`Tw7pLB2-FN9e5IPav1U)78&qol`;+0Qy=?8vp_DoE%Gr-TCmrII^fq{Y7)59eQNUH#`JO>+)?BARJZKL9RuKJ0dE{-7;x8B@1 z$az44hxNjdG@bH-u<`<(%&Mu66uSgl=Pz#mBB=W#HFW7@tqX~&|66A*zI{SPbe-j- zB}uaPqF!jeO? z_no{J^K7D7+vWC>27W>Hz04nXOb>W|bot)88lb!W|7T|4S*G}B^Q+rEKrVx)tDnm{ Hr-UW|Zc9|o delta 233 zcmaDR_E$`?Gr-TCmrII^fq{Y7)59eQNNWSJItLq&oHl>s?v0A`x$0MVx;TbZ+L59@{a6rHk!u(AXlrFlLaRSZg^lkP7z{M04SA6j(o#!?=$RckkF+c%*p_-yOf zz^M0AjW*x9a4E4ir~hDo0K*AqLyg_Bj5mr7xIDi4`Le6d#v?-B$V7CK=`!QH**Em% zmu=f@dwCD1s-3dogwTcgh6W6L49{~CPj`I2c-3~k@4>5cSEX!Y*Zsq2v{Db~-2eZX Z8F;LfllZ4S>IQNdJYD@<);T3K0RVzBT=oC} diff --git a/astrid/res/drawable/check_box_3.png b/astrid/res/drawable/check_box_3.png index 5103d5c82a8aee55b8ceb7ba14c1a21eaae05e66..08930eb49ce59e258d7845948c773777034482c9 100644 GIT binary patch delta 203 zcmV;+05t#L7T*>jiBL{Q4GJ0x0000DNk~Le0000a0000V2nGNE0FS+I_OT(K3V(`8 zL_t(|+U%G+4uCKWL+#R$qj3#R#Wgq@GhylmqLrF{BxlN$KH07mg=U74DqygRsoBpf zwVsj@0FG_VR><2wE3vFqm@Lb(FL_%j^A~D*WM|4>CLjR`NI(J-kbndvphs?v0A`x$3(;T^vIyZoRo- z$k(92)A}&{@QaIk+Lk|(k~_QCujiP9&%%@UJ304FVRt@zcj{6z)m0%kE{Q!a-JV*a z=QHWm#`5wqw}x63HsknNC0~HnMVy=|pTuIM@VXyxbsodFDIg zQ}buLmR(b`%28q4rWGF#28RFtnHi?l2>B#w@g@Qt$l&Sf=d#Wzp$Py3 Ct5R(M diff --git a/astrid/res/drawable/check_box_4.png b/astrid/res/drawable/check_box_4.png index 14b203b97c4bce4865e2a47f9bf5f5632f2b2f7c..8c99fd606576f86b316d6cfadbc5194cf083e009 100644 GIT binary patch delta 196 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 delta 2106 zcmV-A2*vlhBfcdeiBL{Q4GJ0x0000DNk~Le0000h0000d2nGNE0G6MzyRjjj3V#Rb zNkl*ey#|Z{lS2xGK)C`9NgAj^O8zJUiVDS0 zMX5?s39M8tE-C6k5~nQ{N18%|<6umoA>g2LIS0ZHk;w*o4aRGGeII+y@m~M%wLaFy zNQNTiN$;Q0oA>+7cYfD-9nqgfTNtDTTpcz|NgJ zQCC+BO``xn01W!wUauFV#|>0s>v?`({i3K~FHsZ)k&#i@x^**|yuz~^S$safRw2o2m-)ppXYHrgMX((M6GLlLDkp6 zZC{*d0aY39qp}PJy$SB7niul^wQK*K&i^8HnirBpK|?@!o*@w6QC~m4*!fl9M;AYE zbvyZeQkF3WgJeW&TjQel3ilqp-Fk_)g#q>X7@C?apH`LypSk#fOCGV@4pf%oI0(E5 zfI(J*qgGTe8PU?-@PGLGMSnV3cKf)PnA(g8!(h;kP6hs!%+~TN&Cg#r<_g?ZBf}U2 zV+@p15W=Iaqe(2jlK=i~*SDFH&H%IuDM>V+9@3cLtaRZ>r!J9N6_M!qG^)`D?nHb7CJ)9V8-KY}GQf0-L^nSL}PQpBiW zIl@ELRD5#j*uJw@53Y$x=|ok_CzkyMzdh%0UR!FAOkouc`Ovsi=l^-;+_eL7*2EfE zEUYW)S)ZaFpMMVsWZ>!9zs}3B&3%m!2FB=U`dNZNz=v~}^LG?od~5Ug_)b4-Hb}kP34g52|U_vzI?SeX``wQ=(#=h>7j;UlsxykOOFMioxpU z)yPPGBAZe*Ea)&kOHt)2-~8eEH+M(JRUM z_bE&%1p$GM7fmIlXHOPhcsJ8Du^Mslq+4~;U1|YY^~2LT887(PB5T)CFi?$Bb@V3% zRn@G`p4vS@sRGG16;vZ&w5t@FB2}bK_o79)#2+sD-F`=9*(*H?6G9*eI`Om8;=+RS zZ#}Lb?|(#G0@tl*A1Gx(c-tmpDb`^@?ioN)psETeWxajFDBOTGCQPzFKQD8Yzs?;1 zFVJqq0ZIX*QG;!&56#*o96FJ^_Zw&FZd1fK@I=RdUiRs+BOmWsq(zh>IYosaXuSc| z)ubqJ)d-jwn_aOa=L|@Pr#AzQRE)y9!K87?#ed6Yy|!$UxT?Ljz7H4xG>t&gGuZ5Y zw9?BsRG7P?to-s{995-<3(md!oGe|3ElmT@Q&5fc#sT4FxZMJ#S~oR5nXzUC*Vx=I zsCxo*RA(?vqo72AH9G#{@;N&epZbzJbEhWXl9-@}s&L(15rJM$VN3VJ=_tX$6SkybnC|Urytq6OfN-LjJ9fqEee!UsHzOBIqvH6Ij=5` zF}zq`eJ223P`l4`-3m(-DN}=x^<`)$B}h!^>?)%npuC`=zMjGswO(GDwPlr2A6crX z!69?|s9}3v)Tjnkl`+vAU%KMapD#=>u77nkHV7bmuosw80#Q_voEAVzdJuZO+Arzr zbQCUE5LVp}v;{LZzHBl?7t2a;5ZFD#4ovWhD#IEb=lK3(ug*_1Z>nx^^WDJc2P}&H zK?NO!yD5Ol`sc7TYkT&%$O-wf;s;}N&~G2fUq@87Z)(t}0<&pC)q)ut=cZeJ>VIfx z5Ww+Dh%wTy-U~X4rse>w!n0U9`;}cW2+8PrYQ~0z zcJrokcRdeqG6tqaL11t<1|TZ)G0*<9yh-LMZ>Xv~s5Fm}vVBugWkg7(`lmA1&$mTy zx>{Q!fTtXdg?L8Uk}VTx&QzG07*qoM6N<$f*j`nF8}}l diff --git a/astrid/res/drawable/check_box_checked_2.png b/astrid/res/drawable/check_box_checked_2.png index 52b926e5020822375df85ba06c8f8b010754abde..44176360ff320443953c82ae8249b2ec9cd149ae 100644 GIT binary patch delta 1849 zcmV-92gdl?CBGvfiBL{Q4GJ0x0000DNk~Le0000a0000V2nGNE0FS+I_OT(J3V#Ob zNkla5G;w5! zW^Qa?qYF$XgRX&S!)A2VvCPB`x@pMNF=WgP$BLMh(#07@v9{1Q_O9(+d%vC^-yi47Kkt$R0v;(uI>3Ans!MRbw>cFPo=x!2XXKUDU7RaRb-3#h%)?4wt{xqo}k_w4Pj zlai39;f9v-c3-7+i#2_G)OY2C;r*K)j5kMW4aFA-e~;Pj znt%K~wFSWVETHQRV>%-^nu_8={@2SEHX88xI8-I!5=%p0&t#oomTUzOSLd7HRP|Hj zT9{f&4*#i#RHc#>0NI}RS(v#}&{9_8f}j1fo)5Xz9vsN(#&lKo>BqmKTzP zkQr6y4Msu;2%&*gI)Ayrw2YXdsD;+%!*T!lI32n>ok?vw@aC>fTCf+9DhbYJZYGI| zd``qTF14K0V)uDW}ZrfMT5 zvkEUCBpjNqk0-}AcfGOa2h#H{A~6MAP(TuZGUT#AopT)=<$vpcBvbF5jg>Xds8&L8 z_Je^d0a2VE?f=Rfy`4`cShuJ9%=>pUOX#0jeb2+1<{U6A<1!eR!>x@?j6V3%AKM%VSowg9uKaVekVt6y{c+KV}=tt5*Rn>Wxj3`J>C)OYN>$7c^<1ZyQ z-Rwlw!f|w;eSd!a>)o$BXIu7Cr=~+fUNW}J=^>L-lN(<=+`c2hUUSscaZsv43IakI z(m4wrdll}fSccNv89jCp)ThCyR=b%YYPX91YP`_qWuw{%SH&imaJ~qDXL? zA{5dQU4Ilu&rs)zx86P2F?fFPiGxS??LL#(U$w9?1FuH~X9S7@ktprTuAcn{&>Qw~kpVeDOH>*sbGAgRc3JyO_O}rcf@o5{rG>^zXt%0j!{hHd=5C*00000NkvXXu0mjf`LKK) delta 2134 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 delta 2116 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

NX5L)i?B;ub zF$h=`2ZIVa3U_M=GxV#Gm%Dx2bE-HzoOiswsosJ5tQifX7sJpu(~mf>DZc zJvDpdVuyM2HFpyaa59FbML}S2w}c=n3$eiQ^8?e(Gk>e9^03l8LCW?IMU`QcOifSC z+OW_Tv-wJ6g9rwt518kHj;OB<*iT+R(R@EAifwIeFq_TbIBrZ>^8cK7QA$x;Q-8mY zlg!LaWM*ap0GgYd@5u%edM3UV3G|+C{N|Yc8`y^o_J0Eax^!tUNeAU900000NkvXX Hu0mjf-B1NM diff --git a/astrid/res/drawable/check_box_large_1.png b/astrid/res/drawable/check_box_large_1.png new file mode 100644 index 0000000000000000000000000000000000000000..908faa2c899ef51944aab98020c316b6c21d08d4 GIT binary patch literal 2908 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 literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/check_box_large_3.png b/astrid/res/drawable/check_box_large_3.png new file mode 100644 index 0000000000000000000000000000000000000000..5103d5c82a8aee55b8ceb7ba14c1a21eaae05e66 GIT binary patch literal 2912 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 KMNUMnLSTX?N@#-s literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/check_box_large_4.png b/astrid/res/drawable/check_box_large_4.png new file mode 100644 index 0000000000000000000000000000000000000000..14b203b97c4bce4865e2a47f9bf5f5632f2b2f7c GIT binary patch literal 2906 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 Eg3XU)RsaA1 literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/check_box_repeat_1.png b/astrid/res/drawable/check_box_repeat_1.png index 7e3d4638028c9155f6754703a9778413670768ab..e53d2db193d6632db3cb245906d2290b692a9bc1 100644 GIT binary patch delta 394 zcmV;50d@Yp7@Zg)iBL{Q4GJ0x0000DNk~Le0000a0000V2nGNE0FS+I_OT(K3V%pR zL_t(|+U%FTN&`U@g}>P>Hg*BQTCD6WeE|iFbRzf+K7v??t(885eNqVK0b-|}Rj?BT z!OkwpwYh;y*v!uC>`IC`aEkdqbLY-*#)$|3Gq*AHrZVa?e zfT7m?0vEu@GcIbgWuO>Gc zf-EQt%7U_>EGP@gf;LRh7I42Qg7$$I;8LAuS!0QlEUeU+v;pu4Y-{<{*k9C97oNIm z5~oLWr%|yOc5!4OwzUr&q}t|~9I6xbrQhe{SYIuE07 o*&-mJm-#gY4)vxj43qFT0G`E7JwZJ`jsO4v07*qoM6N<$g3ny5XaE2J delta 426 zcmbO$u~$N|Gr-TCmrII^fq{Y7)59eQNNWSJItLq&oHl>s?v0A`x#}}KT^vIyZoQeY z(Tl}Upl$yh-Rn0vn-bK+%BGctafw~$vTN>F5KGEldOo2(oFgtZefiw0iRv6pb9?XH zjffFzI+3S#Ggk0fyQbMqpMAb*>M3(N7z~PMt7I|MOkC*{mv#T;#P!t)&3so*ON8Ij z`@r&sd0loy=Z4AzhU^2f1$^~irtX`RsQUS_eIFPK%C#%RmwPa((faSMzP?KJo~}pN8h>lEX31+1{a+(- zh2@x``R$k+R_W*Re=m(c8?adKkVCX~1nV~GM+KUOs~PK(BPZ{D!Su!ahTQ32t5$Ce zDt^FY!EmoO+TLLKhoxmdKI;Vst0IYnnC;$Ke diff --git a/astrid/res/drawable/check_box_repeat_2.png b/astrid/res/drawable/check_box_repeat_2.png index 5cfb0632c8d44b845bd269d7333d2ebfee743d54..a78730dcbe692112c18342e869c5d794030e720b 100644 GIT binary patch delta 414 zcmV;P0b%~y7_k^3iBL{Q4GJ0x0000DNk~Le0000a0000V2nGNE0FS+I_OT(K3V&Ql zL_t(|+U%FHO2j}AhQHlgZ0rQV2e7iU6s}gVFqH`6Bj_85SlC*f&tRV`1kW~Tr=8Wc zf*{!0-QC(uV2v@^WD^nGAGVlbXZOqO3`~@@mZqAe!+T&KcyawE$q1Ec0HGao3wQ#K zfIGm_kxa?OzK5>@x4;E(4$SM~O@ET9SvsuDq;3i0>J*p&YaUsyJzodHf^kibdzp()|GVHl#XRu#+{UP zN=1fx2kPYV&?oy9MW6^2fg(@@ia`GzXbBko6`*zC0XUX1#)OPBb@Pz@VRMXi=j&@= zS?pbBOdatA# z&VU`@O?(4qeTg$krc9D4&lmUxwD2hCyuK#DrgYlESwZ?70P1p6pNf~>mH+?%07*qo IM6N<$f@A8v6#xJL delta 456 zcmV;(0XP1!7}^*iiBL{Q4GJ0x0000DNk~Le0000h0000d2nGNE0G6MzyRjjk3V(%3 zL_t(|+U%GyOT;h~$A7six3~#{;OgY&D0FaAaJU-<@gwLr5OHw5Nk4;oZxB2ehXXg= zoNg5a!OcZ_7YAP9ljTOAKJ9)Jy6 zP*ia@&6nH(o`GZF9?-49rb%37v41t-4!8s^fSIkWXfRP}5?i@V#{;OTGhhs?JDies z_E`_0nO=Yo$2q#L&#Hp4zKm-ik-ksh2pCz~(7rC1Dw%hidwv2AfvIs)Wos)};Hsf3 zHQKdAgz29QT{)dDy2%zh`zx@GfHjrDT2p`xumLu}mc-d6zVz$H=jGVhwtuoxxL^S` zzy{a=yPU8+;OalXZUT?MiDbpd*Z-YOy44o7gG_zk23V2j1EVG|DwyZ3$WdlY$*~V* zH%%pNxPfwmU&ZpdJw?*RZegjjTj`Vij$0000C#iBL{Q4GJ0x0000DNk~Le0000a0000V2nGNE0FS+I_OT(K3V%aM zL_t(|+U(c8N&`U{h2dwDV55~FcmY;+mfnDZNIDVh?eq@BLTs(Hv$szW!CZiL+F7L) z1i?x>ld+k=65?ielZ6y};1u)!&dfLPO%g%?$M@d~=m`gSS3gZ23jznC0s8G&<37y67#Co4Efd61T9SYZ?$oU>-JH4# zg5ac!*v6qb2qJg+b%DbB!W)uYUOtz+dqz&DY)K3HyirXXGqz&aUJ zM9iyf8+ZnG0hJq8JJ{4RfK}ig=zjwpPhY{XI`ZYufHAPO`mY0(^MRaay~q z8LNxGo*CD`(DZ!)N5II@hxg``0iXbPf7(yLAu#b+TgAq#t9~rIG8tjgcIqk<_&6n# z3KmELE3g79umUTv0xPfrE3g79uBm<_H7da^(uJnTSJ$#H&N%Nus)`EgaTJqET+MwnUFdNv5H)4l>b@&_~e9RT|@Ou?KP_|X6W N002ovPDHLkV1nWvyD9(x diff --git a/astrid/res/drawable/check_box_repeat_4.png b/astrid/res/drawable/check_box_repeat_4.png index b2e1dddeae348bdd1265cda4a8bb38700139e468..dc630254430a07bc4e41432cd03a3caea8dde97b 100644 GIT binary patch delta 388 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 delta 2331 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 BV`u;X diff --git a/astrid/res/drawable/check_box_repeat_checked_2.png b/astrid/res/drawable/check_box_repeat_checked_2.png index 028ee0918da45bfe9ed70dc87b0b07a2e54c1e03..1dc0e6183121efe4ad8ed0c3ad6d064afa8e937d 100644 GIT binary patch delta 2027 zcmV{ zz!^~8vA!9=gFUys)sye_!Llq&7lx^W3kw!AkYq`Ca{_qfl|9(^<}T_lcS&xK!_=Y- zF)f0PKiq~NJhTZiGK`8ZenQ6`E&|XNIQ!`L036qrHi}HwVT{9(CC>;{xPRw`|E;$G zh>yQM1*ov~+oJGVxq#C2Yx@9v2w;cvWbHO>X`=-I&Xcv*;GB~Z;$QiILPzig>Dcg6@Om<82qvcy4{ZxLjhb){H|tJRTA0R7Gx>p;Pbo>$KrM{ zL(~E2PphFb#V?ZaqAoxG*!=(q00H3r)Gh#cSXgl7CnE`x9Uw?kA18H0a02a53 zk4dZk{NA}8tNdkyaOWss20$plIl#FZ@9T}e83}3UrWJL%=$QK|8)y5y0G{r-?JXmJ znz;m{MdFJ~yb6r=ANhs^Q@(dY zGNGYB2yo89g#d&=s(+^m!9l6)Zax3$i+}i}{-OMt-SGJ&Fh&3ZP{~3fX*W9Cvwx*) zv|g44OKbbdAyEm0Pzb>%R)JFJ2_3`3BLD$(JqgYkEY6THldi~c-}b{F?_QVdzl4GU z3dRV800?D>$7Ft~BlkexW$}!+kR`aVKnR&?`w2HB1ccC>p?_#(m2M=1k|a;JH)Heu zJM1>q8I28XIrz~F8x>C*{6zv58@-tzIue=$YiLQUtj({_$#y3kvIlOp5So@qUm-#W zD3#>yo(qq@b7Jq#`IU>0EnE1&MnzV7bY@KZ00IIwMO6nPeVYy)-~Dsp`V9V{1dCHZ z5P&jhaiGk;0)MuG+FyvF&o2h^t46DqOL6fZonHn-ajCcc!Q*ZFo)58RSM!DQ4={tP z_bpoUgre9xlSXn1jKk(s`og{I-~O=v*@W^j%1Q{pDZmLpOhlswg6cQ$O>Yn%MQx3y zrGt($r!329wv0%KjD%{N{{C9MVf$O|9e3JMG;09O7k__K`$6-&Z;xs#<~IGQ3^|f%1N|cJ9BospZhG4Z~b$S5yeW;dEqSFcN;`VAG!Z-o#O7NjYFs z6j&Akm47V65<2W`0sDUGQsj?(I-xCO1VjYGjDq6N1AY&*qz=IaEQ`YDQxL4^Lu>aN zcQv)VyDzC5cjvnE5srlKfBWdmySj$o$t#;}!C_ax7=*^u;^kOA_xXlm?Q}*h zWeSjF44^WwaP8u80)G|#Xzkv&;N)kA8@euaZ99Bo|E>$6 z14Xl{V#spIuo!_P0h*qK5er~(*_M43fjhQBSQ!CLD{9VpU$wusPS-7Vy6dHN!W%)h z>V#=fRgm9tj;O*^4&fU)J9Vn@cBg#1h|PSpt`DZ!Jcf}jsqd;8%l1afi|mPhCl-C_CFIrq@FfHsL_6h5orh#}O28*-IfB=9C4k1K%-pm!7Rhz>++q37%sOUzv z>VRoV$aZtMTmpm=Fmn{fu;PeDvN6AC!+$5$#mk>0;60KgL7&tns>^Ogp|1oIrI`bb zLRkRF@Z8{vt*YWOPj&97i;~O8wyWTl1VRJ^2P6vUJb{sj12u&|ZkrQW`IJOyJH}cA zv&;$Wdh=$W!0Siqdd5I0D9+i)Z2!I6Ezb4k&KI_fWL-gyO9f*RBnp^9Lw~=(Tz~J{ z&Rb`G>nRZ0Dg?jwewu7^%VMxBmYK`aLJ1a|?O(R@&XUbrwV|Ln6idRUSg?>lBqC6n z^+^As%5_h>9Jznx89FLsQKy3v;PE-d%XV>#>ZiMQJ{QKnoWddqI=&mbyZVVu9(U27 zG=1=9K7})@&^7l74ojHHIl+4xYJaOX{1PKI++p5_MU`vo%8i!yg6G$e>2z_^61w7tUg6D*)o#BS{?v%adScb7Y$tx>MDS*0@(5YfSC@60+7ZMCy#4w1VF%Z09FDB zrQXTo#)Le1^(iv8MdU_Y#>a$ty<`EP3BUpXEn|79aZ~Z10RSRNcB@j2Kx?GrN0!=X1aJcYeQfesGL2Jb#X9S#u=-?*5;PtMc)rjei0@E&?#)doXSwWuu~^ zkd~GPyWI{^6urLR68>@Tha>-^N3WLFbUAuOnwzdX@PypZnc=@o~ z?cT6j*4)R5i$4NLtC;jJ0sxjfn}+n2O<(0yRYhQ65VmjM%FS3N{cLnZfPX3LA7vS} z_iWws9S%od*vACzvOEAA#8vrq{`xDKaFF}D_>Oe#-pAXToTYCw5YZG6l$M=Q{-@e| zHmwVmf5M;uPy(QZ5aRcQ$@jK1Cbu8ITUGIwQRYT5YEmPduGX~YH^=6Tn_!Z>Vzxgl zTXBK&8R$6+SN4jntgf&Euz#MdxNy?1&62aQdp+y8jo5qo6R?0%j2mx^A`ZV0x*Lt%RM>Rygp-j9tQxmqgP{h z)*-m%5||@x;CTi@co>Z;B4b;ikk&cLFNFV|*KwRU5bRL7S6g~s>wnItXO~A#4TGPGy0bzJ0swTz@F=B2?8SoXJ0W_~7w3)_;_}?_$}#TeJ1DsT*dnAqo;SO^rR7d+2oG zofDyEOAAJXuzrdH9d-u<_fuFh?RR@4LMI|V>(dT zaxOF@^Ut}Z6*rR%vdO2yy&lw@bMce2xi>#BhecK+G=G$J?t0dvsLkO3lqpy`;}7Xm zEYH5qaSV*n;hbkVD2fBQS5EBA&OfkqWJDce<6Vf3S5WULF#I!f&#BVNqMsV%zyTHJ zc>$D=u=7_wJAJC~Zxe#TD-b@eGk#ewP{pmFttlKoiP?ZD(X&%2)qH{u60;PQ){?EC zU3_~_uz$G<5s?Ih045WGCBcb$XQA}L=X;KQbNA+EgT6;$N+~#S&Mu;~1$tV{1F znnqW_9Km^1?|l6n2e>sSY!Am`b=(V>X+Hx7N+{Kae^byj64q?1+2@kW5pB^x2?s_y zOQ9)HL)>ILTGY$J;q13EO79lG(xouRaS%nFbbqxdFDvunfoJq1D_|badlc;frOX9; z>sTa3y@>hj8o)GYnhHvp=QrGN!hki79}~Z7PU0G8ZM_0Pq#ngPt7m{XZ9^3#v(+=Xb?rxy`eY`U`&OzTEw(*spU(!>)?o^ zJAVTWRg8Rw!I%-zdCAjXPaY$!X{)L00R{jjet% zf*Xwu0usWuv@LyVd$L|OmJhdT`YZ~RQfQhRVIk%l%Vxc{INY$duIhmTLDW3wZjZt; zMa)DO-1=g)afOJC>F6w@y+8$#pstR>612&kG;`aU0DWMQs<{Tt?Zbxcnn);trhmCH zIwYcK`P08yFg{?twXs12C%C$SDdiwZ8lvMA#3Z<&*K2)}zD`GBwYm_d`!Sh6b;|~m zAvn*iy1c+18Mc3dS2Z`ng3YBXe(>77xR8{phI+vRj6T4U)E89LQPejn7^`22q?tQX zM+A;K;Z~hsjC#HHq2hH&WqSqzp?@kuOrt92Pu=otLg>q-4GkiALG85|*Qef#I*O)d z1!3ZkkTm0!H^WCprE5g(e?9VAb1>i`mF=ytTT@_^1FX+Y-Mk<^B&DRjP5^i}`lm%v zWT6mewDh zZ47D!uS~_$Q9Hg$95r&S0)OhJo@NIF8}c?`v)Kk+dq8F5%Tm~o2W!TlsxBnnPhIp< z(5-1dG;f5hemW+PT3efp3-3hS-#tguRG;(X%Tm1PJ32ZBg%y2$kx>4UPbuzL(z!_$ zTO|Pd0c_`(ibcXLM9*4>2<2+HtTY`4fQffs_WSZfDMfR0GeSZ_z<=}n;4M!rYc2+A zHTvrQ02mA42!KUTqV?)e^O+w2!e6TcknCx5J{IVscD{K4g2%yNqjw{D7l5UnhB7?! z1wZ`^M;tF$>IsG6IAH+J0+i_@% diff --git a/astrid/res/drawable/check_box_repeat_checked_3.png b/astrid/res/drawable/check_box_repeat_checked_3.png index 1dacaa0bcd1fc273d70e6dcf14f4856046a098f5..96c6929991c4695b35af74044a308b3193875f06 100644 GIT binary patch delta 2022 zcmVW17l}uom#LTDnq9o zizqbHIv^lIq+kk+wu)%SeyHF}%Ycd+Xr~k#O2?33hc*I60tQKzWb?9b&)dEI5P~5j zu)_4r+z)s6o_l}KdH(0z^9ZFB0Dnv0i2|_pYrULqZ6w_rASWkCq`RH0Kt4)Iq*O>7 zwtrSp4?M7XO1LdAn2+N)3}>cgAeDn-n#}BT+MT%DYNx3#?Itysr@bCPGfCII2QK{}@+Y(=fYgF;rz@*MEjDI6QZ1DeA z0X@|eP;h7euTrrhiT0zIo6kHUId9Y1Y4RnmC zp`}HQVz8*6Z7#bH5SPIBURo9d7S+ym_FdN6Tt^HRwNehXP3dY>-+R;_dxFx+F8mp3 zn1+teE6K^f=qjkxri3c9Ln8t$&N(C?F!bmBL*~bTA8h+3r$9D=Yf^0r-aRZZC`1E{vb&y z^N%+Db<3U)YZexaIY(};8`}~H4K!WS+wC*M9obtgGx0m(PN-VnuJ&{4iD03fkjg;_F>Km@d7uyop=EXVMHU)nvVTO^hhY~3>%JVGG;exe zw0rgLzieFY&TS-Aq;Ty1!;~;c#C4qRISsD()S9f!K*HzBCEzV29#4!MAt3~srn_3( znt$}h!RI$kt(^V-yczc|ce~tehHVb}018E#+v~j;X)1= z|ESyTX-S&Nt6+R->F)N<^N+mtLCup1_aVwl1xO8~0AbPBXOit*gveWix98xymSdm| z%1)QdHT)~n1Vnnn3+n#$VvU*h&+M7Ec_=EoNd3v*FMoKi{>_&y)0*UQdr=GsSmE>d zMORPPl0Uw`X?@s!H?6eXLDO6)DG-`XU))5u?!;I444=lcG3>;Mn!O4rJ5ACWKK^2d zJW^IQ-i?wjf2h7?L{d`x-WySNay0+b=zysC-$e8RzRBD zjpGP3-G3pPF!0#Z?1G9HI1$agqAa8Y9p9pWfP>C`qZL zTm{r)YE%}_czAYs^&h&zImC=Ox~_06jbPAA@qgG38d`Tu``br*ww^hAX5F5HuWW7( z?4}p(=n4exj9}0?OZtDL4F}*Wx26TaOr}C5u>{^ zi#Zk5`zwlOSDSXc(~C2nu|yO{+Nl8nNF`B9bxs;{?<#Ma&uVJh{#c)CCDZG} zvUD;762D&|G=XjP!bh- zAbKX2+`HE6_FEseY^d%N=g9PUk&ccK3ME0;z>o=gBR(b<{;Y9A@%+biO*=KvV%d&$ z#lFFuQ4|D2!?s}8z00I>kkalQ7rJY`Bc)N_vT=29#^+@Dz1X&nu7RcEbaW^t27e!J zxpmC<9!F>mO3BOj)6g_`92>{6Q_Hdup_CmR7n--}w$fE=^Dn7%-%y`zEoCWFia}ql*K-m; z8c+-T{AQxCb76)^<&}vP_R0k&a&soWiiWNSbpiMmu;Kp!GaQfx=$9Oajyua`1Xu&i z2f_ob_n;xJF}`w^$xFh#p0fh#fN8*yOMV06rtE(M07sN@T1fqfPyhe`07*qoM6N<$ Eg1=Yu%K!iX delta 2353 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 P00000NkvXXu0mjftarM; delta 2360 zcmV-83CH&KB)TUdiBL{Q4GJ0x0000DNk~Le0000h0000d2nGNE0G6MzyRjjj3V#UY zNkl`X+H5uu4{5+= zaPhALcx}s;Eh+#M6%|eDD>*rt$g+%pfI#fovzugW5PvWy#@|r<-t8j~?tfZ`?QJ&O zIA+-l@6;~=Tqr6kibzUInv#LZWMU~PDd_6x6*oP%aKAo?9qa4weQ(pwgjXWt41%{b zVBb(`)dA>IRdvb+=gysDOxt(rPE*70W=FRR^HSSkclNxtaYw@0sQCtQXq|f+i~^gR zn@hYoFDNM341l;Uu-NtW0DpjOxw*L|Qvp~|P%s=Xb7>mRTzw17--M{S0}uoi12zqs zZihmz39c$SYd|Dr{aoRRmk%~uFMlIG#R@?H7#-On9M53w6VYOxRn+*EbKk#8x{vmD1k;D1E`43g~hnNgkAA6>m| zkA778c3JJcGh%E)C;ar|f%f&wuy>_**Iny;`tm8WV@k6DV+@QjP)b1vkDk5`vEth4 zkM5aorE4{MFg93zhSqsgN+|?hi-Cc@^yB4+&wXBhTpyFrfuIly#@uq01NsN-kb4&+ zF=*@aUljNBPk(uk8LEXmCqR~+{P`=#kNx4)%iBIIeY5iR-J8pFTEj4yiB#Z4D2kj= za_Q)~>i?V$jW%{6IE0O16zCtYftQxx$wj}&j|p9H!Y@FCPhdI1Ls1ocQg!N`i`PHc z8X4b@#;#97j}*Oe$<%OTtzK*J%COsoMxU+x%Y{of-hYn{i)}_|C>z}MY=lv(%?3Eq zus-8Ag=xmeULu5nG3v`aOW<(WaOvvlywWR&cF&4wMM9DjaY+tXY}fREDmqYRYOMLb zUK`+%VUFWLRWbb_3v zXf)UD{(rdgtph>PO^AtAp{jtvpu(7Jhs9nkzJKPxiLdY6*rC^rFia^00fB}W4b?Rl z%Ze|*n{JrXgy8a!A-(0Qw)gUfjfgq^E8;THsF&XA&0gIyc)_30* zAb&~Ha0QyI8F@{E@Zh+Lb&FqG7cOq;ZD}0=3;?Q1pw%%LlkDiGS8=pBKd-j#>K{#w zHOGoBy}Mb`{u{4F1M}w&vAC%hKc|k>MD}^y|yRzdsecMZ zkuWDDrsk=oS*zyyZ!@>I2_U?47%-&-qNpG)(Si76Cv-YxRMFRHD9mOj!ZhDiS1#Q7 ztU(`CA<52hz@`m$Y=M^*31LCertf^~g%yb*yPDc8ybCZ!0T#v4Km`qjrNe;;-Da%K z+`l(CVD@QAwu3P`?zT^suah!6qJJt>DkH=&yK&{hosT7l{?ydgCV=B*w_s#czZWzV z9i0w@37fDsBj?q~S@Q}NRUUgh8W(dSz>_lT&ak97;HULBKe2Gfs-%!zb(U5h;3SMK zi-N#lX?H-BS73S4&kDms=Koqzq;akJf5hyF%8CR(t)caawCyX5LA$QEG=Ga=kcR>D zJkZ@|hbU*_@ua<{qr(#SDykDIRXrU%$Ca)b0r$mWZ8-H ze?Pxku|zCN3(AJovKWb>+a7e>lMYt?qhh(D$X@MBN=n9|@9*!Q5Uk+shtkqguT*T@ zxRI2Xmx}-j0PIm!6@3qMSZVw@T3gy9ZMM#108my|Hs!+)r4*f=oqq@k2?57(lY%8v zecn}GUJd}E02a6hYp8FU?wOLLrluk_H5CBR*48$qG$1|%Xmvf4eSL<9-zmrBJbdO| z4kps!nFqit0M-L&9~uSRl=$GwXRy?j3cfgD04@N?1aQseV@SVI5xfMSj+g - - - - - - + + + + + + + + android:paddingLeft="2dip" > diff --git a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java index 24c472dfb..47a6f4248 100644 --- a/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java +++ b/astrid/src/com/todoroo/astrid/adapter/TaskAdapter.java @@ -54,6 +54,7 @@ import android.view.animation.ScaleAnimation; import android.widget.CheckBox; import android.widget.CursorAdapter; import android.widget.Filterable; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; @@ -129,6 +130,14 @@ public class TaskAdapter extends CursorAdapter implements Filterable { R.drawable.importance_check_4, //task_indicator_3, }; + + public static int[] IMPORTANCE_RESOURCES_LARGE = new int[] { + R.drawable.check_box_large_1, //task_indicator_0, + R.drawable.check_box_large_2, //task_indicator_1, + R.drawable.check_box_large_3, //task_indicator_2, + R.drawable.check_box_large_4, //task_indicator_3, + }; + public static int[] IMPORTANCE_REPEAT_RESOURCES = new int[] { R.drawable.importance_check_repeat_1, //task_indicator_0, R.drawable.importance_check_repeat_2, //task_indicator_1, @@ -250,7 +259,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { viewHolder.rowBody = (ViewGroup)view.findViewById(R.id.rowBody); viewHolder.nameView = (TextView)view.findViewById(R.id.title); viewHolder.picture = (AsyncImageView)view.findViewById(R.id.picture); - viewHolder.pictureContainer = (View) view.findViewById(R.id.pictureContainer); + viewHolder.pictureBorder = (ImageView)view.findViewById(R.id.pictureBorder); viewHolder.completeBox = (CheckBox)view.findViewById(R.id.completeBox); viewHolder.dueDate = (TextView)view.findViewById(R.id.dueDate); viewHolder.details1 = (TextView)view.findViewById(R.id.details1); @@ -304,7 +313,7 @@ public class TaskAdapter extends CursorAdapter implements Filterable { public TextView nameView; public CheckBox completeBox; public AsyncImageView picture; - public View pictureContainer; + public ImageView pictureBorder; public TextView dueDate; public TextView details1, details2; public LinearLayout taskRow; @@ -369,10 +378,10 @@ public class TaskAdapter extends CursorAdapter implements Filterable { final AsyncImageView pictureView = viewHolder.picture; { if(task.getValue(Task.USER_ID) == 0) { pictureView.setVisibility(View.GONE); - viewHolder.pictureContainer.setVisibility(View.GONE); + viewHolder.pictureBorder.setVisibility(View.GONE); } else { pictureView.setVisibility(View.VISIBLE); - viewHolder.pictureContainer.setVisibility(View.VISIBLE); + viewHolder.pictureBorder.setVisibility(View.VISIBLE); pictureView.setUrl(null); try { JSONObject user = new JSONObject(task.getValue(Task.USER)); @@ -390,13 +399,12 @@ public class TaskAdapter extends CursorAdapter implements Filterable { value = IMPORTANCE_RESOURCES.length - 1; if (!TextUtils.isEmpty(task.getValue(Task.RECURRENCE))) { checkBoxView.setButtonDrawable(IMPORTANCE_REPEAT_RESOURCES[value]); - pictureView.setBackgroundResource(IMPORTANCE_REPEAT_RESOURCES[value]); } else { checkBoxView.setButtonDrawable(IMPORTANCE_RESOURCES[value]); - pictureView.setBackgroundResource(IMPORTANCE_RESOURCES[value]); } if (pictureView.getVisibility() == View.VISIBLE) { checkBoxView.setVisibility(View.INVISIBLE); + viewHolder.pictureBorder.setBackgroundResource(IMPORTANCE_RESOURCES[value]); } else { checkBoxView.setVisibility(View.VISIBLE); } From 554690d3bb0baff3d418bccf48045fc8da08889c Mon Sep 17 00:00:00 2001 From: Andrew Shaw Date: Fri, 27 Jan 2012 15:46:02 -0800 Subject: [PATCH 2/3] Task timer should add to your activity stream --- .../astrid/notes/EditNoteActivity.java | 77 ++- .../todoroo/astrid/notes/NoteMetadata.java | 2 +- .../astrid/timers/TimerActionControlSet.java | 27 +- .../astrid/timers/TimerControlSet.java | 4 +- astrid/res/layout/task_adapter_row.xml | 4 +- astrid/res/layout/task_edit_activity.xml | 68 +- astrid/res/layout/update_adapter_row.xml | 1 + .../astrid/activity/TaskEditActivity.java | 23 +- .../astrid/activity/TaskListActivity.java | 605 +++++++++++------- 9 files changed, 459 insertions(+), 352 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/notes/EditNoteActivity.java b/astrid/plugin-src/com/todoroo/astrid/notes/EditNoteActivity.java index f8876edc4..872ea242c 100644 --- a/astrid/plugin-src/com/todoroo/astrid/notes/EditNoteActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/notes/EditNoteActivity.java @@ -21,7 +21,6 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.text.format.DateUtils; import android.text.util.Linkify; -import android.util.Log; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; @@ -58,10 +57,10 @@ import com.todoroo.astrid.service.MetadataService; import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.SyncV2Service.SyncResultCallback; -import com.todoroo.astrid.timers.TimerActionControlSet.TimerStoppedListener; +import com.todoroo.astrid.timers.TimerActionControlSet.TimerActionListener; import com.todoroo.astrid.utility.Flags; -public class EditNoteActivity extends LinearLayout implements TimerStoppedListener { +public class EditNoteActivity extends LinearLayout implements TimerActionListener { @@ -84,7 +83,7 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen private View commentButton; private int commentItems = 10; private ImageButton pictureButton; - private Bitmap picture = null; + private Bitmap pendingCommentPicture = null; private final Fragment fragment; private final List listeners = new LinkedList(); @@ -97,7 +96,6 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen public EditNoteActivity(Fragment fragment, View parent, long t) { super(fragment.getActivity()); - Log.d("EditnoteActivity", "Contructor being called"); this.fragment = fragment; DependencyInjectionService.getInstance().inject(this); @@ -143,7 +141,7 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen private void setUpInterface() { - timerView = commentsBar.findViewById(R.id.timer_container); + timerView = commentsBar.findViewById(R.id.timer_button); commentButton = commentsBar.findViewById(R.id.commentButton); commentField = (EditText) commentsBar.findViewById(R.id.commentField); commentField.setOnEditorActionListener(new OnEditorActionListener() { @@ -196,8 +194,7 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen final ClearImageCallback clearImage = new ClearImageCallback() { @Override public void clearImage() { - Log.e("Errrr EditNOtes activity", "Picture clear image called"); - picture = null; + pendingCommentPicture = null; pictureButton.setImageResource(R.drawable.camera_button); } }; @@ -205,7 +202,7 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen pictureButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (picture != null) + if (pendingCommentPicture != null) ActFmCameraModule.showPictureLauncher(fragment, clearImage); else ActFmCameraModule.showPictureLauncher(fragment, null); @@ -224,9 +221,6 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen loadingText = new TextView(getContext()); - for (UpdatesChangedListener l : listeners) { - l.updatesChanged(); - } } private void setUpListAdapter() { @@ -277,7 +271,6 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen this.addView(notesView); } - if ( items.size() > commentItems) { Button loadMore = new Button(getContext()); loadMore.setText(R.string.TEA_load_more); @@ -303,6 +296,9 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen } + for (UpdatesChangedListener l : listeners) { + l.updatesChanged(); + } } @@ -347,7 +343,7 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen // picture final AsyncImageView commentPictureView = (AsyncImageView)view.findViewById(R.id.comment_picture); { - if(TextUtils.isEmpty(item.commentPicture)) + if(TextUtils.isEmpty(item.commentPicture) || item.commentPicture.equals("null")) //$NON-NLS-1$ commentPictureView.setVisibility(View.GONE); else { commentPictureView.setVisibility(View.VISIBLE); @@ -398,11 +394,11 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen } private void addComment() { - addComment(commentField.getText().toString(), "task_comment"); //$NON-NLS-1$ + addComment(commentField.getText().toString(), "task_comment", true); //$NON-NLS-1$ } - private void addComment(String message, String actionCode) { + private void addComment(String message, String actionCode, boolean usePicture) { Update update = new Update(); update.setValue(Update.MESSAGE, message); update.setValue(Update.ACTION_CODE, actionCode); @@ -410,30 +406,28 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen update.setValue(Update.TASK, task.getValue(Task.REMOTE_ID)); update.setValue(Update.CREATION_DATE, DateUtilities.now()); - Log.d("Add comment", "The picture is: " + picture); - if (picture != null) { + if (usePicture && pendingCommentPicture != null) { update.setValue(Update.PICTURE, Update.PICTURE_LOADING); } Flags.set(Flags.ACTFM_SUPPRESS_SYNC); updateDao.createNew(update); final long updateId = update.getId(); - final Bitmap tempPicture = picture; + final Bitmap tempPicture = usePicture ? pendingCommentPicture : null; new Thread() { @Override public void run() { actFmSyncService.pushUpdate(updateId, tempPicture); - Log.d("Run thread", "The picture is: " + picture); } }.start(); commentField.setText(""); //$NON-NLS-1$ - setUpListAdapter(); - picture = null; + pendingCommentPicture = usePicture ? null : pendingCommentPicture; pictureButton.setImageResource(R.drawable.camera_button); StatisticsService.reportEvent(StatisticsConstants.ACTFM_TASK_COMMENT); + setUpListAdapter(); for (UpdatesChangedListener l : listeners) { l.commentAdded(); } @@ -463,11 +457,13 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen public static NoteOrUpdate fromMetadata(Metadata m) { if(!m.containsNonNullValue(NoteMetadata.THUMBNAIL)) m.setValue(NoteMetadata.THUMBNAIL, ""); //$NON-NLS-1$ + if(!m.containsNonNullValue(NoteMetadata.COMMENT_PICTURE)) + m.setValue(NoteMetadata.COMMENT_PICTURE, ""); //$NON-NLS-1$ return new NoteOrUpdate(m.getValue(NoteMetadata.THUMBNAIL), m.getValue(NoteMetadata.TITLE), m.getValue(NoteMetadata.BODY), - m.getValue(NoteMetadata.COMMENTPICTURE), + m.getValue(NoteMetadata.COMMENT_PICTURE), m.getValue(Metadata.CREATION_DATE)); } @@ -479,8 +475,10 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen String message = u.getValue(Update.MESSAGE); if(u.getValue(Update.ACTION_CODE).equals("task_comment")) description = message; - else if(!TextUtils.isEmpty(message)) + else if(!TextUtils.isEmpty(message) && !TextUtils.isEmpty(description)) description += " " + message; + else + description = message; String commentPicture = u.getValue(Update.PICTURE); return new NoteOrUpdate(user.optString("picture"), @@ -506,33 +504,34 @@ public class EditNoteActivity extends LinearLayout implements TimerStoppedListen } @Override - public void timerStarted(Task task) { - // TODO Auto-generated method stub - addComment(getContext().getString(R.string.TEA_timer_comment_started) + " " + DateUtilities.getTimeString(getContext(), new Date()), "task_started"); //$NON-NLS-1$ - + public void timerStarted(Task t) { + addComment(String.format("%s %s", //$NON-NLS-1$ + getContext().getString(R.string.TEA_timer_comment_started), + DateUtilities.getTimeString(getContext(), new Date())), + "task_started", //$NON-NLS-1$ + false); } @Override - public void timerStopped(Task task) { - // TODO Auto-generated method stub - String elapsedTime = DateUtils.formatElapsedTime(task.getValue(Task.ELAPSED_SECONDS)); - addComment(getContext().getString(R.string.TEA_timer_comment_stopped) + " " + - DateUtilities.getTimeString(getContext(), new Date()) + "\n" + getContext().getString(R.string.TEA_timer_comment_spent) + " " + elapsedTime, "task_stopped"); //$NON-NLS-1$ - + public void timerStopped(Task t) { + String elapsedTime = DateUtils.formatElapsedTime(t.getValue(Task.ELAPSED_SECONDS)); + addComment(String.format("%s %s\n%s %s", //$NON-NLS-1$ + getContext().getString(R.string.TEA_timer_comment_stopped), + DateUtilities.getTimeString(getContext(), new Date()), + getContext().getString(R.string.TEA_timer_comment_spent), + elapsedTime), "task_stopped", false); //$NON-NLS-1$ } /* - * Callback from edittask when picture is added + * Call back from edit task when picture is added */ public boolean activityResult(int requestCode, int resultCode, Intent data) { - Log.d("Activity result", "Called on camera for request code: " + requestCode); CameraResultCallback callback = new CameraResultCallback() { @Override public void handleCameraResult(Bitmap bitmap) { - picture = bitmap; - pictureButton.setImageBitmap(picture); - Log.d("Picture", "Picture = " + picture); + pendingCommentPicture = bitmap; + pictureButton.setImageBitmap(pendingCommentPicture); } }; diff --git a/astrid/plugin-src/com/todoroo/astrid/notes/NoteMetadata.java b/astrid/plugin-src/com/todoroo/astrid/notes/NoteMetadata.java index a8cf0be7d..90d61f43f 100644 --- a/astrid/plugin-src/com/todoroo/astrid/notes/NoteMetadata.java +++ b/astrid/plugin-src/com/todoroo/astrid/notes/NoteMetadata.java @@ -24,7 +24,7 @@ public class NoteMetadata { public static final StringProperty THUMBNAIL = Metadata.VALUE3; /** note external id (use for your own purposes) */ - public static final StringProperty COMMENTPICTURE = Metadata.VALUE6; + public static final StringProperty COMMENT_PICTURE = Metadata.VALUE6; /** note external provider (use for your own purposes) */ public static final StringProperty EXT_PROVIDER = Metadata.VALUE4; diff --git a/astrid/plugin-src/com/todoroo/astrid/timers/TimerActionControlSet.java b/astrid/plugin-src/com/todoroo/astrid/timers/TimerActionControlSet.java index d4fed56e9..012e96651 100644 --- a/astrid/plugin-src/com/todoroo/astrid/timers/TimerActionControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/timers/TimerActionControlSet.java @@ -7,8 +7,8 @@ import android.app.Activity; import android.os.SystemClock; import android.view.View; import android.view.View.OnClickListener; -import android.widget.Button; import android.widget.Chronometer; +import android.widget.ImageButton; import com.timsu.astrid.R; import com.todoroo.andlib.utility.DateUtilities; @@ -17,21 +17,18 @@ import com.todoroo.astrid.helper.TaskEditControlSet; public class TimerActionControlSet extends TaskEditControlSet { - private final Button timerButton; + private final ImageButton timerButton; private final Chronometer chronometer; - private final View timerContainer; private boolean timerActive; private final Activity activity; private Task task; - private final List listeners = new LinkedList(); + private final List listeners = new LinkedList(); public TimerActionControlSet(Activity activity, View parent) { super(activity, -1); this.activity = activity; - timerButton = (Button) parent.findViewById(R.id.timer_button); - - timerContainer = (View) parent.findViewById(R.id.timer_container); - timerContainer.setOnClickListener(timerListener); + timerButton = (ImageButton) parent.findViewById(R.id.timer_button); + timerButton.setOnClickListener(timerListener); chronometer = new Chronometer(activity); } @@ -59,14 +56,14 @@ public class TimerActionControlSet extends TaskEditControlSet { @Override public void onClick(View v) { if (timerActive) { - TimerPlugin.updateTimer(activity, task, false); + // TimerPlugin.updateTimer(activity, task, false); - for(TimerStoppedListener listener : listeners) + for(TimerActionListener listener : listeners) listener.timerStopped(task); chronometer.stop(); } else { - TimerPlugin.updateTimer(activity, task, true); - for(TimerStoppedListener listener : listeners) + // TimerPlugin.updateTimer(activity, task, true); + for(TimerActionListener listener : listeners) listener.timerStarted(task); chronometer.start(); } @@ -100,16 +97,16 @@ public class TimerActionControlSet extends TaskEditControlSet { } } - public interface TimerStoppedListener { + public interface TimerActionListener { public void timerStopped(Task task); public void timerStarted(Task task); } - public void addListener(TimerStoppedListener listener) { + public void addListener(TimerActionListener listener) { this.listeners.add(listener); } - public void removeListener(TimerStoppedListener listener) { + public void removeListener(TimerActionListener listener) { if (listeners.contains(listener)) listeners.remove(listener); } diff --git a/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java b/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java index 6f2a424d1..b9d17e2ce 100644 --- a/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java @@ -7,7 +7,7 @@ import com.timsu.astrid.R; import com.todoroo.andlib.data.Property.IntegerProperty; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.helper.TaskEditControlSet; -import com.todoroo.astrid.timers.TimerActionControlSet.TimerStoppedListener; +import com.todoroo.astrid.timers.TimerActionControlSet.TimerActionListener; import com.todoroo.astrid.ui.PopupControlSet; import com.todoroo.astrid.ui.TimeDurationControlSet; @@ -17,7 +17,7 @@ import com.todoroo.astrid.ui.TimeDurationControlSet; * @author Tim Su * */ -public class TimerControlSet extends PopupControlSet implements TimerStoppedListener { +public class TimerControlSet extends PopupControlSet implements TimerActionListener { TaskEditControlSet estimated, elapsed; diff --git a/astrid/res/layout/task_adapter_row.xml b/astrid/res/layout/task_adapter_row.xml index 4d615b2ab..ebe1f3efb 100644 --- a/astrid/res/layout/task_adapter_row.xml +++ b/astrid/res/layout/task_adapter_row.xml @@ -39,9 +39,9 @@ android:id="@+id/completeBox" android:layout_width="45dip" android:layout_height="fill_parent" + android:scaleType="fitCenter" android:layout_alignParentTop="true" - android:layout_marginLeft="10dip" - android:button="@drawable/btn_check" /> + android:layout_marginLeft="12dip" /> diff --git a/astrid/res/layout/task_edit_activity.xml b/astrid/res/layout/task_edit_activity.xml index 2998e0f68..f63f83538 100644 --- a/astrid/res/layout/task_edit_activity.xml +++ b/astrid/res/layout/task_edit_activity.xml @@ -9,10 +9,10 @@ + android:layout_weight="100" > - + + android:visibility="gone" > + + android:src="@android:drawable/ic_menu_close_clear_cancel" /> + + android:src="@android:drawable/ic_menu_save" /> - @@ -79,19 +81,18 @@ android:gravity="center" android:text="@string/TEA_more" android:textStyle="bold" /> - - + android:visibility="gone" > + - @@ -118,10 +118,10 @@ @@ -135,11 +135,11 @@ android:layout_gravity="top" android:layout_marginRight="3dip" android:layout_weight="1" + android:background="#00000000" android:paddingBottom="2dip" android:paddingLeft="7dip" android:paddingRight="7dip" android:scaleType="centerInside" - android:background="#00000000" android:src="@drawable/camera_button" /> @@ -148,47 +148,39 @@ android:id="@+id/commentField" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginRight="1dip" android:layout_marginLeft="1dip" - android:paddingLeft="10dip" + android:layout_marginRight="1dip" android:layout_weight="100" android:autoText="true" android:background="@drawable/footer_comment_edittext" android:capitalize="sentences" android:hint="@string/TVA_add_comment" + android:paddingLeft="10dip" android:textSize="16sp" /> - -