forked from mirrors/linphone-iphone
Add incall dialer
Add animation improve UI
This commit is contained in:
parent
6b1d647c26
commit
e1b7f91385
35 changed files with 1839 additions and 2194 deletions
|
|
@ -1,257 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1280</int>
|
||||
<string key="IBDocument.SystemVersion">11C74</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.23</string>
|
||||
<string key="IBDocument.HIToolboxVersion">567.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">933</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBUITableViewCell</string>
|
||||
<string>IBUIImageView</string>
|
||||
<string>IBUILabel</string>
|
||||
<string>IBProxyObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUITableViewCell" id="592306609">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIView" id="203820029">
|
||||
<reference key="NSNextResponder" ref="592306609"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIImageView" id="565632536">
|
||||
<reference key="NSNextResponder" ref="203820029"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{80, 80}</string>
|
||||
<reference key="NSSuperview" ref="203820029"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="874623941"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:567</string>
|
||||
<int key="IBUITag">1</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUILabel" id="874623941">
|
||||
<reference key="NSNextResponder" ref="203820029"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{80, 0}, {212, 80}}</string>
|
||||
<reference key="NSSuperview" ref="203820029"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="818419664"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:328</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<int key="IBUITag">2</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Texte de test</string>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription">
|
||||
<int key="type">1</int>
|
||||
<double key="pointSize">40</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica</string>
|
||||
<double key="NSSize">40</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="818419664">
|
||||
<reference key="NSNextResponder" ref="203820029"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{292, 26}, {28, 28}}</string>
|
||||
<reference key="NSSuperview" ref="203820029"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:567</string>
|
||||
<int key="IBUITag">3</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{320, 79}</string>
|
||||
<reference key="NSSuperview" ref="592306609"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="565632536"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:395</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">4</int>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{320, 80}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="203820029"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:384</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<reference key="IBUIContentView" ref="203820029"/>
|
||||
<string key="IBUIReuseIdentifier">ConferenceDetailCellIdentifier</string>
|
||||
<real value="80" key="IBUIRowHeight"/>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">conferenceDetailCell</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="592306609"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="592306609"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="565632536"/>
|
||||
<reference ref="874623941"/>
|
||||
<reference ref="818419664"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="565632536"/>
|
||||
<reference key="parent" ref="592306609"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="818419664"/>
|
||||
<reference key="parent" ref="592306609"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="874623941"/>
|
||||
<reference key="parent" ref="592306609"/>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.CustomClassName">ConferenceCallDetailView</string>
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">8</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ConferenceCallDetailView</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addCall">UIButton</string>
|
||||
<string key="back">UIButton</string>
|
||||
<string key="conferenceDetailCell">UITableViewCell</string>
|
||||
<string key="hangup">UIButton</string>
|
||||
<string key="mute">UIButton</string>
|
||||
<string key="speaker">UIButton</string>
|
||||
<string key="table">UITableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addCall">
|
||||
<string key="name">addCall</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="back">
|
||||
<string key="name">back</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="conferenceDetailCell">
|
||||
<string key="name">conferenceDetailCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="hangup">
|
||||
<string key="name">hangup</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="mute">
|
||||
<string key="name">mute</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="speaker">
|
||||
<string key="name">speaker</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="table">
|
||||
<string key="name">table</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ConferenceCallDetailView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">933</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
@ -1,479 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1280</int>
|
||||
<string key="IBDocument.SystemVersion">11C74</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.23</string>
|
||||
<string key="IBDocument.HIToolboxVersion">567.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">933</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUITableView</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBProxyObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUITableView" id="682450328">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{768, 872}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="492050748"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:418</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="270413770">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIAllowsSelection">NO</bool>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">44</float>
|
||||
<float key="IBUISectionHeaderHeight">22</float>
|
||||
<float key="IBUISectionFooterHeight">22</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="492050748">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{224, 874}, {107, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="548356310"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="763261649">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="102583944">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">effacer.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="758567310">
|
||||
<string key="name">Helvetica-Bold</string>
|
||||
<string key="family">Helvetica</string>
|
||||
<int key="traits">2</int>
|
||||
<double key="pointSize">15</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="1000099959">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="285534295">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{437, 873}, {107, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="IBUIBackgroundColor" ref="270413770"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="763261649"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="102583944"/>
|
||||
<object class="NSCustomResource" key="IBUISelectedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">HP_inverse.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">HP.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="322491891">
|
||||
<int key="type">2</int>
|
||||
<int key="size">2</int>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="310685398">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">18</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="548356310">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{224, 938}, {320, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="378152807"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="763261649"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="102583944"/>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">stopcall-red.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">clavier-01-106px.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="758567310"/>
|
||||
<reference key="IBUIFont" ref="1000099959"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="378152807">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{331, 873}, {106, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="285534295"/>
|
||||
<reference key="IBUIBackgroundColor" ref="270413770"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="763261649"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="102583944"/>
|
||||
<object class="NSCustomResource" key="IBUIDisabledImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">mic_active.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUISelectedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro_inverse.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="322491891"/>
|
||||
<reference key="IBUIFont" ref="310685398"/>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 20}, {768, 1004}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="682450328"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics">
|
||||
<int key="IBUIStatusBarStyle">2</int>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBIPadFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">back</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="492050748"/>
|
||||
</object>
|
||||
<int key="connectionID">8</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">hangup</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="548356310"/>
|
||||
</object>
|
||||
<int key="connectionID">9</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">mute</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="378152807"/>
|
||||
</object>
|
||||
<int key="connectionID">10</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">speaker</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="285534295"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">table</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="682450328"/>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="682450328"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="682450328"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">15</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="682450328"/>
|
||||
<reference ref="548356310"/>
|
||||
<reference ref="378152807"/>
|
||||
<reference ref="285534295"/>
|
||||
<reference ref="492050748"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="492050748"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Erase</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="285534295"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">speaker</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="682450328"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="548356310"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">end</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="378152807"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">mute</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.CustomClassName">ConferenceCallDetailView</string>
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="3.CustomClassName">UIEraseButton</string>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="4.CustomClassName">UISpeakerButton</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="1" key="4.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.CustomClassName">UIHangUpButton</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="7.CustomClassName">UIMuteButton</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="7.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">15</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ConferenceCallDetailView</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addCall">UIButton</string>
|
||||
<string key="back">UIButton</string>
|
||||
<string key="conferenceDetailCell">UITableViewCell</string>
|
||||
<string key="hangup">UIButton</string>
|
||||
<string key="mute">UIButton</string>
|
||||
<string key="speaker">UIButton</string>
|
||||
<string key="table">UITableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addCall">
|
||||
<string key="name">addCall</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="back">
|
||||
<string key="name">back</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="conferenceDetailCell">
|
||||
<string key="name">conferenceDetailCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="hangup">
|
||||
<string key="name">hangup</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="mute">
|
||||
<string key="name">mute</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="speaker">
|
||||
<string key="name">speaker</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="table">
|
||||
<string key="name">table</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ConferenceCallDetailView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIEraseButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIEraseButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIHangUpButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIHangUpButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIMuteButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIMuteButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISpeakerButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UISpeakerButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIToggleButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="HP.png">{107, 67}</string>
|
||||
<string key="HP_inverse.png">{107, 67}</string>
|
||||
<string key="clavier-01-106px.png">{106, 60}</string>
|
||||
<string key="effacer.png">{66, 65}</string>
|
||||
<string key="mic_active.png">{20, 20}</string>
|
||||
<string key="micro.png">{107, 67}</string>
|
||||
<string key="micro_inverse.png">{107, 67}</string>
|
||||
<string key="stopcall-red.png">{62, 54}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">933</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
/* ConferenceCallDetailView.h
|
||||
*
|
||||
* Copyright (C) 2011 Belledonne Comunications, 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 Library 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.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "LinphoneUI/UIMicroButton.h"
|
||||
#import "LinphoneUI/UISpeakerButton.h"
|
||||
|
||||
@interface ConferenceCallDetailView : UIViewController<UITableViewDelegate, UITableViewDataSource> {
|
||||
|
||||
UIMicroButton* mute;
|
||||
UISpeakerButton* speaker;
|
||||
UIButton* back;
|
||||
UIButton* hangup;
|
||||
UITableView* table;
|
||||
|
||||
UITableViewCell* conferenceDetailCell;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* mute;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* speaker;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* addCall;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* back;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* hangup;
|
||||
@property (nonatomic, retain) IBOutlet UITableView* table;
|
||||
|
||||
@property (nonatomic, assign) IBOutlet UITableViewCell* conferenceDetailCell;
|
||||
|
||||
-(void) updateCallQuality;
|
||||
@end
|
||||
|
|
@ -1,168 +0,0 @@
|
|||
/* ConferenceCallDetailView.m
|
||||
*
|
||||
* Copyright (C) 2011 Belledonne Comunications, 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 Library 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.
|
||||
*/
|
||||
|
||||
#import "ConferenceCallDetailView.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "InCallViewController.h"
|
||||
|
||||
#include "linphonecore.h"
|
||||
|
||||
@implementation ConferenceCallDetailView
|
||||
|
||||
@synthesize mute;
|
||||
@synthesize speaker;
|
||||
@synthesize back;
|
||||
@synthesize hangup;
|
||||
@synthesize table;
|
||||
@synthesize addCall;
|
||||
|
||||
@synthesize conferenceDetailCell;
|
||||
|
||||
NSTimer *callQualityRefresher;
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
|
||||
{
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
// Custom initialization
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning
|
||||
{
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc that aren't in use.
|
||||
}
|
||||
|
||||
#pragma mark - View lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
[back addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
table.rowHeight = 80;
|
||||
|
||||
/*[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[speaker initWithOnImage:[UIImage imageNamed:@"HP_inverse.png"] offImage:[UIImage imageNamed:@"HP.png"] debugName:"SPEAKER button"];
|
||||
*/
|
||||
}
|
||||
|
||||
-(void) backButtonPressed {
|
||||
[self dismissModalViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (void)viewDidUnload
|
||||
{
|
||||
[super viewDidUnload];
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
|
||||
{
|
||||
// Return YES for supported orientations
|
||||
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
||||
}
|
||||
|
||||
-(void) viewWillAppear:(BOOL)animated {
|
||||
[table reloadData];
|
||||
[mute update];
|
||||
[speaker update];
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
|
||||
-(void) viewDidAppear:(BOOL)animated {
|
||||
[super viewDidAppear:animated];
|
||||
callQualityRefresher = [NSTimer scheduledTimerWithTimeInterval:1
|
||||
target:self
|
||||
selector:@selector(updateCallQuality)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
}
|
||||
|
||||
-(void) viewDidDisappear:(BOOL)animated {
|
||||
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
|
||||
|
||||
if (callQualityRefresher != nil) {
|
||||
[callQualityRefresher invalidate];
|
||||
callQualityRefresher=nil;
|
||||
}
|
||||
}
|
||||
|
||||
-(void) updateCallQuality {
|
||||
[table reloadData];
|
||||
[table setNeedsDisplay];
|
||||
}
|
||||
|
||||
#pragma mark - UITableView delegates
|
||||
-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if (indexPath.row % 2)
|
||||
cell.backgroundColor = [UIColor lightGrayColor];
|
||||
else
|
||||
cell.backgroundColor = [UIColor darkGrayColor];
|
||||
}
|
||||
|
||||
-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString* identifier = @"ConferenceDetailCellIdentifier";
|
||||
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];
|
||||
if (cell == nil) {
|
||||
[[NSBundle mainBundle] loadNibNamed:@"ConferenceCallDetailCell" owner:self options:nil];
|
||||
cell = conferenceDetailCell;
|
||||
self.conferenceDetailCell = nil;
|
||||
}
|
||||
//TODO
|
||||
/* retrieve cell's fields using tags */
|
||||
//UIImageView* image = (UIImageView*) [cell viewWithTag:1];
|
||||
//UILabel* label = (UILabel*) [cell viewWithTag:2];
|
||||
|
||||
/* update cell content */
|
||||
//LinphoneCall* call = [InCallViewController retrieveCallAtIndex:indexPath.row inConference:YES];
|
||||
|
||||
//[InCallViewController updateCellImageView:image Label:label DetailLabel:nil AndAccessoryView:nil withCall:call];
|
||||
|
||||
cell.accessoryType = UITableViewCellAccessoryNone;
|
||||
if (cell.accessoryView == nil) {
|
||||
UIView *containerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 28, 28)] autorelease];
|
||||
cell.accessoryView = containerView;
|
||||
}
|
||||
else {
|
||||
for (UIView *view in cell.accessoryView.subviews) {
|
||||
[view removeFromSuperview];
|
||||
}
|
||||
}
|
||||
//UIImageView* callquality = (UIImageView*) [cell viewWithTag:3];
|
||||
//[InCallViewController updateIndicator:callquality withCallQuality:linphone_call_get_average_quality(call)];
|
||||
tableView.rowHeight = 80;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
int result = linphone_core_get_conference_size(lc) - (int)linphone_core_is_in_conference(lc);
|
||||
return result;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -1,478 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1280</int>
|
||||
<string key="IBDocument.SystemVersion">11C74</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.23</string>
|
||||
<string key="IBDocument.HIToolboxVersion">567.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">933</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBUITableView</string>
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBProxyObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUITableView" id="202949628">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 328}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="502975112"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:418</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="508694975">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIAllowsSelection">NO</bool>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">44</float>
|
||||
<float key="IBUISectionHeaderHeight">22</float>
|
||||
<float key="IBUISectionFooterHeight">22</float>
|
||||
</object>
|
||||
<object class="IBUIButton" id="502975112">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{107, 328}, {106, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="IBUIBackgroundColor" ref="508694975"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="715364517">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="129151944">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIDisabledImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">mic_active.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUISelectedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro_inverse.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="246923771">
|
||||
<int key="type">2</int>
|
||||
<int key="size">2</int>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="213214630">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">18</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="305687417">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{213, 328}, {107, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1019646602"/>
|
||||
<reference key="IBUIBackgroundColor" ref="508694975"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="715364517"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="129151944"/>
|
||||
<object class="NSCustomResource" key="IBUISelectedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">HP_inverse.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">HP.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="246923771"/>
|
||||
<reference key="IBUIFont" ref="213214630"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="874802963">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 394}, {320, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="715364517"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="129151944"/>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">stopcall-red.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">clavier-01-106px.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="645103076">
|
||||
<string key="name">Helvetica-Bold</string>
|
||||
<string key="family">Helvetica</string>
|
||||
<int key="traits">2</int>
|
||||
<double key="pointSize">15</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="1042027645">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="1019646602">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 328}, {107, 66}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="874802963"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="715364517"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="129151944"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">effacer.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="645103076"/>
|
||||
<reference key="IBUIFont" ref="1042027645"/>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="202949628"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
|
||||
</object>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">back</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="1019646602"/>
|
||||
</object>
|
||||
<int key="connectionID">16</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">hangup</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="874802963"/>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">mute</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="502975112"/>
|
||||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">speaker</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="305687417"/>
|
||||
</object>
|
||||
<int key="connectionID">19</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="191373211"/>
|
||||
</object>
|
||||
<int key="connectionID">20</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">table</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="202949628"/>
|
||||
</object>
|
||||
<int key="connectionID">23</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="202949628"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">21</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="202949628"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">22</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">1</int>
|
||||
<reference key="object" ref="191373211"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="874802963"/>
|
||||
<reference ref="305687417"/>
|
||||
<reference ref="202949628"/>
|
||||
<reference ref="502975112"/>
|
||||
<reference ref="1019646602"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="202949628"/>
|
||||
<array class="NSMutableArray" key="children"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="502975112"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">mute</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="874802963"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">end</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="305687417"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">speaker</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="1019646602"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Erase</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.CustomClassName">ConferenceCallDetailView</string>
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="10.CustomClassName">UIMuteButton</string>
|
||||
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="10.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="11.CustomClassName">UIHangUpButton</string>
|
||||
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="12.CustomClassName">UISpeakerButton</string>
|
||||
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="1" key="12.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="14.CustomClassName">UIEraseButton</string>
|
||||
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">23</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ConferenceCallDetailView</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addCall">UIButton</string>
|
||||
<string key="back">UIButton</string>
|
||||
<string key="conferenceDetailCell">UITableViewCell</string>
|
||||
<string key="hangup">UIButton</string>
|
||||
<string key="mute">UIButton</string>
|
||||
<string key="speaker">UIButton</string>
|
||||
<string key="table">UITableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addCall">
|
||||
<string key="name">addCall</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="back">
|
||||
<string key="name">back</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="conferenceDetailCell">
|
||||
<string key="name">conferenceDetailCell</string>
|
||||
<string key="candidateClassName">UITableViewCell</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="hangup">
|
||||
<string key="name">hangup</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="mute">
|
||||
<string key="name">mute</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="speaker">
|
||||
<string key="name">speaker</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="table">
|
||||
<string key="name">table</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ConferenceCallDetailView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIEraseButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIEraseButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIHangUpButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIHangUpButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIMuteButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIMuteButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISpeakerButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UISpeakerButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIToggleButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="HP.png">{107, 67}</string>
|
||||
<string key="HP_inverse.png">{107, 67}</string>
|
||||
<string key="clavier-01-106px.png">{106, 60}</string>
|
||||
<string key="effacer.png">{66, 65}</string>
|
||||
<string key="mic_active.png">{20, 20}</string>
|
||||
<string key="micro.png">{107, 67}</string>
|
||||
<string key="micro_inverse.png">{107, 67}</string>
|
||||
<string key="stopcall-red.png">{62, 54}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">933</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
@ -55,6 +55,7 @@
|
|||
@property (nonatomic, retain) IBOutlet UICallButton* addCallButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* cancelButton;
|
||||
@property (nonatomic, retain) IBOutlet UIEraseButton* eraseButton;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* oneButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* twoButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* threeButton;
|
||||
|
|
|
|||
|
|
@ -55,11 +55,15 @@
|
|||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
// [[LinphoneManager instance] setRegistrationDelegate:self];
|
||||
|
||||
//TODO
|
||||
//[mMainScreenWithVideoPreview showPreview:YES];
|
||||
|
||||
[super viewWillAppear:animated];
|
||||
[self update];
|
||||
}
|
||||
|
||||
- (void)callUpdate:(NSNotification*)notif {
|
||||
[self update];
|
||||
}
|
||||
|
||||
- (void)update {
|
||||
if([LinphoneManager isLcReady]) {
|
||||
LinphoneCore *lc = [LinphoneManager getLc];
|
||||
if(linphone_core_get_calls_nb(lc) > 0) {
|
||||
|
|
@ -74,7 +78,6 @@
|
|||
[addContactButton setHidden:false];
|
||||
}
|
||||
}
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
|
@ -95,6 +98,13 @@
|
|||
[callButton initWithAddress:addressField];
|
||||
[addCallButton initWithAddress:addressField];
|
||||
[eraseButton initWithAddressField:addressField];
|
||||
|
||||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
- (void)setAddress:(NSString*) address {
|
||||
|
|
@ -121,6 +131,9 @@
|
|||
[starButton release];
|
||||
[zeroButton release];
|
||||
[hashButton release];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -224,35 +224,6 @@
|
|||
<reference key="IBUIFontDescription" ref="857420967"/>
|
||||
<reference key="IBUIFont" ref="177658264"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="150499342">
|
||||
<reference key="NSNextResponder" ref="242430033"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 135}, {107, 54}}</string>
|
||||
<reference key="NSSuperview" ref="242430033"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="616388880"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="923326808"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="177190558"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">7-over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">7-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="857420967"/>
|
||||
<reference key="IBUIFont" ref="177658264"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="573280603">
|
||||
<reference key="NSNextResponder" ref="242430033"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
|
|
@ -282,6 +253,35 @@
|
|||
<reference key="IBUIFontDescription" ref="857420967"/>
|
||||
<reference key="IBUIFont" ref="177658264"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="150499342">
|
||||
<reference key="NSNextResponder" ref="242430033"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 135}, {107, 54}}</string>
|
||||
<reference key="NSSuperview" ref="242430033"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="616388880"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="923326808"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="177190558"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">7-over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">7-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="857420967"/>
|
||||
<reference key="IBUIFont" ref="177658264"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="616388880">
|
||||
<reference key="NSNextResponder" ref="242430033"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
|
|
@ -650,7 +650,6 @@
|
|||
<string key="NSFrame">{{214, 0}, {106, 69}}</string>
|
||||
<reference key="NSSuperview" ref="32193173"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ enum TableSection {
|
|||
CallSection = 1
|
||||
};
|
||||
|
||||
- (void)myInit {
|
||||
- (void)initInCallTableViewController {
|
||||
self->callCellData = [[NSMutableDictionary alloc] init];
|
||||
}
|
||||
|
||||
- (id)init{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initInCallTableViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -46,7 +46,7 @@ enum TableSection {
|
|||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initInCallTableViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ enum TableSection {
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initInCallTableViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
return [super initWithNibName:@"InCallViewController" bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
//TODO
|
||||
/*
|
||||
- (void)orientationChanged: (NSNotification*) notif {
|
||||
int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]);
|
||||
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
|
||||
|
|
@ -76,7 +78,7 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
linphone_core_update_call([LinphoneManager getLc], call, NULL);
|
||||
|
||||
|
||||
/* animate button images rotation */
|
||||
// animate button images rotation
|
||||
#define degreesToRadians(x) (M_PI * x / 180.0)
|
||||
CGAffineTransform transform = CGAffineTransformIdentity;
|
||||
switch (orientation) {
|
||||
|
|
@ -105,7 +107,7 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
[UIView commitAnimations];
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
- (void)showControls:(id)sender {
|
||||
if (hideControlsTimer) {
|
||||
|
|
@ -161,7 +163,8 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
|
||||
- (void)enableVideoDisplay:(BOOL)animation {
|
||||
videoShown = true;
|
||||
[self orientationChanged:nil];
|
||||
//TODO
|
||||
//[self orientationChanged:nil];
|
||||
|
||||
[videoZoomHandler resetZoom];
|
||||
|
||||
|
|
@ -180,9 +183,6 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
videoView.alpha = 1.0;
|
||||
videoView.hidden = FALSE;
|
||||
|
||||
linphone_core_set_native_video_window_id([LinphoneManager getLc],(unsigned long)videoView);
|
||||
linphone_core_set_native_preview_window_id([LinphoneManager getLc],(unsigned long)videoPreview);
|
||||
|
||||
[[LinphoneManager instance] fullScreen: true];
|
||||
[[LinphoneManager instance] showTabBar: false];
|
||||
|
||||
|
|
@ -191,11 +191,9 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
#endif
|
||||
// [self batteryLevelChanged:nil];
|
||||
|
||||
[self updateUIFromLinphoneState: YES];
|
||||
videoWaitingForFirstImage.hidden = NO;
|
||||
[videoWaitingForFirstImage startAnimating];
|
||||
|
||||
// TODO
|
||||
LinphoneCall *call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
if (call != NULL && call->videostream) {
|
||||
linphone_call_set_next_video_frame_decoded_callback(call, hideSpinner, self);
|
||||
|
|
@ -222,84 +220,21 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
[hideControlsTimer invalidate];
|
||||
hideControlsTimer = nil;
|
||||
}
|
||||
|
||||
/* restore buttons orientation */
|
||||
//endCtrl.imageView.transform = CGAffineTransformIdentity;
|
||||
//TODO
|
||||
//mute.imageView.transform = CGAffineTransformIdentity;
|
||||
//speaker.imageView.transform = CGAffineTransformIdentity;
|
||||
//pause.imageView.transform = CGAffineTransformIdentity;
|
||||
//contacts.imageView.transform = CGAffineTransformIdentity;
|
||||
//addCall.imageView.transform = CGAffineTransformIdentity;
|
||||
//dialer.imageView.transform = CGAffineTransformIdentity;
|
||||
//videoCallQuality.transform = CGAffineTransformIdentity;
|
||||
|
||||
[[LinphoneManager instance] fullScreen:false];
|
||||
}
|
||||
|
||||
/* Update in call view buttons (visibility, state, ...) and call duration text.
|
||||
This is called periodically. The fullUpdate boolean is set when called after an event (call state change for instance) */
|
||||
- (void)updateUIFromLinphoneState:(BOOL) fullUpdate {
|
||||
// check LinphoneCore is initialized
|
||||
LinphoneCore* lc = nil;
|
||||
if([LinphoneManager isLcReady])
|
||||
lc = [LinphoneManager getLc];
|
||||
|
||||
// 1 call: show pause button, otherwise show merge btn
|
||||
// [LinphoneManager set:mergeCalls hidden:!pause.hidden withName:"MERGE button" andReason:"call count"];
|
||||
// reload table (glow update + call duration)
|
||||
[callTableView reloadData];
|
||||
|
||||
// update conference details view if displayed
|
||||
//TODO
|
||||
/*if (self.presentedViewController == conferenceDetail) {
|
||||
if (!linphone_core_is_in_conference(lc))
|
||||
[self dismissModalViewControllerAnimated:YES];
|
||||
else
|
||||
[conferenceDetail.table reloadData];
|
||||
}*/
|
||||
}
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Set windows (warn memory leaks)
|
||||
linphone_core_set_native_video_window_id([LinphoneManager getLc],(unsigned long)videoView);
|
||||
linphone_core_set_native_preview_window_id([LinphoneManager getLc],(unsigned long)videoPreview);
|
||||
|
||||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
|
||||
//Controls
|
||||
/*[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[speaker initWithOnImage:[UIImage imageNamed:@"HP_inverse.png"] offImage:[UIImage imageNamed:@"HP.png"] debugName:"SPEAKER button"];
|
||||
*/
|
||||
|
||||
//Dialer init
|
||||
/*[zero initWithNumber:'0'];
|
||||
[one initWithNumber:'1'];
|
||||
[two initWithNumber:'2'];
|
||||
[three initWithNumber:'3'];
|
||||
[four initWithNumber:'4'];
|
||||
[five initWithNumber:'5'];
|
||||
[six initWithNumber:'6'];
|
||||
[seven initWithNumber:'7'];
|
||||
[eight initWithNumber:'8'];
|
||||
[nine initWithNumber:'9'];
|
||||
[star initWithNumber:'*'];
|
||||
[hash initWithNumber:'#'];
|
||||
|
||||
[addCall addTarget:self action:@selector(addCallPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
[mergeCalls addTarget:self action:@selector(mergeCallsPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
[LinphoneManager set:mergeCalls hidden:YES withName:"MERGE button" andReason:"initialisation"];*/
|
||||
|
||||
//TODO
|
||||
/*
|
||||
if ([LinphoneManager runningOnIpad]) {
|
||||
ms_message("Running on iPad");
|
||||
conferenceDetail = [[ConferenceCallDetailView alloc] initWithNibName:@"ConferenceCallDetailView-ipad"
|
||||
bundle:[NSBundle mainBundle]];
|
||||
} else {
|
||||
conferenceDetail = [[ConferenceCallDetailView alloc] initWithNibName:@"ConferenceCallDetailView"
|
||||
bundle:[NSBundle mainBundle]];
|
||||
}*/
|
||||
|
||||
UITapGestureRecognizer* singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showControls:)];
|
||||
[singleFingerTap setNumberOfTapsRequired:1];
|
||||
|
|
@ -310,30 +245,13 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
videoZoomHandler = [[VideoZoomHandler alloc] init];
|
||||
[videoZoomHandler setup:videoGroup];
|
||||
videoGroup.alpha = 0;
|
||||
|
||||
//selectedCall = nil;
|
||||
|
||||
//callTableView.rowHeight = 80;
|
||||
|
||||
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
|
||||
//[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryLevelChanged:) name:UIDeviceBatteryLevelDidChangeNotification object:nil];
|
||||
|
||||
|
||||
[videoCameraSwitch setPreview:videoPreview];
|
||||
//addVideo.videoUpdateIndicator = videoUpdateIndicator;
|
||||
|
||||
//[transfer addTarget:self action:@selector(transferPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
// prevent buttons resizing
|
||||
/*
|
||||
endCtrl.imageView.contentMode = UIViewContentModeCenter;
|
||||
mute.imageView.contentMode = UIViewContentModeCenter;
|
||||
speaker.imageView.contentMode = UIViewContentModeCenter;
|
||||
pause.imageView.contentMode = UIViewContentModeCenter;
|
||||
contacts.imageView.contentMode = UIViewContentModeCenter;
|
||||
addCall.imageView.contentMode = UIViewContentModeCenter;
|
||||
dialer.imageView.contentMode = UIViewContentModeCenter;*/
|
||||
}
|
||||
|
||||
- (void)transferPressed {
|
||||
|
|
@ -441,53 +359,40 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
- (void)displayPad:(bool) enable {
|
||||
/*if (videoView.hidden)
|
||||
[LinphoneManager set:callTableView hidden:enable withName:"CALL_TABLE view" andReason:AT];*/
|
||||
/*[LinphoneManager set:hangUpView hidden:enable withName:"HANG_UP view" andReason:AT];
|
||||
[LinphoneManager set:controlSubView hidden:enable withName:"CONTROL view" andReason:AT];
|
||||
[LinphoneManager set:padSubView hidden:!enable withName:"PAD view" andReason:AT];*/
|
||||
}
|
||||
|
||||
- (void)displayVideoCall:(LinphoneCall*) call {
|
||||
UIDevice *device = [UIDevice currentDevice];
|
||||
device.proximityMonitoringEnabled = YES;
|
||||
if (call !=nil && linphone_call_get_dir(call)==LinphoneCallIncoming) {
|
||||
//if ([speaker isOn]) [speaker toggle];
|
||||
}
|
||||
[self updateUIFromLinphoneState: YES];
|
||||
|
||||
[self enableVideoDisplay: TRUE];
|
||||
if(!videoShown)
|
||||
[self enableVideoDisplay: TRUE];
|
||||
}
|
||||
|
||||
- (void)displayInCall:(LinphoneCall*) call {
|
||||
- (void)displayTableCall:(LinphoneCall*) call {
|
||||
UIDevice *device = [UIDevice currentDevice];
|
||||
device.proximityMonitoringEnabled = YES;
|
||||
if (call !=nil && linphone_call_get_dir(call)==LinphoneCallIncoming) {
|
||||
//if ([speaker isOn]) [speaker toggle];
|
||||
}
|
||||
[self updateUIFromLinphoneState: YES];
|
||||
|
||||
[self disableVideoDisplay: TRUE];
|
||||
if(videoShown)
|
||||
[self disableVideoDisplay: TRUE];
|
||||
}
|
||||
|
||||
static void hideSpinner(LinphoneCall* lc, void* user_data);
|
||||
|
||||
- (void)hideSpinnerIndicator: (LinphoneCall*)call {
|
||||
if (!videoWaitingForFirstImage.hidden) {
|
||||
videoWaitingForFirstImage.hidden = TRUE;
|
||||
} else {
|
||||
linphone_call_set_next_video_frame_decoded_callback(call, hideSpinner, self);
|
||||
}
|
||||
videoWaitingForFirstImage.hidden = TRUE;
|
||||
}
|
||||
|
||||
static void hideSpinner(LinphoneCall* call, void* user_data) {
|
||||
InCallViewController* thiz = (InCallViewController*) user_data;
|
||||
[thiz hideSpinnerIndicator:call];
|
||||
}
|
||||
|
||||
- (void)callUpdate: (NSNotification*) notif {
|
||||
LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue];
|
||||
LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
|
||||
|
||||
// Fake call update: Refresh UI
|
||||
// Update table
|
||||
[callTableView reloadData];
|
||||
|
||||
// Fake call update
|
||||
if(call == NULL) {
|
||||
[self updateUIFromLinphoneState: YES];
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -506,17 +411,18 @@ static void hideSpinner(LinphoneCall* lc, void* user_data);
|
|||
[callTableController minimizeAll];
|
||||
}
|
||||
}
|
||||
case LinphoneCallPausedByRemote:
|
||||
case LinphoneCallConnected:
|
||||
case LinphoneCallStreamsRunning:
|
||||
case LinphoneCallUpdated:
|
||||
{
|
||||
//check video
|
||||
if (linphone_call_params_video_enabled(linphone_call_get_current_params(call))) {
|
||||
[self displayVideoCall:call];
|
||||
} else {
|
||||
[self displayInCall:call];
|
||||
[self displayTableCall:call];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallUpdatedByRemote:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
|
|
@ -529,14 +435,15 @@ static void hideSpinner(LinphoneCall* lc, void* user_data);
|
|||
linphone_core_defer_call_update([LinphoneManager getLc], call);
|
||||
[self displayAskToEnableVideoCall:call];
|
||||
} else if (linphone_call_params_video_enabled(current) && !linphone_call_params_video_enabled(remote)) {
|
||||
[self displayInCall:call];
|
||||
[self displayTableCall:call];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallPausing:
|
||||
case LinphoneCallPaused:
|
||||
case LinphoneCallPausedByRemote:
|
||||
{
|
||||
[self disableVideoDisplay: TRUE];
|
||||
[self displayTableCall: call];
|
||||
break;
|
||||
}
|
||||
case LinphoneCallEnd:
|
||||
|
|
@ -545,7 +452,6 @@ static void hideSpinner(LinphoneCall* lc, void* user_data);
|
|||
if(linphone_core_get_calls_nb([LinphoneManager getLc]) <= 1) {
|
||||
[callTableController maximizeAll];
|
||||
}
|
||||
[self updateUIFromLinphoneState: YES];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
@ -554,11 +460,6 @@ static void hideSpinner(LinphoneCall* lc, void* user_data);
|
|||
|
||||
}
|
||||
|
||||
static void hideSpinner(LinphoneCall* call, void* user_data) {
|
||||
InCallViewController* thiz = (InCallViewController*) user_data;
|
||||
[thiz hideSpinnerIndicator:call];
|
||||
}
|
||||
|
||||
- (void)dismissActionSheet: (id)o {
|
||||
if (visibleActionSheet != nil) {
|
||||
[visibleActionSheet dismissWithClickedButtonIndex:visibleActionSheet.cancelButtonIndex animated:TRUE];
|
||||
|
|
@ -599,11 +500,6 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
[visibleActionSheet release];
|
||||
}
|
||||
|
||||
- (void)firstVideoFrameDecoded: (LinphoneCall*) call {
|
||||
// hide video in progress view indicator
|
||||
videoWaitingForFirstImage.hidden = TRUE;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[videoGroup release];
|
||||
[callTableView release];
|
||||
|
|
@ -620,146 +516,6 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
[super dealloc];
|
||||
}
|
||||
|
||||
//TODO
|
||||
/*
|
||||
+ (void)updateCellImageView:(UIImageView*)imageView Label:(UILabel*)label DetailLabel:(UILabel*)detailLabel AndAccessoryView:(UIView*)accessoryView withCall:(LinphoneCall*) call {
|
||||
if (call == NULL) {
|
||||
ms_warning("UpdateCell called with null call");
|
||||
[label setText:@""];
|
||||
return;
|
||||
}
|
||||
const LinphoneAddress* addr = linphone_call_get_remote_address(call);
|
||||
|
||||
label.adjustsFontSizeToFitWidth = YES;
|
||||
|
||||
if (addr) {
|
||||
const char* lUserNameChars=linphone_address_get_username(addr);
|
||||
NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil);
|
||||
NSMutableString* mss = [[NSMutableString alloc] init];
|
||||
// contact name
|
||||
const char* n = linphone_address_get_display_name(addr);
|
||||
if (n)
|
||||
[mss appendFormat:@"%s", n, nil];
|
||||
else
|
||||
[mss appendFormat:@"%@",lUserName , nil];
|
||||
|
||||
if ([mss compare:label.text] != 0 || imageView.image == nil) {
|
||||
[label setText:mss];
|
||||
|
||||
imageView.image = [[LinphoneManager instance] getImageFromAddressBook:lUserName];
|
||||
}
|
||||
[mss release];
|
||||
} else {
|
||||
[label setText:@"plop"];
|
||||
imageView.image = nil;
|
||||
}
|
||||
|
||||
if (detailLabel != nil) {
|
||||
NSMutableString* ms = [[NSMutableString alloc] init ];
|
||||
if (linphone_call_get_state(call) == LinphoneCallStreamsRunning) {
|
||||
int duration = linphone_call_get_duration(call);
|
||||
if (duration >= 60)
|
||||
[ms appendFormat:@"%02i:%02i", (duration/60), duration - 60*(duration/60), nil];
|
||||
else
|
||||
[ms appendFormat:@"%02i sec", duration, nil];
|
||||
} else {
|
||||
switch (linphone_call_get_state(call)) {
|
||||
case LinphoneCallPaused:
|
||||
if(!linphone_core_sound_resources_locked(linphone_call_get_core(call))) {
|
||||
[ms appendFormat:@"%@", NSLocalizedString(@"Paused (tap to resume)", nil), nil];
|
||||
} else {
|
||||
[ms appendFormat:@"%@", NSLocalizedString(@"Paused", nil), nil];
|
||||
}
|
||||
break;
|
||||
case LinphoneCallOutgoingInit:
|
||||
case LinphoneCallOutgoingProgress:
|
||||
[ms appendFormat:@"%@...", NSLocalizedString(@"In progress", nil), nil];
|
||||
break;
|
||||
case LinphoneCallOutgoingRinging:
|
||||
[ms appendFormat:@"%@...", NSLocalizedString(@"Ringing...", nil), nil];
|
||||
break;
|
||||
case LinphoneCallPausedByRemote:
|
||||
{
|
||||
switch (linphone_call_get_transfer_state(call)) {
|
||||
case LinphoneCallOutgoingInit:
|
||||
case LinphoneCallOutgoingProgress:
|
||||
[ms appendFormat:@"%@...", NSLocalizedString(@"Transfer in progress", nil), nil];
|
||||
break;
|
||||
case LinphoneCallConnected:
|
||||
[ms appendFormat:@"%@", NSLocalizedString(@"Transfer successful", nil), nil];
|
||||
break;
|
||||
case LinphoneCallError:
|
||||
[ms appendFormat:@"%@", NSLocalizedString(@"Transfer failed", nil), nil];
|
||||
break;
|
||||
case LinphoneCallIdle:
|
||||
default:
|
||||
[ms appendFormat:@"%@...", NSLocalizedString(@"Paused by remote", nil), nil];
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
[detailLabel setText:ms];
|
||||
[ms release];
|
||||
}
|
||||
}*/
|
||||
/*
|
||||
- (void)updateConferenceCell:(UITableViewCell*) cell at:(NSIndexPath*)indexPath {
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
|
||||
NSString* t= [NSString stringWithFormat:
|
||||
NSLocalizedString(@"Conference", nil),
|
||||
linphone_core_get_conference_size(lc) - linphone_core_is_in_conference(lc)];
|
||||
[cell.textLabel setText:t];
|
||||
|
||||
[self updateActive:NO cell:cell];
|
||||
cell.selected = NO;
|
||||
|
||||
[callTableView deselectRowAtIndexPath:indexPath animated:NO];
|
||||
|
||||
if (!linphone_core_is_in_conference(lc)) {
|
||||
[cell.detailTextLabel setText:NSLocalizedString(@"(tap to enter conference)", nil)];
|
||||
} else {
|
||||
[cell.detailTextLabel setText:
|
||||
[NSString stringWithFormat:NSLocalizedString(@"(me + %d participants)", nil), linphone_core_get_conference_size(lc) - linphone_core_is_in_conference(lc)]];
|
||||
}
|
||||
cell.imageView.image = nil;
|
||||
}
|
||||
|
||||
- (void)secureIconPressed:(UIControl*) button withEvent: (UIEvent*) evt {
|
||||
NSSet* touches = [evt allTouches];
|
||||
UITouch* touch = [touches anyObject];
|
||||
CGPoint currentTouchPos = [touch locationInView:self.callTableView];
|
||||
NSIndexPath *path = [self.callTableView indexPathForRowAtPoint:currentTouchPos];
|
||||
if (path) {
|
||||
LinphoneCall* call = [InCallViewController retrieveCallAtIndex:path.row inConference:NO];
|
||||
// start action sheet to validate/unvalidate zrtp code
|
||||
CallDelegate* cd = [[CallDelegate alloc] init];
|
||||
cd.eventType = CD_ZRTP;
|
||||
cd.delegate = self;
|
||||
cd.call = call;
|
||||
UIView* container=(UIView*)[callTableView cellForRowAtIndexPath:path].accessoryView;
|
||||
UIButton *button=(UIButton*)[container viewWithTag:SECURE_BUTTON_TAG];
|
||||
[button setImage:nil forState:UIControlStateNormal];
|
||||
|
||||
if (visibleActionSheet != nil) {
|
||||
[visibleActionSheet dismissWithClickedButtonIndex:visibleActionSheet.cancelButtonIndex animated:TRUE];
|
||||
}
|
||||
visibleActionSheet = [[UIActionSheet alloc] initWithTitle:[NSString stringWithFormat:NSLocalizedString(@" Mark auth token '%s' as:",nil),linphone_call_get_authentication_token(call)]
|
||||
delegate:cd
|
||||
cancelButtonTitle:NSLocalizedString(@"Unverified",nil)
|
||||
destructiveButtonTitle:NSLocalizedString(@"Verified",nil)
|
||||
otherButtonTitles:nil];
|
||||
|
||||
visibleActionSheet.actionSheetStyle = UIActionSheetStyleDefault;
|
||||
[visibleActionSheet showInView:[[UIApplication sharedApplication].delegate window]];
|
||||
[visibleActionSheet release];
|
||||
}
|
||||
}
|
||||
*/
|
||||
- (void)actionSheet:(UIActionSheet *)actionSheet ofType:(enum CallDelegateType)type clickedButtonAtIndex:(NSInteger)buttonIndex withUserDatas:(void *)datas {
|
||||
LinphoneCall* call = (LinphoneCall*)datas;
|
||||
// maybe we could verify call validity
|
||||
|
|
@ -819,7 +575,4 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -116,6 +116,8 @@ typedef struct _LinphoneCallAppData {
|
|||
- (void)fullScreen:(BOOL) enabled;
|
||||
- (PhoneView) currentView;
|
||||
|
||||
- (void)enableSpeaker:(BOOL)enable;
|
||||
|
||||
@property (nonatomic, retain) id<IASKSettingsStore> settingsStore;
|
||||
|
||||
@property Connectivity connectivity;
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "linphonecore_utils.h"
|
||||
#include "lpconfig.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netdb.h>
|
||||
|
|
@ -32,6 +30,10 @@
|
|||
#import "FastAddressBook.h"
|
||||
#import "LinphoneCoreSettingsStore.h"
|
||||
|
||||
#include "linphonecore_utils.h"
|
||||
#include "lpconfig.h"
|
||||
#include "private.h"
|
||||
|
||||
static LinphoneCore* theLinphoneCore=nil;
|
||||
static LinphoneManager* theLinphoneManager=nil;
|
||||
|
||||
|
|
@ -219,9 +221,9 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
return;
|
||||
}
|
||||
|
||||
- (void)onCall:(LinphoneCall*) call StateChanged: (LinphoneCallState) new_state withMessage: (const char *) message {
|
||||
- (void)onCall:(LinphoneCall*)call StateChanged:(LinphoneCallState)state withMessage:(const char *)message {
|
||||
// Handling wrapper
|
||||
if(new_state == LinphoneCallReleased) {
|
||||
if(state == LinphoneCallReleased) {
|
||||
if(linphone_call_get_user_pointer(call) != NULL) {
|
||||
free (linphone_call_get_user_pointer(call));
|
||||
linphone_call_set_user_pointer(call, NULL);
|
||||
|
|
@ -234,14 +236,19 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
linphone_call_set_user_pointer(call, data);
|
||||
}
|
||||
|
||||
if (new_state == LinphoneCallIncomingReceived) {
|
||||
if (state == LinphoneCallIncomingReceived) {
|
||||
[self updateCallWithAddressBookData:call]; // display name is updated
|
||||
}
|
||||
|
||||
if ((state == LinphoneCallEnd || state == LinphoneCallError)) {
|
||||
if(linphone_core_get_calls_nb([LinphoneManager getLc]) == 0)
|
||||
[self enableSpeaker:FALSE];
|
||||
}
|
||||
|
||||
// Post event
|
||||
NSDictionary* dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[NSValue valueWithPointer:call], @"call",
|
||||
[NSNumber numberWithInt:new_state], @"state",
|
||||
[NSNumber numberWithInt:state], @"state",
|
||||
[NSString stringWithUTF8String:message], @"message", nil] autorelease];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self userInfo:dict];
|
||||
}
|
||||
|
|
@ -532,7 +539,6 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//scheduling loop
|
||||
- (void)iterate {
|
||||
linphone_core_iterate(theLinphoneCore);
|
||||
|
|
@ -573,7 +579,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
/*************
|
||||
*lib linphone init method
|
||||
*/
|
||||
- (void)startLibLinphone {
|
||||
- (void)startLibLinphone {
|
||||
|
||||
//get default config from bundle
|
||||
NSBundle* myBundle = [NSBundle mainBundle];
|
||||
|
|
@ -610,11 +616,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
|
||||
linphone_core_set_root_ca(theLinphoneCore, lRootCa);
|
||||
// Set audio assets
|
||||
const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ring(theLinphoneCore, lRing );
|
||||
const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ringback(theLinphoneCore, lRingBack);
|
||||
|
||||
const char* lPlay = [[myBundle pathForResource:@"toy-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_play_file(theLinphoneCore, lPlay);
|
||||
|
||||
linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
|
||||
|
|
@ -665,11 +672,6 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
|
||||
}
|
||||
|
||||
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
&& [UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
|
||||
//go directly to bg mode
|
||||
[self enterBackgroundMode];
|
||||
}
|
||||
NSUInteger cpucount = [[NSProcessInfo processInfo] processorCount];
|
||||
ms_set_cpu_count(cpucount);
|
||||
|
||||
|
|
@ -692,7 +694,12 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
ms_warning("Linphone [%s] started on [%s]"
|
||||
,linphone_core_get_version()
|
||||
,[[UIDevice currentDevice].model cStringUsingEncoding:[NSString defaultCStringEncoding]] );
|
||||
|
||||
|
||||
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
&& [UIApplication sharedApplication].applicationState == UIApplicationStateBackground) {
|
||||
//go directly to bg mode
|
||||
[self enterBackgroundMode];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)refreshRegisters{
|
||||
|
|
@ -743,6 +750,21 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
//let the user resume the call manually.
|
||||
}
|
||||
|
||||
- (void)enableSpeaker:(BOOL)enable {
|
||||
//redirect audio to speaker
|
||||
if(enable) {
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
} else {
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
}
|
||||
}
|
||||
|
||||
+ (BOOL)runningOnIpad {
|
||||
#ifdef UI_USER_INTERFACE_IDIOM
|
||||
return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#import "UISpeakerButton.h"
|
||||
#import "UIVideoButton.h"
|
||||
#import "UIHangUpButton.h"
|
||||
#import "UIDigitButton.h"
|
||||
|
||||
@interface UICallBar: UIViewController {
|
||||
UIPauseButton* pauseButton;
|
||||
|
|
@ -33,6 +34,21 @@
|
|||
UISpeakerButton* speakerButton;
|
||||
UIButton* optionsButton;
|
||||
UIHangUpButton* hangupButton;
|
||||
UIView* padView;
|
||||
|
||||
//Key pad
|
||||
UIDigitButton* oneButton;
|
||||
UIDigitButton* twoButton;
|
||||
UIDigitButton* threeButton;
|
||||
UIDigitButton* fourButton;
|
||||
UIDigitButton* fiveButton;
|
||||
UIDigitButton* sixButton;
|
||||
UIDigitButton* sevenButton;
|
||||
UIDigitButton* eightButton;
|
||||
UIDigitButton* nineButton;
|
||||
UIDigitButton* starButton;
|
||||
UIDigitButton* zeroButton;
|
||||
UIDigitButton* hashButton;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIPauseButton* pauseButton;
|
||||
|
|
@ -42,8 +58,23 @@
|
|||
@property (nonatomic, retain) IBOutlet UISpeakerButton* speakerButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* optionsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIHangUpButton* hangupButton;
|
||||
@property (nonatomic, retain) IBOutlet UIView* padView;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* oneButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* twoButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* threeButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* fourButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* fiveButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* sixButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* sevenButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* eightButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* nineButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* starButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* zeroButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* hashButton;
|
||||
|
||||
- (IBAction)onOptionsClick:(id)sender;
|
||||
- (IBAction)onConferenceClick:(id)sender;
|
||||
- (IBAction)onPadClick:(id)sender;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -20,6 +20,9 @@
|
|||
#import "UICallBar.h"
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
#import "CPAnimationSequence.h"
|
||||
#import "CPAnimationStep.h"
|
||||
|
||||
#include "linphonecore.h"
|
||||
#include "private.h"
|
||||
|
||||
|
|
@ -32,6 +35,20 @@
|
|||
@synthesize speakerButton;
|
||||
@synthesize optionsButton;
|
||||
@synthesize hangupButton;
|
||||
@synthesize padView;
|
||||
|
||||
@synthesize oneButton;
|
||||
@synthesize twoButton;
|
||||
@synthesize threeButton;
|
||||
@synthesize fourButton;
|
||||
@synthesize fiveButton;
|
||||
@synthesize sixButton;
|
||||
@synthesize sevenButton;
|
||||
@synthesize eightButton;
|
||||
@synthesize nineButton;
|
||||
@synthesize starButton;
|
||||
@synthesize zeroButton;
|
||||
@synthesize hashButton;
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:@"UICallBar" bundle:[NSBundle mainBundle]];
|
||||
|
|
@ -39,6 +56,20 @@
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[pauseButton setType:UIPauseButtonType_CurrentCall call:nil];
|
||||
|
||||
[zeroButton initWithNumber:'0' addressField:nil dtmf:true];
|
||||
[oneButton initWithNumber:'1' addressField:nil dtmf:true];
|
||||
[twoButton initWithNumber:'2' addressField:nil dtmf:true];
|
||||
[threeButton initWithNumber:'3' addressField:nil dtmf:true];
|
||||
[fourButton initWithNumber:'4' addressField:nil dtmf:true];
|
||||
[fiveButton initWithNumber:'5' addressField:nil dtmf:true];
|
||||
[sixButton initWithNumber:'6' addressField:nil dtmf:true];
|
||||
[sevenButton initWithNumber:'7' addressField:nil dtmf:true];
|
||||
[eightButton initWithNumber:'8' addressField:nil dtmf:true];
|
||||
[nineButton initWithNumber:'9' addressField:nil dtmf:true];
|
||||
[starButton initWithNumber:'*' addressField:nil dtmf:true];
|
||||
[hashButton initWithNumber:'#' addressField:nil dtmf:true];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
}
|
||||
|
||||
|
|
@ -47,6 +78,9 @@
|
|||
}
|
||||
|
||||
- (void)callUpdate: (NSNotification*) notif {
|
||||
//LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue];
|
||||
LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
|
||||
|
||||
// check LinphoneCore is initialized
|
||||
LinphoneCore* lc = nil;
|
||||
if([LinphoneManager isLcReady])
|
||||
|
|
@ -72,6 +106,20 @@
|
|||
[conferenceButton setHidden:true];
|
||||
}
|
||||
}
|
||||
|
||||
if(linphone_core_get_current_call(lc) == NULL) {
|
||||
[self hidePad];
|
||||
}
|
||||
|
||||
switch(state) {
|
||||
LinphoneCallEnd:
|
||||
LinphoneCallError:
|
||||
LinphoneCallIncoming:
|
||||
LinphoneCallOutgoing:
|
||||
[self hidePad];
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
|
|
@ -87,6 +135,54 @@
|
|||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)onPadClick:(id)sender {
|
||||
if([padView isHidden]) {
|
||||
[self showPad];
|
||||
} else {
|
||||
[self hidePad];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showPad{
|
||||
CGRect frame = [padView frame];
|
||||
int original_y = frame.origin.y;
|
||||
frame.origin.y = [[self view] frame].size.height;
|
||||
[padView setFrame:frame];
|
||||
[padView setHidden:FALSE];
|
||||
CPAnimationSequence* move = [CPAnimationSequence sequenceWithSteps:
|
||||
[CPAnimationStep for:0.5 animate:^{
|
||||
CGRect frame = [padView frame];
|
||||
frame.origin.y = original_y;
|
||||
[padView setFrame:frame];
|
||||
}],
|
||||
nil
|
||||
];
|
||||
[move run];
|
||||
[move release];
|
||||
}
|
||||
|
||||
- (void)hidePad{
|
||||
CGRect frame = [padView frame];
|
||||
int original_y = frame.origin.y;
|
||||
|
||||
CPAnimationSequence* move = [CPAnimationSequence sequenceWithSteps:
|
||||
[CPAnimationStep for:0.5 animate:^{
|
||||
CGRect frame = [padView frame];
|
||||
frame.origin.y = [[self view] frame].size.height;
|
||||
[padView setFrame:frame];
|
||||
}],
|
||||
[CPAnimationStep after:0.0 animate:^{
|
||||
CGRect frame = [padView frame];
|
||||
frame.origin.y = original_y;
|
||||
[padView setHidden:TRUE];
|
||||
[padView setFrame:frame];
|
||||
}],
|
||||
nil
|
||||
];
|
||||
[move run];
|
||||
[move release];
|
||||
}
|
||||
|
||||
- (IBAction)onOptionsClick:(id)sender {
|
||||
// Go to dialer view
|
||||
NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -18,6 +18,8 @@
|
|||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
@interface UICompositeViewDescription: NSObject{
|
||||
|
|
@ -35,6 +37,7 @@
|
|||
tabBar:(NSString*)tabBar
|
||||
tabBarEnabled:(BOOL) tabBarEnabled
|
||||
fullscreen:(BOOL) fullscreen;
|
||||
|
||||
@end
|
||||
|
||||
@interface UICompositeViewController : UIViewController {
|
||||
|
|
@ -49,8 +52,11 @@
|
|||
NSMutableDictionary *viewControllerCache;
|
||||
|
||||
UICompositeViewDescription *currentViewDescription;
|
||||
CATransition *viewTransition;
|
||||
}
|
||||
|
||||
@property (strong) CATransition *viewTransition;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIView* stateBarView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* contentView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* tabBarView;
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
#import "UICompositeViewController.h"
|
||||
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
|
||||
@implementation UICompositeViewDescription
|
||||
|
||||
- (id)copy {
|
||||
|
|
@ -56,15 +54,16 @@
|
|||
@synthesize contentView;
|
||||
@synthesize tabBarView;
|
||||
|
||||
@synthesize viewTransition;
|
||||
|
||||
- (void)myInit {
|
||||
- (void)initUICompositeViewController {
|
||||
self->viewControllerCache = [[NSMutableDictionary alloc] init];
|
||||
}
|
||||
|
||||
- (id)init{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUICompositeViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -72,7 +71,7 @@
|
|||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUICompositeViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -80,7 +79,7 @@
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUICompositeViewController];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -141,19 +140,14 @@
|
|||
currentViewDescription = description;
|
||||
|
||||
// Animate only with a previous screen
|
||||
if(oldViewDescription != nil) {
|
||||
CATransition* trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
[trans setSubtype:kCATransitionFromRight];
|
||||
[contentView.layer addAnimation:trans forKey:@"Transition"];
|
||||
if(oldViewDescription != nil && viewTransition != nil) {
|
||||
[contentView.layer addAnimation:viewTransition forKey:@"Transition"];
|
||||
if((oldViewDescription->stateBarEnabled == true && currentViewDescription->stateBarEnabled == false) ||
|
||||
(oldViewDescription->stateBarEnabled == false && currentViewDescription->stateBarEnabled == true)) {
|
||||
[stateBarView.layer addAnimation:trans forKey:@"Transition"];
|
||||
[stateBarView.layer addAnimation:viewTransition forKey:@"Transition"];
|
||||
}
|
||||
if(oldViewDescription->tabBar != currentViewDescription->tabBar) {
|
||||
[tabBarView.layer addAnimation:trans forKey:@"Transition"];
|
||||
[tabBarView.layer addAnimation:viewTransition forKey:@"Transition"];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -230,11 +224,12 @@
|
|||
}
|
||||
} else {
|
||||
contentFrame.size.height = tabFrame.origin.y + tabFrame.size.height;
|
||||
if(currentViewDescription->fullscreen)
|
||||
contentFrame.size.height += IPHONE_STATUSBAR_HEIGHT;
|
||||
tabFrame.origin.y = [[UIScreen mainScreen] bounds].size.height - IPHONE_STATUSBAR_HEIGHT;
|
||||
}
|
||||
|
||||
if(currentViewDescription->fullscreen)
|
||||
contentFrame.size.height = [[UIScreen mainScreen] bounds].size.height + IPHONE_STATUSBAR_HEIGHT;
|
||||
|
||||
// Resize innerView
|
||||
CGRect innerContentFrame = innerView.frame;
|
||||
innerContentFrame.size = contentFrame.size;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
<string key="NSFrame">{{0, 23}, {320, 380}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="548578981"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -65,6 +66,7 @@
|
|||
<string key="NSFrame">{{0, 400}, {320, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
|
|
@ -77,6 +79,7 @@
|
|||
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="256276698"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
|
|
@ -178,8 +181,10 @@
|
|||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="14.CustomClassName">UIPassView</string>
|
||||
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="16.CustomClassName">UIPassView</string>
|
||||
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
|
|
@ -217,6 +222,14 @@
|
|||
<string key="minorKey">./Classes/UICompositeViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIPassView</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIPassView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
|
|
|
|||
|
|
@ -62,14 +62,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)myInit {
|
||||
- (void)initUIHangUpButton {
|
||||
[self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
- (id)init{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIHangUpButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIHangUpButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIHangUpButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,11 +44,8 @@
|
|||
<reference key="NSNextKeyView" ref="617445003"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAxIDAuMDkwOTI0NTczOTEAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
|
|
|
|||
24
Classes/LinphoneUI/UIPassView.h
Normal file
24
Classes/LinphoneUI/UIPassView.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* UIPassView.h
|
||||
*
|
||||
* Copyright (C) 2012 Belledonne Comunications, 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.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UIPassView : UIView
|
||||
|
||||
@end
|
||||
44
Classes/LinphoneUI/UIPassView.m
Normal file
44
Classes/LinphoneUI/UIPassView.m
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
/* UIPassView.m
|
||||
*
|
||||
* Copyright (C) 2012 Belledonne Comunications, 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.
|
||||
*/
|
||||
|
||||
#import "UIPassView.h"
|
||||
|
||||
@implementation UIPassView
|
||||
|
||||
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
|
||||
BOOL pointInside = NO;
|
||||
|
||||
for(UIView *child in [self subviews]) {
|
||||
if(![child isHidden]) {
|
||||
if(CGRectContainsPoint(child.frame, point)) {
|
||||
CGPoint newPoint = point;
|
||||
newPoint.x -= child.frame.origin.x;
|
||||
newPoint.y -= child.frame.origin.y;
|
||||
if([child pointInside:newPoint withEvent:event]) {
|
||||
pointInside = YES;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pointInside;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -25,14 +25,14 @@
|
|||
|
||||
@implementation UIPauseButton
|
||||
|
||||
- (void)myInit {
|
||||
- (void)initUIPauseButton {
|
||||
self->type = UIPauseButtonType_CurrentCall;
|
||||
}
|
||||
|
||||
- (id)init{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIPauseButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIPauseButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initUIPauseButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,11 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import "UISpeakerButton.h"
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import "UISpeakerButton.h"
|
||||
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
#include "linphonecore.h"
|
||||
|
||||
@implementation UISpeakerButton
|
||||
|
|
@ -35,33 +38,46 @@ static void audioRouteChangeListenerCallback (
|
|||
|
||||
}
|
||||
|
||||
- (void)initUISpeakerButton {
|
||||
AudioSessionInitialize(NULL, NULL, NULL, NULL);
|
||||
OSStatus lStatus = AudioSessionAddPropertyListener(routeChangeID, audioRouteChangeListenerCallback, self);
|
||||
if (lStatus) {
|
||||
ms_error ("cannot register route change handler [%ld]",lStatus);
|
||||
}
|
||||
}
|
||||
|
||||
- (id)init {
|
||||
if((self = [super init]) != nil) {
|
||||
|
||||
AudioSessionInitialize(NULL, NULL, NULL, NULL);
|
||||
OSStatus lStatus = AudioSessionAddPropertyListener(routeChangeID, audioRouteChangeListenerCallback, self);
|
||||
if (lStatus) {
|
||||
ms_error ("cannot register route change handler [%ld]",lStatus);
|
||||
}
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self initUISpeakerButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self initUISpeakerButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self initUISpeakerButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)onOn {
|
||||
//redirect audio to speaker
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
|
||||
[[LinphoneManager instance] enableSpeaker:TRUE];
|
||||
}
|
||||
|
||||
- (void)onOff {
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
[[LinphoneManager instance] enableSpeaker:FALSE];
|
||||
}
|
||||
|
||||
- (bool)onUpdate {
|
||||
CFStringRef lNewRoute=CFSTR("Unknown");
|
||||
UInt32 lNewRouteSize = sizeof(lNewRoute);
|
||||
|
|
|
|||
|
|
@ -53,16 +53,24 @@
|
|||
return self.selected;
|
||||
}
|
||||
|
||||
- (id)init {
|
||||
|
||||
- (void)initUIToggleButton {
|
||||
[self update];
|
||||
[self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)init {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self initUIToggleButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self init];
|
||||
[self initUIToggleButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -70,12 +78,11 @@
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self init];
|
||||
[self initUIToggleButton];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,7 @@
|
|||
#import "UIToggleButton.h"
|
||||
|
||||
@interface UIVideoButton : UIToggleButton<UIToggleButtonDelegate> {
|
||||
UIActivityIndicatorView* videoUpdateIndicator;
|
||||
BOOL locked;
|
||||
}
|
||||
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIActivityIndicatorView* videoUpdateIndicator;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -22,16 +22,12 @@
|
|||
|
||||
@implementation UIVideoButton
|
||||
|
||||
@synthesize videoUpdateIndicator;
|
||||
|
||||
- (void)onOn {
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
|
||||
if (!linphone_core_video_enabled(lc))
|
||||
return;
|
||||
|
||||
[videoUpdateIndicator startAnimating];
|
||||
[videoUpdateIndicator setHidden: FALSE];
|
||||
[self setEnabled: FALSE];
|
||||
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
if (call) {
|
||||
|
|
@ -51,8 +47,6 @@
|
|||
if (!linphone_core_video_enabled(lc))
|
||||
return;
|
||||
|
||||
[videoUpdateIndicator startAnimating];
|
||||
[videoUpdateIndicator setHidden: FALSE];
|
||||
[self setEnabled: FALSE];
|
||||
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
if (call) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
@synthesize mainViewController;
|
||||
|
||||
- (void)myInit {
|
||||
- (void)initPhoneMainView {
|
||||
currentPhoneView = -1;
|
||||
loadCount = 0; // For avoiding IOS 4 bug
|
||||
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
- (id)init {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initPhoneMainView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initPhoneMainView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -58,11 +58,52 @@
|
|||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self myInit];
|
||||
[self initPhoneMainView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (CATransition*)getTransition:(PhoneView)old new:(PhoneView)new {
|
||||
CATransition* trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
|
||||
bool left = false;
|
||||
|
||||
if(old == PhoneView_Chat) {
|
||||
if(new == PhoneView_Contacts ||
|
||||
new == PhoneView_Dialer ||
|
||||
new == PhoneView_Settings ||
|
||||
new == PhoneView_History) {
|
||||
left = true;
|
||||
}
|
||||
} else if(old == PhoneView_Settings) {
|
||||
if(new == PhoneView_Dialer ||
|
||||
new == PhoneView_Contacts ||
|
||||
new == PhoneView_History) {
|
||||
left = true;
|
||||
}
|
||||
} else if(old == PhoneView_Dialer) {
|
||||
if(new == PhoneView_Contacts ||
|
||||
new == PhoneView_History) {
|
||||
left = true;
|
||||
}
|
||||
} else if(old == PhoneView_Contacts) {
|
||||
if(new == PhoneView_History) {
|
||||
left = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(left) {
|
||||
[trans setSubtype:kCATransitionFromLeft];
|
||||
} else {
|
||||
[trans setSubtype:kCATransitionFromRight];
|
||||
}
|
||||
|
||||
return trans;
|
||||
}
|
||||
|
||||
- (void)changeView: (NSNotification*) notif {
|
||||
NSNumber *viewId = [notif.userInfo objectForKey: @"view"];
|
||||
NSNumber *tabBar = [notif.userInfo objectForKey: @"tabBar"];
|
||||
|
|
@ -75,6 +116,7 @@
|
|||
if(description == nil)
|
||||
return;
|
||||
if(view != currentPhoneView) {
|
||||
[mainViewController setViewTransition:[self getTransition:currentPhoneView new:view]];
|
||||
[mainViewController changeView:description];
|
||||
currentPhoneView = view;
|
||||
}
|
||||
|
|
|
|||
26
Classes/Utils/CPAnimationSequence.h
Executable file
26
Classes/Utils/CPAnimationSequence.h
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
// Created by Yang Meyer on 26.07.11.
|
||||
// Copyright 2011-2012 compeople AG. All rights reserved.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "CPAnimationStep.h"
|
||||
|
||||
/**
|
||||
A CPAnimationSequence defines a sequence of CPAnimationStep objects, which can
|
||||
be `-run` animatedly or non-animatedly.
|
||||
|
||||
CPAnimationSequence implements the Composite design pattern, with CPAnimationStep
|
||||
as the base class.
|
||||
*/
|
||||
@interface CPAnimationSequence : CPAnimationStep
|
||||
|
||||
#pragma mark - constructors
|
||||
|
||||
+ (id) sequenceWithSteps:(CPAnimationStep*)first, ... NS_REQUIRES_NIL_TERMINATION;
|
||||
|
||||
#pragma mark - properties
|
||||
|
||||
/** Animations steps, from first to last. */
|
||||
@property (nonatomic, strong, readonly) NSArray* steps;
|
||||
|
||||
@end
|
||||
79
Classes/Utils/CPAnimationSequence.m
Executable file
79
Classes/Utils/CPAnimationSequence.m
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
|
||||
// Created by Yang Meyer on 26.07.11.
|
||||
// Copyright 2011-2012 compeople AG. All rights reserved.
|
||||
|
||||
#import "CPAnimationSequence.h"
|
||||
|
||||
@interface CPAnimationStep(hidden)
|
||||
- (NSArray*) animationStepArray;
|
||||
@end
|
||||
|
||||
@interface CPAnimationSequence()
|
||||
@property (nonatomic, strong, readwrite) NSArray* steps;
|
||||
@end
|
||||
|
||||
#pragma mark -
|
||||
@implementation CPAnimationSequence
|
||||
|
||||
@synthesize steps;
|
||||
|
||||
#pragma mark - Object lifecycle
|
||||
|
||||
+ (id) sequenceWithSteps:(CPAnimationStep*)first, ... {
|
||||
CPAnimationSequence* instance = [[self alloc] init];
|
||||
if (instance) {
|
||||
NSMutableArray* tempSteps = [[NSMutableArray alloc] initWithCapacity:10];
|
||||
va_list args;
|
||||
va_start(args, first);
|
||||
[tempSteps insertObject:first atIndex:0];
|
||||
CPAnimationStep* aStep;
|
||||
while ((aStep = va_arg(args, CPAnimationStep*))) {
|
||||
[tempSteps insertObject:aStep atIndex:0];
|
||||
}
|
||||
instance.steps = [NSArray arrayWithArray:tempSteps];
|
||||
va_end(args);
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - property override
|
||||
|
||||
- (void) setDelay:(NSTimeInterval)delay {
|
||||
NSAssert(NO, @"Setting a delay on a sequence is undefined and therefore disallowed!");
|
||||
}
|
||||
|
||||
- (void) setDuration:(NSTimeInterval)duration {
|
||||
NSAssert(NO, @"Setting a duration on a sequence is undefined and therefore disallowed!");
|
||||
}
|
||||
|
||||
- (void) setOptions:(UIViewAnimationOptions)options {
|
||||
NSAssert(NO, @"Setting options on a sequence is undefined and therefore disallowed!");
|
||||
}
|
||||
|
||||
#pragma mark - build the sequence
|
||||
|
||||
- (NSArray*) animationStepArray {
|
||||
NSMutableArray* array = [NSMutableArray arrayWithCapacity:[self.steps count]];
|
||||
for (CPAnimationStep* current in self.steps) {
|
||||
[array addObjectsFromArray:[current animationStepArray]];
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
#pragma mark - pretty-print
|
||||
|
||||
- (NSString*) description {
|
||||
NSMutableString* sequenceBody = [[NSMutableString alloc] initWithCapacity:100*[self.steps count]];
|
||||
for (CPAnimationStep* step in self.steps) {
|
||||
[sequenceBody appendString:[step description]];
|
||||
}
|
||||
// indent
|
||||
[sequenceBody replaceOccurrencesOfString:@"\n"
|
||||
withString:@"\n "
|
||||
options:NSCaseInsensitiveSearch
|
||||
range:NSMakeRange(0, [sequenceBody length])];
|
||||
return [NSString stringWithFormat:@"\n(sequence:%@\n)", sequenceBody];
|
||||
}
|
||||
|
||||
@end
|
||||
46
Classes/Utils/CPAnimationStep.h
Executable file
46
Classes/Utils/CPAnimationStep.h
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
// Created by Yang Meyer on 26.07.11.
|
||||
// Copyright 2011 compeople AG. All rights reserved.
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/** Helper type definition for the component. */
|
||||
typedef void (^AnimationStep)(void);
|
||||
|
||||
/**
|
||||
A CPAnimationStep defines a single animation object with a delay, duration, execution block and animation options.
|
||||
*/
|
||||
@interface CPAnimationStep : NSObject
|
||||
|
||||
#pragma mark - constructors
|
||||
|
||||
+ (id) after:(NSTimeInterval)delay
|
||||
animate:(AnimationStep)step;
|
||||
|
||||
+ (id) for:(NSTimeInterval)duration
|
||||
animate:(AnimationStep)step;
|
||||
|
||||
+ (id) after:(NSTimeInterval)delay
|
||||
for:(NSTimeInterval)duration
|
||||
animate:(AnimationStep)step;
|
||||
|
||||
+ (id) after:(NSTimeInterval)delay
|
||||
for:(NSTimeInterval)duration
|
||||
options:(UIViewAnimationOptions)theOptions
|
||||
animate:(AnimationStep)step;
|
||||
|
||||
#pragma mark - properties (normally already set by the constructor)
|
||||
|
||||
@property (nonatomic) NSTimeInterval delay;
|
||||
@property (nonatomic) NSTimeInterval duration;
|
||||
@property (nonatomic, copy) AnimationStep step;
|
||||
@property (nonatomic) UIViewAnimationOptions options;
|
||||
|
||||
#pragma mark - execution
|
||||
|
||||
/** Starts the step execution. */
|
||||
- (void) runAnimated:(BOOL)animated;
|
||||
/** Shortcut for [step runAnimated:YES] */
|
||||
- (void) run;
|
||||
|
||||
@end
|
||||
124
Classes/Utils/CPAnimationStep.m
Executable file
124
Classes/Utils/CPAnimationStep.m
Executable file
|
|
@ -0,0 +1,124 @@
|
|||
|
||||
// Created by Yang Meyer on 26.07.11.
|
||||
// Copyright 2011-2012 compeople AG. All rights reserved.
|
||||
|
||||
#import "CPAnimationStep.h"
|
||||
|
||||
@interface CPAnimationStep()
|
||||
/** A temporary reverse queue of animation steps, i.e. from last to first.
|
||||
It is created when the step is run, and is modified during the animation,
|
||||
and is destroyed when the animation finishes. */
|
||||
@property (nonatomic, strong) NSMutableArray* consumableSteps;
|
||||
@end
|
||||
|
||||
@implementation CPAnimationStep
|
||||
|
||||
@synthesize delay, duration, step, options;
|
||||
@synthesize consumableSteps;
|
||||
|
||||
#pragma mark overrides
|
||||
|
||||
|
||||
#pragma mark construction
|
||||
|
||||
+ (id) after:(NSTimeInterval)delay animate:(AnimationStep)step {
|
||||
return [self after:delay for:0.0 options:0 animate:step];
|
||||
}
|
||||
|
||||
+ (id) for:(NSTimeInterval)duration animate:(AnimationStep)step {
|
||||
return [self after:0.0 for:duration options:0 animate:step];
|
||||
}
|
||||
|
||||
+ (id) after:(NSTimeInterval)delay for:(NSTimeInterval)duration animate:(AnimationStep)step {
|
||||
return [self after:delay for:duration options:0 animate:step];
|
||||
}
|
||||
|
||||
+ (id) after:(NSTimeInterval)theDelay
|
||||
for:(NSTimeInterval)theDuration
|
||||
options:(UIViewAnimationOptions)theOptions
|
||||
animate:(AnimationStep)theStep {
|
||||
|
||||
CPAnimationStep* instance = [[self alloc] init];
|
||||
if (instance) {
|
||||
instance.delay = theDelay;
|
||||
instance.duration = theDuration;
|
||||
instance.options = theOptions;
|
||||
instance.step = [theStep copy];
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
#pragma mark action
|
||||
|
||||
// From http://stackoverflow.com/questions/4007023/blocks-instead-of-performselectorwithobjectafterdelay
|
||||
+ (void) runBlock:(AnimationStep)block afterDelay:(NSTimeInterval)delay {
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*delay), dispatch_get_current_queue(), block);
|
||||
}
|
||||
|
||||
- (NSArray*) animationStepArray {
|
||||
// subclasses must override this!
|
||||
return [NSArray arrayWithObject:self];
|
||||
}
|
||||
|
||||
- (void) runAnimated:(BOOL)animated {
|
||||
if (!self.consumableSteps) {
|
||||
self.consumableSteps = [[NSMutableArray alloc] initWithArray:[self animationStepArray]];
|
||||
}
|
||||
if (![self.consumableSteps count]) { // recursion anchor
|
||||
self.consumableSteps = nil;
|
||||
return; // we're done
|
||||
}
|
||||
AnimationStep completionStep = ^{
|
||||
[self.consumableSteps removeLastObject];
|
||||
[self runAnimated:animated]; // recurse!
|
||||
};
|
||||
CPAnimationStep* currentStep = [self.consumableSteps lastObject];
|
||||
// Note: do not animate to short steps
|
||||
if (animated && currentStep.duration >= 0.02) {
|
||||
[UIView animateWithDuration:currentStep.duration
|
||||
delay:currentStep.delay
|
||||
options:currentStep.options
|
||||
animations:currentStep.step
|
||||
completion:^(BOOL finished) {
|
||||
if (finished) {
|
||||
completionStep();
|
||||
}
|
||||
}];
|
||||
} else {
|
||||
void (^execution)(void) = ^{
|
||||
currentStep.step();
|
||||
completionStep();
|
||||
};
|
||||
|
||||
if (animated && currentStep.delay) {
|
||||
[CPAnimationStep runBlock:execution afterDelay:currentStep.delay];
|
||||
} else {
|
||||
execution();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) run {
|
||||
[self runAnimated:YES];
|
||||
}
|
||||
|
||||
#pragma mark - pretty-print
|
||||
|
||||
- (NSString*) description {
|
||||
NSMutableString* result = [[NSMutableString alloc] initWithCapacity:100];
|
||||
[result appendString:@"\n["];
|
||||
if (self.delay > 0.0) {
|
||||
[result appendFormat:@"after:%.1f ", self.delay];
|
||||
}
|
||||
if (self.duration > 0.0) {
|
||||
[result appendFormat:@"for:%.1f ", self.duration];
|
||||
}
|
||||
if (self.options > 0) {
|
||||
[result appendFormat:@"options:%d ", self.options];
|
||||
}
|
||||
[result appendFormat:@"animate:%@", self.step];
|
||||
[result appendString:@"]"];
|
||||
return result;
|
||||
}
|
||||
|
||||
@end
|
||||
BIN
Resources/toy-mono.wav
Normal file
BIN
Resources/toy-mono.wav
Normal file
Binary file not shown.
|
|
@ -147,8 +147,6 @@
|
|||
34075199150645A300B89C47 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 340751961506459A00B89C47 /* CoreTelephony.framework */; };
|
||||
340751E7150F38FD00B89C47 /* UIVideoButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 340751E6150F38FD00B89C47 /* UIVideoButton.m */; };
|
||||
340751E8150F38FD00B89C47 /* UIVideoButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 340751E6150F38FD00B89C47 /* UIVideoButton.m */; };
|
||||
340A75B014C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */; };
|
||||
340A75B114C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */; };
|
||||
3418843714C58BB100EA48C7 /* nowebcamCIF.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3418843614C58BB100EA48C7 /* nowebcamCIF.jpg */; };
|
||||
3418843814C58BB100EA48C7 /* nowebcamCIF.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 3418843614C58BB100EA48C7 /* nowebcamCIF.jpg */; };
|
||||
341FCA8E149798210084BC26 /* linphonerc-ipad in Resources */ = {isa = PBXBuildFile; fileRef = 341FCA8D149798210084BC26 /* linphonerc-ipad */; };
|
||||
|
|
@ -159,12 +157,6 @@
|
|||
3422AA5114975EC9000D4E8A /* InCallViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */; };
|
||||
3422AA5314978352000D4E8A /* PhoneViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3422AA5214978352000D4E8A /* PhoneViewController-ipad.xib */; };
|
||||
3422AA5414978352000D4E8A /* PhoneViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3422AA5214978352000D4E8A /* PhoneViewController-ipad.xib */; };
|
||||
344ABD72147FC438007420B6 /* ConferenceCallDetailView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 344ABD71147FC438007420B6 /* ConferenceCallDetailView.xib */; };
|
||||
344ABD73147FC438007420B6 /* ConferenceCallDetailView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 344ABD71147FC438007420B6 /* ConferenceCallDetailView.xib */; };
|
||||
344ABD77147FCB68007420B6 /* ConferenceCallDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 344ABD76147FCB68007420B6 /* ConferenceCallDetailView.m */; };
|
||||
344ABD78147FCB68007420B6 /* ConferenceCallDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 344ABD76147FCB68007420B6 /* ConferenceCallDetailView.m */; };
|
||||
344ABD7A147FD32B007420B6 /* ConferenceCallDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 344ABD79147FD32B007420B6 /* ConferenceCallDetailCell.xib */; };
|
||||
344ABD7B147FD32B007420B6 /* ConferenceCallDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 344ABD79147FD32B007420B6 /* ConferenceCallDetailCell.xib */; };
|
||||
344ABDE81484E723007420B6 /* libzrtpcpp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDE71484E723007420B6 /* libzrtpcpp.a */; };
|
||||
344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDEF14850AE9007420B6 /* libc++.1.dylib */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
344ABDF214850AE9007420B6 /* libstdc++.6.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 344ABDF014850AE9007420B6 /* libstdc++.6.dylib */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
|
|
@ -229,6 +221,12 @@
|
|||
D3211BC3159CBFD70098460B /* cancel_white_bg_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */; };
|
||||
D32409C3158B49A600C8C119 /* UILongTouchButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32409C2158B49A600C8C119 /* UILongTouchButton.m */; };
|
||||
D32409C4158B49A600C8C119 /* UILongTouchButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32409C2158B49A600C8C119 /* UILongTouchButton.m */; };
|
||||
D32460E6159D9AAD00BA7F3A /* UIPassView.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460E5159D9AAD00BA7F3A /* UIPassView.m */; };
|
||||
D32460E7159D9AAD00BA7F3A /* UIPassView.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460E5159D9AAD00BA7F3A /* UIPassView.m */; };
|
||||
D32460ED159DA47700BA7F3A /* CPAnimationSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460EA159DA47700BA7F3A /* CPAnimationSequence.m */; };
|
||||
D32460EE159DA47700BA7F3A /* CPAnimationSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460EA159DA47700BA7F3A /* CPAnimationSequence.m */; };
|
||||
D32460EF159DA47700BA7F3A /* CPAnimationStep.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460EC159DA47700BA7F3A /* CPAnimationStep.m */; };
|
||||
D32460F0159DA47700BA7F3A /* CPAnimationStep.m in Sources */ = {isa = PBXBuildFile; fileRef = D32460EC159DA47700BA7F3A /* CPAnimationStep.m */; };
|
||||
D326483815887D5200930C67 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483715887D5200930C67 /* OrderedDictionary.m */; };
|
||||
D326483915887D5200930C67 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483715887D5200930C67 /* OrderedDictionary.m */; };
|
||||
D326483E1588950F00930C67 /* UICallBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483C1588950F00930C67 /* UICallBar.m */; };
|
||||
|
|
@ -396,6 +394,8 @@
|
|||
D3A55FBD15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; };
|
||||
D3A55FBF15877E69003FD403 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3A55FBE15877E69003FD403 /* UIContactCell.xib */; };
|
||||
D3A55FC015877E69003FD403 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3A55FBE15877E69003FD403 /* UIContactCell.xib */; };
|
||||
D3C714B3159DB84400705B8E /* toy-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* toy-mono.wav */; };
|
||||
D3C714B4159DB84400705B8E /* toy-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* toy-mono.wav */; };
|
||||
D3D6A39E159B0EEF005F692C /* add_call_more_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A39B159B0EEF005F692C /* add_call_more_default.png */; };
|
||||
D3D6A39F159B0EEF005F692C /* add_call_more_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A39B159B0EEF005F692C /* add_call_more_default.png */; };
|
||||
D3D6A3A0159B0EEF005F692C /* add_call_more_disable.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A39C159B0EEF005F692C /* add_call_more_disable.png */; };
|
||||
|
|
@ -903,17 +903,12 @@
|
|||
340751E4150E4D0200B89C47 /* CallDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallDelegate.h; sourceTree = "<group>"; };
|
||||
340751E5150F38FC00B89C47 /* UIVideoButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoButton.h; sourceTree = "<group>"; };
|
||||
340751E6150F38FD00B89C47 /* UIVideoButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIVideoButton.m; sourceTree = "<group>"; };
|
||||
340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "ConferenceCallDetailView-ipad.xib"; sourceTree = "<group>"; };
|
||||
3418843614C58BB100EA48C7 /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = nowebcamCIF.jpg; path = submodules/linphone/mediastreamer2/src/nowebcamCIF.jpg; sourceTree = "<group>"; };
|
||||
341FCA8D149798210084BC26 /* linphonerc-ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "linphonerc-ipad"; sourceTree = "<group>"; };
|
||||
34216F3E1547EBCD00EA9777 /* VideoZoomHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoZoomHandler.h; path = LinphoneUI/VideoZoomHandler.h; sourceTree = "<group>"; };
|
||||
34216F3F1547EBCD00EA9777 /* VideoZoomHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VideoZoomHandler.m; path = LinphoneUI/VideoZoomHandler.m; sourceTree = "<group>"; };
|
||||
3422AA4F14975EC9000D4E8A /* InCallViewController-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "InCallViewController-ipad.xib"; sourceTree = "<group>"; };
|
||||
3422AA5214978352000D4E8A /* PhoneViewController-ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "PhoneViewController-ipad.xib"; sourceTree = "<group>"; };
|
||||
344ABD71147FC438007420B6 /* ConferenceCallDetailView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConferenceCallDetailView.xib; sourceTree = "<group>"; };
|
||||
344ABD75147FCB68007420B6 /* ConferenceCallDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConferenceCallDetailView.h; sourceTree = "<group>"; };
|
||||
344ABD76147FCB68007420B6 /* ConferenceCallDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConferenceCallDetailView.m; sourceTree = "<group>"; };
|
||||
344ABD79147FD32B007420B6 /* ConferenceCallDetailCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConferenceCallDetailCell.xib; sourceTree = "<group>"; };
|
||||
344ABDE71484E723007420B6 /* libzrtpcpp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libzrtpcpp.a; path = "liblinphone-sdk/apple-darwin/lib/libzrtpcpp.a"; sourceTree = "<group>"; };
|
||||
344ABDEF14850AE9007420B6 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; };
|
||||
344ABDF014850AE9007420B6 /* libstdc++.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.6.dylib"; path = "usr/lib/libstdc++.6.dylib"; sourceTree = SDKROOT; };
|
||||
|
|
@ -957,6 +952,12 @@
|
|||
D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_white_bg_over.png; path = Resources/cancel_white_bg_over.png; sourceTree = "<group>"; };
|
||||
D32409C1158B49A600C8C119 /* UILongTouchButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILongTouchButton.h; sourceTree = "<group>"; };
|
||||
D32409C2158B49A600C8C119 /* UILongTouchButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILongTouchButton.m; sourceTree = "<group>"; };
|
||||
D32460E4159D9AAD00BA7F3A /* UIPassView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIPassView.h; sourceTree = "<group>"; };
|
||||
D32460E5159D9AAD00BA7F3A /* UIPassView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIPassView.m; sourceTree = "<group>"; };
|
||||
D32460E9159DA47700BA7F3A /* CPAnimationSequence.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CPAnimationSequence.h; path = Utils/CPAnimationSequence.h; sourceTree = "<group>"; };
|
||||
D32460EA159DA47700BA7F3A /* CPAnimationSequence.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CPAnimationSequence.m; path = Utils/CPAnimationSequence.m; sourceTree = "<group>"; };
|
||||
D32460EB159DA47700BA7F3A /* CPAnimationStep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CPAnimationStep.h; path = Utils/CPAnimationStep.h; sourceTree = "<group>"; };
|
||||
D32460EC159DA47700BA7F3A /* CPAnimationStep.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CPAnimationStep.m; path = Utils/CPAnimationStep.m; sourceTree = "<group>"; };
|
||||
D326483615887D5200930C67 /* OrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderedDictionary.h; path = Utils/OrderedDictionary.h; sourceTree = "<group>"; };
|
||||
D326483715887D5200930C67 /* OrderedDictionary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OrderedDictionary.m; path = Utils/OrderedDictionary.m; sourceTree = "<group>"; };
|
||||
D326483B1588950F00930C67 /* UICallBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICallBar.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1077,6 +1078,7 @@
|
|||
D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = "<group>"; };
|
||||
D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = "<group>"; };
|
||||
D3A55FBE15877E69003FD403 /* UIContactCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIContactCell.xib; sourceTree = "<group>"; };
|
||||
D3C714B2159DB84400705B8E /* toy-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "toy-mono.wav"; path = "Resources/toy-mono.wav"; sourceTree = "<group>"; };
|
||||
D3D6A39B159B0EEF005F692C /* add_call_more_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_call_more_default.png; path = Resources/add_call_more_default.png; sourceTree = "<group>"; };
|
||||
D3D6A39C159B0EEF005F692C /* add_call_more_disable.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_call_more_disable.png; path = Resources/add_call_more_disable.png; sourceTree = "<group>"; };
|
||||
D3D6A39D159B0EEF005F692C /* add_call_more_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_call_more_over.png; path = Resources/add_call_more_over.png; sourceTree = "<group>"; };
|
||||
|
|
@ -1302,11 +1304,6 @@
|
|||
D35E7594159460560066B1C1 /* ChatViewController.h */,
|
||||
D35E7595159460560066B1C1 /* ChatViewController.m */,
|
||||
D35E7596159460570066B1C1 /* ChatViewController.xib */,
|
||||
344ABD79147FD32B007420B6 /* ConferenceCallDetailCell.xib */,
|
||||
340A75AF14C0670A006AA708 /* ConferenceCallDetailView-ipad.xib */,
|
||||
344ABD75147FCB68007420B6 /* ConferenceCallDetailView.h */,
|
||||
344ABD76147FCB68007420B6 /* ConferenceCallDetailView.m */,
|
||||
344ABD71147FC438007420B6 /* ConferenceCallDetailView.xib */,
|
||||
22E0A820111C44E100B04932 /* ConsoleViewController.h */,
|
||||
22E0A81F111C44E100B04932 /* ConsoleViewController.m */,
|
||||
22E0A81E111C44E100B04932 /* ConsoleViewController.xib */,
|
||||
|
|
@ -1621,6 +1618,8 @@
|
|||
2214EBF212F86360002A5394 /* UIMicroButton.m */,
|
||||
D3F34F331599C354005BE94F /* UIModalViewController.h */,
|
||||
D3F34F341599C354005BE94F /* UIModalViewController.m */,
|
||||
D32460E4159D9AAD00BA7F3A /* UIPassView.h */,
|
||||
D32460E5159D9AAD00BA7F3A /* UIPassView.m */,
|
||||
D36FB2D31589EF7C0036F6F2 /* UIPauseButton.h */,
|
||||
D36FB2D41589EF7C0036F6F2 /* UIPauseButton.m */,
|
||||
22968A5D12F875C600588287 /* UISpeakerButton.h */,
|
||||
|
|
@ -1950,6 +1949,7 @@
|
|||
D3EA5402159852080037DC6B /* tchat-new-discussion-over.png */,
|
||||
D38327FF158100E400FA0D23 /* tchat-over.png */,
|
||||
D38327F21580FE3A00FA0D23 /* tchat-selectionne.png */,
|
||||
D3C714B2159DB84400705B8E /* toy-mono.wav */,
|
||||
D3F83F00158205A100336684 /* video-OFF-actif.png */,
|
||||
D37295DA158B3C9600D2C0C7 /* video-OFF-disabled.png */,
|
||||
D3F83F01158205A100336684 /* video-OFF-over.png */,
|
||||
|
|
@ -1972,6 +1972,10 @@
|
|||
D326483415887D4400930C67 /* Utils */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D32460E9159DA47700BA7F3A /* CPAnimationSequence.h */,
|
||||
D32460EA159DA47700BA7F3A /* CPAnimationSequence.m */,
|
||||
D32460EB159DA47700BA7F3A /* CPAnimationStep.h */,
|
||||
D32460EC159DA47700BA7F3A /* CPAnimationStep.m */,
|
||||
D3F26BEA159869A6005F9CAB /* AbstractCall.h */,
|
||||
D3F26BEB159869A6005F9CAB /* AbstractCall.m */,
|
||||
D326483615887D5200930C67 /* OrderedDictionary.h */,
|
||||
|
|
@ -2157,13 +2161,10 @@
|
|||
228B19AF130290C500F154D3 /* iTunesArtwork in Resources */,
|
||||
2214783D1386A2030020F8B8 /* Localizable.strings in Resources */,
|
||||
70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */,
|
||||
344ABD72147FC438007420B6 /* ConferenceCallDetailView.xib in Resources */,
|
||||
344ABD7A147FD32B007420B6 /* ConferenceCallDetailCell.xib in Resources */,
|
||||
34CA852F148F646700503C01 /* MainScreenWithVideoPreview.xib in Resources */,
|
||||
3422AA5014975EC9000D4E8A /* InCallViewController-ipad.xib in Resources */,
|
||||
3422AA5314978352000D4E8A /* PhoneViewController-ipad.xib in Resources */,
|
||||
341FCA8E149798210084BC26 /* linphonerc-ipad in Resources */,
|
||||
340A75B014C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */,
|
||||
3418843714C58BB100EA48C7 /* nowebcamCIF.jpg in Resources */,
|
||||
34C7646C14CD5585008E9607 /* dialer-orange.png in Resources */,
|
||||
34C7646D14CD5585008E9607 /* history-orange.png in Resources */,
|
||||
|
|
@ -2340,6 +2341,7 @@
|
|||
D3211BBE159CBFD60098460B /* cancel_white_bg_default.png in Resources */,
|
||||
D3211BC0159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */,
|
||||
D3211BC2159CBFD70098460B /* cancel_white_bg_over.png in Resources */,
|
||||
D3C714B3159DB84400705B8E /* toy-mono.wav in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2364,13 +2366,10 @@
|
|||
22D8F13D147548E2008C97DB /* Localizable.strings in Resources */,
|
||||
22D8F142147548E2008C97DB /* rootca.pem in Resources */,
|
||||
2211DB95147564B400DEE054 /* Settings.bundle in Resources */,
|
||||
344ABD73147FC438007420B6 /* ConferenceCallDetailView.xib in Resources */,
|
||||
344ABD7B147FD32B007420B6 /* ConferenceCallDetailCell.xib in Resources */,
|
||||
34CA8530148F646700503C01 /* MainScreenWithVideoPreview.xib in Resources */,
|
||||
3422AA5114975EC9000D4E8A /* InCallViewController-ipad.xib in Resources */,
|
||||
3422AA5414978352000D4E8A /* PhoneViewController-ipad.xib in Resources */,
|
||||
341FCA8F149798210084BC26 /* linphonerc-ipad in Resources */,
|
||||
340A75B114C0670B006AA708 /* ConferenceCallDetailView-ipad.xib in Resources */,
|
||||
3418843814C58BB100EA48C7 /* nowebcamCIF.jpg in Resources */,
|
||||
57282931154AF1460076F540 /* history-orange.png in Resources */,
|
||||
57282933154AF14D0076F540 /* dialer-orange.png in Resources */,
|
||||
|
|
@ -2531,6 +2530,7 @@
|
|||
D3211BBF159CBFD70098460B /* cancel_white_bg_default.png in Resources */,
|
||||
D3211BC1159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */,
|
||||
D3211BC3159CBFD70098460B /* cancel_white_bg_over.png in Resources */,
|
||||
D3C714B4159DB84400705B8E /* toy-mono.wav in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2558,7 +2558,6 @@
|
|||
223963171393CFAF001DE689 /* FastAddressBook.m in Sources */,
|
||||
22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */,
|
||||
2211DBBE14769C8300DEE054 /* CallDelegate.m in Sources */,
|
||||
344ABD77147FCB68007420B6 /* ConferenceCallDetailView.m in Sources */,
|
||||
34CA8539148F692A00503C01 /* MainScreenWithVideoPreview.m in Sources */,
|
||||
340751E7150F38FD00B89C47 /* UIVideoButton.m in Sources */,
|
||||
34216F401547EBCD00EA9777 /* VideoZoomHandler.m in Sources */,
|
||||
|
|
@ -2606,6 +2605,9 @@
|
|||
D3F34F351599C354005BE94F /* UIModalViewController.m in Sources */,
|
||||
D31AAF5E159B3919002C6B02 /* InCallTableViewController.m in Sources */,
|
||||
D3211BB0159C4EF10098460B /* UIConferenceHeader.m in Sources */,
|
||||
D32460E6159D9AAD00BA7F3A /* UIPassView.m in Sources */,
|
||||
D32460ED159DA47700BA7F3A /* CPAnimationSequence.m in Sources */,
|
||||
D32460EF159DA47700BA7F3A /* CPAnimationStep.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2630,7 +2632,6 @@
|
|||
22D8F157147548E2008C97DB /* FastAddressBook.m in Sources */,
|
||||
22D8F159147548E2008C97DB /* UICamSwitch.m in Sources */,
|
||||
2211DBBF14769C8300DEE054 /* CallDelegate.m in Sources */,
|
||||
344ABD78147FCB68007420B6 /* ConferenceCallDetailView.m in Sources */,
|
||||
34CA853A148F692A00503C01 /* MainScreenWithVideoPreview.m in Sources */,
|
||||
340751E8150F38FD00B89C47 /* UIVideoButton.m in Sources */,
|
||||
34216F411547EBCD00EA9777 /* VideoZoomHandler.m in Sources */,
|
||||
|
|
@ -2678,6 +2679,9 @@
|
|||
D3F34F361599C354005BE94F /* UIModalViewController.m in Sources */,
|
||||
D31AAF5F159B3919002C6B02 /* InCallTableViewController.m in Sources */,
|
||||
D3211BB1159C4EF10098460B /* UIConferenceHeader.m in Sources */,
|
||||
D32460E7159D9AAD00BA7F3A /* UIPassView.m in Sources */,
|
||||
D32460EE159DA47700BA7F3A /* CPAnimationSequence.m in Sources */,
|
||||
D32460F0159DA47700BA7F3A /* CPAnimationStep.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
2
main.m
2
main.m
|
|
@ -20,8 +20,6 @@
|
|||
#import <UIKit/UIKit.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
int retVal = UIApplicationMain(argc, argv, nil, nil);
|
||||
[pool release];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue