From 8ffc8319fe43d285436ac2be1129ddd5d017b123 Mon Sep 17 00:00:00 2001 From: Guillaume Beraudo Date: Wed, 14 Sep 2011 11:04:14 +0200 Subject: [PATCH 01/62] Preliminary code for conferencing support. --- .classpath | 1 + AndroidManifest.xml | 17 +- res/drawable/conf_merge.png | Bin 0 -> 1011 bytes res/drawable/conf_pause.png | Bin 0 -> 966 bytes res/drawable/conf_resume.png | Bin 0 -> 1007 bytes res/drawable/conf_terminate.png | Bin 0 -> 655 bytes res/drawable/conf_unhook.png | Bin 0 -> 1169 bytes res/drawable/conf_video.png | Bin 0 -> 402 bytes res/drawable/mini_stopcall_red.png | Bin 0 -> 1632 bytes res/drawable/unknown_person.png | Bin 0 -> 812 bytes res/layout/conf_callee.xml | 29 ++ res/layout/conferencing.xml | 60 +++ res/layout/incall_view.xml | 19 +- res/values/custom.xml | 2 +- res/values/strings.xml | 8 + src/org/linphone/ConferenceActivity.java | 408 ++++++++++++++++++ src/org/linphone/DialerActivity.java | 11 +- src/org/linphone/LinphoneActivity.java | 26 +- src/org/linphone/LinphoneManager.java | 162 ++++--- src/org/linphone/LinphoneService.java | 3 +- src/org/linphone/LinphoneSimpleListener.java | 50 +++ src/org/linphone/core/LinphoneCallImpl.java | 5 +- .../linphone/core/LinphoneCallParamsImpl.java | 5 + src/org/linphone/core/LinphoneCoreImpl.java | 93 ++-- test/org/linphone/TestConferenceActivity.java | 350 +++++++++++++++ 25 files changed, 1146 insertions(+), 103 deletions(-) create mode 100644 res/drawable/conf_merge.png create mode 100644 res/drawable/conf_pause.png create mode 100644 res/drawable/conf_resume.png create mode 100644 res/drawable/conf_terminate.png create mode 100644 res/drawable/conf_unhook.png create mode 100644 res/drawable/conf_video.png create mode 100644 res/drawable/mini_stopcall_red.png create mode 100644 res/drawable/unknown_person.png create mode 100644 res/layout/conf_callee.xml create mode 100644 res/layout/conferencing.xml create mode 100644 src/org/linphone/ConferenceActivity.java create mode 100644 src/org/linphone/LinphoneSimpleListener.java create mode 100644 test/org/linphone/TestConferenceActivity.java diff --git a/.classpath b/.classpath index 73e3fe0d3..d150c0422 100644 --- a/.classpath +++ b/.classpath @@ -6,6 +6,7 @@ + diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1c7bdc86f..7e38ea7ca 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -42,7 +42,13 @@ - + + + + + @@ -103,6 +109,15 @@ + + + + + + P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk; z2?#9FI>F!o00VPLL_t(Y$FY9CsbbF4vUOy}AMsL;dEn-By& zh-O?Uh$Q-;NbSQ6Z_~{PLm?`n2Mdw7Xg&54VT2{UWJTo}m8LMgeh`W>j@jsVPY-v` z_jt93HXK;z?0xost@U5)zc>HWIMg+J$ZourA9@OfE6%l*%R~0jHL-KKR2oGFs>5rd zdYd2o=s}HN<*w?)rTKeQQ>4S&WiJhAf9vEGBgw+StxGOuv(r^o>qT)rB*pmbsEO1N z0AwZrSd7IB*6qt?vbn1Ptitp8Qsw?plhNn|4S^&ZW0;8*cmgw{rsjHCYR0{I4%_mj z%8J2>>cHp(MR4Gi7S&0Se5sPdQ+NTZ@p(Ps+sfq_%dr+GuoYh<#g@M4a#hEhCx#=b zPO62M6yrXe!p&HR&i%!fdR15HDHPttHgw<}Y{{37<{NO#wWO)}TP*Vt2| z&xS>%V-L5L%ZtO43lZeTfNjEhRPacRtBACzmagQrn6$RzqEbb&agO{OM?0|rccBG; zp&vW&BWB<%zQ-*56pCgep2c@qofPB4nKYwOTJxqUGdZx7N{aE`e5vv@Vob+8%)w)L z6{j%;2Lj;7*c_Z#f{SR!;cBKTN{TIrjpy>K#_$G-Rk6 zNk3gFdg!xJ0Bz-RYj}-up-#{IFk)RhejChwH8uXm%9ox~%um(3`Hkz1F zF)y~2%gY1Moq^PvLs6#2`u<|9Ve&NDSqnAY(jk6e6RZrqG7Gn2FLvYn1R(v`j=S+m zkeC-kE7UkyRH`_%WvM9JOm?aueD9+HMRenE=#MLndoVxPXHXfZ@$l!aCkN&JnGo{Y zlRxhq#nIRYts&~uID*H~`b*bs6Cb~~uljIM?&DAGS{q literal 0 HcmV?d00001 diff --git a/res/drawable/conf_pause.png b/res/drawable/conf_pause.png new file mode 100644 index 0000000000000000000000000000000000000000..9ab5bae929a0793244806a9440574f79070fa8f0 GIT binary patch literal 966 zcmV;%13CPOP)P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk@ z2oNBQRQRL-00TxzL_t(Y$F-HuZ`))T$3K3Z*lm_J0(DK=rbBGb)?zVET>B^NfCNJM z3nqpp?X)4*$&>>EapJbaBo4?D+!0)+X@vv#DQzaD6RZuaqp+?@cOL_WNzn= zHKKd=E`bL0A)M9iQTgK0a3vb3-6)eOl(4KxPW#^}Q4@?J2?ApPBqA74QosHNebomb zJ9UP$m+vZ|0Azukh{*B%3@{7)*{D`~0BvWLq=Vd*&3LAwL2bDl6JTaBtQ-P<6?hN$ zSO{i;kAO?SO(9Gx>!p_z!1^b1DNTl*r*iQpfD^z2-~(XK@%?GwAK)o)0cZjPK~tFy zYoE@fNrG&GK^1uG+P&od6fg-)OAHG#?*Xp?<6#_h%3a!2)Vz}+$eK5oB5=JLwHxzM zye5Ddv33eDowE4q+xye6e_~A)tDHNw1%DlB3~^;2l8$M!R`cXTs<8Ut!$SYkvUpk;Tcd2T4c)G0M;u;>SxKu#8?CEMD-e*)f5o$T)>+{R#?B;~p* zTM^r&#Ke-!dJNd2sw4j^yRj7I)X;hHHY=T6p;ZcXUZAFq_MMmRLKFb1NM)1Io^!>=SJLcs+R}54;ZiEOqh-D2j{jNS%zG`SJmd@5gsbvRS&` z!^2d%|Mk0Miwjt#MXcfi<0s!{Vy1!wx&ZtO^cvMFj_+H*qL6Jwak=M}Q9(N5uD6xW z*FV0$NLEO!(jvk0C$#=vr}WN;1HN{A-;}jDjgt!cN^#zMIJ_vDzusbO?i^Nek?wY# z&UT&sZ*ITx-QKROVji?u_-g0)>v#X@7VYgdo_zN0Xh3I`s76NJ`^Vn#M{~Yi`6X=W oMwncNhCplFdXtT8btnPA3ljqzI?lNkUjP6A07*qoM6N<$f;x@7{r~^~ literal 0 HcmV?d00001 diff --git a/res/drawable/conf_resume.png b/res/drawable/conf_resume.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a2d50cd342fbc5a84dedab37863b84e4f1a9b3 GIT binary patch literal 1007 zcmVP000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk@ z2oDOHwLk0t00VDHL_t(Y$F-HuZyQw*$3O4cUMF!v)hd-u?FiJ^CCT#Zg2XBR0Ein> zwGwAI8NsEkAYp4jRS~C193yc+mZ*fpA3%{Bpb`gArFI=xT7w`?n^4n4Z4>O+-q*vv zwRdCJfdfxk>5bPr-1qGLb?WlXyHhlFp>NNGrb<;wK6!gNw72qbs|<5lbM92}CkQzPysnmsd{y zm!f-}C_w^X{X!Nm(MJ~($5}Xk6KEuXZ-DQCvTGH$p5!=^2@28mSorjAAH-SCg>pNF zX*=3z032we2D}SYT&q|g0GYjZh$aQ{0MovQsMuLlP&f_XEYAQ6vvdQX1;q5z1a1Kz z06znJu2t*=Qg-Ytghe30yjVv#ALT&#s(QXu$61;I;S0(v-7tVHU|fU5L$coiR)H^o zyD;7IS(%9_UMh(U?4%si=n=(EX>r7X?xDUq4!i|i0kY7D`GIXjTzJw$2B-zw9ahgh zT@wL}g<2^%XNyL>vNc1D<|%f!}pzNdVK{jCkw`x_0g~ zvzLFvENvXlCJds0l(rS{E3gJ!0(L7)FSi#y9;Bn!jLq@Z&}P;&bwj^3HHCM8^T1`` zzH1fRMr{$-vW9>J^mzhx<;}>;Q>ptN@K7r&$YdM%33%I(?dz^p{L8h9;UI)-S+Owt z@rhWReXj!|hTDkFsXKcoQospK&o3I}LPB<~ub+K?9}xL+S=G*+Ms2(rp4RqlCu_=u7Jju)gxz|1kIzFY9^BwS&-y75WVM@aLMDLz>E5FtWY_nAFtLFCSuaHR3 zVPxhp(sPWTe1WN_3qa#pzagiap#>I1Ei{k^aMR8qy=cWvyB^i+A78&iLW3BYdA$7{ zn)lYpymU5*a^&<456P~SylDS9d^2wTxXM`eIgIo??d>WD+f^Q|Ts?9-_J9g&#QteA z_gUlU_4{bIPHVfu&c!cBMxJyRNACS2cf4y^uj}jIz=Kxd2M49}NLL62o>G|AO==0h dRzZEj=P~SUI5O!ZQ%V2;002ovPDHLkV1hom%h&(_ literal 0 HcmV?d00001 diff --git a/res/drawable/conf_terminate.png b/res/drawable/conf_terminate.png new file mode 100644 index 0000000000000000000000000000000000000000..0a11c639e4ba5e9e15204b745784fcd7c12176aa GIT binary patch literal 655 zcmV;A0&x9_P)P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk; z2^IlBq@qdy00Iw5L_t(Y$L*9&Ytumx#(y)3B~}d~CZ-6@Now`bg9pEbM}>->JP4k> zh=+_9J&NE*u;L4P@az}RQx6JK5Q>ygk{ClQp~io9Jp5m5z_cn+DmbvP?9R@!&pb0D zZ*87GZOUJ;{GJ|$CZACt>^P662@=MF|1;@o8nXwX5<$0WY)yXpAqP0r_hczqbs5@) z<7Hz5;FD30$ek5NbP>I6@@Rv%MAL56=PeNFBc<%9C30P8erEPjA0SVZ5t@}{Q zkC&P+ILxHK4M-%&yR!L4;<6SmfArbB@&&!?_$7hE4%geJR4v@-z_AK60ftb}owNjL zfoy{Zkf8X$VfZ64j~Jbbh06}FK@cPleyw9%tXK??B)Ok4X+j}SxR*oUJ95flDEO-g ze=w;uKN^dQ%%#~DqzG~j!o$?33WE&f0BC^CqZV%eY?C>P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk= z4GKouqF0@5O-Nz~K^wGtp9 z6$uGQC4>-S11t)v)HQ21AOQ;`Sg@tEE0zcWQky_(8>x?=(m)?lTT1EM_RPfg+{40S z$8O`m0%kLJ9{2p`{OAAgf&b~+RmyeNiT^V2^c*-z7e%Pk{C6O4oX)e=on&)rj1hMm z8wVa{F+9Q9V1Y&dBp2_T;IoM`h4~a1g8~}wb&RtLh{Dd2$A;uE>)3!NSu!R^+DYTv z3PDt(W-A0*TQ}ZrSNdU;0ENPR)Gg&+*L)v7y-Mm3ys{~OE z-`4P>Y99`y=gG7e`Jy{|JsTzfk}}W&NMy*6C6`!3vOY+oew%A4nhyzF6hI9-qPkxBX*xW=TF+ko3NAmAM$u00syZklHFY$a8xNO3@)KUK_dSUxf6i_II5HKYs)&_y zfDvH2m|kvt6b0?D2YZ+>yxR{TUvxihWW9=wqO19$SIHmqX6B~Cb{C>n6^dzhY<@@U z-i-YB5sr89y?@sN**-k&1>E={i^#JvT|LS&Xs@ahj#n|pc?LKUgUmF1?|k8y_ffv& z?w*>@tp_N~r?zw%JXRKe0IV4doo-{A_F{YKz7DpHqQ623rd9a>SOV6o@D3{9B~9~M zzUZkM^DD5f3*(v*`vpMdrZ?JS#&#+xZE5<&``;Wuz*Wx|;ec%u+t zAyGBr$n`+|3$A)mti;sO$#ChpMYwY--O{W=B2fuwyfk3PHQ3c;t32coe4O(f%q~8l*nVnp^=WX8^Ka|}Bz{iXG2yBHwYjNT6Bo_l} j5$mw=LXAT+{ptK0fD^HfXMy4800000NkvXXu0mjffhQgL literal 0 HcmV?d00001 diff --git a/res/drawable/conf_video.png b/res/drawable/conf_video.png new file mode 100644 index 0000000000000000000000000000000000000000..6e76164044eb22994f45ce0018b5cbc312b896df GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoZ!3HG%J$@n#q!^2X+?^QKos)S9buc_XQ2XZgtkSFNtG@0%z+}-WA-;ogmZfBL0@EB-MuyJ^ zzjvDju^%egos;wIN|bbA<8j;2v~x$q<^)PdxE9uH&HTbrp~di%VOgZKRaDS@_Dbeo ztO|Su+-EMa&(?prRR363{35_J3i=4j;W(`1N4eFZs6&4vMZGKFzMTfdR(g>FVdQ&MBb@0AJ^z`~Uy| literal 0 HcmV?d00001 diff --git a/res/drawable/mini_stopcall_red.png b/res/drawable/mini_stopcall_red.png new file mode 100644 index 0000000000000000000000000000000000000000..fcf26c8bd4f50783b6bd84862d3cceecb945c297 GIT binary patch literal 1632 zcmV-m2A}zfP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk^ z3I`VbRa&3`00rPlL_t(Y$F-Jij8tb8$A9O!%g)>xUYf!dY|EY5rF56VDs|TY4eZQV zNT8_!ThgZX&1y6;##oKf7&VgW2dyL}HMMG@u~@9N)|hB4O<$N<=nI9V&@L;>(%rek zOK8_^3oJ8NnYqUg_s;I@?y%}6K40#gGxs_F^YZ-9{}HBHFVMmU1_5{(r`1Bb6kQH1 z61WmT;X`ZQT-Uy#&3Cb#)(psKQ_{kyyg$i-FI$TaAT)Y z^}pvAOX6Sj)GwAEJiPg{Z}#kdidULej_n!iU6#b{0)Grq5m?oQdtm&3XOqAdpaW!a zVAXdOIU(piAK9J3?W+yw>~qgwQ99wiRysD+=JgNa_2=KZ>E!;8?V*Vb!@=pv@sS8L zdP2}xAMMOg=m~?`3i_lV5n$3`3nEYuK>^Myvcp1uw2ne4|EniRe*S)X@Biv^-tqiK z@7N&a56OkHI`T*w_v@kk(}Mnqi6>k^MG<6TEHytAMZTZLedx8t zt5|b#KX0^eIN%*0>d=4wOBB;?A-xjzTC4k%(Z&=bmm~o16KI==pspfoGq|V1b}Ru> zg50B!sa7wfqUIu0MDmzH%X4fRz;r)^3eTh3ae`lpiZqa zdsDbwwT8oVvXX;z<23om6M}9EX{n0j)3`06zpp6rC@4aMWk6Slg9Aa1O=#wXN43AY zXmT_wIT+3dGn~e~MUgkc^DF|*ITC*Xn8lLE#@$tJH45`<$~wE&sbFpfJ*03!;U9`V zEwG`VRdwl>Az!7CJuwNrHHWj}CieIs0}{Y}v_arJ<9(V?&J_8VfzDdnK3ZsH|7H1} zCGkT=+oh&m!Mm;pdIj>pQiXX27#h!9nsPX;d${_t&ew)QbGaq(ZXGtFn3LgqDg3Tv zfNmYzr~nUTIKxa=3iqd=zo~LEoCB3K`Da7h!Z3(IlcI14bhJ9g74FEASoQ+VGXnn` z*O8|1fTEuiv|C|VkgYW>SQUtrIUEid=RrXpshL$K{{p>M2^L*V~8AyBZ}BTf|2iN6}*c)U7R}UL#I%caYSK(fqWL{XBYV( z9#HMSI}5q?jbW3mwOO2VK)VE*a95gvOEOu{Gq^p_(53Gcoc{rw#+e|SDjLLN@xe(Na9S>{-Nlm}9B)*u#(Hzd+9L}fyS6aEd{yO8aOb+J@ITBX^ e?52hP_xd-QSZ=Ng;kz#Y0000P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iph} z4JsO3AXEJS00OK@L_t(Y$F-GDZxTTm#-De#>{d!`JQ#>YtL%TiyT>02J>h!6SV_qUW%5ZzELV z-R1EF0@UVMda~2=q#pn_(*+dGBsO!&aPo!lXcr2DZJw7Vx6GsmV3;=S+$`*z4$cV# z@~I47#-kd*ydVfoniZY06MzJ)&UQ|t!r@DNTz)gmnzt(iP+YwT=GxQPWJkat;CMF< zBVWb*f<=C?lPb{RG*DTYlOE-_JtjEgV6N)4SsogS>n}e^z8TO|oz>7zV4H^gSrMK) zY_RElXGYx$^H-TxS@yc!mOUlIhQVg6tjuBl**6&Z?NiMztt>%Ksz8L`Yu#pSoN-P) z9Q`o0vMhq`cM}gz5N~dc1f(pB`loKFsZ9WjDxHXtg7W_1&@n#Dc*?SfW + + + + + + + + + + + + + + + + + diff --git a/res/layout/conferencing.xml b/res/layout/conferencing.xml new file mode 100644 index 000000000..5a78dfc63 --- /dev/null +++ b/res/layout/conferencing.xml @@ -0,0 +1,60 @@ + + + + + + +