From 68cd1ff28c25a2056c5b5229336fb9e549830513 Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Mon, 21 Dec 2015 15:47:18 -0200 Subject: [PATCH] New Conversation View in XML It now uses conversation bubbles in alternating colors and vector drawables to indicate message state. The conversation bubbles have been taken from Telegram and can be replaced by a UX designer later. This commit also addresses #9, because message text can now be selected and copied. This is done by using android:textIsSelectable="true" which only works for API level 11 or higher. If we want copy and paste on lower API levels, additional measures have to be implemented. --- .../res/drawable-hdpi/message_delivered.png | Bin 479 -> 0 bytes .../res/drawable-hdpi/message_sent.png | Bin 284 -> 0 bytes .../res/drawable-hdpi/message_stored.png | Bin 323 -> 0 bytes briar-android/res/drawable-hdpi/msg_in.9.png | Bin 0 -> 957 bytes briar-android/res/drawable-hdpi/msg_out.9.png | Bin 0 -> 1871 bytes .../res/drawable-hdpi/social_send_now.png | Bin 1680 -> 0 bytes .../res/drawable-mdpi/message_delivered.png | Bin 313 -> 0 bytes .../res/drawable-mdpi/message_sent.png | Bin 238 -> 0 bytes .../res/drawable-mdpi/message_stored.png | Bin 237 -> 0 bytes briar-android/res/drawable-mdpi/msg_in.9.png | Bin 0 -> 669 bytes briar-android/res/drawable-mdpi/msg_out.9.png | Bin 0 -> 1693 bytes .../res/drawable-mdpi/social_send_now.png | Bin 1097 -> 0 bytes .../res/drawable-xhdpi/message_delivered.png | Bin 627 -> 0 bytes .../res/drawable-xhdpi/message_sent.png | Bin 392 -> 0 bytes .../res/drawable-xhdpi/message_stored.png | Bin 443 -> 0 bytes .../res/drawable-xhdpi/social_send_now.png | Bin 2416 -> 0 bytes .../res/drawable-xxhdpi/message_stored.png | Bin 683 -> 0 bytes .../res/drawable-xxhdpi/msg_in.9.png | Bin 0 -> 2231 bytes .../res/drawable-xxhdpi/msg_out.9.png | Bin 0 -> 3076 bytes .../res/drawable-xxxhdpi/message_stored.png | Bin 969 -> 0 bytes .../res/drawable/message_delivered.xml | 5 + briar-android/res/drawable/message_sent.xml | 5 + briar-android/res/drawable/message_stored.xml | 5 + .../res/drawable/social_send_now.xml | 5 + .../res/layout/activity_conversation.xml | 16 ++-- briar-android/res/layout/list_item_msg_in.xml | 42 +++++++++ .../res/layout/list_item_msg_out.xml | 54 +++++++++++ briar-android/res/values/color.xml | 1 - .../android/contact/ConversationActivity.java | 9 +- .../android/contact/ConversationAdapter.java | 86 ++++-------------- .../contact/ReadPrivateMessageActivity.java | 1 + 31 files changed, 147 insertions(+), 82 deletions(-) delete mode 100644 briar-android/res/drawable-hdpi/message_delivered.png delete mode 100644 briar-android/res/drawable-hdpi/message_sent.png delete mode 100644 briar-android/res/drawable-hdpi/message_stored.png create mode 100644 briar-android/res/drawable-hdpi/msg_in.9.png create mode 100644 briar-android/res/drawable-hdpi/msg_out.9.png delete mode 100644 briar-android/res/drawable-hdpi/social_send_now.png delete mode 100644 briar-android/res/drawable-mdpi/message_delivered.png delete mode 100644 briar-android/res/drawable-mdpi/message_sent.png delete mode 100644 briar-android/res/drawable-mdpi/message_stored.png create mode 100644 briar-android/res/drawable-mdpi/msg_in.9.png create mode 100644 briar-android/res/drawable-mdpi/msg_out.9.png delete mode 100644 briar-android/res/drawable-mdpi/social_send_now.png delete mode 100644 briar-android/res/drawable-xhdpi/message_delivered.png delete mode 100644 briar-android/res/drawable-xhdpi/message_sent.png delete mode 100644 briar-android/res/drawable-xhdpi/message_stored.png delete mode 100644 briar-android/res/drawable-xhdpi/social_send_now.png delete mode 100644 briar-android/res/drawable-xxhdpi/message_stored.png create mode 100644 briar-android/res/drawable-xxhdpi/msg_in.9.png create mode 100644 briar-android/res/drawable-xxhdpi/msg_out.9.png delete mode 100644 briar-android/res/drawable-xxxhdpi/message_stored.png create mode 100644 briar-android/res/drawable/message_delivered.xml create mode 100644 briar-android/res/drawable/message_sent.xml create mode 100644 briar-android/res/drawable/message_stored.xml create mode 100644 briar-android/res/drawable/social_send_now.xml create mode 100644 briar-android/res/layout/list_item_msg_in.xml create mode 100644 briar-android/res/layout/list_item_msg_out.xml diff --git a/briar-android/res/drawable-hdpi/message_delivered.png b/briar-android/res/drawable-hdpi/message_delivered.png deleted file mode 100644 index efade63916a2f36a74400bf378d587a763b690a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmV<50U-W~P)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00009a7bBm000XU z000XU0RWnu7ytkPkx4{BR7gwhRXs}sK@g20YN}Y+s7TOK1x0NA4bj4X;qOW5AF#9z z`2z|{gn-zHjUpn^LX1e_d&|r++1p!lq`AU_;oi-@`PhAPY^4%=+P#g2^8?hQ3|$?N zas~U$r%9rYyjx5P8>S;>TSfkX)N8Os7VT(J-PN2h*n1y#c)I)WHCx@n(b}lA;+oFW z<Xd&Y+hbLNBD5sS2>3+sFsUIHx3!$bh4)eN04H_gXgTgLke`F;aFT4N%L<qY!r~U} zU9|96MH`#59}D@(kR8^i3Qz?}gLd%UN6)Ja1nv^s0G)5XN3dtun&OZ=(K|9OnASWl zxyq$%FFAVCbPO?;!8?XxXO^%2+B8XG9GUe;S!)`_`44!1;T<6HIuhK%7~4eWA2QWZ ze+>bwz6j!du*C_#O!^HtZ?F~c-8GWu*IYazUS#JW?%{oezzbQl{vY^WVM}@w1c|*r zJWhW^2q3<M9k3AW4%U;7`9tqV{F{GWJsAz8&^3~ANApO)?s*jCX8d8t|KEjA;1_Ip V$@bNPGJOC5002ovPDHLkV1g^*+2Q~I diff --git a/briar-android/res/drawable-hdpi/message_sent.png b/briar-android/res/drawable-hdpi/message_sent.png deleted file mode 100644 index 6edef05a95505d6e4605621b5975f179b331c04e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 284 zcmV+%0ptFOP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv00001b5ch_0Itp) z=>Px#)=5M`R7l6|l)nxEK@f+(lTd0TDv?zvC{E!$cnF<)o@u=Uuc5$nB;@ExXpks0 zS6t5CKTdbQZg-RK+eu~y%9P0yQPU7Llki=oKzJS415&skfS-b6GyLWh3~zg`e=Dp4 zQPTpBaqyo6qNWEN0)`d-ArLifQPa%`Ujt{L83(sjFavg?W|RSb0Xm-RKa)Na6-<E* zFt<r8@JCv;js@ZXOJE3$J=b4+3y*Ens07#onirlp2NB5~xaNhY4q6~t0Ry1wx&G@P i3#=w;`sFGw6Pq{lbXMMsP2|u30000<MNUMnLSTZyJ!`Q5 diff --git a/briar-android/res/drawable-hdpi/message_stored.png b/briar-android/res/drawable-hdpi/message_stored.png deleted file mode 100644 index 8bf1ee459425236b46f96cc10c1912fec981d739..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmV-J0lfZ+P)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0003BNkl<ZNQvE* zF%N<;5QRSigR2aVY)%FZ`~XH1-Apk40oe@1%@BUP1J}?fr46KmzN7<v@9vSiYYYF5 z2-pKxpaxo5HBbVnXl7vtG(cxrjcA<_0B0>h1>`^sgtB7Ut2Et7Vy#fgUqEIF3PkhL zOeV3@k|!>IBS<t8W4R)Rnr8-02NVV_W9Z3f<5Py3o60g}5HR#49TQxI%nb=_21sm2 zKf+(Ag^U*%#G<Lk$X3X3fk7ymc8S3q*vv6-DbW^qNP;7<`rs!^RAO&3^dnf%&;1iP zXxwCzUB*<$8n^)$`L>R!%Rw81>Y4SRf#<72!RuwGg1lbW3f>+Z9TELRczH5^18?!i VKJ0vVY&ie`002ovPDHLkV1gf|fCB&k diff --git a/briar-android/res/drawable-hdpi/msg_in.9.png b/briar-android/res/drawable-hdpi/msg_in.9.png new file mode 100644 index 0000000000000000000000000000000000000000..974d60e2d7aeec5229de2b26495af671ddb579ba GIT binary patch literal 957 zcmV;u148_XP)<h;3K|Lk000e1NJLTq001%o001}$1^@s6zoe_z00004XF*Lt006JZ zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#Pf0{URCwC# znq5c~Q547To!wct&6gI#f;6%3@;Q3$AtIt6e5gPoK}3*1C=7xEiCD-)G0lp^mqJJ} z!xR^)?Th>f`k?JWf?k4Lv2|J2+1anTowJQG%F?dw%(PeLz=dTP&VPP$?z#7z*-Od) zGp6}X^L3VXz!)Pu8>N&9WQ~|T+YQB4M^_VF^e4iw=`me2Q!oW10VAoMl9A6Nxr1ag zbOx{(*>zvMy$z)$8%{bz`#uP_Qx^)x<ai?K56mz0?>$s|3ob=rD67tq93p}~T!E>9 z$Ln3rgGNrDMM-{Ey1)7u{FLyqmm;E9j)?y8drd||prHn8snd6v2|BD8j!hfgwPqzX zYN4j?Afinuf}GfD76@vgrU4NlBD^8fmT}ZVO(Uk3>3dNoO<_f;@GqqSH60{_=9<~r z*Axh~B4UA9AQnj0B^@ef8}A^v+Bu&-Xsh9(L;M@Wr_sChmF1hS@){9@D0)BAQwI>O zyyi$6V){{c&5nvKZEA1M9Y`8tYN+e<?rmjVg#@u05QK2N9qg>$v%S0r%4m_t<u?uS z=3&Q)s+|?Rg$R-BswKP|?moP$vaDbsa*7D_$5fJIPR0tmO3n)6blAy}GtItX@9Rs7 z!je2kgu#e6UT*gejQXw>DoifPu24!Ofzr9AmYYLE<F7nWUn$&y1S2wjoQMNV2w-N< zUFjHn@_gb(p~2*|kF12Lzu4M8=9_HivW!<@VrdwG{-|rde&73Yx|7RV>kkYe3ji~F z_PnRhH}T;Pm(}kw7)k=C8e96fZLCxn8Fu<0BW!`|4si(v_7#cyo*iM>@BjC#uP7FX z1!93%Af|&bGb>?Li|GymrHT@ZCjw@Hpcc(=gd=YdC?1nD-@cET1%g_rsXK^G5Ms3# zJl(-i*l#ohYM>Ts8UR9LvvWTK2aY$?y_o!XI~0z5)f)hPqHokdE!4~~#q&EI<SusN z%W#2@67b>%S1zcCZIF)otca8-l+YA@H-Lu?Ld87~S0$+P6z%Dtyw7W)Lx72*00_w- z>;l&!(f8mP9y-G+I|3t$nk#Rz>oRvEatdG;v9E^_CdQng!vs&L?E^6cMEik49i|)A fQ1fi`mjD9*YGG0-hQus300000NkvXXu0mjfO1`hr literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-hdpi/msg_out.9.png b/briar-android/res/drawable-hdpi/msg_out.9.png new file mode 100644 index 0000000000000000000000000000000000000000..08fd35b4cbdba08150bb224a4981df94431749e7 GIT binary patch literal 1871 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 QhS+{_VqrLRkiRPZUsQV1M*si- literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-hdpi/social_send_now.png b/briar-android/res/drawable-hdpi/social_send_now.png deleted file mode 100644 index d6ebbaedd28c504ab516d2cc79641d66dc9e04f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1680 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 aALGAC6o9(GPXC4g0000<MNUMnLSTY+A|F=( diff --git a/briar-android/res/drawable-mdpi/message_delivered.png b/briar-android/res/drawable-mdpi/message_delivered.png deleted file mode 100644 index 938c50d909e9dfbf0e931632a4a6282f6fe922b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!6#=yXs@#Xw?AcwQSBeIx*fm;}a85w5HkpK$5 z_H=O!vG7k$XlPtHUF6$g%LKM%9Gh$c!dO}YzdBU*cq|iZy3ymX)W=~LZ^!@i*S0H; ztm-v!TrhEKKzUQ9m`1w#1Ut4PVF9xkGvbXi-GakSFDxuyn8$osgF&N`Rf}_(<H3Cr zZp=5+7v>o7@_DT|5TlUGa75g}<U;qcE2SoXeVD5*iQP04ke8X>!VvIKWr38s!nOuB zt|tB|BCf`w=h#o_vOX$yIKz9j;}AQ$alj;YkM*oc6SD6#%n<I#XEgMPk&<{a-;s^+ zrj$bt_mg_(Z33438<<qLF>F*5Sk3%VKE*EJak*2RtVAV4l6+Lemj#ZCf!=2DboFyt I=akR{0IWZ1XaE2J diff --git a/briar-android/res/drawable-mdpi/message_sent.png b/briar-android/res/drawable-mdpi/message_sent.png deleted file mode 100644 index 1f3807209e1db00dc0b3f07fa5f2fd0e2bd813ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|R(QHNhFF|_ zI@zA<kby|M{c86M=WdpCEocrFKj;_sfkjSXGJ8Rp_@?s0!ZOW!N)-(Xw(c)ODyBqi z=sP=Q&mR4sd+QC(q|Wu4ReOcmj=8dU-XD(p4Z0iNDF05HTebb|#DW>62g)CC<lHJZ zYH2TB#p37o+v`AhLgJSAR=Me(XBs3bB9|X~^jySa-%4rLCt?nqH4V)d>+VjS9U%Jc mfbb2*&-JrXttRYT!T4~s`ej!WZF``b89ZJ6T-G@yGywpZJz$Uk diff --git a/briar-android/res/drawable-mdpi/message_stored.png b/briar-android/res/drawable-mdpi/message_stored.png deleted file mode 100644 index 01858ffc64ddf763b244d301acaa33657a5ea3d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237 zcmV<J022R+P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002ANkl<ZIE}TF zy$S*`5QM)pqRmxum2DcqM@Xe`ZMZA!Y_-Z0`0y4tffzQNo;a{YW+y}TC-5iqKmej5 zh+D)Cn1CmcfU6>j8>MMpen{*ASLB?y1l(IDlLTGC9jbFD%~W6R^+a!&9xKjE`__{n zXIF_W11D`L$;jNS8kPal#!n0e;0ElM3|b{P;H2CI*tAM$H8EogoSDaGHWBPG*2rTV nt>n*(lucHza*5TS>1(_I)3qE34-Hbm00000NkvXXu0mjf|HEDa diff --git a/briar-android/res/drawable-mdpi/msg_in.9.png b/briar-android/res/drawable-mdpi/msg_in.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a0267b6e8cc706a1350b1d0fccf6f4a0887b16 GIT binary patch literal 669 zcmV;O0%HA%P)<h;3K|Lk000e1NJLTq001HY001Tk1^@s6q1H*%00004XF*Lt006JZ zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!FG)l}RCwBA zV4w~755+_SMzF5`{}~1nFfua!XTc`HqvJ!!@gRMyK+FvD3<)9i7l?lY@gL++V<FM; zOiYZ79Ot&oNS78DiREBt(*gR1m1tM||NrCrkDphczI?mL*f(R&zyJTg!yLmziYu6z z7+EiDomH+PFWtw<!EQ*3BcM^h!Ntj8tg0YA@$BXqML_e|;65bHAxvD-5+Z5TNEdQa zV%Z?`$Z`lHBLh1-8><9090D>2WFDCgVPv9mZec=p$bS;@IwMsbf@B^O!yo}n3{>_d zB@SU2Y7Sun7D&tk?GPql;lp)u!}Ky*IfR8+M_k%Ir&V5BJbR!*1lbXJ1C>VT<_LTa zp{pZsrV&<VCe|xE=QRN<xV!<)zAVg4%)fsB<{0pD1n7{zmVsGa7q8!4G@uRvM$K<v zTj7mIY-!7-8~2tDm_y!u`SA~!Sib?=h0on%N*d|m7@XM`-7%MM-dizXbq%s(++s@V zY3Ue(bq(AxjEv7+qKexFw9<n*<}0xF{W##w0FYz;Lpn#J4Wm(q3<-z){r%_fXKGjs zHRmr`4gnTyzaKt*v4a{80ht3bkGxJeBjdN&g4Tv>w;!w|H)KHiuH3x8Jg%^<9%LTg z5hGj!H9|ZbOn?9V=LV`52I}Ag3bB#lmR~?iKLPu_Z$X75sC@c*b?bkU25LZ>fR6bJ zbpJ0P_ca+kMUapGK}U;zgUmw-5e5<m-e>?A0RjvFHWbr_e!>-000000NkvXXu0mjf D)Q21^ literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-mdpi/msg_out.9.png b/briar-android/res/drawable-mdpi/msg_out.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f22c541f7f9087c833dd863c6cf07faab5c1d58e GIT binary patch literal 1693 zcmah~drT8|94}M>p*X<>C;>gMV&;Rk*O#<|VIP!MDUi|#q5{|60hP8_?had!SwOd< z5_K^?K%!{SXe7&!4UEp$2J?mZb`EtKoNN=Y^M$~`?ux+pV{w<e`#tXS`Fx+h+@{pz z#6bUWe;SPzs8%Vo)Cf|~JU<`mec-P8HZ?HGgbXqb%O!0vj?$zErbhv_8O}qsD2x;r zUP5DOG`i8K%OEo}NfHBQX2Tu~+itc}Y#J>#-fo2r1t<yV(LAFi4s@M53j#(Y4onwn zxEiY*%{Qt_a5SwXS!XCIFo+Q_{xcxfE};a>C<z00v&lk8>~Y|zu7sL<wmBd$3Ly*P z!1qpNXi@<=hNFOx&5t&4AqWtO*pNUd5<!aq9v9+qxYR9*h6EC!NWxnTj9nmQ4M%b% zT7`1V7PX24^GVVw;c#p=8{5WbV|X415{tzi4IVF=LPQhA7815cTL{*;f&wKBxY0@) zF$>^Pg!Nbv83$6Hz7N4{)f)5iNn%3WLX0JgN*l)xTR9M$%fUx6p7_RD8qJ3pX7dD^ zAhqbf&i|)Ap)0nc94$&<MYw^gVlHcvsSg|S0LNmGXkfemrK+feO$0jnL8Fl<Fhh|U zwUBB>97sXgh!K&9WCAf?E{%~%#Z*xe1Y#k?6)WU?NXQfMp%~>jS8X9k*kVA(xyFCF zi$BPf$Z-@VF<ggXrtxM-&BsWL$j7XJJdFpW8!ZTCBRqAYyz=;o;>NWoqQo&XFq$%n zagz0-BFZ#R%2i60LIK1R3KRGcBo)L66J+89o>Iu?E>_CHF(NW4<o87J{}4Hp8yru6 zOzM~MEvgAU(~0h<78B<OwNUBCsngMR-H%D5d0$p5q&j=29tHx3oj0qv<<aRO{8aB! zQh#0$Q2Cg@b?)-nEc(v#Znv8m#$>via(1k0zP@mZs*Tn-YX-4B=Q#$PnbNwf%pNs= z`VZENH>d9F(|hZg!Ls004<a5kBvmC<%^i5|{&{wGRMz(n_*K`#0D4_&<n6+GF><N& z?W+0k(WEGK)Ox&v8P-}ATN`UyP`kjiD5-tLw(R)zJ|EX4Rb|c7&4ya9RH|O3vYwaE z>hh`fT}mI|_8)<VIc+~(?nnxBmR<F#dAq+>P|+(}^VClp+~de-9!^A^!>k)~REO@w zKl{>eT6ZH5s-;H?RpCb?z`1)aC@i(XJBf^Y)#bU(8`|5xXxz=xC9~F^?AP};nAA&% z`_f#)k1?{1C#QRPty`T4iRuhxxh)&o6EDOpz3XOtOWS&~<J@*Q#k=Ow)?>(_;>vSn zJN5-|k$aHLC$aK+#~k4CL6?6ZGpEL@^NrgbKjiddoCrU$#j9^q;zvOtCG|mie@RG* z^J0I~%B+#05!?KL0M@>KKe{>ccwcXKx+~t1m6>U83_cxkU}dFA-1Op(^IG<<<-4;M z_Eguu@_on-$qaeH{bumBPmZc|Mdr%2ryB|m_V0IWyy+Kx+;#X?Pu6MoYt*=U@apl7 zX*CY(FVZxpDfT;`-pZlP_tD6aXO6$BQ*Ip@eEFm&dpoOh==QrAyuIChU){~x8Q;2R zOE}2TS(<o^^C6ve&ypFNm&dLNa=Y9YvK{NSZ9;%p(j9dFsiN?r>ycaZ;Pb-YKNUuJ z^L&w6E2a+)ytsC7X3MtHGcW(>3dQ9<^{&fLmSs!3%i8Ig&QQIEm3Auo*DB4-=8@Nb zrgk;%O{`!tnFFenI>!Dpj=x*py}9xzAoN<vx?_jsn;Xh&980dgEhAYoS`IkFZnXI# t*6x%d=Wl1-id|7v`5Q?3)G#k^1}*%Pu$-w@TbJjDp-xCvd@akV_y^jygiQbd literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-mdpi/social_send_now.png b/briar-android/res/drawable-mdpi/social_send_now.png deleted file mode 100644 index 90b17a0170b63efad3051c1d15807a77e17f90d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1097 zcmV-P1h)H$P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp) z=>Px(14%?dR9M5kmhDdzR~W^AXJ_943sFFN$C%V;j7?wCI3N10|NobrG*zj=CK9O( zR?$ciVV9lL4?IJrlvD)aCY#K?b7$|l=bYz7#3+g)17y1{%d+N*Mi=1W!-pBL0`w&9 z0k5wLKn9TKdEfS3N%w%1=lOn0=|fdjz7hs(OVTWG$M$teLrJSeQEUJcU@{twd}#nA zO>MuH^bz<LxCIoppGkUTdky&e(j-VJAxXdzkR&Yv^YL4jw3Jes%kw--DeYHPHT|Lh zs;Y8IX&MJE0@r{ZFa&N%x-IEzU;sEgLQ1Kws_NnZ0>oiTX-?9Tq+38&(!QjL?GCUY z=?-u&-e;0_tE$?+um_qUX$N>~yFOBc+O`12-hrfn?XM&)+5V;|is!&f;MHg}8lRhi z@Ipt@yrc)fjO~deBpH}Wng9l7fdm{&W4lf%HPZO3A>2JN-vi#*-U}cdAI0eLpV_W~ z1K>bX2gq%&06$4u2Oa}!z?;uzpsK1mrPK$$lQbXHJ6OOrA&n(9@??^Rz?`J(wwEQ{ z%=3Jq6*Y%v0uWiTE9rsl#fSojKRUsPB4j(UUN=(No|BYp-;Qt|M${bSc}||^^+{<? zN`UP{;Ju_e!twx^9=&q2rvcSG*6}a}4uhd(+rI!m055<?wx0rj{V#yf_BY!ffSYl{ zPEg$gGTT{v+YJ`Gk}}(w?MzbN_CV5%?Lp*~>%g6&C^l?YlD2K{oCaWG`*%qjz+5Z* zh7lP9U>Ng3$TSPg#PduT7ho)@8vwqSbl>(S@T={ok`6m3Pmd32SUy@(Gp8}+$^Gs5 z$+ece|9O9!2YOME?%MvB1h#t()j@l=B}dl!^@FK?cxe}S25i{gkW>NNz}{&R3?%&s z{A@e7eQd(kE!~(g*lA4YSaulkqwRN%34y0&S$@)lUE2#0c00DmK&>Oo)6%z1yMu{- z6tR6tTehD7Pa;8m1je7rghXR9Z@U{GOk25t0MW3J#lD`TL)-6dZ%KM#dtK6>Ks6eT z_Ro}xi=yZO3%0L?#^c5~Edw>hiAYAZq&?f)z`CR-w%5wCe0`o;Fl&1Wm<_WvRgqRC zbR_j#4eTcHSkfx+B0MuWS2?yl7Y#`-OypL+?*=PVV8`~Rq;=cJ<+v=%@kRTAdD}OD zPV2S`5YzC)Ht<~1<8bx6FVc_{MKO%S7h8u8BldUWmaCB^8>+`#aCGDFj_rA1Mbe7x zYtbpc1*)KV9oRZ==kqBBGT=tES+kOMqfLJnRcx&+%S&m?j{!(pj)Jmf`;ny8NSl+- zarJotINGu2z#ow|H_Nh|a>=9HYC@{$<Mz&)M83r60K`pS0WT$ObA{s{dhc`KDX|Uc P00000NkvXXu0mjfYcL1( diff --git a/briar-android/res/drawable-xhdpi/message_delivered.png b/briar-android/res/drawable-xhdpi/message_delivered.png deleted file mode 100644 index 99109113666357edda634c9bbcb9ebd2048e68a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 627 zcmV-(0*w8MP)<h;3K|Lk000e1NJLTq001BW001Be1^@s71bs?k00009a7bBm000XU z000XU0RWnu7ytkQB}qg<R9HvtSG!6BQ4o!yf~8<#wDEyOd^Kqlk+lARsK21UphSCH zD|@vQ!P3gYMi3ESAcCERZwnt-=sDM!WpZ<qT`@w64GcRwd(X_dXYai`$z-biR*$>C z+;cjxNBT{I=)(1`DqNvO;<J)xBOa1?1k%32mLpoYX%~t&xNgpmT(>69_D=)Bsi+#3 zl~DGaNu;!l&LZg4QswD4m{eQv=V0fUW?LwA3y_`vG_ATwOKnv;>&KF#w6GUll<F%` zWu~kTFsk@2{x+@!N-pnbG9<rCpg&obx43_T^~0PWd~dPb(*bp=Ky+OG>{)koHYVjN zfP&fI&M#R=p=1E^NdDxigzc-3#kCj90AL=F3O?|`E&&Fuz)ppl^$C834Z{d_zE)PY zx|v)8JRFo{jOPS=Wxyx?G$Rd^1qS3{JTeI!5}%dJz$F^6x@0Gqv_Im&J{xxrCe!-B z`oY0zFjb)b6~HoHge~|?ZCsnbn$AW#q$MQfH+J0YD|SvL@tP9w3g>Y;9Lnalg`+s1 z)r0^FuOrv2%-9wV#;x3r021`#G6CBG>w6<vFm9f+rJRAW6UhO4A^C#w(0f(|c#y8a znnC6aSN25wLlBHhuk@$FO2+T4_}5|=HUNu=prDNt`wSbcFyk?ehi2@@g5PAX;1NKV zuqhbZOg4OdFdOG9_*LPc0zNws=|GH)K##l@*9cUKCz)|NCRM;!;2W0+8Zft}QxO0F N002ovPDHLkV1g!u88rX^ diff --git a/briar-android/res/drawable-xhdpi/message_sent.png b/briar-android/res/drawable-xhdpi/message_sent.png deleted file mode 100644 index a40d4d94c0fca5e85e08ce21f3ce99f8c74ceeea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 392 zcmV;30eAk1P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp) z=>Px$LP<nHR9M69ma$3$K@>$#B#otDVY<=MVj3&aU}3<<R?uH?e!)c1Z<yAIjXz+S zCPBnXWC$YIOs9<~*aXtpOdu??$&A@-p>xY+hjZ_HZ{I8=B_;hAX(O82h?DH|g_7W> zz&UVHx&a420|vlGsRlCeJtgg9_MJ*e@GT!4pgIR|6=(vjNy+DC0JsK@rX?@jfHq<g zxC9P?Z(x5K+-pD^u?EzETP5vBgohFQ3)ocBzJwg|eFewB70}a0)IySLBW}jv^-y@8 zfi5rv)`5;TVmUH-Kc;n+oK#D|oip(aG?cV&6M8;M-jAIf?;=vtegX{#&#S~t$%7V= zgLcO%vFm{CS(68ELN|yVXW|KX1rB1T{nrLOm7s{^(RYD1Vg<MdR)HNQZLf$07JM5j mY2Sfu*ZYU`i<Ol0XY>OxrFzD0Tlw|?0000<MNUMnLSTYe<D|3z diff --git a/briar-android/res/drawable-xhdpi/message_stored.png b/briar-android/res/drawable-xhdpi/message_stored.png deleted file mode 100644 index b8eb1384a23a5819bde40bf9679643dd477604d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443 zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80004kNkl<ZScUDE zKTpFj5XFBgS&&ecEFg7g%R+-95EUphm0%?O2n=M%mUe6T@C<d7OXS44DwPr9Ngit5 zpVzy0wgdk-4IwZGVzXvu@2rS`HBbQG9jgFdjqPX%febkGByO(*@WBXGSpeHs@X`=U zfyAuT?3FFsEyq@!ghya6g5|&xnDqEej7={5_P~QS`J$El9S9Wuf$@<f23I1aS@xA8 zaT_a|?HHtqjOIV@!W7s5&yIMq5}7M`M6LFm{<7a2yNx4eK&^=bjuBl8wo6Cgp#(6o zs<`Vu!|ISJ=~ug!z=V24i!P%OMX!_ups6jZ80W$uJp+MM#J7%QEDVw}5J*J)cuWEX za5Dx0Z3`mm@!A7#z-5oUY{ATCpcNq;)%^nOjNcA;!ahMx5rS?EC9XJXp-S)xT(^ii z#}IS}kquMe%lO}l{lN#3<|yvM1#l;RtBztAei;pg>N0{~a2<o^2T295PqGSLAEgz% lKFcM%eVEwb<<snM;s+n0Z~+j3?QZ}8002ovPDHLkV1h%mzTE%- diff --git a/briar-android/res/drawable-xhdpi/social_send_now.png b/briar-android/res/drawable-xhdpi/social_send_now.png deleted file mode 100644 index 6fa26d165211460883e53df6953fb117fc5ae76f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2416 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 diff --git a/briar-android/res/drawable-xxhdpi/message_stored.png b/briar-android/res/drawable-xxhdpi/message_stored.png deleted file mode 100644 index 153650a1f50238963f883cfeb8990d51d9ac57a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmV;c0#yBpP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0007VNkl<ZXo2mS zF;5#o5QRSur?8zUq_AY7m@ZuiMoK{u(?A6&;>Jj%jUsGPgvb{m%#Tm8d(vrc4|Zqw zFh=*Jl`P-Qo0+@0nb}!r(V|5PWWWfR02ja<$bpqzIdBEc>^&cVt+iMxumhX|H^6=1 zx&cmrw@+?0&<DN&cb>*RwC;d2%lRbu3@j5EF4q$H)TH6tn5SN6Kn_fSF)#$Wm^k0E zzlZkP)ZSaib8dAd#Vg=Pjlu<R0CWQQIv8gbHJq1LXA*4VHvSek!ek&VGRtx6;J+l% zn{b8AH84m)ZZWW&u5gONzJv59(2FH@pl7+IKJ|y)r<!f9X~y^hJ*sbFi895WQ;qqM zuqn%iU_kYoI1A)phiZ{J3gpl_fYl|7T~Nh76$A^yvrUWx8Pybf5+W>nn*)UrF%E#K z6S8;mY5+$<Fej`?6^M19L$zX$d;}*#XsR?I)&Z>UGS9?EXeNZlO64gWI21fHAECJr z8Y-2ia9~&P%zcDp+;x@8Q#jBSJh_k1N(gDUekmNt1kcJxs0jz&D>+mSG!a58OjjG) zN2x+6)kpjh_$|1Wz!&_hy8MW*e1uY^Q82~mm}+zO3)u6JSEbQZg{+Ksn0e8?Sl@xy z56GzsS*ljT1y@-8!`<nsTM1V)7ZXM<!(>>w`h9gX2Wi^r$54dTU#gids-1>38ya7{ zar_s(p@H}<r4~uHl<)#J^|0Y%l>!?**n$@@T7<`kyJMd5aJPW(c>NI5gmp1bIJ3WZ z?X|Ux*UQ*vLk~F0=wqH#$|I&G({n9i4*CAD#zQ`dkYm=bJfmaQ7A-a%{{gUj`-YR= RkU0PV002ovPDHLkV1i!`GmQWM diff --git a/briar-android/res/drawable-xxhdpi/msg_in.9.png b/briar-android/res/drawable-xxhdpi/msg_in.9.png new file mode 100644 index 0000000000000000000000000000000000000000..3db9979cf1b13128da38558494e6604e730098b6 GIT binary patch literal 2231 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 FV1km7;-3Hj literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-xxhdpi/msg_out.9.png b/briar-android/res/drawable-xxhdpi/msg_out.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b7aa02377fd49c6a462c58ed7972719f41ccd978 GIT binary patch literal 3076 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 E04lRG=>Px# literal 0 HcmV?d00001 diff --git a/briar-android/res/drawable-xxxhdpi/message_stored.png b/briar-android/res/drawable-xxxhdpi/message_stored.png deleted file mode 100644 index b3833bc3e76f11b4abe7f1a487bb87025f003075..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 969 zcmV;)12+7LP)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000A!Nkl<Zc%1Fq z(Q8~q6bA5LlBJ=whAIX$_+V=d5-8YKLJL-CAk`=>8bfQ6H)-tJg1EBP#N9vMhkF-f zGqZc|-kHtD-4Etv+54Su&fJ+fbLLzYSYUw#7RZhzyoXIZ#1lNje%YR47Z30mZj{el zYOLT>e1|rA=vQn#yuu!CmRy$xYxo*(RPXS(_8MQ|`V{+78*BI$XVP_ixSc7c&rCUD z8Taw0d>tQd9o#K#Uns8OXZ6H)@e+qPDBEHATel|Hb6m~d%LvvL3)MK0r+9&Fe1z5r z&Q|%K?edw^3j8PdAZgDk;5Ocl5!S|+SZ!cuwd81zvDH=VI8(uG{5?WUrxZPEr0b$p za&|`8{mT@bux|9oA1QW&Tv)^L2>V?br^8k8Ip4!$(+OBsup=H={VK!4xU5)|VvF2X zYJ(N9CB8^Lmw1c3A2HN(F`XY^OZ-i^m&(Yy;z7>i2{}Jjh##~j>&8w*TSuaZ@tcT& zBa_ehpN6=ayhSVG3*(apyeLLL6x(++8?}@UP-+Qnk!Kpd1&;!xeZ`*K1gRZBp(&*G z(WHbc!bjS+=0Q#l2egDE#y2LMs<#4UDMp_>4j}#(+?s@JFF<svS!_Q*E(fd%#|C?K ziI#+4rx%HY=5hexfUT`&j`4<YfU%uOWKIWcJFmN^=u>5E21xpfvw8~TbijtN_RTsZ z4+8{U>5jNL9nccaEIp`0vKt_HnNVa-2T*7o*1uba;8}p+FrmQQ4mfgN|I<1I`vHQ3 zgaUIr;J|tP`*jGW?SNYIvjQ4BVA@llhaVO9hbho_3glh{V@K?+VjpjsT5G%r=H3RE z6&ag90(ScN1)ogFon#x#9S99@MKLn5+}<JHugRGt5Xv125934etj=4-nf^*et|Xyw z?!!<B%eW(c`SBY*ufUV!Fht(t@F-lz_xLAZzmFgAPUP8S$6@j&M5<t2cr;JM7vrP} zk(?>9s#wAo`29cjZ$|zbONqVKU|Y?V6s?PEiWK*#Xf%0JlzeINNfEp5%9a)<9<?2t zjq0te7bA?m8rw->pdqqfjd3|INAIRIH22rzj4zPbF&hOECo)!!jVqBk_CGF>8DOr9 zqz0JlGPwaJDU{qWzEE<*B`A~}AXTaCkxN)AJHSO2OV89t6>EyHdG5;PhcUMwOblag rKbZ+(_@k*^bMVpB0t+m#z|7-cs~f*?lyfk$00000NkvXXu0mjfuBgXF diff --git a/briar-android/res/drawable/message_delivered.xml b/briar-android/res/drawable/message_delivered.xml new file mode 100644 index 0000000000..7df040f3c0 --- /dev/null +++ b/briar-android/res/drawable/message_delivered.xml @@ -0,0 +1,5 @@ +<vector android:alpha="0.56" android:height="16dp" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M18,7l-1.41,-1.41 -6.34,6.34 1.41,1.41L18,7zm4.24,-1.41L11.66,16.17 7.48,12l-1.41,1.41L11.66,19l12,-12 -1.42,-1.41zM0.41,13.41L6,19l1.41,-1.41L1.83,12 0.41,13.41z"/> +</vector> diff --git a/briar-android/res/drawable/message_sent.xml b/briar-android/res/drawable/message_sent.xml new file mode 100644 index 0000000000..8a074e0fc8 --- /dev/null +++ b/briar-android/res/drawable/message_sent.xml @@ -0,0 +1,5 @@ +<vector android:alpha="0.56" android:height="16dp" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> +</vector> diff --git a/briar-android/res/drawable/message_stored.xml b/briar-android/res/drawable/message_stored.xml new file mode 100644 index 0000000000..b91196f032 --- /dev/null +++ b/briar-android/res/drawable/message_stored.xml @@ -0,0 +1,5 @@ +<vector android:alpha="0.56" android:height="16dp" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillAlpha=".9" android:fillColor="#FF000000" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z"/> +</vector> diff --git a/briar-android/res/drawable/social_send_now.xml b/briar-android/res/drawable/social_send_now.xml new file mode 100644 index 0000000000..bd34e7fc21 --- /dev/null +++ b/briar-android/res/drawable/social_send_now.xml @@ -0,0 +1,5 @@ +<vector android:alpha="0.56" android:height="24dp" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="#FF000000" android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z"/> +</vector> diff --git a/briar-android/res/layout/activity_conversation.xml b/briar-android/res/layout/activity_conversation.xml index 1a07f07eb7..8bc064d2ad 100644 --- a/briar-android/res/layout/activity_conversation.xml +++ b/briar-android/res/layout/activity_conversation.xml @@ -39,9 +39,7 @@ android:layout_height="wrap_content" android:background="@color/button_bar_background" android:paddingLeft="@dimen/margin_medium" - android:paddingStart="@dimen/margin_medium" - android:paddingRight="@dimen/margin_medium" - android:paddingEnd="@dimen/margin_medium"> + android:paddingStart="@dimen/margin_medium"> <EditText android:id="@+id/contentView" @@ -53,12 +51,16 @@ <ImageButton android:id="@+id/sendButton" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_width="38dp" + android:layout_height="38dp" + android:layout_gravity="bottom" android:src="@drawable/social_send_now" - android:background="@color/button_bar_background" + android:background="?attr/selectableItemBackground" + android:scaleType="fitEnd" android:contentDescription="@string/send" - android:layout_gravity="center"/> + android:paddingRight="@dimen/margin_medium" + android:paddingEnd="@dimen/margin_medium" + android:paddingBottom="@dimen/margin_medium"/> </LinearLayout> </LinearLayout> \ No newline at end of file diff --git a/briar-android/res/layout/list_item_msg_in.xml b/briar-android/res/layout/list_item_msg_in.xml new file mode 100644 index 0000000000..8194f5453a --- /dev/null +++ b/briar-android/res/layout/list_item_msg_in.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingRight="@dimen/margin_medium" + android:paddingEnd="@dimen/margin_medium" + android:paddingTop="@dimen/margin_small" + android:paddingBottom="@dimen/margin_small"> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="left|start" + android:background="@drawable/msg_in" + android:paddingLeft="17dp" + android:paddingTop="5dp" + android:paddingRight="7dp" + android:paddingBottom="5dp"> + + <TextView + android:id="@+id/msgBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:minWidth="80dp" + android:textIsSelectable="true" + tools:text="Short message"/> + + <TextView + android:id="@+id/msgTime" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="10sp" + android:textColor="@color/private_message_date" + android:layout_below="@+id/msgBody" + tools:text="Dec 24, 13:37"/> + + </RelativeLayout> + +</LinearLayout> \ No newline at end of file diff --git a/briar-android/res/layout/list_item_msg_out.xml b/briar-android/res/layout/list_item_msg_out.xml new file mode 100644 index 0000000000..baacbb39fc --- /dev/null +++ b/briar-android/res/layout/list_item_msg_out.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingLeft="@dimen/margin_medium" + android:paddingStart="@dimen/margin_medium" + android:paddingTop="@dimen/margin_small" + android:paddingBottom="@dimen/margin_small"> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="right|end" + android:background="@drawable/msg_out" + android:paddingLeft="7dp" + android:paddingTop="5dp" + android:paddingRight="17dp" + android:paddingBottom="5dp"> + + <TextView + android:id="@+id/msgBody" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textIsSelectable="true" + android:minWidth="80dp" + tools:text="This is a long long long message that spans over several lines.\n\nIt ends here."/> + + <TextView + android:id="@+id/msgTime" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/msgBody" + android:layout_toLeftOf="@+id/msgStatus" + android:textSize="10sp" + android:textColor="@color/private_message_date" + android:singleLine="true" + tools:text="Dec 24, 13:37"/> + + <ImageView + android:id="@+id/msgStatus" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignBottom="@+id/msgTime" + android:layout_alignRight="@+id/msgBody" + android:layout_alignEnd="@+id/msgBody" + android:layout_marginLeft="3dp" + tools:src="@drawable/message_delivered"/> + + </RelativeLayout> + +</LinearLayout> \ No newline at end of file diff --git a/briar-android/res/values/color.xml b/briar-android/res/values/color.xml index 01b15430a4..0ecc0f1ba7 100644 --- a/briar-android/res/values/color.xml +++ b/briar-android/res/values/color.xml @@ -5,7 +5,6 @@ <color name="action_bar_background">#2D3E50</color> <color name="button_bar_background">#FFFFFF</color> <color name="dashboard_background">#FFFFFF</color> - <color name="private_message_background">#FFFFFF</color> <color name="private_message_date">#AAAAAA</color> <color name="unread_background">#FFFFFF</color> <color name="horizontal_border">#CCCCCC</color> diff --git a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java index 98dcd179f8..02bc2b83a1 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationActivity.java @@ -142,14 +142,7 @@ implements EventListener, OnClickListener, OnItemClickListener { } }; list.setLayoutParams(MATCH_WRAP_1); - int pad = LayoutUtils.getPadding(this); - list.setPadding(0, pad, 0, pad); - list.setClipToPadding(false); - // Make the dividers the same colour as the background - Resources res = getResources(); - int background = res.getColor(android.R.color.transparent); - list.setDivider(new ColorDrawable(background)); - list.setDividerHeight(pad); + list.setDivider(null); list.setAdapter(adapter); list.setOnItemClickListener(this); list.setEmptyView(loading); diff --git a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java index a95b00e475..0e2499c7ec 100644 --- a/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java +++ b/briar-android/src/org/briarproject/android/contact/ConversationAdapter.java @@ -1,40 +1,28 @@ package org.briarproject.android.contact; import android.content.Context; -import android.content.res.Resources; import android.text.format.DateUtils; +import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.ImageButton; import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; import org.briarproject.R; -import org.briarproject.android.util.ElasticHorizontalSpace; -import org.briarproject.android.util.LayoutUtils; import org.briarproject.api.messaging.PrivateMessageHeader; import org.briarproject.util.StringUtils; import java.util.ArrayList; -import static android.view.Gravity.BOTTOM; -import static android.view.Gravity.LEFT; -import static android.widget.LinearLayout.HORIZONTAL; -import static android.widget.LinearLayout.VERTICAL; -import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP; import static org.briarproject.api.messaging.PrivateMessageHeader.Status.DELIVERED; import static org.briarproject.api.messaging.PrivateMessageHeader.Status.SENT; class ConversationAdapter extends ArrayAdapter<ConversationItem> { - private final int pad; - ConversationAdapter(Context ctx) { super(ctx, android.R.layout.simple_expandable_list_item_1, new ArrayList<ConversationItem>()); - pad = LayoutUtils.getPadding(ctx); } @Override @@ -42,46 +30,15 @@ class ConversationAdapter extends ArrayAdapter<ConversationItem> { ConversationItem item = getItem(position); PrivateMessageHeader header = item.getHeader(); Context ctx = getContext(); - Resources res = ctx.getResources(); - - LinearLayout layout = new LinearLayout(ctx); - layout.setOrientation(VERTICAL); - if (header.isLocal()) layout.setPadding(3 * pad, 0, 0, 0); - else layout.setPadding(0, 0, 3 * pad, 0); - int background = res.getColor(R.color.private_message_background); - - View content; - if (item.getBody() == null) { - TextView ellipsis = new TextView(ctx); - ellipsis.setText("\u2026"); - content = ellipsis; - } else if (header.getContentType().equals("text/plain")) { - TextView text = new TextView(ctx); - text.setText(StringUtils.fromUtf8(item.getBody())); - content = text; - } else { - ImageButton attachment = new ImageButton(ctx); - attachment.setImageResource(R.drawable.content_attachment); - content = attachment; - } - content.setLayoutParams(MATCH_WRAP); - content.setBackgroundColor(background); - content.setPadding(pad, pad, pad, 0); - layout.addView(content); + LayoutInflater inflater = (LayoutInflater) ctx.getSystemService + (Context.LAYOUT_INFLATER_SERVICE); + View v; if (header.isLocal()) { - LinearLayout footer = new LinearLayout(ctx); - footer.setLayoutParams(MATCH_WRAP); - footer.setOrientation(HORIZONTAL); - footer.setGravity(BOTTOM); - footer.setPadding(pad, 0, pad, pad); - footer.setBackgroundColor(background); + v = inflater.inflate(R.layout.list_item_msg_out, null); - footer.addView(new ElasticHorizontalSpace(ctx)); - - ImageView status = new ImageView(ctx); - status.setPadding(0, 0, pad, 0); + ImageView status = (ImageView) v.findViewById(R.id.msgStatus); if (item.getStatus() == DELIVERED) { status.setImageResource(R.drawable.message_delivered); } else if (item.getStatus() == SENT) { @@ -89,27 +46,24 @@ class ConversationAdapter extends ArrayAdapter<ConversationItem> { } else { status.setImageResource(R.drawable.message_stored); } - footer.addView(status); + } else { + v = inflater.inflate(R.layout.list_item_msg_in, null); + } - TextView date = new TextView(ctx); - date.setTextColor(res.getColor(R.color.private_message_date)); - long timestamp = header.getTimestamp(); - date.setText(DateUtils.getRelativeTimeSpanString(ctx, timestamp)); - footer.addView(date); + TextView body = (TextView) v.findViewById(R.id.msgBody); - layout.addView(footer); + if (item.getBody() == null) { + body.setText("\u2026"); + } else if (header.getContentType().equals("text/plain")) { + body.setText(StringUtils.fromUtf8(item.getBody())); } else { - TextView date = new TextView(ctx); - date.setLayoutParams(MATCH_WRAP); - date.setGravity(LEFT); - date.setTextColor(res.getColor(R.color.private_message_date)); - date.setBackgroundColor(background); - date.setPadding(pad, 0, pad, pad); - long timestamp = header.getTimestamp(); - date.setText(DateUtils.getRelativeTimeSpanString(ctx, timestamp)); - layout.addView(date); + // TODO support other content types } - return layout; + TextView date = (TextView) v.findViewById(R.id.msgTime); + long timestamp = header.getTimestamp(); + date.setText(DateUtils.getRelativeTimeSpanString(ctx, timestamp)); + + return v; } } \ No newline at end of file diff --git a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java index 7ece03b027..01ba003033 100644 --- a/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java +++ b/briar-android/src/org/briarproject/android/contact/ReadPrivateMessageActivity.java @@ -40,6 +40,7 @@ import static org.briarproject.android.util.CommonLayoutParams.MATCH_WRAP_1; import static org.briarproject.android.util.CommonLayoutParams.WRAP_WRAP_1; import static org.briarproject.api.identity.Author.Status.VERIFIED; +@Deprecated public class ReadPrivateMessageActivity extends BriarActivity implements OnClickListener { -- GitLab