From 70a52abf300a87f0e8c73aa1dd7c5329b7990a92 Mon Sep 17 00:00:00 2001 From: Guillaume Beraudo Date: Tue, 20 Sep 2011 14:36:15 +0200 Subject: [PATCH] Initial support for conferencing. --- AndroidManifest.xml | 6 +- res/drawable/conf_callee_active_bg.xml | 12 + res/drawable/conf_callee_bg.xml | 7 + res/drawable/conf_callee_incoming_bg.xml | 12 + res/drawable/conf_callee_inconf_bg.xml | 12 + res/drawable/conf_callee_pressed_bg.xml | 12 + res/drawable/conf_callee_selected_bg.xml | 7 + res/drawable/conf_callee_selector_active.xml | 7 + .../conf_callee_selector_incoming.xml | 7 + res/drawable/conf_callee_selector_inconf.xml | 7 + res/drawable/conf_callee_selector_normal.xml | 7 + res/drawable/conf_merge_all.png | Bin 0 -> 1054 bytes res/drawable/conf_remove.png | Bin 0 -> 886 bytes res/drawable/conf_status_inconf.png | Bin 0 -> 840 bytes res/drawable/conf_status_paused.png | Bin 0 -> 978 bytes res/drawable/conf_transfer.png | Bin 0 -> 1235 bytes res/layout-land/dialer.xml | 9 + res/layout/conf_callee.xml | 40 +- res/layout/conf_choices_admin.xml | 37 ++ res/layout/conf_choices_dialog.xml | 67 +++ res/layout/conferencing.xml | 89 ++-- res/layout/dialer.xml | 10 + res/values/callee_style.xml | 32 ++ res/values/custom.xml | 1 + res/values/strings.xml | 31 ++ res/xml/preferences.xml | 6 +- src/org/linphone/ConferenceActivity.java | 428 ++++++++++++------ src/org/linphone/DialerActivity.java | 56 ++- src/org/linphone/LinphoneActivity.java | 22 +- src/org/linphone/LinphoneManager.java | 9 +- src/org/linphone/LinphoneService.java | 1 - src/org/linphone/core/LinphoneCoreImpl.java | 53 ++- test/org/linphone/TestConferenceActivity.java | 40 +- 33 files changed, 791 insertions(+), 236 deletions(-) create mode 100644 res/drawable/conf_callee_active_bg.xml create mode 100644 res/drawable/conf_callee_bg.xml create mode 100644 res/drawable/conf_callee_incoming_bg.xml create mode 100644 res/drawable/conf_callee_inconf_bg.xml create mode 100644 res/drawable/conf_callee_pressed_bg.xml create mode 100644 res/drawable/conf_callee_selected_bg.xml create mode 100644 res/drawable/conf_callee_selector_active.xml create mode 100644 res/drawable/conf_callee_selector_incoming.xml create mode 100644 res/drawable/conf_callee_selector_inconf.xml create mode 100644 res/drawable/conf_callee_selector_normal.xml create mode 100644 res/drawable/conf_merge_all.png create mode 100644 res/drawable/conf_remove.png create mode 100644 res/drawable/conf_status_inconf.png create mode 100644 res/drawable/conf_status_paused.png create mode 100644 res/drawable/conf_transfer.png create mode 100644 res/layout/conf_choices_admin.xml create mode 100644 res/layout/conf_choices_dialog.xml create mode 100644 res/values/callee_style.xml diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 7e38ea7ca..2ad149b55 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -110,9 +110,9 @@ + android:label="Conf test" + android:theme="@android:style/Theme.NoTitleBar.Fullscreen" + android:enabled="true"> diff --git a/res/drawable/conf_callee_active_bg.xml b/res/drawable/conf_callee_active_bg.xml new file mode 100644 index 000000000..662710e79 --- /dev/null +++ b/res/drawable/conf_callee_active_bg.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/res/drawable/conf_callee_bg.xml b/res/drawable/conf_callee_bg.xml new file mode 100644 index 000000000..34c4f8687 --- /dev/null +++ b/res/drawable/conf_callee_bg.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/res/drawable/conf_callee_incoming_bg.xml b/res/drawable/conf_callee_incoming_bg.xml new file mode 100644 index 000000000..65ed06b42 --- /dev/null +++ b/res/drawable/conf_callee_incoming_bg.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/res/drawable/conf_callee_inconf_bg.xml b/res/drawable/conf_callee_inconf_bg.xml new file mode 100644 index 000000000..ada123c15 --- /dev/null +++ b/res/drawable/conf_callee_inconf_bg.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/res/drawable/conf_callee_pressed_bg.xml b/res/drawable/conf_callee_pressed_bg.xml new file mode 100644 index 000000000..31cfd4a6f --- /dev/null +++ b/res/drawable/conf_callee_pressed_bg.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/res/drawable/conf_callee_selected_bg.xml b/res/drawable/conf_callee_selected_bg.xml new file mode 100644 index 000000000..d98b22f5a --- /dev/null +++ b/res/drawable/conf_callee_selected_bg.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/res/drawable/conf_callee_selector_active.xml b/res/drawable/conf_callee_selector_active.xml new file mode 100644 index 000000000..cb64a4a1e --- /dev/null +++ b/res/drawable/conf_callee_selector_active.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/drawable/conf_callee_selector_incoming.xml b/res/drawable/conf_callee_selector_incoming.xml new file mode 100644 index 000000000..b7e045d00 --- /dev/null +++ b/res/drawable/conf_callee_selector_incoming.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/drawable/conf_callee_selector_inconf.xml b/res/drawable/conf_callee_selector_inconf.xml new file mode 100644 index 000000000..85e3ea5ff --- /dev/null +++ b/res/drawable/conf_callee_selector_inconf.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/drawable/conf_callee_selector_normal.xml b/res/drawable/conf_callee_selector_normal.xml new file mode 100644 index 000000000..2da1f36ac --- /dev/null +++ b/res/drawable/conf_callee_selector_normal.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/drawable/conf_merge_all.png b/res/drawable/conf_merge_all.png new file mode 100644 index 0000000000000000000000000000000000000000..66626fe7113a42dcfe921c1b9c0507adf2f26346 GIT binary patch literal 1054 zcmV+(1mXLMP)P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk_ z2{t6-EFC2P00W*$L_t(Y$F-pQ5Q>eQ4|DS zgk}tM5lQqxky=sKPSa#Wq0kpmU?CENLU-L%SRqLSS&=%ciyN&ve)J)VuC4nu)5V-w zcUK*~>A=f-c+WY{$N&GF|MT)cjqco>(Rt!>4)kO)7hP*B6h`NVRz*&yDk`y<;qtjX zv3kb$eR99VH>pboF|=U2as`!h=8{9h=D&IDqM0ON--e}w$>elp<$76M3B_!5a@<12 zr~`;!z`+tMS-56rGM-Fb%E1aeo6eW+9k&=8574NSVrK-+Scb>Y9BXWkR@F&YZj6!m74RLl zSLw5MasKc_ZH2;;@T5WpsR_>3;YF12aFweVmBuPu#aAOLRf~)BCB@FU(yt%tz*^jd z7W{<)Y{oB`iIeyVv+-*vnoc~8AF#5Rje6sixP(eIn#TC#z*0pq8|_HvOHU%gbliZs zcmyxwIHq84aQG?S3PCKzAm*dD94}L>VxGX%z)=DXA+jmOYy{K7vlMsY!H`imh61#A z6?19mz*pFb_F^`YNaqj7(TG%Va1XAIVJGY zghc^?u3AC=8zLXV$2fs^Clu2lMzAM9bSA(y69egd>Bp|lXjj;KD)6+s22**ASWd#{ zfrq~X46*QiYS`BwGM^L9jEu^~?{}ae@O5ge3O9s}r-SkJ!EgMM@hDn%<*vJM`@Md}M>V;RLYZvQf2N)ax8g(02%olK>%JG7`xfR7*6r~}@ID;x z{`$y?*EZGbDN(p|u>kAlo=m2%?d`(({p50gAO_}tPo)w%Uq!4!d%n~W_U@SYV^JIb Y0m*(T{33^_>;M1&07*qoM6N<$f+;Nh1poj5 literal 0 HcmV?d00001 diff --git a/res/drawable/conf_remove.png b/res/drawable/conf_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..7570cc5999f5cc25724431ddcc9698c109c640cc GIT binary patch literal 886 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 A+W-In literal 0 HcmV?d00001 diff --git a/res/drawable/conf_transfer.png b/res/drawable/conf_transfer.png new file mode 100644 index 0000000000000000000000000000000000000000..d539cd241cc20029cc08ab78864b4cd58bcffef9 GIT binary patch literal 1235 zcmV;^1T6cBP)P000*V1^@s6{^R5m00001b5ch_0Itp) z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipk_ z6A=@TL_t(Y$F-GBY*bYg$A9O}o6bxfpaMoJ@-b~=3Zw<6ErjWaO*BSa z7#4{ks7ZsQQrw zo)zj3W}Z~*y#+J?S&aDvr|wwCnk_~3bk^2@1VN`4xZrq~TWdDEw)KUnJ223s*4qPg zA*L0025X;kvm;&=phC^Ur4jcwIhf163evOxfVmni5DZQ)Pfj*CEeS1+v;7N z_0zaIvH-&KZUeHpZxMY{SZv>m7it{~TZ8lXZ5Zoy9rMeQR&*XYn10Mjt0rw)NzhdE_HL4bK z47J-(yXE1Bw(OfDSHGRb4G=kyz6NL}M;Ms#PaWUV1B$?=Os=;r9!n0HiXU_MieStM zA8va=TvXxI^1P%^e_!PhG$nu=zM}%*0(C&i--rD#z;ysg^hc^hPmQP6tM!fm%YnU! zX;#$`#=O_Dw)@1~EGe0>)ciht1o#|i0y?Qn`Xek3G|(L0Ky##xH-Fvzv4}j6+KOHaSR0SGJUWa>ZEu#xn<$y_)G#mr z`~Vz^$C6W(Y3$%{b_}j0VxrWWD9*Bm*S%{uF9UHAF~CuEoU73Whsm2>&3pmlDCzSl zfOQq%cq~~aPz?GV@2_t+j#6);ywb!WyZR$L5K|t=m6Z2QPg@Q>dN9@P^(3U?7qX1HLyWjXj1|tp+C0(9vx + +