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