From c83b1b74e5d25510aaa148c34c65d0924039cc0a Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Tue, 5 Mar 2013 15:02:21 +0000 Subject: [PATCH] Previous message and next message buttons. --- .../drawable-hdpi/navigation_next_item.png | Bin 0 -> 1470 bytes .../navigation_previous_item.png | Bin 0 -> 1494 bytes .../drawable-mdpi/navigation_next_item.png | Bin 0 -> 1253 bytes .../navigation_previous_item.png | Bin 0 -> 1275 bytes .../drawable-xhdpi/navigation_next_item.png | Bin 0 -> 1721 bytes .../navigation_previous_item.png | Bin 0 -> 1725 bytes .../android/contact/ContactListActivity.java | 2 +- .../messages/ConversationActivity.java | 23 +++++- .../messages/ConversationListActivity.java | 2 +- .../android/messages/ReadMessageActivity.java | 72 +++++++++++++----- .../messages/WriteMessageActivity.java | 2 +- 11 files changed, 75 insertions(+), 26 deletions(-) create mode 100644 briar-android/res/drawable-hdpi/navigation_next_item.png create mode 100644 briar-android/res/drawable-hdpi/navigation_previous_item.png create mode 100644 briar-android/res/drawable-mdpi/navigation_next_item.png create mode 100644 briar-android/res/drawable-mdpi/navigation_previous_item.png create mode 100644 briar-android/res/drawable-xhdpi/navigation_next_item.png create mode 100644 briar-android/res/drawable-xhdpi/navigation_previous_item.png diff --git a/briar-android/res/drawable-hdpi/navigation_next_item.png b/briar-android/res/drawable-hdpi/navigation_next_item.png new file mode 100644 index 0000000000000000000000000000000000000000..e6495b29cfe3acc6455414dd7edfd68926ba72c3 GIT binary patch literal 1470 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0<RzFwUtj!6b93RUi%Wu15$?rmaB)aw zL8^XGYH@yPQ8F;%(v(3~6<9eJr6!i-7lq{K=fFZSAS1sdzc?emK*2fKRL@YsH!(Rg z4<rKC;p=PVnO9trn3tUD>0+w{G(#^lGsVgX7`*1@#-^rD1}=t%u7;K-hL)}-PR@>Q zriSJwPKGeOF8Rr&xv6<2Fuf@Vy=FM|f)Yb+0nlcb)S}F?)D*X({9FaFr>!z^yTur% zc~HG6xZPrcQ?EYIG5VmWMT%;e5HS6KnDB%P<iL}DY927X7XcIY7OqL}7#NrgJY5_^ zDsH`*c~;vcP~zBo(`H4Nur4KSRnN_npD0WJ)Z%WbS(5TNf8)eS{Yq0>*Z1;HdgJDK z%By2iD~F-PvCr3vU#F>?o||3#di##x;^%hH_dK^eUwy3i_~X83+9w0+A{oOPL=#y5 zycPX(cKYFm8|oFL4sh=H@v>NH;)(g^9E@Ht?p?s2lBKmU$$;zC0pa(*HN9FHB;VS6 zU{smB$0N0oPnU`BpoRN=>8~0q*nOj7UWlA25@VXvX?}rAYwL{{j1h|%Dxay_zh_g8 z`qrqsfitLqJ4r#5r?Ey?`lithcEx-9n`638TvTxIN|%#qHo3n@Z_(a16PM0(16I9A zC%(5^=VUv%itS<*e(-Ph-mpe9-9*2%gjuf@UTnUe7O+^gSFVxuUtjwAP4Ok0mV_L6 z8N1<BP?4s>3D?*aOXVY&Z}0o6kUEvs&0%J4hET!QhA6$H_3af20ygHgY^x;S+<WQ5 zc&umU{e3k`EFQJx7i;Z)Rx2e;47`&euEoHtGhIT~qv@X24Z~Xb2@K{un<B0FiZ94T z7}l!$u{Y0Y46mDZY|>0~Tkf4aIZJs8?wy!lc+t&Q{K7diqgR`~Im;$LIQON_p)XA8 z<=4V@hU;s7YG1bA#3i@%NKM(x4bS|2-goXjyoRB9R{HeSIr_bQLPDKSBMdJ;w@@_u zAuV;TRqmka{KuE{l;1GQ@G?CK$nH^|cks95{bx&+dQY7`*C?%b<G9PQ%<KRBb66ul gk@#UfYYnFX!!DzWI|=TQp`a4g)78&qol`;+0KK3TSO5S3 literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-hdpi/navigation_previous_item.png b/briar-android/res/drawable-hdpi/navigation_previous_item.png new file mode 100644 index 0000000000000000000000000000000000000000..23778ae9b73517818c0c37b0e268a328385c3836 GIT binary patch literal 1494 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0<RzFwUtj!6b93RUi%Wu15$?rmaB)aw zL8^XGYH@yPQ8F;%(v(3~6<9eJr6!i-7lq{K=fFZSAS1sdzc?emK*2fKRL@YsH!(Rg z4<rKC;p=PVnO9trn3tUD>0+w{G(#^lGsVit$imIc#mvmq$-u?X(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yq1POzUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnv1= zG!Lpb1-DyFaq86vIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1z4q6#p&%nUs;pyTS zQgQ3e%-!BGfda?Q?~N=C4-uKDprItDw1VZ1pNolD=A*>|HKKL`N9;XVJ_dGhiP>E` z(%?0rq`QM7EJ>khs)pK+xb^oRY%kbwnfqSx3CSO#yEnY4D}Q$8XWBLHCWo6c`!?Ck zVNgH7S-`ZYH)00A`s9<_Yt}GbX^?*qc+X>L&_#|4=O@jM0laoitOfFsY;ls22^=Af z^$(0S7_}dqU}LlmDt$0({n8q*nWB%4KZtH=l-8B5Kj<=J`Tw}s6@n#A)(Yo7GJ7=N z++hFDmc?Vc<OQ!|%NtZTWdE`aU~_Zit6-2j!FK=PvX|nKg7q~Uuc<wLARb}%SFLYz zY*<#i86)3;nrEMkA{(y!QC}PD#rc=<@`F<)`d3(I#ceswZNPcX$Gli~L2UMP!)yO} zj1#s<Po4BKwf_7T@A+}*_e-o}4?0UPX6RqKnX67Jce!Bc0(p@QB}S$DS+C_tWb9ed zzGy@IK7Z%3lj`d$3Zfm`b(NpyOKoQVHK#%8$N|&aM#AqKUAaEo>};_M$UhyhpZ8kk z4VyHVQ&|#IZf}}8;bTF2okp=7*FlNixuV%qE2o7tt<Rs?C^#Xzxj|a)RkE&d(wnTz zFEy80J?1oPO6}0`ozXM>t{KM!i-jH0_kJ+uzt)dgDWUK1XhOPE=3CRVqTbECOd`im zgs$DYtTLWw)pOP9ADLA4U3~EJtto%c<t}M`he9)tjeD!k99mfwSKykqJYM*F&iYLo zCp>-Ewkc=l>K|L4U+Ml@rD6a6pL!V+I97kGXSLxpVCY;{u~l?#z&}t)>*?y}vd$@? F2>>ggAu0d> literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-mdpi/navigation_next_item.png b/briar-android/res/drawable-mdpi/navigation_next_item.png new file mode 100644 index 0000000000000000000000000000000000000000..88029a82d4f2d675e97b4f6b56643a5bd5a7e594 GIT binary patch literal 1253 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0<RzFwUtj!6b93RUi%Wu15$?rmaB)aw zL8^XGYH@yPQ8F;%(v(3~6<9eJr6!i-7lq{K=fFZSAS1sdzc?emK*2fKRL@YsH!(Rg z4<rKC;p=PVnO9trn3tUD>0+w{G(#^lGsVit$imIc#njc*$-u?X(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yq1O$kUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dR<{@! znwuM&<1`PdHwCL(z<Mok>eUB2MjsTlNKp+F0;V4j6P|E^9C*@C%>$<QB4EP4sMy8B zz`z*p>EaktaqG?Wy<W_YBCX}7Qaxph5+pm8^c)rPwyr;5m1O0+@ce`B6|J{4qqzU= zY22kSE$~RxMLn02-q+>@IXXv_b_VYdx0}%#`RvV^xyA3>GH0>bE!O`aGn3&xQ&Ig~ z3D=9?|9I|bJ(vIavBkSzd`}kgNgF(V%%Qb`;r#}l;A>2J4_Vm0#4&eW^W5>iFI>qj zf!9r!wdR1{9cK>V4Sdeiu5VzS{efqGKwIdG?Oz(zZ?u`I81R~AEAMKy?Y(<;M!RLU zdI@KxMzhxz?$B&)yY}R#4y$T3{;y6l;qG3=yKr6RWv_<S0p6e3)BW6wd?w2lgciC! zcC={SJa6h_c|$#EJ&m7wU%ocBHYDDBKV#l(tM7fS4Rcl{cyikv65I1_k8;qJsTG}K zrDcDTN_kgjc?gLvl&#qCrBT{cMei~HgIilPRqtJy5VKPAtyjy<^^s}^wm0ZAvN5dM W;kqa#Z_PhY!Q<)b=d#Wzp$Pza_Ot^4 literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-mdpi/navigation_previous_item.png b/briar-android/res/drawable-mdpi/navigation_previous_item.png new file mode 100644 index 0000000000000000000000000000000000000000..8d19e3911e0d6d2098ad89121f3815b7fe50dc50 GIT binary patch literal 1275 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8<fR&VF+bTgE72zA8;GAESs$i;Tpqp%9W~g9hqGxDg zU}<8hqhMrUXrOOsq;FuZYiM9)YHnp<r~m~@K--E^(yW49+@N*=dA3R!B_#z``ugSN z<$C4Ddih1^`i7R4mih)p`bI{&Koz>hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s0<RzFwUtj!6b93RUi%Wu15$?rmaB)aw zL8^XGYH@yPQ8F;%(v(3~6<9eJr6!i-7lq{K=fFZSAS1sdzc?emK*2fKRL@YsH!(Rg z4<rKC;p=PVnO9trn3tUD>0+w{G(#^lGsVit*wDz-$k5Hy$-u?X(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yuGh!_r(RHE$SnZc?2=lPS(cjOR+OKs0QR(1CN{Si zS-6?Gm|5U752`l>r&|nNaq86vIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1z-tv0q z0R{%fTu&FrkcwMxrtjBhNfc-+w`_UQ;iCCyipcEXSARUNsF!Gb(Es5cut52WkiC`a zPM0auyERmu+&fCo8K2a?cysUVGp5!jC!bZ@z4^WQ{WCS26Bl3PxRsfxryxEd#6iUM zzwISX*A)lDmj-!0*{*!}sLx?B9cTYb(>DnjaC(2>{A}=0GlAvWlhxek9;m%M-702p z$ME{XdYKKq_CAjnOy&4;h>a)O=&<dZXr?NT4OiD4vZy(1oO3uk%KdDfqvSG$HvSu} z%hO~`g&QMh1Rt9%yW$%&KcnheyRa{PQ!5(V8y0>0YtHWXaMM*OKV^k0rk4*Z_cp9L zb*AM?B4e5jE6b|_^;Z>P@4L(VD!B}HHx$3P_Lr-tl8Zy6HQRNO|J#Za!49!M1E%&n z-ncUJfzp9DvSkkfry8y@(yib$s1B5_3oh<5nXm)MZm^a0+Q>F((s!2<ZueC@(jM>j uuua-uwzOu&(wUr}{x`)q+-Cj5VZb09nXrY!F)$od9C^C>xvX<aXaWGX8NM3; literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-xhdpi/navigation_next_item.png b/briar-android/res/drawable-xhdpi/navigation_next_item.png new file mode 100644 index 0000000000000000000000000000000000000000..c36e050a396805e66faad8c6488b75ab2e32fbf1 GIT binary patch literal 1721 zcmaJ?c~BEq9NvK8EU450q%AH%ER-C(2@sPZ2qa*lBvObHY+(q=0uhr9n<WRe2y$pg z1V%+|NmbN(p%zCx2?ebO3SzyewIZmk=zs)7DNa?oLBRe|x-+}K_uhQp_dDP0H}R5% zZZ1A9006j&gn|UZM%rE{2jY8Bm2;mkv+)=io``1P204ZRQA#u&0Yz$gCX#^2m8P7_ zNH_r4&s9lfxJ(?!RiJ9R+=ihW)mnlL0O1RaTDc+{!NGJSQ>EcitPM>RP^IKil0wCh zSj$JURKh$ANz9W-6?xeTj*_w<0t`2D2>~^N%R!@hrAEg!@+f1vTw-lIW>CN}2%gQO zybDSujtBWDhJc}Th^BzTU@$C%4u?RT5Dpb&LNLUDnGA?cgCTAxn+w6<_(LJQVag0{ zf*^L>7qR0}vT$6>WiSi|1Kq%)qgW;b=5RO+h{<3wX#|3%Gih+Sk*3l4PbdfwodQ#7 zaTTfoZHn@AG#BSlh)Cb1pw>>xYINgeA_~SZ%C!ub4%t$g0E)%`4^^ut(K<W<c^~h8 z3hSgMEy74ZbZ9Q7AR3q9Z*!&P@-ak?qnH#$S58zhJ`2TBT^6bZ`H7))7!=DDDvj-A zj3E|tMH(G0*C-H?fJY%T=qi<x%OuLnX0zbXXh;CVF)$|t=EQ_V^P^%zVRlF~Ji!&9 zid;3K!6&%N_gv<bT-z|HwS;E@f~oX~G8RMC;8@aJ)s(R?W2e*`=PIX;1)7q}AcA4o zTKlh7PaF~RV_QxRF0q*$eMCddJ4Ot433hW8abJQ(f+(r+ZeMlhdbb?!ORJB4rQh0^ zcDSRJEUFExc6Bsu5N>vL4puf+jkdV0NNQPx)d=_8j-CH7dTw->DY@@V-636jx%FoL zzP<Z6hRk-!wO72C2h@^h+q*LJhb(Pv4s!1^dF2jCJrBr6Qfh%$x6MSpi9K?+3EFY3 zm+x9wU(LTg@}?x(?{_=tv@}}a(#4UF4UyEnMfPc|Z9v!A$VR7a<nkgq<n9yn$jhin zX`WX%lWN~&ilY~L{=#>*(vk`*x@mzdN5SW1&&u?zb`b^nkkfa!GBFMn*cVy*GNPMe zysX?GKqasBnD(s)<j`Jdu)IB9?3PyXQZn#qzz0Q-?+jLY=nD>aeDT09)m=edo8!DO zu;Hvv@3DegZ-ZZR=rwIt?F@YRoYFn6773|vBlMwpn(ok&B6c$m5{oKVL0)D+-Em3& zbmsPX($dv^zS9#clS$Z#zniOzOWu-dn^Sw)g4kr=Cg~H;A42-;sgVy^PY_dEz~+Uj zjUCCJ;Gm1SXV<1HyX#w9X|9#VHs6}4rKKJ{>wMkgGswbw4u);hUpRG=%Gdn1g*?B1 z%|d6kYHkp{rnqVgIZpHk^F_+AF7UI1k7#|f_oTnBJ7a&MNd4ui*Hu;X%5NN?Mg-d} z8|quK|3c55*~6!2?FfoH4m^ER0S#?cT>2<T(C=@lyX)ANnSml#D=0e)vbzg!OX@c4 zwpv_7R{AMbuID=6N}+nRHeyq|)%ny4lTTj;pLL|1tqVI<30^EKNJ(?`@;;a{Smpmb zi`EoRBex8l>uejYxia$HGC&<!*85BrObTxP>CXPz*3JO-tMKc|v%uYl?)6mHc+RP6 z$ajxw-&LUB(%@e8!Y=i%ld|XL7!vmLkhjcSIfx7vt<;;Bl5RZIAKmfm`qfv%PG;qN zoO=GK{_7IfsIxg|6Py42g-^gAFXS@MKE19l{!=qQnC*9ChIWqG;hOQHeSiIvLSe@J z>5Ev7W%1{LfR?V)eazuf*>Vo(BFb;HbS$P9S)KOMnqkLq>1i-==E$f|?a+Xo1z<G0 gj+veLkD35`;QILk1H!Hx$o4Z4#YhB4qSMy=1E(*SR{#J2 literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-xhdpi/navigation_previous_item.png b/briar-android/res/drawable-xhdpi/navigation_previous_item.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0b485f68107c7880f6340db12ecf16b4fb31fd GIT binary patch literal 1725 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%uvD1M9<K~ zz|zE0N5ROz&_LhNNZ-I**U-Sq)ZEIzPyq^*fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD<cE0=g99h1>$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;Np<V zf>iyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr4|esh**NZ(?$0 z9!LbN!`Ii!Gq1QLF)umQ)5TT^Xog;9W{Q=Ok%gO?i<yzBlYxt&p{t>#iJ_&diIcOV zo2j9>iIX8ruS<S%X>Mv>2~2MaLa#ASy`aR9TL84#CABECEH%ZgC_h&L>}jh^+-@<z zX&zK>3U0R;;?%1Tbc{YIYLTKECIn1BASOKF0y*%cpPC0u??u3by)V>cIWWKId%8G= zRNQ(q`+c@=q0I69>FYNBKB8kU@6+KV*Ap8Yr6TmSQ6<G_;S~E5!q<E<q9?I;xy%Z9 zrq?w|t?SA0B%8$Y+k21yzI?Cf*SEWyf8VwJJ?H)MIRAHRtIvNgJ@@_d<2lufE&6<? zEk2iG)6}4#z`?-;rcUHNS@pNE)oEdr{8b*M4~jpNHb(etZ_sj+?tib`k$zS*VCfCU zZ^hlu9QA)po+@*JsjrDkBk-8z1_N%Uutq-vexFa5#5recB<@aQ^nD<5{)@|_QqPvu z57+!UW)(HO`MmkeAJx};t3F74$-K){?8qMRJfeoVf>SR$uZ6Fv?D!*9{yofh6MR-T z#3tyA%STWD%khHAe#^E)(FX<9c076Xyy5->t=S4wHy@BH=(!)iO-%nHe_V!a+q4Gb zgvPBuI+*gB7}s7-P`2Qm7Uk(LW-o8UuzgG4;Y|k~C)i4qr~FZj-)g7J#Mh|Xx6thf zPqUo6W{7fvym#Emi!8N?JAX%Z=hz4{ZQFQr<LTJGr|*P*#H@~b6MevK+s<`G;+v1w z#-8>&v%Dd#ZyT>n?qtdReOv1`T&vxo&lvR1ujy#t#jtOGZ41nKlUMW?Rv5p3w5Bwr z=I6fUHosSL$cH<mq+NVlCeLnl<c!@JHg(C#GEIEhVhSJU3c2lg{@?Y?oDI@%F6ta8 znDRDJ?nI=J)*h}~CfpM$j_%wyNurdun(3sdx`p%#QH75zcNR39IK^H$?ex=GtR8pR zzRP+BemZE>ccK@_jbT53LsBid$JTkd^8_u%O&7G^{C&Oldx}?%Y4CTBt6T;$m8oC; zX3c#&qp57x%JxNBtR6MY;s^Ct8y#80$9}_WwWxyP`Jd~2gXMUuTg1*X@w6|pbFb9d zY*SXSBux9j29tY<b{<|5&oy+PZuH#Da9Hi-#KkOLsS&=Mm1mjMZs_eV^q63o#Js&Z ziczSj_zTky6W{GO&dDV%4P$Iuym`v;z~dacok8=|*Im$Yc(nKD{|1%gM>N8Z6c@<Z zT+wrIn#cA1(~Xpm%rSpf^y_=Se$SG6vAd$?uUfPHlqnKV#6J95zfR*%w$5Wg78XWF i2LS;vRrYv212co3@M6Vd{))n&3dPga&t;ucLK6ToijgY- literal 0 HcmV?d00001 diff --git a/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java b/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java index 6fcea7483b..16638abbb1 100644 --- a/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java +++ b/briar-android/src/net/sf/briar/android/contact/ContactListActivity.java @@ -70,7 +70,7 @@ implements OnClickListener, DatabaseListener, ConnectionListener { layout.addView(list); ImageButton addContactButton = new ImageButton(this); - addContactButton.setPadding(5, 5, 5, 5); + addContactButton.setPadding(10, 10, 10, 10); addContactButton.setBackgroundResource(0); addContactButton.setImageResource(R.drawable.social_add_person); addContactButton.setOnClickListener(this); diff --git a/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java b/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java index f290dbc2d8..28bc3a3fd9 100644 --- a/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java +++ b/briar-android/src/net/sf/briar/android/messages/ConversationActivity.java @@ -82,7 +82,7 @@ implements DatabaseListener, OnClickListener, OnItemClickListener { layout.addView(list); ImageButton composeButton = new ImageButton(this); - composeButton.setPadding(5, 5, 5, 5); + composeButton.setPadding(10, 10, 10, 10); composeButton.setBackgroundResource(0); composeButton.setImageResource(R.drawable.content_new_email); composeButton.setOnClickListener(this); @@ -174,6 +174,10 @@ implements DatabaseListener, OnClickListener, OnItemClickListener { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { + showMessage(position); + } + + private void showMessage(int position) { PrivateMessageHeader item = adapter.getItem(position); Intent i = new Intent(this, ReadMessageActivity.class); i.putExtra("net.sf.briar.CONTACT_ID", contactId.getInt()); @@ -181,7 +185,22 @@ implements DatabaseListener, OnClickListener, OnItemClickListener { i.putExtra("net.sf.briar.MESSAGE_ID", item.getId().getBytes()); i.putExtra("net.sf.briar.CONTENT_TYPE", item.getContentType()); i.putExtra("net.sf.briar.TIMESTAMP", item.getTimestamp()); + i.putExtra("net.sf.briar.FIRST", position == 0); + i.putExtra("net.sf.briar.LAST", position == adapter.getCount() - 1); i.putExtra("net.sf.briar.STARRED", item.isStarred()); - startActivity(i); + startActivityForResult(i, position); + } + + @Override + public void onActivityResult(int request, int result, Intent data) { + if(result == ReadMessageActivity.RESULT_PREV) { + int position = request - 1; + if(position >= 0 && position < adapter.getCount()) + showMessage(position); + } else if(result == ReadMessageActivity.RESULT_NEXT) { + int position = request + 1; + if(position >= 0 && position < adapter.getCount()) + showMessage(position); + } } } diff --git a/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java b/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java index 32b8e73b17..ce1a77a086 100644 --- a/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java +++ b/briar-android/src/net/sf/briar/android/messages/ConversationListActivity.java @@ -76,7 +76,7 @@ implements OnClickListener, DatabaseListener { layout.addView(list); ImageButton composeButton = new ImageButton(this); - composeButton.setPadding(5, 5, 5, 5); + composeButton.setPadding(10, 10, 10, 10); composeButton.setBackgroundResource(0); composeButton.setImageResource(R.drawable.content_new_email); composeButton.setOnClickListener(this); diff --git a/briar-android/src/net/sf/briar/android/messages/ReadMessageActivity.java b/briar-android/src/net/sf/briar/android/messages/ReadMessageActivity.java index c862c978c0..29f6848ed2 100644 --- a/briar-android/src/net/sf/briar/android/messages/ReadMessageActivity.java +++ b/briar-android/src/net/sf/briar/android/messages/ReadMessageActivity.java @@ -40,6 +40,10 @@ import com.google.inject.Inject; public class ReadMessageActivity extends BriarActivity implements OnClickListener { + static final int RESULT_REPLY = RESULT_FIRST_USER; + static final int RESULT_PREV = RESULT_FIRST_USER + 1; + static final int RESULT_NEXT = RESULT_FIRST_USER + 2; + private static final Logger LOG = Logger.getLogger(ReadMessageActivity.class.getName()); @@ -53,9 +57,10 @@ implements OnClickListener { private ContactId contactId = null; private String contactName = null; private MessageId messageId = null; - private boolean starred, read; - private ImageButton replyButton = null, starButton = null; - private ImageButton readButton = null; + private boolean first, last, starred, read; + private ImageButton starButton = null, readButton = null; + private ImageButton prevButton = null, nextButton = null; + private ImageButton replyButton = null; private TextView content = null; @Override @@ -75,6 +80,8 @@ implements OnClickListener { if(contentType == null) throw new IllegalStateException(); long timestamp = i.getLongExtra("net.sf.briar.TIMESTAMP", -1); if(timestamp == -1) throw new IllegalStateException(); + first = i.getBooleanExtra("net.sf.briar.FIRST", false); + last = i.getBooleanExtra("net.sf.briar.LAST", false); if(state != null && bundleEncrypter.decrypt(state)) { starred = state.getBoolean("net.sf.briar.STARRED"); @@ -154,16 +161,8 @@ implements OnClickListener { footer.setOrientation(HORIZONTAL); footer.setGravity(CENTER); - replyButton = new ImageButton(this); - replyButton.setPadding(5, 5, 5, 5); - replyButton.setBackgroundResource(0); - replyButton.setImageResource(R.drawable.social_reply); - replyButton.setOnClickListener(this); - footer.addView(replyButton); - layout.addView(footer); - starButton = new ImageButton(this); - starButton.setPadding(5, 5, 5, 5); + starButton.setPadding(10, 10, 10, 10); starButton.setBackgroundResource(0); if(starred) starButton.setImageResource(R.drawable.rating_important); else starButton.setImageResource(R.drawable.rating_not_important); @@ -171,13 +170,37 @@ implements OnClickListener { footer.addView(starButton); readButton = new ImageButton(this); - readButton.setPadding(5, 5, 5, 5); + readButton.setPadding(10, 10, 10, 10); readButton.setBackgroundResource(0); if(read) readButton.setImageResource(R.drawable.content_unread); else readButton.setImageResource(R.drawable.content_read); readButton.setOnClickListener(this); footer.addView(readButton); + prevButton = new ImageButton(this); + prevButton.setPadding(10, 10, 10, 10); + prevButton.setBackgroundResource(0); + prevButton.setImageResource(R.drawable.navigation_previous_item); + prevButton.setOnClickListener(this); + prevButton.setEnabled(!first); + footer.addView(prevButton); + + nextButton = new ImageButton(this); + nextButton.setPadding(10, 10, 10, 10); + nextButton.setBackgroundResource(0); + nextButton.setImageResource(R.drawable.navigation_next_item); + nextButton.setOnClickListener(this); + nextButton.setEnabled(!last); + footer.addView(nextButton); + + replyButton = new ImageButton(this); + replyButton.setPadding(10, 10, 10, 10); + replyButton.setBackgroundResource(0); + replyButton.setImageResource(R.drawable.social_reply); + replyButton.setOnClickListener(this); + footer.addView(replyButton); + layout.addView(footer); + setContentView(layout); // Bind to the service so we can wait for the DB to be opened @@ -227,14 +250,7 @@ implements OnClickListener { } public void onClick(View view) { - if(view == replyButton) { - Intent i = new Intent(this, WriteMessageActivity.class); - i.putExtra("net.sf.briar.CONTACT_ID", contactId.getInt()); - i.putExtra("net.sf.briar.CONTACT_NAME", contactName); - i.putExtra("net.sf.briar.PARENT_ID", messageId.getBytes()); - startActivity(i); - finish(); - } else if(view == starButton) { + if(view == starButton) { final MessageId messageId = this.messageId; final boolean starred = !this.starred; dbExecutor.execute(new Runnable() { @@ -280,6 +296,20 @@ implements OnClickListener { } } }); + } else if(view == prevButton) { + setResult(RESULT_PREV); + finish(); + } else if(view == nextButton) { + setResult(RESULT_NEXT); + finish(); + } else if(view == replyButton) { + Intent i = new Intent(this, WriteMessageActivity.class); + i.putExtra("net.sf.briar.CONTACT_ID", contactId.getInt()); + i.putExtra("net.sf.briar.CONTACT_NAME", contactName); + i.putExtra("net.sf.briar.PARENT_ID", messageId.getBytes()); + startActivity(i); + setResult(RESULT_REPLY); + finish(); } } diff --git a/briar-android/src/net/sf/briar/android/messages/WriteMessageActivity.java b/briar-android/src/net/sf/briar/android/messages/WriteMessageActivity.java index 078541da89..f5c7514bd1 100644 --- a/briar-android/src/net/sf/briar/android/messages/WriteMessageActivity.java +++ b/briar-android/src/net/sf/briar/android/messages/WriteMessageActivity.java @@ -89,7 +89,7 @@ implements OnClickListener { actionBar.addView(to); ImageButton sendButton = new ImageButton(this); - sendButton.setPadding(5, 5, 5, 5); + sendButton.setPadding(10, 10, 10, 10); sendButton.setBackgroundResource(0); sendButton.setImageResource(R.drawable.social_send_now); sendButton.setOnClickListener(this); -- GitLab