From 28c59401a3f15c99cf6d939628c173f8bf7c4004 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 26 Jun 2012 10:36:38 +0200 Subject: [PATCH 01/26] Fix video display and pausing during transfert --- Classes/LinphoneUI/LinphoneManager.m | 38 ++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 1f2b3dded..b7f1d9a2a 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -179,6 +179,8 @@ extern void libmsbcg729_init(); forUser:lUserName withDisplayName:lDisplayName]; break; + case LinphoneCallPaused: + case LinphoneCallPausing: case LinphoneCallPausedByRemote: case LinphoneCallConnected: [callDelegate displayInCall: call @@ -248,10 +250,20 @@ extern void libmsbcg729_init(); forUser:@"" withDisplayName:@""]; } else { - [callDelegate displayInCall:call - FromUI:mCurrentViewController - forUser:lUserName - withDisplayName:lDisplayName]; + call = linphone_core_get_current_call([LinphoneManager getLc]); + if(call) { + const LinphoneCallParams* current = linphone_call_get_current_params(call); + if (linphone_call_params_video_enabled(current)) { + [callDelegate displayVideoCall:call FromUI:mCurrentViewController + forUser:lUserName + withDisplayName:lDisplayName]; + } else { + [callDelegate displayInCall:call + FromUI:mCurrentViewController + forUser:lUserName + withDisplayName:lDisplayName]; + } + } } break; } @@ -261,10 +273,20 @@ extern void libmsbcg729_init(); forUser:@"" withDisplayName:@""]; } else { - [callDelegate displayInCall:call - FromUI:mCurrentViewController - forUser:lUserName - withDisplayName:lDisplayName]; + call = linphone_core_get_current_call([LinphoneManager getLc]); + if(call) { + const LinphoneCallParams* current = linphone_call_get_current_params(call); + if (linphone_call_params_video_enabled(current)) { + [callDelegate displayVideoCall:call FromUI:mCurrentViewController + forUser:lUserName + withDisplayName:lDisplayName]; + } else { + [callDelegate displayInCall:call + FromUI:mCurrentViewController + forUser:lUserName + withDisplayName:lDisplayName]; + } + } } break; case LinphoneCallStreamsRunning: From 544f4dc140d079c63dc604110a8a6d89e768d494 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 26 Jun 2012 15:49:44 +0200 Subject: [PATCH 02/26] update exosip submodule (to disable tcp server socket) --- submodules/externals/exosip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/exosip b/submodules/externals/exosip index 8c42924ae..df2219241 160000 --- a/submodules/externals/exosip +++ b/submodules/externals/exosip @@ -1 +1 @@ -Subproject commit 8c42924ae9009f6003e98d29638e078ca1bd7c71 +Subproject commit df221924193acbfac3c7205cfdab32e690fa5f83 From 77690b7018c4656dfa18a3c8de4109fc4e7d4a27 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 2 Jul 2012 19:14:08 +0200 Subject: [PATCH 03/26] update linphone submodule with a memory leak fixe --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 630e26944..179727a5f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 630e26944dd6e5cca53787452b162ec6baf7ba48 +Subproject commit 179727a5f65c4f9043b8534e59be8ecf508073ad From d487b99f8b8932302975465a9e00e8e38de1bb83 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 31 Jul 2012 16:26:51 +0200 Subject: [PATCH 04/26] fix IOS camera localized name issue --- Classes/LinphoneUI/LinphoneManager.m | 4 ++-- submodules/linphone | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index b7f1d9a2a..8345c50d4 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -40,8 +40,8 @@ extern void libmsamr_init(); #ifdef HAVE_X264 extern void libmsx264_init(); #endif -#define FRONT_CAM_NAME "AV Capture: Front Camera" -#define BACK_CAM_NAME "AV Capture: Back Camera" +#define FRONT_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:1" /*"AV Capture: Front Camera"*/ +#define BACK_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:0" /*"AV Capture: Back Camera"*/ #define DEFAULT_EXPIRES 600 #if defined (HAVE_SILK) extern void libmssilk_init(); diff --git a/submodules/linphone b/submodules/linphone index 179727a5f..9a0097a97 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 179727a5f65c4f9043b8534e59be8ecf508073ad +Subproject commit 9a0097a9748862b91448bb71c10c619e122e739a From d077851f7e2a1104a6ae05a1680d0e498a2beb08 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 31 Jul 2012 16:28:01 +0200 Subject: [PATCH 05/26] update exosip2 to fix tcp cnx connection issue --- submodules/externals/exosip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/exosip b/submodules/externals/exosip index df2219241..dfe434328 160000 --- a/submodules/externals/exosip +++ b/submodules/externals/exosip @@ -1 +1 @@ -Subproject commit df221924193acbfac3c7205cfdab32e690fa5f83 +Subproject commit dfe434328c0b0cbbaee669d40b27e09fea5f49ab From 0cfc20b8da05d141600b34d39dd3499dbff56981 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 18 Sep 2012 10:32:00 +0200 Subject: [PATCH 06/26] xcode 4.6/ios6 support --- README | 2 + submodules/build/Makefile | 10 +-- submodules/build/Makefile.ios6-beta | 81 ++++++++++++++++++++++++ submodules/build/builder-iphone-os.mk | 16 +++-- submodules/build/builders.d/libvpx.mk | 2 + submodules/build/builders.d/libvpx.patch | 37 +++++++++-- submodules/build/iphone-config.site | 13 ++-- submodules/linphone | 2 +- 8 files changed, 141 insertions(+), 22 deletions(-) create mode 100644 submodules/build/Makefile.ios6-beta diff --git a/README b/README index 096cfdadb..774b58245 100644 --- a/README +++ b/README @@ -50,6 +50,8 @@ BUILDING THE SDK $ cd submodules/build $ make all enable_gpl_third_parties=no +xcode 4.5i/ios6 beta do: + $ make -f Makefile.ios6-beta * ZRTP support You can enable ZRTP support in GPL mode only, by adding "enable_zrtp=yes" to the make command, for example: diff --git a/submodules/build/Makefile b/submodules/build/Makefile index 72b7b1d5e..276688bb4 100644 --- a/submodules/build/Makefile +++ b/submodules/build/Makefile @@ -54,28 +54,28 @@ endif LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) enable_zrtp=$(enable_zrtp) build: - make -f builder-iphone-os.mk $(LINPHONE_OPTIONS) all \ + make -f builder-iphone-os.mk host=armv6-apple-darwin $(LINPHONE_OPTIONS) all \ && make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ && make -f builder-iphone-os.mk host=armv7-apple-darwin $(LINPHONE_OPTIONS) all \ && make -f builder-iphone-os.mk delivery-sdk ipa: build make -f builder-iphone-simulator.mk ipa \ - && make -f builder-iphone-os.mk ipa \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin ipa \ && make -f builder-iphone-os.mk host=armv7-apple-darwin ipa clean: make -f builder-iphone-simulator.mk clean \ - && make -f builder-iphone-os.mk clean \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin clean \ && make -f builder-iphone-os.mk host=armv7-apple-darwin clean clean-makefile: make -f builder-iphone-simulator.mk clean-makefile \ - && make -f builder-iphone-os.mk clean-makefile \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin clean-makefile \ && make -f builder-iphone-os.mk host=armv7-apple-darwin clean-makefile veryclean: make -f builder-iphone-simulator.mk veryclean \ - && make -f builder-iphone-os.mk veryclean \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin veryclean \ && make -f builder-iphone-os.mk host=armv7-apple-darwin veryclean diff --git a/submodules/build/Makefile.ios6-beta b/submodules/build/Makefile.ios6-beta new file mode 100644 index 000000000..bb1fd7a6c --- /dev/null +++ b/submodules/build/Makefile.ios6-beta @@ -0,0 +1,81 @@ +############################################################################ +# Makefile +# Copyright (C) 2009 Belledonne Communications,Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ +enable_gpl_third_parties=yes +enable_zrtp=no + +.NOTPARALLEL all: check_options build warning +ifeq ($(enable_gpl_third_parties)$(enable_zrtp),noyes) +check_options: + @echo "ZRTP is not available in non-gpl build." + @exit -1 +else +check_options: + +endif + +ifeq ($(enable_gpl_third_parties),yes) +warning: + @echo + @echo "*****************************************************************" + @echo "*****************************************************************" + @echo "*****CAUTION, this liblinphone SDK is built using GPL code ******" + @echo "*****To disable gpl code, use make enable_gpl_third_parties=no***" + @echo "*****************************************************************" + @echo "*****************************************************************" +else +warning: + @echo + @echo "*****************************************************************" + @echo "*****************************************************************" + @echo "*****linphone SDK without GPL code ******" + @echo "*****************************************************************" + @echo "*****************************************************************" +endif + +LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) enable_zrtp=$(enable_zrtp) + +build: + make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk delivery-sdk + +ipa: build + make -f builder-iphone-simulator.mk ipa \ + && make -f builder-iphone-os.mk ipa \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin ipa \ + +clean: + make -f builder-iphone-simulator.mk clean \ + && make -f builder-iphone-os.mk clean \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean \ + +clean-makefile: + make -f builder-iphone-simulator.mk clean-makefile \ + && make -f builder-iphone-os.mk clean-makefile \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean-makefile \ + +veryclean: + make -f builder-iphone-simulator.mk veryclean \ + && make -f builder-iphone-os.mk veryclean \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin veryclean \ + diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 93c5571d1..48b54121a 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -20,7 +20,7 @@ # ############################################################################ -host?=armv6-apple-darwin +host?=armv7-apple-darwin config_site:=iphone-config.site library_mode:= --disable-shared --enable-static linphone_configure_controls= \ @@ -301,13 +301,17 @@ multi-arch: cp -rf $(prefix)/include $(prefix)/../apple-darwin/. ; \ cp -rf $(prefix)/share $(prefix)/../apple-darwin/. ; \ for archive in $$arm_archives ; do \ - i386_path=`echo $$archive | sed -e "s/armv6/i386/"` ;\ - armv7_path=`echo $$archive | sed -e "s/armv6/armv7/"` ;\ - destpath=`echo $$archive | sed -e "s/armv6-//"` ;\ + i386_path=`echo $$archive | sed -e "s/armv7/i386/"` ;\ + armv6_path=`echo $$archive | sed -e "s/armv7/armv6/"` ;\ + if test ! -f "$$armv6_path"; then \ + armv6_path= ; \ + fi; \ + armv7s_path=`echo $$archive | sed -e "s/armv7/armv7s/"` ;\ + destpath=`echo $$archive | sed -e "s/armv7-//"` ;\ if test -f "$$i386_path"; then \ - echo "Mixing $$archive and $$i386_path into $$destpath"; \ + echo "Mixing $$archive into $$destpath"; \ mkdir -p `dirname $$destpath` ; \ - lipo -create $$archive $$armv7_path $$i386_path -output $$destpath; \ + lipo -create $$archive $$armv7s_path $$armv6_path $$i386_path -output $$destpath; \ else \ echo "WARNING: archive `basename $$archive` exists in arm tree but does not exists in i386 tree."; \ fi \ diff --git a/submodules/build/builders.d/libvpx.mk b/submodules/build/builders.d/libvpx.mk index 13e0aa62b..8b65258a9 100644 --- a/submodules/build/builders.d/libvpx.mk +++ b/submodules/build/builders.d/libvpx.mk @@ -6,6 +6,8 @@ libvpx_configure_options=\ ifneq (,$(findstring armv6,$(host))) libvpx_configure_options+= --target=armv6-darwin-gcc --cpu=arm1176jzf-s +else ifneq (,$(findstring armv7s,$(host))) + libvpx_configure_options+= --target=armv7s-darwin-gcc --cpu=cortex-a8 else ifneq (,$(findstring armv7,$(host))) libvpx_configure_options+= --target=armv7-darwin-gcc --cpu=cortex-a8 else diff --git a/submodules/build/builders.d/libvpx.patch b/submodules/build/builders.d/libvpx.patch index 390ec4ecf..6d77453c3 100644 --- a/submodules/build/builders.d/libvpx.patch +++ b/submodules/build/builders.d/libvpx.patch @@ -1,5 +1,5 @@ diff --git a/build/make/configure.sh b/build/make/configure.sh -index 0426f92..24fa04e 100755 +index 0426f92..d1f4760 100755 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -624,6 +624,9 @@ process_common_toolchain() { @@ -12,7 +12,7 @@ index 0426f92..24fa04e 100755 case ${toolchain} in *-darwin8-*) -@@ -743,6 +746,14 @@ process_common_toolchain() { +@@ -743,9 +746,17 @@ process_common_toolchain() { darwin*) SDK_PATH=/Developer/Platforms/iPhoneOS.platform/Developer TOOLCHAIN_PATH=${SDK_PATH}/usr/bin @@ -26,10 +26,17 @@ index 0426f92..24fa04e 100755 + fi CC=${TOOLCHAIN_PATH}/gcc AR=${TOOLCHAIN_PATH}/ar - LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-llvm-gcc-4.2 -@@ -759,10 +770,10 @@ process_common_toolchain() { +- LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-llvm-gcc-4.2 ++ LD=${TOOLCHAIN_PATH}/ld + AS=${TOOLCHAIN_PATH}/as + STRIP=${TOOLCHAIN_PATH}/strip + NM=${TOOLCHAIN_PATH}/nm +@@ -757,12 +768,12 @@ process_common_toolchain() { + ASFLAGS="-version -arch ${tgt_isa} -g" + add_cflags -arch ${tgt_isa} - add_ldflags -arch_only ${tgt_isa} +- add_ldflags -arch_only ${tgt_isa} ++ add_ldflags -arch ${tgt_isa} - add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS5.0.sdk" + add_cflags "-isysroot $SDK_FULL_PATH" @@ -40,3 +47,23 @@ index 0426f92..24fa04e 100755 # Add the paths for the alternate libc for d in usr/include; do +diff --git a/configure b/configure +index 6f20c6b..4638ea2 100755 +--- a/configure ++++ b/configure +@@ -94,6 +94,7 @@ all_platforms="${all_platforms} iwmmxt-linux-gcc" + all_platforms="${all_platforms} iwmmxt2-linux-rvct" + all_platforms="${all_platforms} iwmmxt2-linux-gcc" + all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8 ++all_platforms="${all_platforms} armv7s-darwin-gcc" #neon Cortex-A8 + all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8 + all_platforms="${all_platforms} armv7-linux-gcc" #neon Cortex-A8 + all_platforms="${all_platforms} armv7-none-rvct" #neon Cortex-A8 +@@ -198,6 +199,7 @@ ARCH_EXT_LIST=" + armv5te + armv6 + armv7 ++ armv7s + iwmmxt + iwmmxt2 + diff --git a/submodules/build/iphone-config.site b/submodules/build/iphone-config.site index 4256d17ed..ea15aad82 100644 --- a/submodules/build/iphone-config.site +++ b/submodules/build/iphone-config.site @@ -18,16 +18,20 @@ elif test "${host_alias}" = "armv7-apple-darwin" ; then PLATFORM=OS CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=arm" MCPU="-mcpu=cortex-a8" +elif test "${host_alias}" = "armv7s-apple-darwin" ; then + ARCH=armv7s + PLATFORM=OS + CMAKE_OPTS="-DCMAKE_SYSTEM_PROCESSOR=arm" else echo "bad host ${host_alias} must be either i386-apple-darwin or armv6-apple-darwin" exit fi echo "Loading config.site for iPhone platform=${PLATFORM} version=${SDK_VERSION}" - +XCODE_ROOT=/Applications/Xcode.app #new path with Xcode 4.3: -if test -d /Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs ; then - SDK_PATH_LIST=`ls -drt /Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*` - SDK_BIN_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin +if test -d ${XCODE_ROOT}/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs ; then + SDK_PATH_LIST=`ls -drt ${XCODE_ROOT}/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*` + SDK_BIN_PATH=${XCODE_ROOT}/Contents/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin else SDK_PATH_LIST=`ls -drt /Developer/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}*` SDK_BIN_PATH=/Developer/Platforms/iPhone${PLATFORM}.platform/Developer/usr/bin @@ -44,5 +48,4 @@ AR=${SDK_BIN_PATH}/ar RANLIB=${SDK_BIN_PATH}/ranlib CPPFLAGS="-Dasm=__asm" -LDFLAGS="-Wl,-syslibroot,${SYSROOT_PATH} -framework CFNetwork" OBJCFLAGS="-x objective-c -fexceptions -gdwarf-2 -fobjc-abi-version=2 -fobjc-legacy-dispatch" diff --git a/submodules/linphone b/submodules/linphone index 9a0097a97..1cbe09869 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 9a0097a9748862b91448bb71c10c619e122e739a +Subproject commit 1cbe098692da4ad2a511bd677994c50d3716f314 From b226d0de322ab9194f53f3a69ec15323cc16bf5e Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 18 Sep 2012 15:04:47 +0200 Subject: [PATCH 07/26] fix build for xcode4.4 --- submodules/build/builder-iphone-os.mk | 3 +++ submodules/build/builders.d/libvpx.patch | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 48b54121a..35e345620 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -307,6 +307,9 @@ multi-arch: armv6_path= ; \ fi; \ armv7s_path=`echo $$archive | sed -e "s/armv7/armv7s/"` ;\ + if test ! -f "$$armv7s_path"; then \ + armv7s_path= ; \ + fi; \ destpath=`echo $$archive | sed -e "s/armv7-//"` ;\ if test -f "$$i386_path"; then \ echo "Mixing $$archive into $$destpath"; \ diff --git a/submodules/build/builders.d/libvpx.patch b/submodules/build/builders.d/libvpx.patch index 6d77453c3..d651ccfc8 100644 --- a/submodules/build/builders.d/libvpx.patch +++ b/submodules/build/builders.d/libvpx.patch @@ -1,5 +1,5 @@ diff --git a/build/make/configure.sh b/build/make/configure.sh -index 0426f92..d1f4760 100755 +index 0426f92..38fdcb2 100755 --- a/build/make/configure.sh +++ b/build/make/configure.sh @@ -624,6 +624,9 @@ process_common_toolchain() { @@ -27,7 +27,7 @@ index 0426f92..d1f4760 100755 CC=${TOOLCHAIN_PATH}/gcc AR=${TOOLCHAIN_PATH}/ar - LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-llvm-gcc-4.2 -+ LD=${TOOLCHAIN_PATH}/ld ++ LD=${TOOLCHAIN_PATH}/gcc AS=${TOOLCHAIN_PATH}/as STRIP=${TOOLCHAIN_PATH}/strip NM=${TOOLCHAIN_PATH}/nm From c126a5172dcb315731861ead851f71b4bfca7917 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Thu, 20 Sep 2012 18:12:52 +0200 Subject: [PATCH 08/26] remove armv6 build Conflicts: README --- Classes/ConsoleViewController.xib | 207 +- Classes/InCallViewController-ipad.xib | 2600 +++++++-------- Classes/IncallViewController.xib | 2799 +++++++---------- Classes/MoreViewController.xib | 514 +-- Classes/PhoneViewController-ipad.xib | 1561 ++++----- Classes/PhoneViewController.xib | 1919 +++++------ Classes/VideoViewController-ipad.xib | 48 +- README | 8 +- submodules/build/Makefile | 22 +- .../{Makefile.ios6-beta => Makefile.xcode4.4} | 22 +- submodules/build/builder-iphone-os.mk | 2 +- submodules/build/builders.d/libvpx.mk | 3 + 12 files changed, 3898 insertions(+), 5807 deletions(-) rename submodules/build/{Makefile.ios6-beta => Makefile.xcode4.4} (76%) diff --git a/Classes/ConsoleViewController.xib b/Classes/ConsoleViewController.xib index 16846dae6..9413d2106 100644 --- a/Classes/ConsoleViewController.xib +++ b/Classes/ConsoleViewController.xib @@ -1,76 +1,90 @@ - + 784 - 9L31a - 680 - 949.54 - 353.00 - + 11E53 + 2840 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1926 + + YES - + IBProxyObject + IBUITextView + IBUIView YES com.apple.InterfaceBuilder.IBCocoaTouchPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES IBFilesOwner + IBCocoaTouchFramework IBFirstResponder + IBCocoaTouchFramework - - - - 292 - - YES - - - 274 - {320, 450} - - - 1 - MSAxIDEAA - - YES - YES - NO - NO - NO - NO - NO - - - 2 - + + + 292 + + YES + + + 274 + {320, 450} + + + + 1 + MSAxIDEAA + + YES + YES + IBCocoaTouchFramework + NO + NO + NO + NO + NO + + + 2 + IBCocoaTouchFramework + + + 1 + 17 + + + Helvetica + 17 + 16 - {320, 460} - - - 3 - MQA - - 2 - - - NO - + {320, 460} + + + + 3 + MQA + + 2 + + + NO + IBCocoaTouchFramework @@ -78,11 +92,11 @@ YES - logs + view - + - 9 + 14 @@ -94,11 +108,11 @@ - view + logs - + - 14 + 9 @@ -116,22 +130,13 @@ -1 - RmlsZSdzIE93bmVyA + File's Owner -2 - - 10 - - - YES - - - - 4 @@ -139,7 +144,7 @@ YES - + logView @@ -151,22 +156,20 @@ YES - + YES -1.CustomClassName + -1.IBPluginDependency -2.CustomClassName - 10.CustomClassName - 10.IBEditorWindowLastContentRect - 10.IBPluginDependency + -2.IBPluginDependency 4.IBPluginDependency 7.IBPluginDependency - + YES ConsoleViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder - ConsoleViewController - {{807, 300}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -174,22 +177,14 @@ YES - - YES - - - YES - + + YES - - YES - - - YES - + + 14 @@ -202,27 +197,55 @@ UIViewController YES - + YES logs logsView - + YES UITextView UIView + + YES + + YES + logs + logsView + + + YES + + logs + UITextView + + + logsView + UIView + + + IBProjectSource - Classes/ConsoleViewController.h + ./Classes/ConsoleViewController.h 0 - ../linphone.xcodeproj + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES 3 - 3.1 + 1926 diff --git a/Classes/InCallViewController-ipad.xib b/Classes/InCallViewController-ipad.xib index 51b1dfa66..f59eb43ab 100644 --- a/Classes/InCallViewController-ipad.xib +++ b/Classes/InCallViewController-ipad.xib @@ -1,21 +1,20 @@ - 1280 - 11C74 - 1938 - 1138.23 - 567.00 + 1536 + 11E53 + 2840 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1926 - IBUIButton - IBUIImageView - IBUIViewController IBProxyObject IBUIActivityIndicatorView + IBUIButton + IBUIImageView IBUITableView IBUIView @@ -35,846 +34,776 @@ IBFirstResponder IBIPadFramework - - - - 274 - - - - 274 - - - - 292 - {768, 1024} - - - - _NS:569 - NO - IBIPadFramework - - - - 292 - {{20, 956}, {28, 28}} - - - - _NS:567 - NO - IBIPadFramework - - - - 292 - {{366, 493}, {37, 37}} - - - - _NS:1062 - NO - IBIPadFramework - NO - 0 - - - - 292 - {{598, 799}, {170, 225}} - - - - - 3 - MQA - - 2 - - - IBIPadFramework - - - {768, 1024} - - - - _NS:212 - - 3 - MC42NjY2NjY2NjY3AA + + + 274 + + + + 274 + + + + 292 + {768, 1024} + + + _NS:569 + NO + IBIPadFramework - IBIPadFramework + + + 292 + {{20, 956}, {28, 28}} + + + _NS:567 + NO + IBIPadFramework + + + + 292 + {{366, 493}, {37, 37}} + + + _NS:1062 + NO + IBIPadFramework + NO + 0 + + + + 292 + {{598, 799}, {170, 225}} + + + + 3 + MQA + + 2 + + + IBIPadFramework + + + {768, 1024} + + + _NS:212 + + 3 + MC42NjY2NjY2NjY3AA - - - 292 - {{224, 740}, {320, 66}} - - - - NO - IBIPadFramework - 0 - 0 - 1 - Change camera - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - NSImage - clavier-01-108px.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + IBIPadFramework + + + + 292 + {{224, 740}, {320, 66}} + + + NO + IBIPadFramework + 0 + 0 + 1 + Change camera + + 3 + MQA - - - 274 - {768, 805} - - - - _NS:408 - - 3 - MSAwAA - + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + clavier-01-108px.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 274 + {768, 805} + + + _NS:408 + + 3 + MSAwAA + + + YES + IBIPadFramework + YES + 0 + YES + 80 + 22 + 22 + + + + 292 + + + + 292 + {{0, 1}, {320, 66}} + + + 1 + MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + stopcall-red.png + + + NSImage + clavier-01-106px.png + + + - YES - IBIPadFramework - YES - 0 - YES - 80 - 22 - 22 + + {{224, 937}, {320, 77}} + + + _NS:196 + + 3 + MCAwAA - - - 292 - - - - 292 - {{0, 1}, {320, 66}} - - - - - 1 - MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - stopcall-red.png - - - NSImage - clavier-01-106px.png - - - + IBIPadFramework + + + + 292 + + + + 292 + {{80, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + grouper.png + + + 2 + 17 + + + Helvetica-Bold + 17 + 16 - - {{224, 937}, {320, 77}} - - - - _NS:196 - - 3 - MCAwAA - IBIPadFramework - - - - 292 - - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - grouper.png - - - 2 - 17 - - - Helvetica-Bold - 17 - 16 - + + + 292 + {{0, 4}, {107, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - 292 - {{0, 4}, {107, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - mic_active.png - - - NSImage - micro_inverse.png - - - NSImage - micro.png - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 - + + + NSImage + mic_active.png - - - 292 - {{0, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - ajouter.png - - - + + NSImage + micro_inverse.png - - - 292 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - 1 - MCAwIDAAA - - - NSImage - contact.png - - - + + NSImage + micro.png - - - -2147483356 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 1 - video - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier-01-160px.png - - - + + 2 + 2 - - - 292 - {{160, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - transfer - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - + + Helvetica-Bold + 18 + 16 - - - 292 - {{262, 84}, {37, 37}} - - - - _NS:1062 - NO - IBIPadFramework - NO - 0 - - - - 292 - {{107, 4}, {106, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier.png - - - - - - - 292 - {{213, 4}, {107, 66}} - - - - - NO - NO - IBIPadFramework - NO - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - HP_inverse.png - - - NSImage - HP.png - - - - - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - NSImage - pause_inactif.png - - - NSImage - pause.png - - - - - - {{224, 801.5}, {320, 135}} - - - - - NO - NO - IBIPadFramework - - - - -2147483356 - - - - 292 - {{119, 251}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - close - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 2 - - - - - - - - - 292 - {{207, 19}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 77}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 135}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 193}, {82, 52}} - - - - - NO - NO - IBIPadFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - {{178, 146}, {320, 310}} - - - - - 3 - MC4yNAA - NO - NO - IBIPadFramework + + + 292 + {{0, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + ajouter.png + + + + + + + 292 + {{240, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + 1 + MCAwIDAAA + darkTextColor + + + NSImage + contact.png + + + + + + + -2147483356 + {{240, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 1 + video + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + clavier-01-160px.png + + + + + + + 292 + {{160, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + transfer + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + + + + + 292 + {{262, 84}, {37, 37}} + + + _NS:1062 + NO + IBIPadFramework + NO + 0 + + + + 292 + {{107, 4}, {106, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + clavier.png + + + + + + + 292 + {{213, 4}, {107, 66}} + + + + NO + NO + IBIPadFramework + NO + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + HP_inverse.png + + + NSImage + HP.png + + + + + + + 292 + {{80, 70}, {80, 66}} + + + + NO + NO + IBIPadFramework + 0 + 0 + + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + NSImage + pause_inactif.png + + + NSImage + pause.png + + + + + + {{224, 801.5}, {320, 135}} + + + + NO + NO + IBIPadFramework + + + + -2147483356 + + + + 292 + {{119, 251}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + close + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 193}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 19}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 1 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 19}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 2 + + + + + + + + + 292 + {{207, 19}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 77}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 77}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 77}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 135}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 135}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 135}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 193}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 193}, {82, 52}} + + + + NO + NO + IBIPadFramework + 0 + 0 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + {{178, 146}, {320, 310}} + + + + 3 + MC4yNAA - - {{0, 20}, {768, 1004}} - - - - _NS:212 - - IBIPadFramework - - - 2 - - - 1 - 1 - + NO + NO + IBIPadFramework + + + {768, 1004} + + + _NS:212 + IBIPadFramework - NO - - - callTableView - - - - 114 - - - - endCtrl - - - - 119 - - - - hangUpView - - - - 122 - speaker @@ -883,62 +812,6 @@ 132 - - - mute - - - - 125 - - - - addVideo - - - - 113 - - - - mergeCalls - - - - 124 - - - - addCall - - - - 112 - - - - contacts - - - - 116 - - - - dialer - - - - 141 - - - - pause - - - - 129 - controlSubView @@ -949,75 +822,35 @@ - five + star - + - 120 + 133 - nine + hangUpView - + - 126 + 122 - seven + contacts - + - 130 + 116 - six + mergeCalls - + - 131 - - - - four - - - - 121 - - - - three - - - - 134 - - - - zero - - - - 137 - - - - two - - - - 135 - - - - close - - - - 115 + 124 @@ -1029,27 +862,11 @@ - eight + addCall - + - 118 - - - - one - - - - 127 - - - - star - - - - 133 + 112 @@ -1061,11 +878,27 @@ - view + seven - + - 136 + 130 + + + + eight + + + + 118 + + + + pause + + + + 129 @@ -1085,43 +918,11 @@ - videoPreview + callTableView - + - 162 - - - - videoCallQuality - - - - 163 - - - - videoCameraSwitch - - - - 164 - - - - videoUpdateIndicator - - - - 167 - - - - videoWaitingForFirstImage - - - - 168 + 114 @@ -1133,11 +934,155 @@ - dataSource - - + videoCallQuality + + - 139 + 163 + + + + close + + + + 115 + + + + mute + + + + 125 + + + + videoWaitingForFirstImage + + + + 168 + + + + videoUpdateIndicator + + + + 167 + + + + dialer + + + + 141 + + + + endCtrl + + + + 119 + + + + zero + + + + 137 + + + + three + + + + 134 + + + + one + + + + 127 + + + + videoPreview + + + + 162 + + + + five + + + + 120 + + + + view + + + + 136 + + + + videoCameraSwitch + + + + 164 + + + + six + + + + 131 + + + + four + + + + 121 + + + + addVideo + + + + 113 + + + + nine + + + + 126 + + + + two + + + + 135 @@ -1147,6 +1092,14 @@ 140 + + + dataSource + + + + 139 + doAction: @@ -1195,31 +1148,40 @@ - 59 - + 60 + - + + + + + + - 60 - - - - - - - - - - + 154 + + 61 + + 152 + + + + + + + + + video + 88 @@ -1228,95 +1190,41 @@ - - 98 - - - end - 89 - - - - - - - - - + + + + + + + + + controls - - 96 - - - speaker - - - 92 - - - mute - - - 90 - - - video - - - 91 - - - merge - - - 93 - - - addcall - - - 94 - - - contacts - - - 95 - - - dialer - - - 97 - - - pauseresume - 87 - - - - - - - - - - - - + + + + + + + + + + + + pad @@ -1400,40 +1308,10 @@ star - 152 - - - - - - - - - video - - - 158 - - - - video_preview - - - 157 - - - video_view - - - 153 - - - call_quality_video - - - 154 - - + 169 + + + transfer 165 @@ -1441,16 +1319,82 @@ toggleVideoIndicator + + 90 + + + video + + + 96 + + + speaker + + + 92 + + + mute + + + 91 + + + merge + + + 93 + + + addcall + + + 94 + + + contacts + + + 95 + + + dialer + + + 97 + + + pauseresume + + + 98 + + + end + 166 - 169 - - - transfer + 153 + + + call_quality_video + + + 157 + + + video_view + + + 158 + + + video_preview @@ -1492,7 +1436,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1525,408 +1468,7 @@ 170 - - - - IncallViewController - UIViewController - - doAction: - id - - - doAction: - - doAction: - id - - - - UIButton - UIToggleVideoButton - UITableView - UIButton - UIViewController - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIImageView - UICamSwitch - UIView - UIView - UIActivityIndicatorView - UIView - VideoViewController - UIActivityIndicatorView - UIButton - - - - addCall - UIButton - - - addVideo - UIToggleVideoButton - - - callTableView - UITableView - - - close - UIButton - - - conferenceDetail - UIViewController - - - contacts - UIButton - - - controlSubView - UIView - - - dialer - UIButton - - - eight - UIButton - - - endCtrl - UIButton - - - five - UIButton - - - four - UIButton - - - hangUpView - UIView - - - hash - UIButton - - - mergeCalls - UIButton - - - mute - UIButton - - - nine - UIButton - - - one - UIButton - - - padSubView - UIView - - - pause - UIButton - - - seven - UIButton - - - six - UIButton - - - speaker - UIButton - - - star - UIButton - - - three - UIButton - - - transfer - UIButton - - - two - UIButton - - - videoCallQuality - UIImageView - - - videoCameraSwitch - UICamSwitch - - - videoGroup - UIView - - - videoPreview - UIView - - - videoUpdateIndicator - UIActivityIndicatorView - - - videoView - UIView - - - videoViewController - VideoViewController - - - videoWaitingForFirstImage - UIActivityIndicatorView - - - zero - UIButton - - - - IBProjectSource - ./Classes/IncallViewController.h - - - - UICamSwitch - UIButton - - preview - UIView - - - preview - - preview - UIView - - - - IBProjectSource - ./Classes/UICamSwitch.h - - - - UIDigitButton - UIButton - - IBProjectSource - ./Classes/UIDigitButton.h - - - - UIHangUpButton - UIButton - - IBProjectSource - ./Classes/UIHangUpButton.h - - - - UIMuteButton - UIToggleButton - - IBProjectSource - ./Classes/UIMuteButton.h - - - - UISpeakerButton - UIToggleButton - - IBProjectSource - ./Classes/UISpeakerButton.h - - - - UIToggleButton - UIButton - - IBProjectSource - ./Classes/UIToggleButton.h - - - - UIToggleVideoButton - UIButton - - videoUpdateIndicator - UIActivityIndicatorView - - - videoUpdateIndicator - - videoUpdateIndicator - UIActivityIndicatorView - - - - IBProjectSource - ./Classes/UIToggleVideoButton.h - - - - VideoViewController - UIViewController - - UIImageView - UIImageView - UIImageView - UICamSwitch - UICamSwitch - UICamSwitch - UIView - UIView - UIView - UIHangUpButton - UIHangUpButton - UIHangUpButton - UIView - UIView - UIMuteButton - UIMuteButton - UIMuteButton - UIView - UIView - UIView - UIView - - - - mCallQuality - UIImageView - - - mCallQualityLandLeft - UIImageView - - - mCallQualityLandRight - UIImageView - - - mCamSwitch - UICamSwitch - - - mCamSwitchLandLeft - UICamSwitch - - - mCamSwitchLandRight - UICamSwitch - - - mDisplay - UIView - - - mDisplayLandLeft - UIView - - - mDisplayLandRight - UIView - - - mHangUp - UIHangUpButton - - - mHangUpLandLeft - UIHangUpButton - - - mHangUpLandRight - UIHangUpButton - - - mLandscapeLeft - UIView - - - mLandscapeRight - UIView - - - mMute - UIMuteButton - - - mMuteLandLeft - UIMuteButton - - - mMuteLandRight - UIMuteButton - - - mPortrait - UIView - - - mPreview - UIView - - - mPreviewLandLeft - UIView - - - mPreviewLandRight - UIView - - - - IBProjectSource - ./Classes/VideoViewController.h - - - - + 0 IBIPadFramework YES @@ -1948,6 +1490,6 @@ {106, 67} {62, 54} - 933 + 1926 diff --git a/Classes/IncallViewController.xib b/Classes/IncallViewController.xib index 81185bcd5..a24b7e71d 100644 --- a/Classes/IncallViewController.xib +++ b/Classes/IncallViewController.xib @@ -2,21 +2,20 @@ 784 - 11C74 - 1938 - 1138.23 - 567.00 + 11E53 + 2840 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1926 YES - IBUIButton - IBUIImageView - IBUIViewController IBProxyObject IBUIActivityIndicatorView + IBUIButton + IBUIImageView IBUITableView IBUIView @@ -38,824 +37,781 @@ IBFirstResponder IBCocoaTouchFramework - - - - 274 - - YES - - - 292 - - YES - - - 292 - {320, 480} - - - - _NS:196 - - 3 - MCAwAA - - IBCocoaTouchFramework - - - - 292 - {{240, 354}, {80, 106}} - - - - - IBCocoaTouchFramework - - - - 292 - {{4, 428}, {28, 28}} - - - - _NS:567 - NO - IBCocoaTouchFramework - - - - 292 - {{141, 212}, {37, 37}} - - - - _NS:1030 - NO - IBCocoaTouchFramework - NO - YES - 0 + + + 274 + + YES + + + 292 + + YES + + + 292 + {320, 480} + + + _NS:196 + + 3 + MCAwAA + IBCocoaTouchFramework - {320, 460} - - - - _NS:196 - - 2 - MC4wNTQ5MDE5NjA3OCAwLjA4MjM1Mjk0MTE4IDAuMTI5NDExNzY0NwA + + + 292 + {{240, 354}, {80, 106}} + + + + IBCocoaTouchFramework - NO - IBCocoaTouchFramework - - - - 292 - {320, 66} - - - - - 1 - MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA + + + 292 + {{4, 428}, {28, 28}} + + + _NS:567 + NO + IBCocoaTouchFramework - NO - NO - 0.0 - IBCocoaTouchFramework - 0 - 0 - Change camera - - 3 - MQA - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - 3 - MC41AA - - - NSImage - clavier-01-106px.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 + + + 292 + {{141, 212}, {37, 37}} + + + _NS:1030 + NO + IBCocoaTouchFramework + NO + YES + 0 - - - 274 - {320, 251} - - - - _NS:418 - - YES - IBCocoaTouchFramework - YES - NO - 0 - YES - 44 - 22 - 22 + {320, 460} + + + _NS:196 + + 2 + MC4wNTQ5MDE5NjA3OCAwLjA4MjM1Mjk0MTE4IDAuMTI5NDExNzY0NwA - - - 292 - - YES - - - 292 - {{0, 1}, {320, 66}} - - - - - 1 - MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - stopcall-red.png - - - - - - - {{0, 393.5}, {320, 77}} - - - - _NS:196 - - IBCocoaTouchFramework + NO + IBCocoaTouchFramework + + + + 292 + {320, 66} + + + + 1 + MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA - - - 292 - - YES - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - grouper.png - - - 2 - 17 - - - Helvetica-Bold - 17 - 16 - - - - - 292 - {{0, 4}, {107, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - mic_active.png - - - NSImage - micro_inverse.png - - - NSImage - micro.png - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 - - - - - 292 - {{0, 70}, {80, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - ajouter.png - - - - - - - 292 - {{160, 70}, {80, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - Transfer - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - 2 - 15 - - - - - - 292 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - 1 - MCAwIDAAA - - - NSImage - contact.png - - - - - - - -2147483356 - {{240, 70}, {80, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - video - - - 3 - MC42NjY2NjY2NjY3AA - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - NSImage - clavier-01-160px.png - - - - - - - -2147483356 - {{261.5, 84.5}, {37, 37}} - - - - _NS:1030 - NO - IBCocoaTouchFramework - NO - 0 - - - - 292 - {{107, 4}, {106, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier.png - - - - - - - 292 - {{213, 4}, {107, 66}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - HP_inverse.png - - - NSImage - HP.png - - - - - - - 292 - {{80, 70}, {80, 66}} - - - - - NO - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - NSImage - pause_inactif.png - - - NSImage - pause.png - - - - - - {{0, 258.5}, {320, 135}} - - - - - NO - NO - IBCocoaTouchFramework + NO + NO + 0.0 + IBCocoaTouchFramework + 0 + 0 + Change camera + + 3 + MQA - - - -2147483356 - - YES - - - 292 - {{119, 251}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - close - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 193}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 19}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 19}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 2 - - - - - - - - - 292 - {{207, 19}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 77}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 77}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 77}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 135}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{119, 135}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 135}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{31, 193}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - 292 - {{207, 193}, {82, 52}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - {{0, 71}, {320, 310}} - - - - - 3 - MC4yNAA - - NO - NO - IBCocoaTouchFramework + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + 3 + MC41AA + + + NSImage + clavier-01-106px.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 - {{0, 20}, {320, 460}} - - - - - NO - IBCocoaTouchFramework - - - - 1 - 1 + + + 274 + {320, 251} + + + _NS:418 + + YES + IBCocoaTouchFramework + YES + NO + 0 + YES + 44 + 22 + 22 + + + + 292 + + YES + + + 292 + {{0, 1}, {320, 66}} + + + + 1 + MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + stopcall-red.png + + + + + + + {{0, 393.5}, {320, 77}} + + + _NS:196 + + IBCocoaTouchFramework + + + + 292 + + YES + + + 292 + {{80, 70}, {80, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + grouper.png + + + 2 + 17 + + + Helvetica-Bold + 17 + 16 + + + + + 292 + {{0, 4}, {107, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + mic_active.png + + + NSImage + micro_inverse.png + + + NSImage + micro.png + + + 2 + 2 + + + Helvetica-Bold + 18 + 16 + + + + + 292 + {{0, 70}, {80, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + ajouter.png + + + + + + + 292 + {{160, 70}, {80, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + Transfer + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + 2 + 15 + + + + + + 292 + {{240, 70}, {80, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + 1 + MCAwIDAAA + darkTextColor + + + NSImage + contact.png + + + + + + + -2147483356 + {{240, 70}, {80, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + video + + + 3 + MC42NjY2NjY2NjY3AA + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + NSImage + clavier-01-160px.png + + + + + + + -2147483356 + {{261.5, 84.5}, {37, 37}} + + + _NS:1030 + NO + IBCocoaTouchFramework + NO + 0 + + + + 292 + {{107, 4}, {106, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + clavier.png + + + + + + + 292 + {{213, 4}, {107, 66}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + HP_inverse.png + + + NSImage + HP.png + + + + + + + 292 + {{80, 70}, {80, 66}} + + + + NO + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + + NSImage + pause_inactif.png + + + NSImage + pause.png + + + + + + {{0, 258.5}, {320, 135}} + + + + NO + NO + IBCocoaTouchFramework + + + + -2147483356 + + YES + + + 292 + {{119, 251}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + close + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 193}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 19}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 19}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 2 + + + + + + + + + 292 + {{207, 19}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 77}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 77}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 77}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 135}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{119, 135}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 135}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{31, 193}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{207, 193}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + {{0, 71}, {320, 310}} + + + + 3 + MC4yNAA + + NO + NO + IBCocoaTouchFramework + + {320, 460} + + + + NO IBCocoaTouchFramework - NO @@ -863,11 +819,67 @@ YES - videoCallQuality + padSubView - + - 138 + 45 + + + + five + + + + 69 + + + + controlSubView + + + + 44 + + + + pause + + + + 115 + + + + seven + + + + 73 + + + + mergeCalls + + + + 114 + + + + zero + + + + 55 + + + + eight + + + + 75 @@ -879,35 +891,19 @@ - videoView + star - + - 133 + 56 - videoGroup + endCtrl - + - 129 - - - - addVideo - - - - 125 - - - - mergeCalls - - - - 114 + 99 @@ -927,11 +923,139 @@ - contacts + transfer - + - 84 + 150 + + + + three + + + + 60 + + + + nine + + + + 58 + + + + hangUpView + + + + 122 + + + + addVideo + + + + 125 + + + + two + + + + 59 + + + + videoGroup + + + + 129 + + + + close + + + + 51 + + + + videoView + + + + 133 + + + + hash + + + + 57 + + + + videoCallQuality + + + + 138 + + + + callTableView + + + + 109 + + + + videoUpdateIndicator + + + + 143 + + + + videoCameraSwitch + + + + 141 + + + + view + + + + 23 + + + + four + + + + 67 + + + + videoWaitingForFirstImage + + + + 145 @@ -949,54 +1073,6 @@ 82 - - - pause - - - - 115 - - - - controlSubView - - - - 44 - - - - callTableView - - - - 109 - - - - five - - - - 69 - - - - nine - - - - 58 - - - - seven - - - - 73 - six @@ -1005,62 +1081,6 @@ 71 - - - four - - - - 67 - - - - three - - - - 60 - - - - zero - - - - 55 - - - - two - - - - 59 - - - - close - - - - 51 - - - - hash - - - - 57 - - - - eight - - - - 75 - one @@ -1071,75 +1091,11 @@ - star + contacts - + - 56 - - - - padSubView - - - - 45 - - - - endCtrl - - - - 99 - - - - hangUpView - - - - 122 - - - - view - - - - 23 - - - - videoCameraSwitch - - - - 141 - - - - videoUpdateIndicator - - - - 143 - - - - videoWaitingForFirstImage - - - - 145 - - - - transfer - - - - 150 + 84 @@ -1168,14 +1124,6 @@ 101 - - - dataSource - - - - 107 - delegate @@ -1184,6 +1132,14 @@ 108 + + + dataSource + + + + 107 + @@ -1207,127 +1163,58 @@ - - 2 - - - YES - - - - 9 YES - - - - - + + + + + - + + + + 140 + + + camswitch 126 YES - - - + + + video - - 137 - - - videocallquality - - - 127 - - - preview - - - 132 - - - display - 26 YES - - - - - - - - - + + + + + + + + + controls - - 123 - - - video - - - 104 - - - merge - - - 16 - - - mute - - - 111 - - - addcall - - - 15 - - - contacts - - - 17 - - - dialer - - - 13 - - - speaker - - - 113 - - - pauseresume - 106 @@ -1338,23 +1225,39 @@ YES - - - - - - - - - - - - + + + + + + + + + + + + pad + + 120 + + + YES + + + + hangupview + + + 18 + + + end + 36 @@ -1434,26 +1337,10 @@ star - 120 - - - YES - - - - hangupview - - - 18 - - - end - - - 140 - - - camswitch + 147 + + + transfer 142 @@ -1461,16 +1348,76 @@ video_update_indicator + + 123 + + + video + + + 104 + + + merge + + + 16 + + + mute + + + 111 + + + addcall + + + 15 + + + contacts + + + 17 + + + dialer + + + 13 + + + speaker + + + 113 + + + pauseresume + 144 - 147 - - - transfer + 137 + + + videocallquality + + + 127 + + + preview + + + 132 + + + display @@ -1513,7 +1460,6 @@ 17.IBPluginDependency 18.CustomClassName 18.IBPluginDependency - 2.IBPluginDependency 26.IBPluginDependency 27.IBPluginDependency 29.IBPluginDependency @@ -1544,7 +1490,7 @@ 41.IBPluginDependency 9.IBPluginDependency - + YES IncallViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1584,7 +1530,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton @@ -1627,551 +1572,7 @@ 150 - - - YES - - IncallViewController - UIViewController - - doAction: - id - - - doAction: - - doAction: - id - - - - YES - - YES - addCall - addVideo - callTableView - close - conferenceDetail - contacts - controlSubView - dialer - eight - endCtrl - five - four - hangUpView - hash - mergeCalls - mute - nine - one - padSubView - pause - seven - six - speaker - star - three - transfer - two - videoCallQuality - videoCameraSwitch - videoGroup - videoPreview - videoUpdateIndicator - videoView - videoViewController - videoWaitingForFirstImage - zero - - - YES - UIButton - UIToggleVideoButton - UITableView - UIButton - UIViewController - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIView - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIButton - UIImageView - UICamSwitch - UIView - UIView - UIActivityIndicatorView - UIView - VideoViewController - UIActivityIndicatorView - UIButton - - - - YES - - YES - addCall - addVideo - callTableView - close - conferenceDetail - contacts - controlSubView - dialer - eight - endCtrl - five - four - hangUpView - hash - mergeCalls - mute - nine - one - padSubView - pause - seven - six - speaker - star - three - transfer - two - videoCallQuality - videoCameraSwitch - videoGroup - videoPreview - videoUpdateIndicator - videoView - videoViewController - videoWaitingForFirstImage - zero - - - YES - - addCall - UIButton - - - addVideo - UIToggleVideoButton - - - callTableView - UITableView - - - close - UIButton - - - conferenceDetail - UIViewController - - - contacts - UIButton - - - controlSubView - UIView - - - dialer - UIButton - - - eight - UIButton - - - endCtrl - UIButton - - - five - UIButton - - - four - UIButton - - - hangUpView - UIView - - - hash - UIButton - - - mergeCalls - UIButton - - - mute - UIButton - - - nine - UIButton - - - one - UIButton - - - padSubView - UIView - - - pause - UIButton - - - seven - UIButton - - - six - UIButton - - - speaker - UIButton - - - star - UIButton - - - three - UIButton - - - transfer - UIButton - - - two - UIButton - - - videoCallQuality - UIImageView - - - videoCameraSwitch - UICamSwitch - - - videoGroup - UIView - - - videoPreview - UIView - - - videoUpdateIndicator - UIActivityIndicatorView - - - videoView - UIView - - - videoViewController - VideoViewController - - - videoWaitingForFirstImage - UIActivityIndicatorView - - - zero - UIButton - - - - - IBProjectSource - ./Classes/IncallViewController.h - - - - UICamSwitch - UIButton - - preview - UIView - - - preview - - preview - UIView - - - - IBProjectSource - ./Classes/UICamSwitch.h - - - - UIDigitButton - UIButton - - IBProjectSource - ./Classes/UIDigitButton.h - - - - UIHangUpButton - UIButton - - IBProjectSource - ./Classes/UIHangUpButton.h - - - - UIMuteButton - UIToggleButton - - IBProjectSource - ./Classes/UIMuteButton.h - - - - UISpeakerButton - UIToggleButton - - IBProjectSource - ./Classes/UISpeakerButton.h - - - - UIToggleButton - UIButton - - IBProjectSource - ./Classes/UIToggleButton.h - - - - UIToggleVideoButton - UIButton - - videoUpdateIndicator - UIActivityIndicatorView - - - videoUpdateIndicator - - videoUpdateIndicator - UIActivityIndicatorView - - - - IBProjectSource - ./Classes/UIToggleVideoButton.h - - - - VideoViewController - UIViewController - - YES - - YES - mCallQuality - mCallQualityLandLeft - mCallQualityLandRight - mCamSwitch - mCamSwitchLandLeft - mCamSwitchLandRight - mDisplay - mDisplayLandLeft - mDisplayLandRight - mHangUp - mHangUpLandLeft - mHangUpLandRight - mLandscapeLeft - mLandscapeRight - mMute - mMuteLandLeft - mMuteLandRight - mPortrait - mPreview - mPreviewLandLeft - mPreviewLandRight - - - YES - UIImageView - UIImageView - UIImageView - UICamSwitch - UICamSwitch - UICamSwitch - UIView - UIView - UIView - UIHangUpButton - UIHangUpButton - UIHangUpButton - UIView - UIView - UIMuteButton - UIMuteButton - UIMuteButton - UIView - UIView - UIView - UIView - - - - YES - - YES - mCallQuality - mCallQualityLandLeft - mCallQualityLandRight - mCamSwitch - mCamSwitchLandLeft - mCamSwitchLandRight - mDisplay - mDisplayLandLeft - mDisplayLandRight - mHangUp - mHangUpLandLeft - mHangUpLandRight - mLandscapeLeft - mLandscapeRight - mMute - mMuteLandLeft - mMuteLandRight - mPortrait - mPreview - mPreviewLandLeft - mPreviewLandRight - - - YES - - mCallQuality - UIImageView - - - mCallQualityLandLeft - UIImageView - - - mCallQualityLandRight - UIImageView - - - mCamSwitch - UICamSwitch - - - mCamSwitchLandLeft - UICamSwitch - - - mCamSwitchLandRight - UICamSwitch - - - mDisplay - UIView - - - mDisplayLandLeft - UIView - - - mDisplayLandRight - UIView - - - mHangUp - UIHangUpButton - - - mHangUpLandLeft - UIHangUpButton - - - mHangUpLandRight - UIHangUpButton - - - mLandscapeLeft - UIView - - - mLandscapeRight - UIView - - - mMute - UIMuteButton - - - mMuteLandLeft - UIMuteButton - - - mMuteLandRight - UIMuteButton - - - mPortrait - UIView - - - mPreview - UIView - - - mPreviewLandLeft - UIView - - - mPreviewLandRight - UIView - - - - - IBProjectSource - ./Classes/VideoViewController.h - - - - + 0 IBCocoaTouchFramework @@ -2203,7 +1604,7 @@ pause_inactif.png stopcall-red.png - + YES {107, 67} {107, 67} @@ -2221,6 +1622,6 @@ {62, 54} - 933 + 1926 diff --git a/Classes/MoreViewController.xib b/Classes/MoreViewController.xib index da9802a57..0b50bac4f 100644 --- a/Classes/MoreViewController.xib +++ b/Classes/MoreViewController.xib @@ -2,33 +2,30 @@ 784 - 10J567 - 823 - 1038.35 - 462.00 + 11E53 + 2840 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 132 + 1926 - + YES - - - - + IBProxyObject + IBUIImageView + IBUILabel + IBUITableView + IBUITableViewCell + IBUITextView YES com.apple.InterfaceBuilder.IBCocoaTouchPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -40,66 +37,32 @@ IBFirstResponder IBCocoaTouchFramework - - - - 274 - {{0, 106}, {320, 247}} - - - 10 - - 549453824 - {84, 1} - - YES - - YES - - - - TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/ -y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/ -xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/ -xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/ -xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/ -xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB -AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES -AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS -AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA - - - - - - 3 - MCAwAA - - - groupTableViewBackgroundColor - - NO - YES - NO - IBCocoaTouchFramework - NO - 1 - 1 - 0 - YES - 44 - 10 - 10 - - - - 1 + + + 274 + {320, 247} + + + + 1 + MCAwIDAgMAA + groupTableViewBackgroundColor + NO + YES + NO IBCocoaTouchFramework - NO + NO + 1 + 1 + 0 + YES + 44 + 10 + 10 - + 292 YES @@ -125,11 +88,23 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 10 + + 1 + 17 + + + Helvetica + 17 + 16 + {300, 44} - + + 3 + MCAwAA + NO YES 4 @@ -138,19 +113,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {320, 44} - 1 MSAxIDEAA NO IBCocoaTouchFramework - 1 1 - + 292 YES @@ -172,10 +145,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 MCAwIDAAA + darkTextColor 1 10 + + {300, 44} @@ -189,11 +165,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {320, 44} - NO IBCocoaTouchFramework - 1 1 @@ -212,6 +186,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 292 {{28, -14}, {263, 154}} + NO NO 1 @@ -227,6 +202,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 292 {{9, 109}, {301, 89}} + NO YES YES @@ -241,12 +217,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 2 IBCocoaTouchFramework + + 292 {{28, 198}, {263, 21}} + NO YES 7 @@ -258,10 +237,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 1 10 1 + + - {322, 230} + {322, 229} + NO YES @@ -272,11 +254,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA {322, 230} + NO NO IBCocoaTouchFramework - 1 @@ -307,14 +289,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 46 - - - view - - - - 47 - creditText @@ -331,13 +305,23 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA 50 + + + view + + + + 52 + YES 0 - + + YES + @@ -352,15 +336,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA - - 4 - - - YES - - - - 25 @@ -413,16 +388,16 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA - - 18 - - - 49 + + 51 + + + @@ -430,38 +405,30 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA YES -1.CustomClassName + -1.IBPluginDependency -2.CustomClassName - 18.IBEditorWindowLastContentRect - 18.IBPluginDependency - 25.IBEditorWindowLastContentRect + -2.IBPluginDependency 25.IBPluginDependency 34.IBPluginDependency - 38.IBEditorWindowLastContentRect 38.IBPluginDependency 39.IBPluginDependency - 4.IBEditorWindowLastContentRect - 4.IBPluginDependency - 42.IBEditorWindowLastContentRect 42.IBPluginDependency 43.IBPluginDependency 45.IBPluginDependency 49.IBPluginDependency + 51.IBPluginDependency - + YES MoreViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder - {{138, 864}, {320, 247}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{251, 502}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{252, 1012}, {320, 44}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{79, 106}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{100, 713}, {322, 230}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -471,316 +438,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA YES - - YES - + YES - - YES - + - 50 - - - - YES - - MoreViewController - UITableViewController - - YES - - YES - console - credit - creditText - web - weburi - - - YES - UITableViewCell - UITableViewCell - UITextView - UITableViewCell - UILabel - - - - YES - - YES - console - credit - creditText - web - weburi - - - YES - - console - UITableViewCell - - - credit - UITableViewCell - - - creditText - UITextView - - - web - UITableViewCell - - - weburi - UILabel - - - - - IBProjectSource - Classes/MoreViewController.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIImageView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIImageView.h - - - - UILabel - UIView - - IBFrameworkSource - UIKit.framework/Headers/UILabel.h - - - - UIResponder - NSObject - - - - UIScrollView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIScrollView.h - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UITableView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITableView.h - - - - UITableViewCell - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITableViewCell.h - - - - UITableViewController - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITableViewController.h - - - - UITextView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITextView.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIPrintFormatter.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h - - - + 52 + 0 IBCocoaTouchFramework @@ -789,19 +458,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 YES - ../linphone.xcodeproj 3 linphone-banner.png {300, 100} - 132 + 1926 diff --git a/Classes/PhoneViewController-ipad.xib b/Classes/PhoneViewController-ipad.xib index 0b5db5b31..14079f002 100644 --- a/Classes/PhoneViewController-ipad.xib +++ b/Classes/PhoneViewController-ipad.xib @@ -1,21 +1,20 @@ - 1296 + 1536 11E53 - 2182 + 2840 1138.47 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1181 + 1926 - IBUIViewController - IBUIButton - IBUIView - IBUITextField IBProxyObject + IBUIButton + IBUITextField + IBUIView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -33,588 +32,509 @@ IBFirstResponder IBIPadFramework - - - - 274 - - - - 292 - - - - 292 - {{34, 20}, {699, 78}} - - - - - 3 - MQA - - NO - NO - IBIPadFramework - 0 - - sip: - - 3 - MAA - - 2 - - - YES - 15 - - 1 - 3 - IBCocoaTouchFramework - - 1 - - Helvetica - Helvetica - 0 - 36 - - - Helvetica - 36 - 16 + + + 274 + + + + 292 + + + + 292 + {{34, 20}, {699, 78}} + + + + 3 + MQA + + NO + NO + IBIPadFramework + 0 + + sip: + + 3 + MAA + + 2 - - - 292 - {{660, 25}, {66, 68}} - - - - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - NSImage - effacer.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + YES + 15 + + 1 + 3 + IBCocoaTouchFramework - - - 292 - {{413, 277}, {322, 66}} - - - - _NS:241 - NO - IBIPadFramework - 0 - 0 - Switch camera - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - clavier-01-108px.png - - - 2 - 15 - - + 1 + + Helvetica + Helvetica + 0 + 36 - - - -2147483356 - {{573, 112.5}, {160, 231}} - - - - NO - NO - IBIPadFramework - 0 - 0 - Back - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier-01-160px.png - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 - + + Helvetica + 36 + 16 - - - -2147483356 - {{415, 112}, {160, 231}} - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - startcall-green.png - - - - - - - - 292 - {{413, 111}, {320, 167}} - - - - NO - NO - IBIPadFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - startcall-gray.png - - - - - - - - - 292 - {{32, 112}, {107, 66}} - - - - - 1 - MC40MDAwMDAwMSAxIDEgMAA - - NO - NO - IBIPadFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - clavier-01-106px.png - - - - - - - 292 - {{139, 112}, {106, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 2 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{245, 112}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{245, 178}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{139, 178}, {106, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{32, 178}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{32, 244}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{139, 244}, {106, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{245, 244}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{139, 309}, {106, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - 0+ - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{32, 309}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{245, 309}, {107, 66}} - - - - NO - NO - IBIPadFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{415, 351}, {320, 20}} - - - _NS:212 - - 3 - MCAwAA - - IBIPadFramework - - - {{0, 569}, {768, 386}} - - - - _NS:212 - - 3 - MC4zMzMzMzMzMzMzIDAuNQA - IBIPadFramework + + + 292 + {{660, 25}, {66, 68}} + + + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + effacer.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{413, 277}, {322, 66}} + + + _NS:241 + NO + IBIPadFramework + 0 + 0 + Switch camera + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + clavier-01-108px.png + + + 2 + 15 + + + + + + -2147483356 + {{573, 112.5}, {160, 231}} + + + NO + NO + IBIPadFramework + 0 + 0 + Back + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + clavier-01-160px.png + + + 2 + 2 + + + Helvetica-Bold + 18 + 16 + + + + + -2147483356 + {{415, 112}, {160, 231}} + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + startcall-green.png + + + + + + + + 292 + {{413, 111}, {320, 167}} + + + NO + NO + IBIPadFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + startcall-gray.png + + + + + + + + + 292 + {{32, 112}, {107, 66}} + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + IBIPadFramework + 0 + 0 + 1 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + clavier-01-106px.png + + + + + + + 292 + {{139, 112}, {106, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 2 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{245, 112}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{245, 178}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{139, 178}, {106, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{32, 178}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{32, 244}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{139, 244}, {106, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{245, 244}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{139, 309}, {106, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + 0+ + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{32, 309}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{245, 309}, {107, 66}} + + + NO + NO + IBIPadFramework + 0 + 0 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{415, 351}, {320, 20}} + + + _NS:212 + + 3 + MCAwAA + + IBIPadFramework + + + {{0, 569}, {768, 386}} + + + _NS:212 + + 3 + MC4zMzMzMzMzMzMzIDAuNQA - - {{0, 20}, {768, 1004}} - - - - _NS:212 - - IBIPadFramework - - - 2 - - - 1 - 1 - + IBIPadFramework + + + {768, 1004} + + + _NS:212 + IBIPadFramework - NO - - - eight - - - - 45 - - - - five - - - - 47 - - - - hash - - - - 49 - - - - nine - - - - 50 - - - - one - - - - 51 - - - - seven - - - - 52 - star @@ -625,11 +545,11 @@ - three + eight - + - 57 + 45 @@ -641,11 +561,11 @@ - view + one - + - 59 + 51 @@ -655,22 +575,6 @@ 60 - - - address - - - - 39 - - - - erase - - - - 46 - backToCallView @@ -679,14 +583,6 @@ 40 - - - switchCamera - - - - 56 - callShort @@ -697,11 +593,11 @@ - callLarge + three - + - 41 + 57 @@ -713,11 +609,19 @@ - four + view - + - 63 + 59 + + + + nine + + + + 50 @@ -727,6 +631,70 @@ 64 + + + seven + + + + 52 + + + + erase + + + + 46 + + + + four + + + + 63 + + + + switchCamera + + + + 56 + + + + five + + + + 47 + + + + address + + + + 39 + + + + hash + + + + 49 + + + + callLarge + + + + 41 + @@ -747,113 +715,51 @@ - - 3 - - - - - - 4 - + 24 - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - 33 - + 61 + + status_holder - 28 - + 18 + - - - 34 - - - - - 27 - - - - - 26 - - - - - 35 - - - - - 29 - - - - - 36 - - - - - 32 - - - - - 31 - - - - - 25 - - - - - 30 - - - - - 23 - - - Address + back 22 @@ -862,10 +768,10 @@ Erase - 18 - + 20 + - back + Call-large 38 @@ -879,16 +785,70 @@ Call-short - 20 - + 23 + - Call-large + Address - 61 - + 25 + + + + + 30 + + + + + 32 + + + + + 31 + + + + + 36 + + + + + 29 + + + + + 35 + + + + + 26 + + + + + 33 + + + + + 27 + + + + + 34 + + + + + 28 + - status_holder @@ -917,7 +877,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton @@ -942,188 +901,12 @@ 64 - - - - MainScreenWithVideoPreview - UIViewController - - PhoneViewController - UIWindow - - - - phoneMainView - PhoneViewController - - - window - UIWindow - - - - IBProjectSource - ./Classes/MainScreenWithVideoPreview.h - - - - PhoneViewController - UIViewController - - UITextField - UIButton - UIButton - UIButton - UIView - UIButton - UIEraseButton - UIButton - UIButton - UIButton - MainScreenWithVideoPreview - UITabBarController - UIButton - UIButton - UIButton - UIButton - UIButton - UILabel - UIView - UIButton - UIButton - UIButton - UIButton - - - - address - UITextField - - - backToCallView - UIButton - - - callLarge - UIButton - - - callShort - UIButton - - - dialerView - UIView - - - eight - UIButton - - - erase - UIEraseButton - - - five - UIButton - - - four - UIButton - - - hash - UIButton - - - mMainScreenWithVideoPreview - MainScreenWithVideoPreview - - - myTabBarController - UITabBarController - - - nine - UIButton - - - one - UIButton - - - seven - UIButton - - - six - UIButton - - - star - UIButton - - - status - UILabel - - - statusViewHolder - UIView - - - switchCamera - UIButton - - - three - UIButton - - - two - UIButton - - - zero - UIButton - - - - IBProjectSource - ./Classes/PhoneViewController.h - - - - UICallButton - UIButton - - IBProjectSource - ./Classes/UICallButton.h - - - - UIDigitButton - UIButton - - IBProjectSource - ./Classes/UIDigitButton.h - - - - UIEraseButton - UIButton - - IBProjectSource - ./Classes/UIEraseButton.h - - - - + 0 IBIPadFramework com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + YES 3 @@ -1135,6 +918,6 @@ {60, 52} {60, 52} - 1181 + 1926 diff --git a/Classes/PhoneViewController.xib b/Classes/PhoneViewController.xib index 60f3013c1..f66528a52 100644 --- a/Classes/PhoneViewController.xib +++ b/Classes/PhoneViewController.xib @@ -2,21 +2,20 @@ 784 - 11C74 - 1938 - 1138.23 - 567.00 + 11E53 + 2840 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1926 YES - IBUIViewController - IBUIButton - IBUIView - IBUITextField IBProxyObject + IBUIButton + IBUITextField + IBUIView YES @@ -36,680 +35,644 @@ IBFirstResponder IBCocoaTouchFramework - - - - 292 - - YES - - - 292 - - YES - - - 292 - {{254, 0}, {66, 81}} - - - - NO - IBCocoaTouchFramework - 0 - 0 - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - NSImage - effacer.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + + + 292 + + YES + + + 292 + + YES + + + 292 + {{254, 0}, {66, 81}} + + + NO + IBCocoaTouchFramework + 0 + 0 + + 3 + MQA - - - 292 - {{0, 1}, {255, 80}} - - - - - NO - NO - IBCocoaTouchFramework - 0 - - sip: - - 3 - MAA - - YES - 15 - - 1 - 3 - IBCocoaTouchFramework - - 1 - - Helvetica - Helvetica - 0 - 36 - - - Helvetica - 36 - 16 - + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + effacer.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 - {320, 81} - - - - - IBCocoaTouchFramework - - - - 292 - {255, 20} - - - - _NS:196 - - 3 - MCAwAA - - IBCocoaTouchFramework - - - - 292 - {{0, 81}, {107, 66}} - - - - - 1 - MC40MDAwMDAwMSAxIDEgMAA - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - clavier-01-106px.png - - - - - - - 292 - {{107, 81}, {106, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 2 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - clavier-01-108px.png - - - - - - - 292 - {{213, 81}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 147}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 147}, {106, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 147}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 213}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 213}, {106, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 213}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 279}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 279}, {106, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 0+ - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 279}, {107, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{160, 345}, {160, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - Back - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - NSImage - clavier-01-160px.png - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 + + + 292 + {254, 81} + + + + NO + NO + IBCocoaTouchFramework + 0 + + sip: + + 3 + MAA + + YES + 15 + + 1 + 3 + IBCocoaTouchFramework + + + NSImage + clavier-01-106px.png + + 1 + + Helvetica + Helvetica + 0 + 36 + + + Helvetica + 36 + 16 + - - - 292 - {{0, 345}, {160, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - startcall-gray.png - - - NSImage - startcall-green.png - - - - - + {320, 81} + + + + IBCocoaTouchFramework + + + + 292 + {255, 20} + + + _NS:196 + + 3 + MCAwAA - - - 292 - {{0, 345}, {320, 66}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - + IBCocoaTouchFramework + + + + 292 + {{0, 81}, {107, 66}} + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{107, 81}, {106, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 2 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + clavier-01-108px.png + + + + + + + 292 + {{213, 81}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{0, 147}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{107, 147}, {106, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{213, 147}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{0, 213}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{107, 213}, {106, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{213, 213}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{0, 279}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{107, 279}, {106, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 0+ + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{213, 279}, {107, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + 292 + {{160, 345}, {160, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + Back + + + 1 + MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA + + + + NSImage + clavier-01-160px.png + + + 2 + 2 + + + Helvetica-Bold + 18 + 16 - {{0, 20}, {320, 460}} - - - - - 5 - IBCocoaTouchFramework - - - - 1 - 1 + + + 292 + {{0, 345}, {160, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + startcall-gray.png + + + NSImage + startcall-green.png + + + + + + + + + 292 + {{0, 345}, {320, 66}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + + + {320, 460} + + + + 5 IBCocoaTouchFramework - NO YES - - - address - - - - 12 - view - + - 25 + 193 - eight + address - + - 43 - - - - five - - - - 44 - - - - four - - - - 45 - - - - hash - - - - 46 - - - - nine - - - - 47 - - - - one - - - - 48 - - - - seven - - - - 49 - - - - six - - - - 50 - - - - star - - - - 51 - - - - three - - - - 52 - - - - two - - - - 53 - - - - zero - - - - 54 - - - - dialerView - - - - 158 - - - - backToCallView - - - - 161 - - - - callShort - - - - 163 - - - - callLarge - - - - 164 - - - - statusViewHolder - - - - 169 + 194 erase - + - 151 + 195 + + + + statusViewHolder + + + + 196 + + + + one + + + + 197 + + + + two + + + + 198 + + + + three + + + + 199 + + + + four + + + + 200 + + + + five + + + + 201 + + + + six + + + + 202 + + + + seven + + + + 203 + + + + eight + + + + 204 + + + + nine + + + + 205 + + + + star + + + + 206 + + + + zero + + + + 207 + + + + hash + + + + 208 + + + + backToCallView + + + + 209 + + + + callShort + + + + 210 + + + + callLarge + + + + 211 delegate - + - 19 + 192 @@ -735,144 +698,135 @@ - 80 - + 172 + YES - + + + + + + + + + + + + + + + + + - 1 - - - YES - - - - - - - - - - - - - - - - - - - - - - 38 - - - - - 37 - - - - - 29 - - - - - 39 - - - - - 5 - - - Call-short - - - 35 - - - - - 41 - - - - - 40 - - - - - 36 - - - - - 34 - - - - - 33 - - - - - 31 - - - - - 30 - - - - - 157 - - - YES - - - - - Dialer - - - 4 - - - Address - - - 160 - - - back - - - 162 - - - Call-large - - - 165 - - + 173 + + status_view - 150 - - + 174 + + + + + 175 + + + + + 176 + + + + + 177 + + + + + 178 + + + + + 179 + + + + + 180 + + + + + 181 + + + + + 182 + + + Call-large + + + 183 + + + Call-short + + + 184 + + + back + + + 185 + + + YES + + + + + Dialer + + + 186 + + + + + 187 + + + + + 188 + + + + + 189 + + + + + 190 + + + Address + + + 191 + + Erase @@ -885,47 +839,46 @@ -1.IBPluginDependency -2.CustomClassName -2.IBPluginDependency - 1.IBPluginDependency - 1.IBUserGuides - 150.CustomClassName - 150.IBPluginDependency - 157.IBPluginDependency - 160.IBPluginDependency - 162.CustomClassName - 162.IBPluginDependency - 162.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 165.IBPluginDependency - 29.CustomClassName - 29.IBPluginDependency - 30.CustomClassName - 30.IBPluginDependency - 31.CustomClassName - 31.IBPluginDependency - 33.CustomClassName - 33.IBPluginDependency - 34.CustomClassName - 34.IBPluginDependency - 35.CustomClassName - 35.IBPluginDependency - 36.CustomClassName - 36.IBPluginDependency - 37.CustomClassName - 37.IBPluginDependency - 38.CustomClassName - 38.IBPluginDependency - 39.CustomClassName - 39.IBPluginDependency - 4.IBPluginDependency - 40.CustomClassName - 40.IBPluginDependency - 41.CustomClassName - 41.IBPluginDependency - 5.CustomClassName - 5.IBPluginDependency - 5.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 80.IBPluginDependency + 172.IBPluginDependency + 172.IBUserGuides + 173.IBPluginDependency + 174.CustomClassName + 174.IBPluginDependency + 175.CustomClassName + 175.IBPluginDependency + 176.CustomClassName + 176.IBPluginDependency + 177.CustomClassName + 177.IBPluginDependency + 178.CustomClassName + 178.IBPluginDependency + 179.CustomClassName + 179.IBPluginDependency + 180.CustomClassName + 180.IBPluginDependency + 181.CustomClassName + 181.IBPluginDependency + 182.CustomClassName + 182.IBPluginDependency + 182.IBUIButtonInspectorSelectedStateConfigurationMetadataKey + 183.CustomClassName + 183.IBPluginDependency + 183.IBUIButtonInspectorSelectedStateConfigurationMetadataKey + 184.IBPluginDependency + 185.IBPluginDependency + 186.CustomClassName + 186.IBPluginDependency + 187.CustomClassName + 187.IBPluginDependency + 188.CustomClassName + 188.IBPluginDependency + 189.CustomClassName + 189.IBPluginDependency + 190.IBPluginDependency + 191.CustomClassName + 191.IBPluginDependency - + YES PhoneViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -935,53 +888,52 @@ YES - + 412 1 - + 65 1 + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICallButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UICallButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIEraseButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UICallButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UICallButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -996,264 +948,9 @@ - 169 - - - - YES - - MainScreenWithVideoPreview - UIViewController - - YES - - YES - phoneMainView - window - - - YES - PhoneViewController - UIWindow - - - - YES - - YES - phoneMainView - window - - - YES - - phoneMainView - PhoneViewController - - - window - UIWindow - - - - - IBProjectSource - ./Classes/MainScreenWithVideoPreview.h - - - - PhoneViewController - UIViewController - - YES - - YES - address - backToCallView - callLarge - callShort - dialerView - eight - erase - five - four - hash - mMainScreenWithVideoPreview - myTabBarController - nine - one - seven - six - star - status - statusViewHolder - switchCamera - three - two - zero - - - YES - UITextField - UIButton - UIButton - UIButton - UIView - UIButton - UIEraseButton - UIButton - UIButton - UIButton - MainScreenWithVideoPreview - UITabBarController - UIButton - UIButton - UIButton - UIButton - UIButton - UILabel - UIView - UIButton - UIButton - UIButton - UIButton - - - - YES - - YES - address - backToCallView - callLarge - callShort - dialerView - eight - erase - five - four - hash - mMainScreenWithVideoPreview - myTabBarController - nine - one - seven - six - star - status - statusViewHolder - switchCamera - three - two - zero - - - YES - - address - UITextField - - - backToCallView - UIButton - - - callLarge - UIButton - - - callShort - UIButton - - - dialerView - UIView - - - eight - UIButton - - - erase - UIEraseButton - - - five - UIButton - - - four - UIButton - - - hash - UIButton - - - mMainScreenWithVideoPreview - MainScreenWithVideoPreview - - - myTabBarController - UITabBarController - - - nine - UIButton - - - one - UIButton - - - seven - UIButton - - - six - UIButton - - - star - UIButton - - - status - UILabel - - - statusViewHolder - UIView - - - switchCamera - UIButton - - - three - UIButton - - - two - UIButton - - - zero - UIButton - - - - - IBProjectSource - ./Classes/PhoneViewController.h - - - - UICallButton - UIButton - - IBProjectSource - ./Classes/UICallButton.h - - - - UIDigitButton - UIButton - - IBProjectSource - ./Classes/UIDigitButton.h - - - - UIEraseButton - UIButton - - IBProjectSource - ./Classes/UIEraseButton.h - - - + 211 + 0 IBCocoaTouchFramework @@ -1277,7 +974,7 @@ startcall-gray.png startcall-green.png - + YES {106, 60} {108, 60} @@ -1287,6 +984,6 @@ {60, 52} - 933 + 1926 diff --git a/Classes/VideoViewController-ipad.xib b/Classes/VideoViewController-ipad.xib index 01b0daa4c..af69e442d 100644 --- a/Classes/VideoViewController-ipad.xib +++ b/Classes/VideoViewController-ipad.xib @@ -1,20 +1,20 @@ - 1280 - 11C74 - 1938 - 1138.23 - 567.00 + 1536 + 11E53 + 2840 + 1138.47 + 569.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1926 + IBProxyObject IBUIButton IBUIImageView IBUIView - IBProxyObject com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -38,7 +38,6 @@ {768, 1024} - 4 MAA @@ -46,7 +45,7 @@ IBIPadFramework - + 274 @@ -54,7 +53,6 @@ 292 {768, 1024} - _NS:569 NO @@ -65,7 +63,6 @@ 292 {{329, 962}, {108, 62}} - NO IBIPadFramework @@ -108,7 +105,6 @@ 292 {{223, 962}, {108, 62}} - NO IBIPadFramework @@ -129,8 +125,6 @@ 292 {{598, 799}, {170, 225}} - - 3 MQA @@ -145,7 +139,6 @@ 292 {{436, 962}, {108, 62}} - NO IBIPadFramework @@ -168,7 +161,6 @@ 292 {{20, 976}, {28, 28}} - _NS:567 NO @@ -176,8 +168,6 @@ {768, 1024} - - _NS:212 @@ -187,7 +177,7 @@ IBIPadFramework - + 274 @@ -195,7 +185,6 @@ 292 {1024, 768} - _NS:569 NO @@ -206,7 +195,6 @@ 292 {{799, 598}, {225, 170}} - 3 MQA @@ -219,7 +207,6 @@ 292 {{351, 706}, {108, 62}} - NO IBIPadFramework @@ -240,7 +227,6 @@ 292 {{458, 706}, {108, 62}} - NO IBIPadFramework @@ -262,7 +248,6 @@ 292 {{565, 706}, {108, 62}} - NO IBIPadFramework @@ -285,15 +270,12 @@ 292 {{20, 720}, {28, 28}} - _NS:567 NO IBIPadFramework {1024, 768} - - _NS:212 @@ -307,7 +289,7 @@ IBIPadFramework - + 274 @@ -315,7 +297,6 @@ 292 {1024, 768} - _NS:569 NO @@ -326,7 +307,6 @@ 292 {{799, 598}, {225, 170}} - 3 MQA @@ -339,7 +319,6 @@ 292 {{351, 706}, {108, 62}} - NO IBIPadFramework @@ -360,7 +339,6 @@ 292 {{458, 706}, {108, 62}} - NO IBIPadFramework @@ -382,7 +360,6 @@ 292 {{565, 706}, {108, 62}} - NO IBIPadFramework @@ -405,15 +382,12 @@ 292 {{20, 720}, {28, 28}} - _NS:567 NO IBIPadFramework {1024, 768} - - _NS:212 @@ -988,6 +962,6 @@ {108, 60} {62, 54} - 933 + 1926 diff --git a/README b/README index 774b58245..08bca016a 100644 --- a/README +++ b/README @@ -8,9 +8,9 @@ BUILD PREQUISITES Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts. You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work. -Once xccode and macports are installed, open a terminal and install the required build-time tools with: +Once xcode and macports are installed, open a terminal and install the required build-time tools with: - $ sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen + $ sudo port install coreutils automake autoconf libtool intltool wget pkgconfig cmake gmake yasm grep doxygen Install gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin : @@ -50,8 +50,8 @@ BUILDING THE SDK $ cd submodules/build $ make all enable_gpl_third_parties=no -xcode 4.5i/ios6 beta do: - $ make -f Makefile.ios6-beta +xcode prior to 4.5: + $ make -f Makefile.xcode4.4 * ZRTP support You can enable ZRTP support in GPL mode only, by adding "enable_zrtp=yes" to the make command, for example: diff --git a/submodules/build/Makefile b/submodules/build/Makefile index 276688bb4..bb1fd7a6c 100644 --- a/submodules/build/Makefile +++ b/submodules/build/Makefile @@ -54,28 +54,28 @@ endif LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) enable_zrtp=$(enable_zrtp) build: - make -f builder-iphone-os.mk host=armv6-apple-darwin $(LINPHONE_OPTIONS) all \ - && make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin $(LINPHONE_OPTIONS) all \ + make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin $(LINPHONE_OPTIONS) all \ && make -f builder-iphone-os.mk delivery-sdk ipa: build make -f builder-iphone-simulator.mk ipa \ - && make -f builder-iphone-os.mk host=armv6-apple-darwin ipa \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin ipa + && make -f builder-iphone-os.mk ipa \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin ipa \ clean: make -f builder-iphone-simulator.mk clean \ - && make -f builder-iphone-os.mk host=armv6-apple-darwin clean \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin clean + && make -f builder-iphone-os.mk clean \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean \ clean-makefile: make -f builder-iphone-simulator.mk clean-makefile \ - && make -f builder-iphone-os.mk host=armv6-apple-darwin clean-makefile \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin clean-makefile + && make -f builder-iphone-os.mk clean-makefile \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean-makefile \ veryclean: make -f builder-iphone-simulator.mk veryclean \ - && make -f builder-iphone-os.mk host=armv6-apple-darwin veryclean \ - && make -f builder-iphone-os.mk host=armv7-apple-darwin veryclean + && make -f builder-iphone-os.mk veryclean \ + && make -f builder-iphone-os.mk host=armv7s-apple-darwin veryclean \ diff --git a/submodules/build/Makefile.ios6-beta b/submodules/build/Makefile.xcode4.4 similarity index 76% rename from submodules/build/Makefile.ios6-beta rename to submodules/build/Makefile.xcode4.4 index bb1fd7a6c..276688bb4 100644 --- a/submodules/build/Makefile.ios6-beta +++ b/submodules/build/Makefile.xcode4.4 @@ -54,28 +54,28 @@ endif LINPHONE_OPTIONS=enable_gpl_third_parties=$(enable_gpl_third_parties) enable_zrtp=$(enable_zrtp) build: - make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ - && make -f builder-iphone-os.mk $(LINPHONE_OPTIONS) all \ - && make -f builder-iphone-os.mk host=armv7s-apple-darwin $(LINPHONE_OPTIONS) all \ + make -f builder-iphone-os.mk host=armv6-apple-darwin $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-simulator.mk $(LINPHONE_OPTIONS) all \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin $(LINPHONE_OPTIONS) all \ && make -f builder-iphone-os.mk delivery-sdk ipa: build make -f builder-iphone-simulator.mk ipa \ - && make -f builder-iphone-os.mk ipa \ - && make -f builder-iphone-os.mk host=armv7s-apple-darwin ipa \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin ipa \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin ipa clean: make -f builder-iphone-simulator.mk clean \ - && make -f builder-iphone-os.mk clean \ - && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin clean \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin clean clean-makefile: make -f builder-iphone-simulator.mk clean-makefile \ - && make -f builder-iphone-os.mk clean-makefile \ - && make -f builder-iphone-os.mk host=armv7s-apple-darwin clean-makefile \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin clean-makefile \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin clean-makefile veryclean: make -f builder-iphone-simulator.mk veryclean \ - && make -f builder-iphone-os.mk veryclean \ - && make -f builder-iphone-os.mk host=armv7s-apple-darwin veryclean \ + && make -f builder-iphone-os.mk host=armv6-apple-darwin veryclean \ + && make -f builder-iphone-os.mk host=armv7-apple-darwin veryclean diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 35e345620..d481f90a5 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -115,7 +115,7 @@ veryclean: veryclean-linphone veryclean-msbcg729 clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 cd $(LINPHONE_BUILD_DIR) && make clean -veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 +veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 veryclean-libvpx #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure diff --git a/submodules/build/builders.d/libvpx.mk b/submodules/build/builders.d/libvpx.mk index 8b65258a9..8cf0564ec 100644 --- a/submodules/build/builders.d/libvpx.mk +++ b/submodules/build/builders.d/libvpx.mk @@ -34,6 +34,9 @@ clean-libvpx: veryclean-libvpx: -cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make distclean + cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \ + && git checkout build/make/configure.sh configure\ + && rm -f patched.stamp rm -rf $(BUILDER_BUILD_DIR)/$(libvpx_dir) clean-makefile-libvpx: From 6626abed2a0436892a7482c18802958d1ef0dce9 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 8 Oct 2012 11:51:22 +0200 Subject: [PATCH 09/26] Fix GSM handle issue with iOS6 --- Classes/LinphoneAppDelegate.h | 4 --- Classes/LinphoneAppDelegate.m | 51 +--------------------------- Classes/LinphoneUI/LinphoneManager.h | 2 ++ Classes/LinphoneUI/LinphoneManager.m | 49 +++++++++++++++++++++++++- 4 files changed, 51 insertions(+), 55 deletions(-) diff --git a/Classes/LinphoneAppDelegate.h b/Classes/LinphoneAppDelegate.h index f5e9508a1..b2e027c43 100644 --- a/Classes/LinphoneAppDelegate.h +++ b/Classes/LinphoneAppDelegate.h @@ -20,7 +20,6 @@ #import #import -#import "CoreTelephony/CTCallCenter.h" #define DIALER_TAB_INDEX 1 #define CONTACTS_TAB_INDEX 2 @@ -40,13 +39,10 @@ IBOutlet PhoneViewController* myPhoneViewController; CallHistoryTableViewController* myCallHistoryTableViewController; ContactPickerDelegate* myContactPickerDelegate; - - CTCallCenter* callCenter; } - (void) loadDefaultSettings:(NSDictionary *) appDefaults; -(void) setupUI; --(void) setupGSMInteraction; -(void) startApplication; diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 8162f851d..f430b7873 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -46,25 +46,6 @@ int __aeabi_idiv(int a, int b) { @synthesize myPeoplePickerController; @synthesize myPhoneViewController; --(void) handleGSMCallInteration: (id) cCenter { - CTCallCenter* ct = (CTCallCenter*) cCenter; - - int callCount = [ct.currentCalls count]; - if (!callCount) { - NSLog(@"No GSM call -> enabling SIP calls"); - linphone_core_set_max_calls([LinphoneManager getLc], 3); - } else { - NSLog(@"%d GSM call(s) -> disabling SIP calls", callCount); - /* pause current call, if any */ - LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]); - if (call) { - NSLog(@"Pausing SIP call"); - linphone_core_pause_call([LinphoneManager getLc], call); - } - linphone_core_set_max_calls([LinphoneManager getLc], 0); - } -} - -(void)applicationWillResignActive:(UIApplication *)application { LinphoneCore* lc = [LinphoneManager getLc]; LinphoneCall* call = linphone_core_get_current_call(lc); @@ -84,13 +65,7 @@ int __aeabi_idiv(int a, int b) { } - (void)applicationDidEnterBackground:(UIApplication *)application { if (![[LinphoneManager instance] enterBackgroundMode]) { - // destroying eventHandler if app cannot go in background. - // Otherwise if a GSM call happen and Linphone is resumed, - // the handler will be called before LinphoneCore is built. - // Then handler will be restored in appDidBecomeActive cb - callCenter.callEventHandler = nil; - [callCenter release]; - callCenter = nil; + } } - (void)applicationDidBecomeActive:(UIApplication *)application { @@ -105,18 +80,6 @@ int __aeabi_idiv(int a, int b) { [[LinphoneManager instance] becomeActive]; - if (callCenter == nil) { - callCenter = [[CTCallCenter alloc] init]; - callCenter.callEventHandler = ^(CTCall* call) { - // post on main thread - [self performSelectorOnMainThread:@selector(handleGSMCallInteration:) - withObject:callCenter - waitUntilDone:YES]; - }; - } - // check call state at startup - [self handleGSMCallInteration:callCenter]; - LinphoneCore* lc = [LinphoneManager getLc]; LinphoneCall* call = linphone_core_get_current_call(lc); if (call == NULL) @@ -213,16 +176,6 @@ int __aeabi_idiv(int a, int b) { [UIDevice currentDevice].batteryMonitoringEnabled = YES; } --(void) setupGSMInteraction { - callCenter = [[CTCallCenter alloc] init]; - callCenter.callEventHandler = ^(CTCall* call) { - // post on main thread - [self performSelectorOnMainThread:@selector(handleGSMCallInteration:) - withObject:callCenter - waitUntilDone:YES]; - }; -} - - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys: @"NO", @"enable_first_login_view_preference", // @@ -258,8 +211,6 @@ int __aeabi_idiv(int a, int b) { [[LinphoneManager instance] startLibLinphone]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound]; - - [self setupGSMInteraction]; } diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index 691ebd14f..8e5932e73 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -23,6 +23,7 @@ #include "linphonecore.h" #import "LogView.h" #import "LinphoneUIDelegates.h" +#import "CoreTelephony/CTCallCenter.h" typedef enum _Connectivity { wifi, @@ -66,6 +67,7 @@ typedef struct _LinphoneCallAppData { const char* backCamId; NSDictionary* currentSettings; + CTCallCenter* callCenter; @public CallContext currentCallContextBeforeGoingBackground; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 8345c50d4..26be8f942 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -820,7 +820,16 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } } -(void) destroyLibLinphone { - [mIterateTimer invalidate]; + [mIterateTimer invalidate]; + + // destroying eventHandler if app cannot go in background. + // Otherwise if a GSM call happen and Linphone is resumed, + // the handler will be called before LinphoneCore is built. + // Then handler will be restored in appDidBecomeActive cb + callCenter.callEventHandler = nil; + [callCenter release]; + callCenter = nil; + AVAudioSession *audioSession = [AVAudioSession sharedInstance]; [audioSession setDelegate:nil]; if (theLinphoneCore != nil) { //just in case application terminate before linphone core initialization @@ -961,6 +970,8 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach #if HAVE_G729 libmsbcg729_init(); // load g729 plugin #endif + + [self setupGSMInteraction]; /* Initialize linphone core*/ NSLog(@"Create linphonecore"); @@ -1070,6 +1081,13 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } /*IOS specific*/ linphone_core_start_dtmf_stream(theLinphoneCore); + + //call center is unrelialable on the long run, so we change it each time the application is resumed. To avoid zombie GSM call + [self setupGSMInteraction]; + + //to make sure presence status is correct + if ([callCenter currentCalls]==nil) + linphone_core_set_presence_info(theLinphoneCore, 0, nil, LinphoneStatusAltService); } -(void) registerLogView:(id) view { @@ -1088,6 +1106,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach ms_message("Sound interruption ended!"); //let the user resume the call manually. } + +(BOOL) runningOnIpad { #ifdef UI_USER_INTERFACE_IDIOM return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); @@ -1106,5 +1125,33 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach ms_message("UI - '%s' pressed", name); } +#pragma GSM management +-(void) setupGSMInteraction { + if (callCenter != nil) + [callCenter release]; + + callCenter = [[CTCallCenter alloc] init]; + callCenter.callEventHandler = ^(CTCall* call) { + // post on main thread + [self performSelectorOnMainThread:@selector(handleGSMCallInteration:) + withObject:callCenter + waitUntilDone:YES]; + }; +} + +-(void) handleGSMCallInteration: (id) cCenter { + CTCallCenter* ct = (CTCallCenter*) cCenter; + /* pause current call, if any */ + LinphoneCall* call = linphone_core_get_current_call(theLinphoneCore); + if ([ct currentCalls]!=nil) { + if (call) { + NSLog(@"Pausing SIP call"); + linphone_core_pause_call(theLinphoneCore, call); + } + //set current status to busy + linphone_core_set_presence_info(theLinphoneCore, 0, nil, LinphoneStatusBusy); + } else + linphone_core_set_presence_info(theLinphoneCore, 0, nil, LinphoneStatusAltService); +} @end From 2e4f912d6293cac270e447f2d7a5025cd0db37de Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 8 Oct 2012 12:52:04 +0200 Subject: [PATCH 10/26] Fix incall view issue after gsm call --- Classes/LinphoneAppDelegate.m | 1 + 1 file changed, 1 insertion(+) diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index f430b7873..edd7e5b43 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -94,6 +94,7 @@ int __aeabi_idiv(int a, int b) { instance->currentCallContextBeforeGoingBackground.cameraIsEnabled); } instance->currentCallContextBeforeGoingBackground.call = 0; + [myPhoneViewController displayCall:call InProgressFromUI:nil forUser:nil withDisplayName:nil]; } } From 5bc0e9e7d2a5da093b74a0ce5c82105953cd9f68 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 19 Oct 2012 14:09:42 +0200 Subject: [PATCH 11/26] answer busy if incomming call while GSM call in progress Conflicts: Classes/LinphoneManager.m submodules/linphone --- Classes/LinphoneUI/LinphoneManager.m | 21 +++++++++++++++++++-- submodules/linphone | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 26be8f942..f4f6a0bfb 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -166,7 +166,16 @@ extern void libmsbcg729_init(); } switch (new_state) { - case LinphoneCallIncomingReceived: + case LinphoneCallIncomingReceived: + /*first step is to re-enable ctcall center*/ + [self setupGSMInteraction]; + + /*should we reject this call ?*/ + if ([callCenter currentCalls]!=nil) { + ms_message("Mobile call ongoing... rejecting call from [%s]",linphone_address_get_username(linphone_call_get_call_log(call)->from)); + linphone_core_decline_call([LinphoneManager getLc], call, LinphoneReasonBusy); + return; + } [callDelegate displayIncomingCall:call NotificationFromUI:mCurrentViewController forUser:lUserName @@ -872,6 +881,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } //kick up network cnx, just in case [self kickOffNetworkConnection]; + + [self setupGSMInteraction]; + //to make sure presence status is correct + if ([callCenter currentCalls]==nil) + linphone_core_set_presence_info(theLinphoneCore, 0, nil, LinphoneStatusAltService); + [self refreshRegisters]; linphone_core_iterate(theLinphoneCore); } @@ -1128,8 +1143,10 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach #pragma GSM management -(void) setupGSMInteraction { - if (callCenter != nil) + if (callCenter != nil) { + callCenter.callEventHandler=NULL; [callCenter release]; + } callCenter = [[CTCallCenter alloc] init]; callCenter.callEventHandler = ^(CTCall* call) { diff --git a/submodules/linphone b/submodules/linphone index 1cbe09869..e829fa6e2 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 1cbe098692da4ad2a511bd677994c50d3716f314 +Subproject commit e829fa6e222f37de9c26e4e82f0227078f4b6629 From fed41709b5d5324b353f3e3ae169acb6025426f8 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 31 Oct 2012 21:38:33 +0100 Subject: [PATCH 12/26] Fix SILK compilation issue --- submodules/mssilk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mssilk b/submodules/mssilk index 391b6d6b0..68b3e2762 160000 --- a/submodules/mssilk +++ b/submodules/mssilk @@ -1 +1 @@ -Subproject commit 391b6d6b0fdf6854e5a25f287c4d8461730a1d40 +Subproject commit 68b3e276277e5ec46a381498b4d5714ad69fac1b From c96be98316ab42dda4602e0e4e42646b79a78cd6 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 6 Nov 2012 06:11:13 +0100 Subject: [PATCH 13/26] fix compilation issue bringed from linphone submodule --- Classes/IncallViewController.m | 2 +- Classes/LinphoneUI/LinphoneManager.m | 4 ++-- Classes/LinphoneUI/UICallButton.m | 2 +- Classes/PhoneViewController.m | 2 +- linphone.xcodeproj/project.pbxproj | 12 ++++++++++++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index 0768fa60d..221abbd0b 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -357,7 +357,7 @@ void addAnimationFadeTransition(UIView* view, float duration) { if (fullUpdate) { videoUpdateIndicator.hidden = YES; LinphoneCallState state = linphone_call_get_state(currentCall); - if (state == LinphoneCallStreamsRunning || state == LinphoneCallUpdated || state == LinphoneCallUpdatedByRemote) { + if (state == LinphoneCallStreamsRunning || state == LinphoneCallUpdating || state == LinphoneCallUpdatedByRemote) { if (linphone_call_params_video_enabled(linphone_call_get_current_params(currentCall))) { [addVideo setTitle:NSLocalizedString(@"-video", nil) forState:UIControlStateNormal]; [IncallViewController updateIndicator: videoCallQuality withCallQuality:linphone_call_get_average_quality(currentCall)]; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index f4f6a0bfb..f12b7eb74 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -211,7 +211,7 @@ extern void libmsbcg729_init(); } break; } - case LinphoneCallUpdated: + case LinphoneCallUpdating: { const LinphoneCallParams* current = linphone_call_get_current_params(call); if (linphone_call_params_video_enabled(current)) { @@ -467,7 +467,7 @@ static LinphoneCoreVTable linphonec_vtable = { -(void) configurePayloadType:(const char*) type fromPrefKey: (NSString*)key withRate:(int)rate { if ([[NSUserDefaults standardUserDefaults] boolForKey:key]) { PayloadType* pt; - if((pt = linphone_core_find_payload_type(theLinphoneCore,type,rate))) { + if((pt = linphone_core_find_payload_type(theLinphoneCore,type,rate,1))) { linphone_core_enable_payload_type(theLinphoneCore,pt, TRUE); } } diff --git a/Classes/LinphoneUI/UICallButton.m b/Classes/LinphoneUI/UICallButton.m index 6957344e5..0df070afa 100644 --- a/Classes/LinphoneUI/UICallButton.m +++ b/Classes/LinphoneUI/UICallButton.m @@ -35,7 +35,7 @@ static BOOL transferMode = NO; } -(void) touchUp:(id) sender { - if (!linphone_core_is_network_reachabled([LinphoneManager getLc])) { + if (!linphone_core_is_network_reachable([LinphoneManager getLc])) { UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Network Error",nil) message:NSLocalizedString(@"There is no network connection available, enable WIFI or WWAN prior to place a call",nil) delegate:nil diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 66ca69f2a..0b84d420c 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -77,7 +77,7 @@ if (config == NULL) { s = LinphoneRegistrationNone; - m = linphone_core_is_network_reachabled([LinphoneManager getLc]) ? NSLocalizedString(@"No SIP account configured", nil) : NSLocalizedString(@"Network down", nil); + m = linphone_core_is_network_reachable([LinphoneManager getLc]) ? NSLocalizedString(@"No SIP account configured", nil) : NSLocalizedString(@"Network down", nil); } else { s = linphone_proxy_config_get_state(config); diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 151ea09df..7fd193b5c 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -103,6 +103,10 @@ 2274550810700509006EC466 /* linphonerc in Resources */ = {isa = PBXBuildFile; fileRef = 2274550710700509006EC466 /* linphonerc */; }; 227BCDC210D4004600FBFD76 /* CallHistoryTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */; }; 227BCDC310D4004600FBFD76 /* CallHistoryTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */; }; + 228390511648CAD7008A0F2C /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2283904F1648CAD7008A0F2C /* libmediastreamer_base.a */; }; + 228390521648CAD7008A0F2C /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 228390501648CAD7008A0F2C /* libmediastreamer_voip.a */; }; + 228390531648D31B008A0F2C /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2283904F1648CAD7008A0F2C /* libmediastreamer_base.a */; }; + 228390541648D31F008A0F2C /* libmediastreamer_voip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 228390501648CAD7008A0F2C /* libmediastreamer_voip.a */; }; 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 228697C311AC29B800E9E0CA /* CFNetwork.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; 228B19AF130290C500F154D3 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 228B19AE130290C500F154D3 /* iTunesArtwork */; }; 22968A5F12F875C600588287 /* UISpeakerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22968A5E12F875C600588287 /* UISpeakerButton.m */; }; @@ -505,6 +509,8 @@ 227BCDBF10D4004600FBFD76 /* CallHistoryTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallHistoryTableViewController.h; sourceTree = ""; }; 227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CallHistoryTableViewController.m; sourceTree = ""; }; 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CallHistoryTableViewController.xib; sourceTree = ""; }; + 2283904F1648CAD7008A0F2C /* libmediastreamer_base.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_base.a; path = "liblinphone-sdk/apple-darwin/lib/libmediastreamer_base.a"; sourceTree = ""; }; + 228390501648CAD7008A0F2C /* libmediastreamer_voip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer_voip.a; path = "liblinphone-sdk/apple-darwin/lib/libmediastreamer_voip.a"; sourceTree = ""; }; 228697C311AC29B800E9E0CA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 228B19AE130290C500F154D3 /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = text; name = iTunesArtwork; path = Resources/iTunesArtwork; sourceTree = ""; }; 22968A5D12F875C600588287 /* UISpeakerButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UISpeakerButton.h; sourceTree = ""; }; @@ -713,6 +719,8 @@ 226183AD1472527D0037138E /* libSKP_SILK_SDK.a in Frameworks */, 226183AE1472527D0037138E /* libsrtp.a in Frameworks */, 226183B0147259670037138E /* libmssilk.a in Frameworks */, + 228390531648D31B008A0F2C /* libmediastreamer_base.a in Frameworks */, + 228390541648D31F008A0F2C /* libmediastreamer_voip.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -720,6 +728,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 228390511648CAD7008A0F2C /* libmediastreamer_base.a in Frameworks */, + 228390521648CAD7008A0F2C /* libmediastreamer_voip.a in Frameworks */, 34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */, 22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */, 22D8F15C147548E2008C97DB /* QuartzCore.framework in Frameworks */, @@ -1135,6 +1145,8 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 2283904F1648CAD7008A0F2C /* libmediastreamer_base.a */, + 228390501648CAD7008A0F2C /* libmediastreamer_voip.a */, 340751961506459A00B89C47 /* CoreTelephony.framework */, 226CDADD14E2D0B800513B67 /* libbcg729.a */, 226CDADE14E2D0B800513B67 /* libmsbcg729.a */, From 25a5a99bb0e03fe05c440c5b61dbff264eb5a41f Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 6 Nov 2012 14:21:23 +0100 Subject: [PATCH 14/26] clean build file --- linphone.xcodeproj/project.pbxproj | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 7fd193b5c..4b927271b 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -279,7 +279,6 @@ 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; }; F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB911475562600DEE054 /* liblinphone.a */; }; - F476004C147AAF4600FFF19B /* libmediastreamer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB8F147555C800DEE054 /* libmediastreamer.a */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -430,7 +429,6 @@ 220FAD2F10765B400068D98F /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; 220FAD3010765B400068D98F /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; 220FAE4A10767A6A0068D98F /* PhoneMainView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneMainView.xib; sourceTree = ""; }; - 2211DB8F147555C800DEE054 /* libmediastreamer.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmediastreamer.a; path = "liblinphone-sdk/apple-darwin/lib/libmediastreamer.a"; sourceTree = ""; }; 2211DB911475562600DEE054 /* liblinphone.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = liblinphone.a; path = "liblinphone-sdk/apple-darwin/lib/liblinphone.a"; sourceTree = ""; }; 2211DB94147564B400DEE054 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = "nogpl-thirdparties/Settings.bundle"; sourceTree = ""; }; 2211DBBB14769C8200DEE054 /* CallDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CallDelegate.m; sourceTree = ""; }; @@ -679,7 +677,6 @@ 344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */, 344ABDF214850AE9007420B6 /* libstdc++.6.dylib in Frameworks */, 344ABDE81484E723007420B6 /* libzrtpcpp.a in Frameworks */, - F476004C147AAF4600FFF19B /* libmediastreamer.a in Frameworks */, F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */, 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */, 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */, @@ -728,34 +725,34 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 228390511648CAD7008A0F2C /* libmediastreamer_base.a in Frameworks */, - 228390521648CAD7008A0F2C /* libmediastreamer_voip.a in Frameworks */, 34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */, - 22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */, 22D8F15C147548E2008C97DB /* QuartzCore.framework in Frameworks */, 22D8F15D147548E2008C97DB /* OpenGLES.framework in Frameworks */, 22D8F15E147548E2008C97DB /* CoreMedia.framework in Frameworks */, 22D8F15F147548E2008C97DB /* CoreVideo.framework in Frameworks */, - 22D8F163147548E2008C97DB /* libssl.a in Frameworks */, - 22D8F164147548E2008C97DB /* libcrypto.a in Frameworks */, 22D8F165147548E2008C97DB /* Foundation.framework in Frameworks */, 22D8F166147548E2008C97DB /* UIKit.framework in Frameworks */, 22D8F167147548E2008C97DB /* CoreGraphics.framework in Frameworks */, 22D8F168147548E2008C97DB /* CoreAudio.framework in Frameworks */, 22D8F169147548E2008C97DB /* AudioToolbox.framework in Frameworks */, + 22D8F170147548E2008C97DB /* AVFoundation.framework in Frameworks */, + 22D8F171147548E2008C97DB /* AddressBookUI.framework in Frameworks */, + 22D8F172147548E2008C97DB /* AddressBook.framework in Frameworks */, + 22D8F173147548E2008C97DB /* SystemConfiguration.framework in Frameworks */, + 22D8F176147548E2008C97DB /* CFNetwork.framework in Frameworks */, + 228390511648CAD7008A0F2C /* libmediastreamer_base.a in Frameworks */, + 228390521648CAD7008A0F2C /* libmediastreamer_voip.a in Frameworks */, + 22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */, + 22D8F163147548E2008C97DB /* libssl.a in Frameworks */, + 22D8F164147548E2008C97DB /* libcrypto.a in Frameworks */, 22D8F16A147548E2008C97DB /* libeXosip2.a in Frameworks */, 22D8F16B147548E2008C97DB /* libgsm.a in Frameworks */, 22D8F16C147548E2008C97DB /* libosip2.a in Frameworks */, 22D8F16D147548E2008C97DB /* libosipparser2.a in Frameworks */, 22D8F16E147548E2008C97DB /* libspeex.a in Frameworks */, 22D8F16F147548E2008C97DB /* libspeexdsp.a in Frameworks */, - 22D8F170147548E2008C97DB /* AVFoundation.framework in Frameworks */, - 22D8F171147548E2008C97DB /* AddressBookUI.framework in Frameworks */, - 22D8F172147548E2008C97DB /* AddressBook.framework in Frameworks */, - 22D8F173147548E2008C97DB /* SystemConfiguration.framework in Frameworks */, 22D8F174147548E2008C97DB /* libilbc.a in Frameworks */, 22D8F175147548E2008C97DB /* libmsilbc.a in Frameworks */, - 22D8F176147548E2008C97DB /* CFNetwork.framework in Frameworks */, 22D8F177147548E2008C97DB /* libortp.a in Frameworks */, 22D8F178147548E2008C97DB /* libresolv.dylib in Frameworks */, 22D8F179147548E2008C97DB /* libopencore-amrwb.a in Frameworks */, @@ -1155,7 +1152,6 @@ 344ABDE71484E723007420B6 /* libzrtpcpp.a */, 2211DB9614764F6B00DEE054 /* nogpl-thirdparties */, 2211DB911475562600DEE054 /* liblinphone.a */, - 2211DB8F147555C800DEE054 /* libmediastreamer.a */, 226183AF147259670037138E /* libmssilk.a */, 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */, 226183AB1472527D0037138E /* libsrtp.a */, From 33fe3fdfeeaf149448aeb14ccd9dfd601be13330 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 23 Nov 2012 10:36:02 +0100 Subject: [PATCH 15/26] Rework UICompositeViewController & PhoneMainView dependencies --- .../LinphoneUI/UICompositeViewController.m | 81 ++++++++++++++++++- Classes/PhoneMainView.h | 2 - Classes/PhoneMainView.m | 75 ----------------- 3 files changed, 78 insertions(+), 80 deletions(-) diff --git a/Classes/LinphoneUI/UICompositeViewController.m b/Classes/LinphoneUI/UICompositeViewController.m index 433987ad1..593f85a82 100644 --- a/Classes/LinphoneUI/UICompositeViewController.m +++ b/Classes/LinphoneUI/UICompositeViewController.m @@ -19,7 +19,7 @@ #import "UICompositeViewController.h" -#import "PhoneMainView.h" +#import "LinphoneAppDelegate.h" @implementation UICompositeViewDescription @@ -252,7 +252,7 @@ // Update rotation UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; if(currentOrientation != correctOrientation) { - [PhoneMainView setOrientation:correctOrientation animated:currentOrientation != UIDeviceOrientationUnknown]; + [UICompositeViewController setOrientation:correctOrientation animated:currentOrientation != UIDeviceOrientationUnknown]; } } } @@ -260,6 +260,81 @@ #pragma mark - +/* + Will simulate a device rotation + */ ++ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated { + UIView *firstResponder = nil; + for(UIWindow *window in [[UIApplication sharedApplication] windows]) { + if([NSStringFromClass(window.class) isEqualToString:@"UITextEffectsWindow"] || + [NSStringFromClass(window.class) isEqualToString:@"_UIAlertOverlayWindow"] ) { + continue; + } + UIView *view = window; + UIViewController *controller = nil; + CGRect frame = [view frame]; + if([window isKindOfClass:[UILinphoneWindow class]]) { + controller = window.rootViewController; + view = controller.view; + } + UIInterfaceOrientation oldOrientation = controller.interfaceOrientation; + + NSTimeInterval animationDuration = 0.0; + if(animated) { + animationDuration = 0.3f; + } + [controller willRotateToInterfaceOrientation:orientation duration:animationDuration]; + if(animated) { + [UIView beginAnimations:nil context:nil]; + [UIView setAnimationDuration:animationDuration]; + } + switch (orientation) { + case UIInterfaceOrientationPortrait: + [view setTransform: CGAffineTransformMakeRotation(0)]; + break; + case UIInterfaceOrientationPortraitUpsideDown: + [view setTransform: CGAffineTransformMakeRotation(M_PI)]; + break; + case UIInterfaceOrientationLandscapeLeft: + [view setTransform: CGAffineTransformMakeRotation(-M_PI / 2)]; + break; + case UIInterfaceOrientationLandscapeRight: + [view setTransform: CGAffineTransformMakeRotation(M_PI / 2)]; + break; + default: + break; + } + if([window isKindOfClass:[UILinphoneWindow class]]) { + [view setFrame:frame]; + } + [controller willAnimateRotationToInterfaceOrientation:orientation duration:animationDuration]; + if(animated) { + [UIView commitAnimations]; + } + [controller didRotateFromInterfaceOrientation:oldOrientation]; + if(firstResponder == nil) { + firstResponder = [UICompositeViewController findFirstResponder:view]; + } + } + [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:animated]; + if(firstResponder) { + [firstResponder resignFirstResponder]; + [firstResponder becomeFirstResponder]; + } +} + ++ (UIView*)findFirstResponder:(UIView*)view { + if (view.isFirstResponder) { + return view; + } + for (UIView *subView in view.subviews) { + UIView *ret = [UICompositeViewController findFirstResponder:subView]; + if (ret != nil) + return ret; + } + return nil; +} + - (void)clearCache:(NSArray *)exclude { for(NSString *key in [viewControllerCache allKeys]) { bool remove = true; @@ -441,7 +516,7 @@ // Update rotation UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]]; if(currentOrientation != correctOrientation) { - [PhoneMainView setOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown]; + [UICompositeViewController setOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown]; } else { if(oldContentViewController != newContentViewController) { UIInterfaceOrientation oldOrientation = self.contentViewController.interfaceOrientation; diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h index ad679eaea..bd8aaeec7 100644 --- a/Classes/PhoneMainView.h +++ b/Classes/PhoneMainView.h @@ -61,8 +61,6 @@ - (void)fullScreen:(BOOL)enabled; - (void)startUp; -+ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated; - - (void)addInhibitedEvent:(id)event; - (BOOL)removeInhibitedEvent:(id)event; diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 82ff165f4..941a752f2 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -172,81 +172,6 @@ static PhoneMainView* phoneMainViewInstance=nil; return 0; } -+ (UIView*)findFirstResponder:(UIView*)view { - if (view.isFirstResponder) { - return view; - } - for (UIView *subView in view.subviews) { - UIView *ret = [PhoneMainView findFirstResponder:subView]; - if (ret != nil) - return ret; - } - return nil; -} - -/* - Will simulate a device rotation - */ -+ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated { - UIView *firstResponder = nil; - for(UIWindow *window in [[UIApplication sharedApplication] windows]) { - if([NSStringFromClass(window.class) isEqualToString:@"UITextEffectsWindow"] || - [NSStringFromClass(window.class) isEqualToString:@"_UIAlertOverlayWindow"] ) { - continue; - } - UIView *view = window; - UIViewController *controller = nil; - CGRect frame = [view frame]; - if([window isKindOfClass:[UILinphoneWindow class]]) { - controller = window.rootViewController; - view = controller.view; - } - UIInterfaceOrientation oldOrientation = controller.interfaceOrientation; - - NSTimeInterval animationDuration = 0.0; - if(animated) { - animationDuration = 0.3f; - } - [controller willRotateToInterfaceOrientation:orientation duration:animationDuration]; - if(animated) { - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:animationDuration]; - } - switch (orientation) { - case UIInterfaceOrientationPortrait: - [view setTransform: CGAffineTransformMakeRotation(0)]; - break; - case UIInterfaceOrientationPortraitUpsideDown: - [view setTransform: CGAffineTransformMakeRotation(M_PI)]; - break; - case UIInterfaceOrientationLandscapeLeft: - [view setTransform: CGAffineTransformMakeRotation(-M_PI / 2)]; - break; - case UIInterfaceOrientationLandscapeRight: - [view setTransform: CGAffineTransformMakeRotation(M_PI / 2)]; - break; - default: - break; - } - if([window isKindOfClass:[UILinphoneWindow class]]) { - [view setFrame:frame]; - } - [controller willAnimateRotationToInterfaceOrientation:orientation duration:animationDuration]; - if(animated) { - [UIView commitAnimations]; - } - [controller didRotateFromInterfaceOrientation:oldOrientation]; - if(firstResponder == nil) { - firstResponder = [PhoneMainView findFirstResponder:view]; - } - } - [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:animated]; - if(firstResponder) { - [firstResponder resignFirstResponder]; - [firstResponder becomeFirstResponder]; - } -} - - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; From 15682c9ca78e983436f873d9bc04d0e4ea0df4b5 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 23 Nov 2012 11:19:55 +0100 Subject: [PATCH 16/26] update submodule linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 362d77908..501c5ce4d 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 362d77908ae82c67eb61f5038ff048f9125984b5 +Subproject commit 501c5ce4db223514bdb9090405b264e862c028ad From 75503fb812299dc0007670875dd99c1aa2669e22 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 29 Nov 2012 16:52:25 +0100 Subject: [PATCH 17/26] Fix chat height issue --- Classes/LinphoneUI/UIChatCell.xib | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/LinphoneUI/UIChatCell.xib b/Classes/LinphoneUI/UIChatCell.xib index b6b7f94a0..e323fa21c 100644 --- a/Classes/LinphoneUI/UIChatCell.xib +++ b/Classes/LinphoneUI/UIChatCell.xib @@ -2,7 +2,7 @@ 1536 - 11G56 + 11G63 2840 1138.51 569.00 @@ -35,7 +35,7 @@ - 274 + 290 From a7609ac1ea38dfafc67e76dc1c09ef187b1797c2 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 29 Nov 2012 17:46:23 +0100 Subject: [PATCH 18/26] Update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 501c5ce4d..f046faece 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 501c5ce4db223514bdb9090405b264e862c028ad +Subproject commit f046faecea4b392121e32a637f1eabbe16f10986 From 3a7b9fa270b9c638b205637b904e1c098f76f60f Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 13:14:17 +0100 Subject: [PATCH 19/26] Add edge low bandwidth detection when accept/invite --- Classes/LinphoneManager.h | 15 +++++++-- Classes/LinphoneManager.m | 69 ++++++++++++++++++++++++++++----------- Classes/PhoneMainView.m | 4 +-- 3 files changed, 65 insertions(+), 23 deletions(-) diff --git a/Classes/LinphoneManager.h b/Classes/LinphoneManager.h index 5a9d5491d..f3c38d984 100644 --- a/Classes/LinphoneManager.h +++ b/Classes/LinphoneManager.h @@ -48,10 +48,19 @@ extern NSString *const kLinphoneSettingsUpdate; extern NSString *const kContactSipField; +typedef enum _NetworkType { + network_none = 0, + network_2g, + network_3g, + network_4g, + network_lte, + network_wifi +} NetworkType; + typedef enum _Connectivity { wifi, - wwan - ,none + wwan, + none } Connectivity; /* Application specific call context */ @@ -127,6 +136,7 @@ typedef struct _LinphoneManagerSounds { + (NSString*)bundleFile:(NSString*)file; + (NSString*)documentFile:(NSString*)file; +- (void)acceptCall:(LinphoneCall *)call; - (void)call:(NSString *)address displayName:(NSString*)displayName transfer:(BOOL)transfer; - (void)lpConfigSetString:(NSString*)value forKey:(NSString*)key; @@ -144,6 +154,7 @@ typedef struct _LinphoneManagerSounds { @property (readonly) FastAddressBook* fastAddressBook; @property Connectivity connectivity; +@property (readonly) NetworkType network; @property (readonly) const char* frontCamId; @property (readonly) const char* backCamId; @property (readonly) sqlite3* database; diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index a20cb47c0..2ce0f87f7 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -96,6 +96,7 @@ extern void libmsbcg729_init(); @implementation LinphoneManager @synthesize connectivity; +@synthesize network; @synthesize frontCamId; @synthesize backCamId; @synthesize database; @@ -142,7 +143,7 @@ struct codec_name_pref_table codec_pref_table[]={ + (NSSet *)unsupportedCodecs { NSMutableSet *set = [NSMutableSet set]; for(int i=0;codec_pref_table[i].name!=NULL;++i) { - if(linphone_core_find_payload_type([LinphoneManager getLc],codec_pref_table[i].name + if(linphone_core_find_payload_type(theLinphoneCore,codec_pref_table[i].name , codec_pref_table[i].rate,LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS) == NULL) { [set addObject:codec_pref_table[i].prefname]; } @@ -395,7 +396,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char /*should we reject this call ?*/ if ([lCTCallCenter currentCalls]!=nil) { [LinphoneLogger logc:LinphoneLoggerLog format:"Mobile call ongoing... rejecting call from [%s]",linphone_address_get_username(linphone_call_get_call_log(call)->from)]; - linphone_core_decline_call([LinphoneManager getLc], call,LinphoneReasonBusy); + linphone_core_decline_call(theLinphoneCore, call,LinphoneReasonBusy); [lCTCallCenter release]; return; } @@ -469,7 +470,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char // Disable speaker when no more call if ((state == LinphoneCallEnd || state == LinphoneCallError)) { - if(linphone_core_get_calls_nb([LinphoneManager getLc]) == 0) { + if(linphone_core_get_calls_nb(theLinphoneCore) == 0) { [self setSpeakerEnabled:FALSE]; [self removeCTCallCenterCb]; } @@ -641,18 +642,18 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach LinphoneManager* lLinphoneMgr = [LinphoneManager instance]; SCNetworkReachabilityFlags networkDownFlags=kSCNetworkReachabilityFlagsConnectionRequired |kSCNetworkReachabilityFlagsConnectionOnTraffic | kSCNetworkReachabilityFlagsConnectionOnDemand; - if ([LinphoneManager getLc] != nil) { + if (theLinphoneCore != nil) { LinphoneProxyConfig* proxy; - linphone_core_get_default_proxy([LinphoneManager getLc], &proxy); + linphone_core_get_default_proxy(theLinphoneCore, &proxy); struct NetworkReachabilityContext* ctx = nilCtx ? ((struct NetworkReachabilityContext*)nilCtx) : 0; if ((flags == 0) || (flags & networkDownFlags)) { - linphone_core_set_network_reachable([LinphoneManager getLc],false); + linphone_core_set_network_reachable(theLinphoneCore, false); lLinphoneMgr.connectivity = none; [LinphoneManager kickOffNetworkConnection]; } else { Connectivity newConnectivity; - BOOL isWifiOnly = lp_config_get_int(linphone_core_get_config([LinphoneManager getLc]), LINPHONERC_APPLICATION_KEY, "wifi_only_preference",FALSE); + BOOL isWifiOnly = lp_config_get_int(linphone_core_get_config(theLinphoneCore), LINPHONERC_APPLICATION_KEY, "wifi_only_preference",FALSE); if (!ctx || ctx->testWWan) newConnectivity = flags & kSCNetworkReachabilityFlagsIsWWAN ? wwan:wifi; else @@ -672,11 +673,11 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach if (lLinphoneMgr.connectivity != newConnectivity) { // connectivity has changed - linphone_core_set_network_reachable([LinphoneManager getLc],false); + linphone_core_set_network_reachable(theLinphoneCore,false); if (newConnectivity == wwan && proxy && isWifiOnly) { linphone_proxy_config_expires(proxy, 0); } - linphone_core_set_network_reachable([LinphoneManager getLc],true); + linphone_core_set_network_reachable(theLinphoneCore,true); [LinphoneLogger logc:LinphoneLoggerLog format:"Network connectivity changed to type [%s]",(newConnectivity==wifi?"wifi":"wwan")]; [lLinphoneMgr waitForRegisterToArrive]; } @@ -720,6 +721,21 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } } +- (NetworkType)network { + UIApplication *app = [UIApplication sharedApplication]; + NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; + NSNumber *dataNetworkItemView = nil; + + for (id subview in subviews) { + if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) { + dataNetworkItemView = subview; + break; + } + } + NSNumber *number = (NSNumber*)[dataNetworkItemView valueForKey:@"dataNetworkType"]; + return [number intValue]; +} + #pragma mark - @@ -910,10 +926,10 @@ static int comp_call_id(const LinphoneCall* call , const char *callid) { - (void)acceptCallForCallId:(NSString*)callid { //first, make sure this callid is not already involved in a call if ([LinphoneManager isLcReady]) { - MSList* calls = (MSList*)linphone_core_get_calls([LinphoneManager getLc]); + MSList* calls = (MSList*)linphone_core_get_calls(theLinphoneCore); MSList* call = ms_list_find_custom(calls, (MSCompareFunc)comp_call_id, [callid UTF8String]); if (call != NULL) { - linphone_core_accept_call(theLinphoneCore, (LinphoneCall*)call->data); + [self acceptCall:(LinphoneCall*)call->data]; return; }; } @@ -922,7 +938,7 @@ static int comp_call_id(const LinphoneCall* call , const char *callid) { - (void)enableAutoAnswerForCallId:(NSString*) callid { //first, make sure this callid is not already involved in a call if ([LinphoneManager isLcReady]) { - MSList* calls = (MSList*)linphone_core_get_calls([LinphoneManager getLc]); + MSList* calls = (MSList*)linphone_core_get_calls(theLinphoneCore); if (ms_list_find_custom(calls, (MSCompareFunc)comp_call_id, [callid UTF8String])) { [LinphoneLogger log:LinphoneLoggerWarning format:@"Call id [%@] already handled",callid]; return; @@ -1121,6 +1137,16 @@ static void audioRouteChangeListenerCallback ( #pragma mark - Call Functions +- (void)acceptCall:(LinphoneCall *)call { + LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); + linphone_core_accept_call_with_params(theLinphoneCore,call, lcallParams); +} + - (void)call:(NSString *)address displayName:(NSString*)displayName transfer:(BOOL)transfer { if (!linphone_core_is_network_reachable(theLinphoneCore)) { UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Network Error",nil) @@ -1150,8 +1176,13 @@ static void audioRouteChangeListenerCallback ( LinphoneProxyConfig* proxyCfg; //get default proxy - linphone_core_get_default_proxy([LinphoneManager getLc],&proxyCfg); - LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters([LinphoneManager getLc]); + linphone_core_get_default_proxy(theLinphoneCore,&proxyCfg); + LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); LinphoneCall* call=NULL; if ([address length] == 0) return; //just return @@ -1161,9 +1192,9 @@ static void audioRouteChangeListenerCallback ( linphone_address_set_display_name(linphoneAddress,[displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]); } if(transfer) { - linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), [address cStringUsingEncoding:[NSString defaultCStringEncoding]]); + linphone_core_transfer_call(theLinphoneCore, linphone_core_get_current_call(theLinphoneCore), [address cStringUsingEncoding:[NSString defaultCStringEncoding]]); } else { - call=linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams); + call=linphone_core_invite_address_with_params(theLinphoneCore, linphoneAddress, lcallParams); } linphone_address_destroy(linphoneAddress); } else if (proxyCfg==nil){ @@ -1176,16 +1207,16 @@ static void audioRouteChangeListenerCallback ( [error release]; } else { char normalizedUserName[256]; - LinphoneAddress* linphoneAddress = linphone_address_new(linphone_core_get_identity([LinphoneManager getLc])); + LinphoneAddress* linphoneAddress = linphone_address_new(linphone_core_get_identity(theLinphoneCore)); linphone_proxy_config_normalize_number(proxyCfg,[address cStringUsingEncoding:[NSString defaultCStringEncoding]],normalizedUserName,sizeof(normalizedUserName)); linphone_address_set_username(linphoneAddress, normalizedUserName); if(displayName!=nil) { linphone_address_set_display_name(linphoneAddress, [displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]); } if(transfer) { - linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), normalizedUserName); + linphone_core_transfer_call(theLinphoneCore, linphone_core_get_current_call(theLinphoneCore), normalizedUserName); } else { - call=linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams); + call=linphone_core_invite_address_with_params(theLinphoneCore, linphoneAddress, lcallParams); } linphone_address_destroy(linphoneAddress); } diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 941a752f2..e1e480293 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -565,7 +565,7 @@ static PhoneMainView* phoneMainViewInstance=nil; if (![[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] || [UIApplication sharedApplication].applicationState == UIApplicationStateActive) { if ([[LinphoneManager instance] shouldAutoAcceptCallForCallId:callId]){ - linphone_core_accept_call(linphone_call_get_core(call),call); + [[LinphoneManager instance] acceptCall:call]; }else{ IncomingCallViewController *controller = DYNAMIC_CAST([self changeCurrentView:[IncomingCallViewController compositeViewDescription] push:TRUE],IncomingCallViewController); if(controller != nil) { @@ -607,7 +607,7 @@ static PhoneMainView* phoneMainViewInstance=nil; } - (void)incomingCallAccepted:(LinphoneCall*)call { - linphone_core_accept_call([LinphoneManager getLc], call); + [[LinphoneManager instance] acceptCall:call]; } - (void)incomingCallDeclined:(LinphoneCall*)call { From 63eced2dc1a32475ad5d2b1de4dcbc07e7a4c10f Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 15:11:47 +0100 Subject: [PATCH 20/26] Fix previous commit for edge mode --- Resources/linphonerc-factory | 4 ++-- Resources/linphonerc-factory~ipad | 2 +- submodules/linphone | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory index 96d8e26bd..0025fff93 100644 --- a/Resources/linphonerc-factory +++ b/Resources/linphonerc-factory @@ -2,8 +2,8 @@ download_bw=380 upload_bw=380 mtu=1300 -activate_edge_workarounds=1 -edge_ping_time=200 +activate_edge_workarounds=0 +edge_ping_time=10 edge_bw=10 [sip] diff --git a/Resources/linphonerc-factory~ipad b/Resources/linphonerc-factory~ipad index 3a800faab..fac1148f1 100644 --- a/Resources/linphonerc-factory~ipad +++ b/Resources/linphonerc-factory~ipad @@ -2,7 +2,7 @@ download_bw=512 upload_bw=512 mtu=1300 -activate_edge_workarounds=1 +activate_edge_workarounds=0 edge_ping_time=200 edge_bw=10 diff --git a/submodules/linphone b/submodules/linphone index f046faece..243016a97 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f046faecea4b392121e32a637f1eabbe16f10986 +Subproject commit 243016a976f22ba31059aced9b5c748edb133e55 From 5784808dd9c383caeb6c320842af22c56b320a60 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 15:31:39 +0100 Subject: [PATCH 21/26] Add edge optimization prefrence --- Classes/LinphoneCoreSettingsStore.m | 7 ++++- Classes/LinphoneManager.m | 20 ++++++++----- Resources/linphonerc | 1 + Resources/linphonerc~ipad | 1 + Settings/InAppSettings.bundle/Network.plist | 10 +++++++ .../en.lproj/Network.strings | 3 ++ .../fr.lproj/Network.strings | 3 ++ linphone.ldb/Contents.plist | 29 +++++++++++++++++-- .../Network/1/Network.strings | 3 ++ 9 files changed, 66 insertions(+), 11 deletions(-) diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 6985dbd50..0155cd205 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -201,7 +201,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setString:val forKey:@"media_encryption_preference"]; } [self setString: lp_config_get_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", "auto") forKey:@"rotation_preference"]; - [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 1) forKey:@"edge_opt_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "debugenable_preference", 0) forKey:@"debugenable_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "animations_preference", 1) forKey:@"animations_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "wifi_only_preference", 0) forKey:@"wifi_only_preference"]; @@ -575,11 +576,15 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); } else { isbackgroundModeEnabled = false; } + lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "backgroundmode_preference", isbackgroundModeEnabled); BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"]; lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", firstloginview); + BOOL edgeOpt = [self boolForKey:@"edge_opt_preference"]; + lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", edgeOpt); + NSString *landscape = [self stringForKey:@"rotation_preference"]; lp_config_set_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", [landscape UTF8String]); diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index 2ce0f87f7..c8270b4b6 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -1139,11 +1139,13 @@ static void audioRouteChangeListenerCallback ( - (void)acceptCall:(LinphoneCall *)call { LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); - bool low_bandwidth = self.network == network_2g; - if(low_bandwidth) { - [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + if([self lpConfigBoolForKey:@"edge_opt_preference"]) { + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); } - linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); linphone_core_accept_call_with_params(theLinphoneCore,call, lcallParams); } @@ -1178,11 +1180,13 @@ static void audioRouteChangeListenerCallback ( //get default proxy linphone_core_get_default_proxy(theLinphoneCore,&proxyCfg); LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore); - bool low_bandwidth = self.network == network_2g; - if(low_bandwidth) { - [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + if([self lpConfigBoolForKey:@"edge_opt_preference"]) { + bool low_bandwidth = self.network == network_2g; + if(low_bandwidth) { + [LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"]; + } + linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); } - linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth); LinphoneCall* call=NULL; if ([address length] == 0) return; //just return diff --git a/Resources/linphonerc b/Resources/linphonerc index 0b454af82..fa651da1c 100644 --- a/Resources/linphonerc +++ b/Resources/linphonerc @@ -24,6 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 +edge_opt_preference=1 [default_values] reg_expires=600 \ No newline at end of file diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad index adc25c51c..a009c43f7 100644 --- a/Resources/linphonerc~ipad +++ b/Resources/linphonerc~ipad @@ -24,6 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 +edge_opt_preference=1 [default_values] reg_expires=600 \ No newline at end of file diff --git a/Settings/InAppSettings.bundle/Network.plist b/Settings/InAppSettings.bundle/Network.plist index 864b5acc3..cfac45da1 100644 --- a/Settings/InAppSettings.bundle/Network.plist +++ b/Settings/InAppSettings.bundle/Network.plist @@ -4,6 +4,16 @@ PreferenceSpecifiers + + DefaultValue + + Key + edge_opt_preference + Title + Edge optimization + Type + PSToggleSwitchSpecifier + DefaultValue diff --git a/Settings/InAppSettings.bundle/en.lproj/Network.strings b/Settings/InAppSettings.bundle/en.lproj/Network.strings index a2aa822d3..555c0b493 100644 --- a/Settings/InAppSettings.bundle/en.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/en.lproj/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Wifi only"; +/* Edge optimization */ +"Edge optimization" = "Edge optimization"; + /* Stun Server */ "Stun Server" = "Stun Server"; diff --git a/Settings/InAppSettings.bundle/fr.lproj/Network.strings b/Settings/InAppSettings.bundle/fr.lproj/Network.strings index 105b01f75..51e9f6ef5 100644 --- a/Settings/InAppSettings.bundle/fr.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/fr.lproj/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Uniquement Wifi"; +/* Edge optimization */ +"Edge optimization" = "Optimisation Edge"; + /* Stun Server */ "Stun Server" = "Serveur Stun"; diff --git a/linphone.ldb/Contents.plist b/linphone.ldb/Contents.plist index eb0b3d625..2dc564216 100644 --- a/linphone.ldb/Contents.plist +++ b/linphone.ldb/Contents.plist @@ -17452,7 +17452,7 @@ Raison: %2$s change date - 2012-11-13T09:28:24Z + 2012-12-03T14:20:32Z changed values class @@ -17462,7 +17462,7 @@ Raison: %2$s flags 0 hash - 7220a3af4b5567ce1842c8a01759b1c9 + 61504fb6dc1719749e72de751676a9cf name Network.strings @@ -17493,6 +17493,31 @@ Raison: %2$s snapshots + + change date + 2001-01-01T00:00:00Z + changed values + + class + BLStringKeyObject + comment + Edge optimization + errors + + flags + 0 + key + Edge optimization + localizations + + en + Edge optimization + fr + Optimisation Edge + + snapshots + + change date 2001-01-01T00:00:00Z diff --git a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings index a2aa822d3..555c0b493 100644 --- a/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings +++ b/linphone.ldb/Resources/InAppSettings.bundle/Network/1/Network.strings @@ -1,6 +1,9 @@ /* Wifi only */ "Wifi only" = "Wifi only"; +/* Edge optimization */ +"Edge optimization" = "Edge optimization"; + /* Stun Server */ "Stun Server" = "Stun Server"; From f63bd03569872a335e0452edb69a9eea93a87f1e Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 15:34:37 +0100 Subject: [PATCH 22/26] Disable edge optimization --- Classes/LinphoneCoreSettingsStore.m | 2 +- Resources/linphonerc | 2 +- Resources/linphonerc~ipad | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index 0155cd205..36fcc1dea 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -201,7 +201,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); [self setString:val forKey:@"media_encryption_preference"]; } [self setString: lp_config_get_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", "auto") forKey:@"rotation_preference"]; - [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 1) forKey:@"edge_opt_preference"]; + [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 0) forKey:@"edge_opt_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "debugenable_preference", 0) forKey:@"debugenable_preference"]; [self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "animations_preference", 1) forKey:@"animations_preference"]; diff --git a/Resources/linphonerc b/Resources/linphonerc index fa651da1c..040abc310 100644 --- a/Resources/linphonerc +++ b/Resources/linphonerc @@ -24,7 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 -edge_opt_preference=1 +edge_opt_preference=0 [default_values] reg_expires=600 \ No newline at end of file diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad index a009c43f7..9458f6e74 100644 --- a/Resources/linphonerc~ipad +++ b/Resources/linphonerc~ipad @@ -24,7 +24,7 @@ firewall_policy=0 [app] rotation_preference=auto animations_preference=1 -edge_opt_preference=1 +edge_opt_preference=0 [default_values] reg_expires=600 \ No newline at end of file From 650ff361aec4344187899b613d6ee9d1d723435a Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 15:55:10 +0100 Subject: [PATCH 23/26] Improve avatar loading --- Classes/ChatRoomViewController.m | 4 ++-- Classes/HistoryDetailsViewController.m | 2 +- Classes/IncomingCallViewController.m | 20 ++++++++++++-------- Classes/LinphoneUI/UICallCell.m | 6 ++++-- Classes/LinphoneUI/UIChatRoomCell.m | 2 +- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 0915a4abe..a776b2622 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -348,7 +348,7 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta - (void)saveAndSend:(UIImage*)image url:(NSURL*)url { if(url == nil) { [waitView setHidden:FALSE]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ [[LinphoneManager instance].photoLibrary writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){ @@ -381,7 +381,7 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta [waitView setHidden:FALSE]; DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Choose the image size", nil)]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ //UIImage *image = [original_image normalizedImage]; for(NSString *key in [imageQualities allKeys]) { NSNumber *number = [imageQualities objectForKey:key]; diff --git a/Classes/HistoryDetailsViewController.m b/Classes/HistoryDetailsViewController.m index 58b480b51..553f8e38c 100644 --- a/Classes/HistoryDetailsViewController.m +++ b/Classes/HistoryDetailsViewController.m @@ -183,7 +183,7 @@ static UICompositeViewDescription *compositeDescription = nil; NSString *normalizedSipAddress = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]]; contact = [[[LinphoneManager instance] fastAddressBook] getContact:normalizedSipAddress]; if(contact) { - image = [FastAddressBook getContactImage:contact thumbnail:false]; + image = [FastAddressBook getContactImage:contact thumbnail:true]; address = [FastAddressBook getContactDisplayName:contact]; useLinphoneAddress = false; } diff --git a/Classes/IncomingCallViewController.m b/Classes/IncomingCallViewController.m index c3f3d6d72..e008d5c09 100644 --- a/Classes/IncomingCallViewController.m +++ b/Classes/IncomingCallViewController.m @@ -21,6 +21,7 @@ #import "LinphoneManager.h" #import "FastAddressBook.h" #import "PhoneMainView.h" +#import "UILinphone.h" @implementation IncomingCallViewController @@ -113,7 +114,8 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)update { [self view]; //Force view load - UIImage *image = nil; + [avatarImage setImage:[UIImage imageNamed:@"avatar_unknown.png"]]; + NSString* address = nil; const LinphoneAddress* addr = linphone_call_get_remote_address(call); if (addr != NULL) { @@ -124,7 +126,15 @@ static UICompositeViewDescription *compositeDescription = nil; NSString *normalizedSipAddress = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]]; ABRecordRef contact = [[[LinphoneManager instance] fastAddressBook] getContact:normalizedSipAddress]; if(contact) { - image = [FastAddressBook getContactImage:contact thumbnail:false]; + UIImage *tmpImage = [FastAddressBook getContactImage:contact thumbnail:false]; + if(tmpImage != nil) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) { + UIImage *tmpImage2 = [UIImage decodedImageWithImage:tmpImage]; + dispatch_async(dispatch_get_main_queue(), ^{ + avatarImage.image = tmpImage2; + }); + }); + } address = [FastAddressBook getContactDisplayName:contact]; useLinphoneAddress = false; } @@ -140,12 +150,6 @@ static UICompositeViewDescription *compositeDescription = nil; } } - // Set Image - if(image == nil) { - image = [UIImage imageNamed:@"avatar_unknown.png"]; - } - [avatarImage setImage:image]; - // Set Address if(address == nil) { address = @"Unknown"; diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m index 69e4e9ee6..8d69976d7 100644 --- a/Classes/LinphoneUI/UICallCell.m +++ b/Classes/LinphoneUI/UICallCell.m @@ -61,9 +61,11 @@ self.address = [FastAddressBook getContactDisplayName:contact]; UIImage *tmpImage = [FastAddressBook getContactImage:contact thumbnail:false]; if(tmpImage != nil) { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, (unsigned long)NULL), ^(void) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) { UIImage *tmpImage2 = [UIImage decodedImageWithImage:tmpImage]; - self.image = tmpImage2; + dispatch_async(dispatch_get_main_queue(), ^{ + [self setImage: tmpImage2]; + }); }); } } diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m index d23d732ed..067cd5c78 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.m +++ b/Classes/LinphoneUI/UIChatRoomCell.m @@ -127,7 +127,7 @@ static UIFont *CELL_FONT = nil; [messageImageView startLoading]; ChatModel *achat = chat; [[LinphoneManager instance].photoLibrary assetForURL:[NSURL URLWithString:[chat message]] resultBlock:^(ALAsset *asset) { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, (unsigned long)NULL), ^(void) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) { ALAssetRepresentation* representation = [asset defaultRepresentation]; UIImage *image = [UIImage imageWithCGImage:[representation fullResolutionImage] scale:representation.scale From ffd5c0c277bead5b1f6289a3424398df46ee38d1 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 16:21:30 +0100 Subject: [PATCH 24/26] Improve low battery detection and test --- Classes/PhoneMainView.m | 5 ++++- Classes/SettingsViewController.m | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index e1e480293..5aa1c3fae 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -582,8 +582,8 @@ static PhoneMainView* phoneMainViewInstance=nil; if (!call || !linphone_call_params_video_enabled(linphone_call_get_current_params(call))) return; LinphoneCallAppData* appData = (LinphoneCallAppData*) linphone_call_get_user_pointer(call); + float level = [UIDevice currentDevice].batteryLevel; if ([UIDevice currentDevice].batteryState == UIDeviceBatteryStateUnplugged) { - float level = [UIDevice currentDevice].batteryLevel; [LinphoneLogger logc:LinphoneLoggerLog format:"Video call is running. Battery level: %.2f", level]; if (level < 0.1 && !appData->batteryWarningShown) { DTActionSheet *sheet = [[[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Battery is running low. Stop video ?",nil)] autorelease]; @@ -598,6 +598,9 @@ static PhoneMainView* phoneMainViewInstance=nil; appData->batteryWarningShown = TRUE; } } + if (level >= 0.1) { + appData->batteryWarningShown = FALSE; + } } diff --git a/Classes/SettingsViewController.m b/Classes/SettingsViewController.m index f84648481..02c27d79b 100644 --- a/Classes/SettingsViewController.m +++ b/Classes/SettingsViewController.m @@ -655,7 +655,7 @@ static UICompositeViewDescription *compositeDescription = nil; [[PhoneMainView instance].mainViewController clearCache:[NSArray arrayWithObject:[[PhoneMainView instance] currentView]]]; } else if([key isEqual:@"battery_alert_button"]) { [[UIDevice currentDevice] _setBatteryState:UIDeviceBatteryStateUnplugged]; - [[UIDevice currentDevice] _setBatteryLevel:0.09f]; + [[UIDevice currentDevice] _setBatteryLevel:0.01f]; [[NSNotificationCenter defaultCenter] postNotificationName:UIDeviceBatteryLevelDidChangeNotification object:self]; } #endif From ee3735c2d194dbbba1c993afd01af4d18ee9f3e6 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 3 Dec 2012 17:18:41 +0100 Subject: [PATCH 25/26] Fix profile and versions Conflicts: linphone-Info.plist --- linphone-Info.plist | 4 ++-- linphone.xcodeproj/project.pbxproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/linphone-Info.plist b/linphone-Info.plist index 0cd918ae3..40643746c 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -42,7 +42,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.5.3 + 3.5.99 CFBundleURLTypes @@ -59,7 +59,7 @@ CFBundleVersion - 2.0 + 2.0.1 NSMainNibFile LinphoneApp NSMainNibFile~ipad diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 824e77e6c..f617ab8ee 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -5619,7 +5619,7 @@ HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 4.3; LIBRARY_SEARCH_PATHS = ""; - PROVISIONING_PROFILE = "075921BC-C7D8-42E1-B864-F05FD9BF841C"; + PROVISIONING_PROFILE = "C7F794BC-6D48-41F2-B37D-E1B1B1A40901"; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; TARGETED_DEVICE_FAMILY = "1,2"; From f9f2a81fe3fead599727c376e6140592b79c56d7 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Tue, 4 Dec 2012 11:52:49 +0100 Subject: [PATCH 26/26] Update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 243016a97..3c4bd90ba 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 243016a976f22ba31059aced9b5c748edb133e55 +Subproject commit 3c4bd90ba3ebbfd600a3180d45a4514e8f641e5d