no message

videocall_popup
Zohaib Iqbal Kambrani 4 years ago
parent 42a4f9330a
commit 63526113f4

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "camera_back.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "camera_front.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "hide_video_icon.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="18122" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<device id="retina6_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="18093"/>
@ -16,7 +16,7 @@
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<rect key="frame" x="0.0" y="0.0" width="428" height="926"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
@ -34,84 +34,94 @@
<viewControllerLayoutGuide type="bottom" id="VIH-1T-Ife"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="PoR-7r-yNe">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<rect key="frame" x="0.0" y="0.0" width="428" height="926"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" restorationIdentifier="VideoCallNavigationViewController" translatesAutoresizingMaskIntoConstraints="NO" id="eOT-Jr-GUl" userLabel="remoteVideo">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<rect key="frame" x="0.0" y="0.0" width="428" height="926"/>
<color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="videoMutedIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="CL1-2v-m1L" userLabel="remoteVideoMutedIndicator">
<rect key="frame" x="147" y="398" width="120" height="100"/>
<rect key="frame" x="154" y="413" width="120" height="100"/>
<constraints>
<constraint firstAttribute="width" constant="120" id="eon-3Z-74P"/>
<constraint firstAttribute="height" constant="100" id="iyK-hL-H3m"/>
</constraints>
</imageView>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XHG-Db-3Px" customClass="AADraggableView" customModule="AADraggableView">
<rect key="frame" x="270" y="40" width="124" height="174"/>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O5s-CJ-RFv" userLabel="DragableBoundryDefiner">
<rect key="frame" x="0.0" y="100" width="428" height="731"/>
<subviews>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0ZP-s2-kM5" userLabel="localVideo">
<rect key="frame" x="0.0" y="0.0" width="124" height="174"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<real key="value" value="0.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6y1-an-W7F">
<rect key="frame" x="0.0" y="0.0" width="124" height="174"/>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XHG-Db-3Px" customClass="AADraggableView" customModule="AADraggableView">
<rect key="frame" x="288" y="10" width="130" height="182"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="videoMutedIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="FEH-bC-Hnh" userLabel="localVideoMutedIndicator">
<rect key="frame" x="44" y="72" width="36" height="30"/>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0ZP-s2-kM5" userLabel="localVideo">
<rect key="frame" x="0.0" y="0.0" width="130" height="182"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<real key="value" value="0.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6y1-an-W7F">
<rect key="frame" x="0.0" y="0.0" width="130" height="182"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="videoMutedIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="FEH-bC-Hnh" userLabel="localVideoMutedIndicator">
<rect key="frame" x="47" y="76" width="36" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="1iv-w5-GDT"/>
<constraint firstAttribute="width" constant="36" id="AwX-vQ-Ynn"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="1iv-w5-GDT"/>
<constraint firstAttribute="width" constant="36" id="AwX-vQ-Ynn"/>
<constraint firstItem="FEH-bC-Hnh" firstAttribute="centerX" secondItem="6y1-an-W7F" secondAttribute="centerX" id="dtO-VP-8qV"/>
<constraint firstItem="FEH-bC-Hnh" firstAttribute="centerY" secondItem="6y1-an-W7F" secondAttribute="centerY" id="lpW-Vr-bH2"/>
</constraints>
</imageView>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="FEH-bC-Hnh" firstAttribute="centerX" secondItem="6y1-an-W7F" secondAttribute="centerX" id="dtO-VP-8qV"/>
<constraint firstItem="FEH-bC-Hnh" firstAttribute="centerY" secondItem="6y1-an-W7F" secondAttribute="centerY" id="lpW-Vr-bH2"/>
<constraint firstItem="0ZP-s2-kM5" firstAttribute="top" secondItem="XHG-Db-3Px" secondAttribute="top" id="E5A-Yq-Ods"/>
<constraint firstAttribute="trailing" secondItem="6y1-an-W7F" secondAttribute="trailing" id="I0l-x2-rGO"/>
<constraint firstAttribute="width" secondItem="XHG-Db-3Px" secondAttribute="height" multiplier="1:1.4" id="M3V-vM-m0V"/>
<constraint firstAttribute="bottom" secondItem="6y1-an-W7F" secondAttribute="bottom" id="T0D-IE-19P"/>
<constraint firstItem="6y1-an-W7F" firstAttribute="top" secondItem="XHG-Db-3Px" secondAttribute="top" id="T8b-Nd-jdR"/>
<constraint firstItem="6y1-an-W7F" firstAttribute="leading" secondItem="XHG-Db-3Px" secondAttribute="leading" id="brg-bp-MME"/>
<constraint firstAttribute="bottom" secondItem="0ZP-s2-kM5" secondAttribute="bottom" id="hso-Od-7QF"/>
<constraint firstItem="0ZP-s2-kM5" firstAttribute="leading" secondItem="XHG-Db-3Px" secondAttribute="leading" id="k5R-AM-3J6"/>
<constraint firstAttribute="trailing" secondItem="0ZP-s2-kM5" secondAttribute="trailing" id="z8V-qh-Rzq"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
<userDefinedRuntimeAttribute type="number" keyPath="padding">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="0ZP-s2-kM5" firstAttribute="top" secondItem="XHG-Db-3Px" secondAttribute="top" id="E5A-Yq-Ods"/>
<constraint firstAttribute="trailing" secondItem="6y1-an-W7F" secondAttribute="trailing" id="I0l-x2-rGO"/>
<constraint firstAttribute="width" secondItem="XHG-Db-3Px" secondAttribute="height" multiplier="1:1.4" id="M3V-vM-m0V"/>
<constraint firstAttribute="bottom" secondItem="6y1-an-W7F" secondAttribute="bottom" id="T0D-IE-19P"/>
<constraint firstItem="6y1-an-W7F" firstAttribute="top" secondItem="XHG-Db-3Px" secondAttribute="top" id="T8b-Nd-jdR"/>
<constraint firstItem="6y1-an-W7F" firstAttribute="leading" secondItem="XHG-Db-3Px" secondAttribute="leading" id="brg-bp-MME"/>
<constraint firstAttribute="bottom" secondItem="0ZP-s2-kM5" secondAttribute="bottom" id="hso-Od-7QF"/>
<constraint firstItem="0ZP-s2-kM5" firstAttribute="leading" secondItem="XHG-Db-3Px" secondAttribute="leading" id="k5R-AM-3J6"/>
<constraint firstAttribute="trailing" secondItem="0ZP-s2-kM5" secondAttribute="trailing" id="z8V-qh-Rzq"/>
<constraint firstAttribute="trailing" secondItem="XHG-Db-3Px" secondAttribute="trailing" constant="10" id="Ncy-sD-qeL"/>
<constraint firstItem="XHG-Db-3Px" firstAttribute="top" secondItem="O5s-CJ-RFv" secondAttribute="top" constant="10" id="nM8-B7-soj"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="padding">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sK0-tB-H9u" userLabel="controlButtons">
<rect key="frame" x="0.0" y="791" width="414" height="105"/>
<rect key="frame" x="0.0" y="831" width="428" height="95"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="r9w-8l-Zxj">
<rect key="frame" x="20" y="15" width="200" height="60"/>
<rect key="frame" x="15" y="15" width="230" height="50"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UZ6-EY-a59" userLabel="minMax">
<rect key="frame" x="0.0" y="0.0" width="60" height="60"/>
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" secondItem="UZ6-EY-a59" secondAttribute="height" multiplier="1:1" id="Ula-Qc-wJE"/>
</constraints>
@ -122,10 +132,9 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleAspectFit" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NUO-2p-pzL" userLabel="videoMuteButton">
<rect key="frame" x="70" y="0.0" width="60" height="60"/>
<rect key="frame" x="60" y="0.0" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" secondItem="NUO-2p-pzL" secondAttribute="height" multiplier="1:1" id="KGm-Yp-MqK"/>
<constraint firstAttribute="height" constant="60" id="myf-me-Rk0"/>
</constraints>
<state key="normal" image="video_unmute"/>
<state key="selected" image="video_mute"/>
@ -134,7 +143,7 @@
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N2h-FX-kF5" userLabel="muteButton">
<rect key="frame" x="140" y="0.0" width="60" height="60"/>
<rect key="frame" x="120" y="0.0" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" secondItem="N2h-FX-kF5" secondAttribute="height" multiplier="1:1" id="hI1-G0-K3C"/>
</constraints>
@ -144,15 +153,29 @@
<action selector="didClickMuteButton:" destination="t2c-G5-7AE" eventType="touchUpInside" id="7lr-uj-db1"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" selected="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lar-xK-rhR" userLabel="switchCamera">
<rect key="frame" x="180" y="0.0" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" secondItem="lar-xK-rhR" secondAttribute="height" multiplier="1:1" id="Wpc-dx-kpF"/>
</constraints>
<state key="normal" image="camera_back"/>
<state key="selected" image="camera_front"/>
<connections>
<action selector="didClickSwitchCameraButton:" destination="t2c-G5-7AE" eventType="touchUpInside" id="S3g-7j-Ca0"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="3L0-3h-Bxg"/>
<constraint firstItem="lar-xK-rhR" firstAttribute="width" secondItem="lar-xK-rhR" secondAttribute="height" multiplier="1:1" id="R46-j0-zPf"/>
<constraint firstItem="UZ6-EY-a59" firstAttribute="height" secondItem="NUO-2p-pzL" secondAttribute="height" id="kK6-uF-bf6"/>
<constraint firstItem="N2h-FX-kF5" firstAttribute="height" secondItem="NUO-2p-pzL" secondAttribute="height" id="o4R-49-iMe"/>
<constraint firstAttribute="height" priority="900" constant="30" id="y90-hA-p5Z"/>
</constraints>
</stackView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="AoF-Up-Yu5" userLabel="hangUpButton">
<rect key="frame" x="334" y="15" width="60" height="60"/>
<rect key="frame" x="363" y="15" width="50" height="50"/>
<constraints>
<constraint firstAttribute="width" secondItem="AoF-Up-Yu5" secondAttribute="height" multiplier="1:1" id="6LJ-QR-WEY"/>
</constraints>
@ -162,351 +185,137 @@
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="backgroundColor" red="0.18431372549019609" green="0.1764705882352941" blue="0.16470588235294117" alpha="0.69999999999999996" colorSpace="custom" customColorSpace="displayP3"/>
<constraints>
<constraint firstItem="r9w-8l-Zxj" firstAttribute="top" secondItem="sK0-tB-H9u" secondAttribute="top" constant="15" id="00C-1i-sGc"/>
<constraint firstItem="AoF-Up-Yu5" firstAttribute="bottom" secondItem="r9w-8l-Zxj" secondAttribute="bottom" id="1kB-OK-b0L"/>
<constraint firstItem="r9w-8l-Zxj" firstAttribute="top" secondItem="sK0-tB-H9u" secondAttribute="top" priority="900" constant="5" id="Ft5-cy-2d0"/>
<constraint firstAttribute="bottom" secondItem="r9w-8l-Zxj" secondAttribute="bottom" constant="30" id="G9u-kw-mVz"/>
<constraint firstItem="AoF-Up-Yu5" firstAttribute="top" secondItem="r9w-8l-Zxj" secondAttribute="top" id="H4s-Y8-HAI"/>
<constraint firstAttribute="trailing" secondItem="AoF-Up-Yu5" secondAttribute="trailing" constant="20" id="flB-AR-zo3"/>
<constraint firstItem="r9w-8l-Zxj" firstAttribute="leading" secondItem="sK0-tB-H9u" secondAttribute="leading" constant="20" id="x13-gZ-cYp"/>
<constraint firstAttribute="trailing" secondItem="AoF-Up-Yu5" secondAttribute="trailing" constant="15" id="flB-AR-zo3"/>
<constraint firstAttribute="bottom" secondItem="r9w-8l-Zxj" secondAttribute="bottom" priority="900" constant="5" id="n0r-vM-wKh"/>
<constraint firstItem="r9w-8l-Zxj" firstAttribute="leading" secondItem="sK0-tB-H9u" secondAttribute="leading" constant="15" id="x13-gZ-cYp"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2nj-Va-L7c" userLabel="TopBar">
<rect key="frame" x="0.0" y="0.0" width="428" height="100"/>
<subviews>
<stackView opaque="NO" contentMode="scaleToFill" alignment="center" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="bvC-Fa-s3m">
<rect key="frame" x="15" y="50" width="398" height="30"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Al-Anoud Al-Anoud" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zct-62-YE6">
<rect key="frame" x="0.0" y="0.0" width="328" height="30"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="25"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="n8H-om-4LV">
<rect key="frame" x="333" y="-21" width="40" height="72"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="tYx-Ul-0Pf"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="60"/>
<state key="normal" image="hide_video_icon"/>
<connections>
<action selector="hideVideoBtnTapped:" destination="t2c-G5-7AE" eventType="touchUpInside" id="2mC-ry-Lis"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8Xn-w6-Mox">
<rect key="frame" x="338" y="3" width="60" height="24"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="10:30" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Btq-Ll-BPH">
<rect key="frame" x="12.666666666666686" y="5.0000000000000009" width="34.666666666666664" height="14.333333333333336"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.0018553551427920477" green="0.59902576721627221" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="displayP3"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="InL-xK-60G"/>
<constraint firstItem="Btq-Ll-BPH" firstAttribute="centerY" secondItem="8Xn-w6-Mox" secondAttribute="centerY" id="Vbi-zv-vUQ"/>
<constraint firstItem="Btq-Ll-BPH" firstAttribute="centerX" secondItem="8Xn-w6-Mox" secondAttribute="centerX" id="WNT-XA-AW6"/>
<constraint firstAttribute="height" constant="24" id="Zck-PD-EN0"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="12"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
</subviews>
</stackView>
</subviews>
<color key="backgroundColor" red="0.18431372549019609" green="0.1764705882352941" blue="0.16470588235294117" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="displayP3"/>
<constraints>
<constraint firstAttribute="height" constant="100" id="6eP-Zl-97q"/>
<constraint firstAttribute="bottom" secondItem="bvC-Fa-s3m" secondAttribute="bottom" priority="900" constant="5" id="HgY-Dw-B9R"/>
<constraint firstAttribute="bottom" secondItem="bvC-Fa-s3m" secondAttribute="bottom" constant="20" id="PWn-Sb-O8B"/>
<constraint firstItem="bvC-Fa-s3m" firstAttribute="leading" secondItem="2nj-Va-L7c" secondAttribute="leading" constant="15" id="YH4-fV-fkQ"/>
<constraint firstAttribute="trailing" secondItem="bvC-Fa-s3m" secondAttribute="trailing" constant="15" id="oq6-Oi-i7g"/>
<constraint firstAttribute="height" priority="900" constant="20" id="s8H-wK-WPB"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="XHG-Db-3Px" firstAttribute="top" secondItem="PoR-7r-yNe" secondAttribute="top" constant="40" id="11Y-Ag-YNc"/>
<constraint firstItem="eOT-Jr-GUl" firstAttribute="leading" secondItem="PoR-7r-yNe" secondAttribute="leading" id="4xz-lj-CXd"/>
<constraint firstAttribute="bottom" secondItem="eOT-Jr-GUl" secondAttribute="bottom" id="5Ae-F1-hSz"/>
<constraint firstItem="2nj-Va-L7c" firstAttribute="leading" secondItem="PoR-7r-yNe" secondAttribute="leading" id="8Gx-Tb-bpo"/>
<constraint firstItem="O5s-CJ-RFv" firstAttribute="leading" secondItem="PoR-7r-yNe" secondAttribute="leading" id="Hyn-9r-k8s"/>
<constraint firstItem="sK0-tB-H9u" firstAttribute="leading" secondItem="PoR-7r-yNe" secondAttribute="leading" id="Itp-Pe-kh9"/>
<constraint firstItem="2nj-Va-L7c" firstAttribute="top" secondItem="PoR-7r-yNe" secondAttribute="top" id="LDC-Rq-79f"/>
<constraint firstItem="XHG-Db-3Px" firstAttribute="height" secondItem="eOT-Jr-GUl" secondAttribute="height" multiplier="0.196544" id="LwG-7m-Ihd"/>
<constraint firstAttribute="trailing" secondItem="eOT-Jr-GUl" secondAttribute="trailing" id="Pcn-K9-H92"/>
<constraint firstAttribute="bottom" secondItem="sK0-tB-H9u" secondAttribute="bottom" id="Tu5-Op-mnF"/>
<constraint firstItem="CL1-2v-m1L" firstAttribute="centerY" secondItem="PoR-7r-yNe" secondAttribute="centerY" id="UGv-46-ri8"/>
<constraint firstAttribute="trailing" secondItem="O5s-CJ-RFv" secondAttribute="trailing" id="VcP-8e-3Un"/>
<constraint firstItem="CL1-2v-m1L" firstAttribute="centerX" secondItem="PoR-7r-yNe" secondAttribute="centerX" id="Xt8-k3-fDj"/>
<constraint firstItem="XHG-Db-3Px" firstAttribute="width" secondItem="PoR-7r-yNe" secondAttribute="width" multiplier="0.3" id="dH2-dK-Fbg"/>
<constraint firstItem="sK0-tB-H9u" firstAttribute="top" secondItem="O5s-CJ-RFv" secondAttribute="bottom" id="eOi-4p-iMm"/>
<constraint firstItem="O5s-CJ-RFv" firstAttribute="top" secondItem="2nj-Va-L7c" secondAttribute="bottom" id="fLH-dK-xpa"/>
<constraint firstItem="eOT-Jr-GUl" firstAttribute="top" secondItem="PoR-7r-yNe" secondAttribute="top" id="gFm-X8-RIU"/>
<constraint firstAttribute="trailing" secondItem="sK0-tB-H9u" secondAttribute="trailing" id="gSh-7K-3p5"/>
<constraint firstAttribute="trailing" secondItem="XHG-Db-3Px" secondAttribute="trailing" constant="20" id="ubC-LX-bj4"/>
<constraint firstAttribute="trailing" secondItem="2nj-Va-L7c" secondAttribute="trailing" id="vQp-Bv-IVU"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="s5b-6P-Hwj"/>
<connections>
<outlet property="actionsHeightConstraint" destination="myf-me-Rk0" id="uAs-8t-OYW"/>
<outlet property="controlButtons" destination="sK0-tB-H9u" id="mDK-cq-oQz"/>
<outlet property="draggableBoundryDefiner" destination="O5s-CJ-RFv" id="npi-81-C23"/>
<outlet property="hideVideoBtn" destination="n8H-om-4LV" id="tTp-Ep-XKS"/>
<outlet property="lblCallDuration" destination="Btq-Ll-BPH" id="Jdh-yK-PEx"/>
<outlet property="lblRemoteUsername" destination="Zct-62-YE6" id="OQ0-mf-mvc"/>
<outlet property="localVideo" destination="0ZP-s2-kM5" id="C68-k7-h5j"/>
<outlet property="localVideoMutedBg" destination="6y1-an-W7F" id="5FF-Ak-Vxb"/>
<outlet property="localvideoTopMargin" destination="11Y-Ag-YNc" id="5RK-4W-lxa"/>
<outlet property="micMuteBtn" destination="N2h-FX-kF5" id="AVo-sY-x2z"/>
<outlet property="remoteVideo" destination="eOT-Jr-GUl" id="VKE-el-YGR"/>
<outlet property="remoteVideoMutedIndicator" destination="CL1-2v-m1L" id="aJ0-QC-m9Y"/>
<outlet property="videoMuteBtn" destination="NUO-2p-pzL" id="XCc-nu-N8P"/>
<outletCollection property="maximisedConstraint" destination="00C-1i-sGc" collectionClass="NSMutableArray" id="22d-C9-unV"/>
<outletCollection property="maximisedConstraint" destination="sK0-tB-H9u" collectionClass="NSMutableArray" id="bbn-c9-Vz9"/>
<outletCollection property="maximisedConstraint" destination="3L0-3h-Bxg" collectionClass="NSMutableArray" id="aSR-qc-kmn"/>
<outletCollection property="maximisedConstraint" destination="6eP-Zl-97q" collectionClass="NSMutableArray" id="5qG-eU-f1V"/>
<outletCollection property="maximisedConstraint" destination="2nj-Va-L7c" collectionClass="NSMutableArray" id="sSt-7N-End"/>
<outletCollection property="minimizeConstraint" destination="sK0-tB-H9u" collectionClass="NSMutableArray" id="fVM-C7-UAN"/>
<outletCollection property="minimizeConstraint" destination="sK0-tB-H9u" collectionClass="NSMutableArray" id="p6x-N9-60o"/>
<outletCollection property="minimizeConstraint" destination="y90-hA-p5Z" collectionClass="NSMutableArray" id="97Z-hF-vZa"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x33-EE-6Ak" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-797" y="2239"/>
</scene>
<!--View Controller-->
<scene sceneID="fcB-FR-PM2">
<objects>
<viewController id="b2p-gc-ilx" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Bl3-5B-Sac"/>
<viewControllerLayoutGuide type="bottom" id="aRc-fq-Dqx"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="luL-hd-4kD">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WCW-Fr-JiI" userLabel="controlButtonSpacer">
<rect key="frame" x="14" y="844" width="139" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="VbR-6H-ydu"/>
<constraint firstAttribute="width" constant="139" id="aOy-qa-Ssi"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UkE-3l-VTH" userLabel="controlButtonSpacer">
<rect key="frame" x="265" y="844" width="140" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="140" id="7kZ-Fp-Pds"/>
<constraint firstAttribute="height" constant="30" id="BC0-QQ-aX1"/>
</constraints>
</view>
<view contentMode="scaleToFill" restorationIdentifier="VideoCallNavigationViewController" translatesAutoresizingMaskIntoConstraints="NO" id="DUC-g9-g8v" userLabel="remoteVideo">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="videoMutedIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="cVD-h1-8a5" userLabel="remoteVideoMutedIndicator">
<rect key="frame" x="147" y="398" width="120" height="100"/>
<constraints>
<constraint firstAttribute="width" constant="120" id="NhH-n2-2kE"/>
<constraint firstAttribute="height" constant="100" id="nzD-kL-E5d"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MaW-YR-Grr" customClass="AADraggableView" customModule="AADraggableView">
<rect key="frame" x="270" y="40" width="124" height="174"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jm7-6R-ha0" userLabel="localVideo">
<rect key="frame" x="0.0" y="0.0" width="124" height="174"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="5"/>
</userDefinedRuntimeAttribute>
<userDefinedRuntimeAttribute type="number" keyPath="layer.borderWidth">
<real key="value" value="0.5"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="G9u-v2-vFg">
<rect key="frame" x="0.0" y="0.0" width="124" height="174"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="videoMutedIndicator" translatesAutoresizingMaskIntoConstraints="NO" id="RBK-Jn-LSH" userLabel="localVideoMutedIndicator">
<rect key="frame" x="44" y="72" width="36" height="30"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="dMk-gQ-fHl"/>
<constraint firstAttribute="width" constant="36" id="lxL-W0-zfk"/>
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" white="0.33333333329999998" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="RBK-Jn-LSH" firstAttribute="centerY" secondItem="G9u-v2-vFg" secondAttribute="centerY" id="1pj-sm-Y32"/>
<constraint firstItem="RBK-Jn-LSH" firstAttribute="centerX" secondItem="G9u-v2-vFg" secondAttribute="centerX" id="KKi-UZ-3AR"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="width" secondItem="MaW-YR-Grr" secondAttribute="height" multiplier="1:1.4" id="1Gu-MK-yhf"/>
<constraint firstItem="jm7-6R-ha0" firstAttribute="top" secondItem="MaW-YR-Grr" secondAttribute="top" id="1gf-2j-pPB"/>
<constraint firstItem="G9u-v2-vFg" firstAttribute="leading" secondItem="MaW-YR-Grr" secondAttribute="leading" id="D45-iv-3VG"/>
<constraint firstItem="jm7-6R-ha0" firstAttribute="leading" secondItem="MaW-YR-Grr" secondAttribute="leading" id="FE7-gZ-P2k"/>
<constraint firstAttribute="bottom" secondItem="jm7-6R-ha0" secondAttribute="bottom" id="KAG-6P-jtc"/>
<constraint firstAttribute="bottom" secondItem="G9u-v2-vFg" secondAttribute="bottom" id="bvk-jj-Pdl"/>
<constraint firstItem="G9u-v2-vFg" firstAttribute="top" secondItem="MaW-YR-Grr" secondAttribute="top" id="ebv-7y-cqK"/>
<constraint firstAttribute="trailing" secondItem="G9u-v2-vFg" secondAttribute="trailing" id="gn3-8B-SEu"/>
<constraint firstAttribute="trailing" secondItem="jm7-6R-ha0" secondAttribute="trailing" id="i3f-z5-CnF"/>
</constraints>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="padding">
<integer key="value" value="20"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="SbF-is-irI" userLabel="videoMuteButton">
<rect key="frame" x="100" y="144" width="40" height="40"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="3Ce-Tz-gmS"/>
<constraint firstAttribute="width" constant="40" id="Md1-qV-m2B"/>
</constraints>
<state key="normal" title="Button" image="videoMuteButton"/>
<state key="selected" image="videoMuteButtonSelected"/>
<connections>
<action selector="onMinimize:" destination="b2p-gc-ilx" eventType="touchUpInside" id="O8X-2s-jcA"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KVg-mH-xm4" userLabel="controlButtons">
<rect key="frame" x="0.0" y="740" width="414" height="80"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IiK-H6-dWe" userLabel="videoMuteButton">
<rect key="frame" x="29" y="20.5" width="39" height="39"/>
<constraints>
<constraint firstAttribute="width" constant="39" id="epH-fv-DFg"/>
<constraint firstAttribute="height" constant="39" id="lw8-u6-AHv"/>
</constraints>
<state key="normal" title="Button" image="speakerOff"/>
<state key="selected" image="speakerOffSelected"/>
<connections>
<action selector="didClickSpeakerButton:" destination="b2p-gc-ilx" eventType="touchUpInside" id="VqG-6r-bor"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zBP-Dn-YDy" userLabel="muteButton">
<rect key="frame" x="98" y="20.5" width="39" height="39"/>
<constraints>
<constraint firstAttribute="width" constant="39" id="34S-GR-Pvs"/>
<constraint firstAttribute="height" constant="39" id="LPo-nT-kUW"/>
</constraints>
<state key="normal" title="Button" image="muteButton"/>
<state key="selected" image="muteButtonSelected"/>
<connections>
<action selector="didClickMuteButton:" destination="b2p-gc-ilx" eventType="touchUpInside" id="fds-Z7-UWJ"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NmB-7i-Gz4" userLabel="switchCameraButton">
<rect key="frame" x="352" y="20.5" width="39" height="39"/>
<constraints>
<constraint firstAttribute="width" constant="39" id="QuY-RX-WNA"/>
<constraint firstAttribute="height" constant="39" id="rSY-fC-sWw"/>
</constraints>
<state key="normal" title="Button" image="switchCameraButton"/>
<state key="selected" image="switchCameraButtonSelected"/>
<connections>
<action selector="didClickSwitchCameraButton:" destination="b2p-gc-ilx" eventType="touchUpInside" id="O00-fI-O7V"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IGy-pl-k7d" userLabel="hangUpButton">
<rect key="frame" x="174" y="4.5" width="71" height="71"/>
<constraints>
<constraint firstAttribute="width" constant="71" id="0p9-s0-QOx"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="71" id="Fit-03-kV6"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="71" id="Sti-eP-lRp"/>
<constraint firstAttribute="height" constant="71" id="Xzd-a8-XCo"/>
</constraints>
<state key="normal" image="hangUpButton"/>
<connections>
<action selector="hangUp:" destination="b2p-gc-ilx" eventType="touchUpInside" id="INK-vW-2Yb"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8Wk-fu-9kr" userLabel="videoMuteButton">
<rect key="frame" x="283" y="20.5" width="39" height="39"/>
<constraints>
<constraint firstAttribute="width" constant="39" id="Ti0-Dg-D3D"/>
<constraint firstAttribute="height" constant="39" id="ns3-il-i3c"/>
</constraints>
<state key="normal" title="Button" image="videoMuteButton"/>
<state key="selected" image="videoMuteButtonSelected"/>
<connections>
<action selector="didClickVideoMuteButton:" destination="b2p-gc-ilx" eventType="touchUpInside" id="PHA-7k-VGX"/>
</connections>
</button>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ej0-Zf-R8D" userLabel="controlButtonSpacer">
<rect key="frame" x="396" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="18" id="slg-UN-5bW"/>
<constraint firstAttribute="height" constant="80" id="zPf-sp-AzZ"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AH8-Cw-2IL" userLabel="controlButtonSpacer">
<rect key="frame" x="328" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="height" constant="80" id="VNu-2M-hQ1"/>
<constraint firstAttribute="width" priority="750" constant="18" id="vmO-di-Uyv"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dDf-ge-cLW" userLabel="controlButtonSpacer">
<rect key="frame" x="259" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="18" id="Vno-Lm-tZu"/>
<constraint firstAttribute="height" constant="80" id="hyd-oJ-rGA"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FbA-Dk-ico" userLabel="controlButtonSpacer">
<rect key="frame" x="143" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="18" id="71f-fb-y8A"/>
<constraint firstAttribute="height" constant="80" id="7Xq-7w-7mZ"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="byB-Nt-mx4" userLabel="controlButtonSpacer">
<rect key="frame" x="73" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="18" id="VXM-Nb-JGe"/>
<constraint firstAttribute="height" constant="80" id="u1c-Hb-fNi"/>
</constraints>
</view>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="KBh-v6-ruQ" userLabel="controlButtonSpacer">
<rect key="frame" x="6" y="0.0" width="18" height="80"/>
<constraints>
<constraint firstAttribute="width" priority="750" constant="18" id="3mi-E9-Vcv"/>
<constraint firstAttribute="height" constant="80" id="s4y-fE-XzV"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="ej0-Zf-R8D" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="149-bk-Eag"/>
<constraint firstItem="AH8-Cw-2IL" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="1L4-dR-Mnk"/>
<constraint firstItem="zBP-Dn-YDy" firstAttribute="leading" secondItem="byB-Nt-mx4" secondAttribute="trailing" constant="7" id="2A2-KE-7It"/>
<constraint firstItem="IiK-H6-dWe" firstAttribute="leading" secondItem="KBh-v6-ruQ" secondAttribute="trailing" constant="5" id="2DZ-gc-1ug"/>
<constraint firstItem="IGy-pl-k7d" firstAttribute="leading" secondItem="FbA-Dk-ico" secondAttribute="trailing" constant="13" id="4Id-tF-pBW"/>
<constraint firstItem="FbA-Dk-ico" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="4sL-7g-hu4"/>
<constraint firstItem="ej0-Zf-R8D" firstAttribute="width" secondItem="AH8-Cw-2IL" secondAttribute="width" id="4xd-Yr-5Bw"/>
<constraint firstItem="zBP-Dn-YDy" firstAttribute="leading" secondItem="byB-Nt-mx4" secondAttribute="trailing" constant="7" id="6K9-gI-et0"/>
<constraint firstItem="KBh-v6-ruQ" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="7lN-QJ-8io"/>
<constraint firstItem="AH8-Cw-2IL" firstAttribute="leading" secondItem="8Wk-fu-9kr" secondAttribute="trailing" constant="6" id="8sP-J8-7vu"/>
<constraint firstItem="FbA-Dk-ico" firstAttribute="leading" secondItem="zBP-Dn-YDy" secondAttribute="trailing" constant="6" id="ABO-A6-z0K"/>
<constraint firstItem="8Wk-fu-9kr" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="BBA-GJ-pgq"/>
<constraint firstItem="dDf-ge-cLW" firstAttribute="leading" secondItem="IGy-pl-k7d" secondAttribute="trailing" constant="14" id="BrM-AV-cbW"/>
<constraint firstAttribute="trailing" secondItem="ej0-Zf-R8D" secondAttribute="trailing" id="DvN-Yg-FbD"/>
<constraint firstItem="8Wk-fu-9kr" firstAttribute="leading" secondItem="dDf-ge-cLW" secondAttribute="trailing" constant="6" id="Gi9-kx-whA"/>
<constraint firstItem="NmB-7i-Gz4" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="InB-Qg-shj"/>
<constraint firstItem="NmB-7i-Gz4" firstAttribute="leading" secondItem="AH8-Cw-2IL" secondAttribute="trailing" constant="6" id="JyJ-xD-Ho9"/>
<constraint firstItem="byB-Nt-mx4" firstAttribute="width" secondItem="KBh-v6-ruQ" secondAttribute="width" id="PJi-K7-ZrI"/>
<constraint firstItem="IiK-H6-dWe" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="QAg-rL-ICa"/>
<constraint firstItem="8Wk-fu-9kr" firstAttribute="leading" secondItem="dDf-ge-cLW" secondAttribute="trailing" constant="6" id="Shg-tk-EV3"/>
<constraint firstItem="KBh-v6-ruQ" firstAttribute="leading" secondItem="KVg-mH-xm4" secondAttribute="leading" constant="6" id="TjN-gL-9ya"/>
<constraint firstItem="AH8-Cw-2IL" firstAttribute="width" secondItem="dDf-ge-cLW" secondAttribute="width" id="bVm-Xl-qXo"/>
<constraint firstItem="dDf-ge-cLW" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="c6f-dZ-jaQ"/>
<constraint firstItem="IGy-pl-k7d" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="cth-NI-krB"/>
<constraint firstItem="IiK-H6-dWe" firstAttribute="leading" secondItem="KBh-v6-ruQ" secondAttribute="trailing" constant="5" id="eSc-Nz-Afk"/>
<constraint firstItem="byB-Nt-mx4" firstAttribute="leading" secondItem="IiK-H6-dWe" secondAttribute="trailing" constant="5" id="esS-1V-cCt"/>
<constraint firstItem="byB-Nt-mx4" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="f7g-XN-H0E"/>
<constraint firstItem="AH8-Cw-2IL" firstAttribute="leading" secondItem="8Wk-fu-9kr" secondAttribute="trailing" constant="6" id="fa3-AR-Ry1"/>
<constraint firstItem="ej0-Zf-R8D" firstAttribute="leading" secondItem="NmB-7i-Gz4" secondAttribute="trailing" constant="5" id="hgr-2k-brQ"/>
<constraint firstItem="byB-Nt-mx4" firstAttribute="leading" secondItem="IiK-H6-dWe" secondAttribute="trailing" constant="5" id="jNK-jx-Kii"/>
<constraint firstAttribute="height" constant="80" id="knU-Yv-yYC"/>
<constraint firstItem="zBP-Dn-YDy" firstAttribute="centerY" secondItem="KVg-mH-xm4" secondAttribute="centerY" id="lSE-cx-45s"/>
<constraint firstItem="dDf-ge-cLW" firstAttribute="width" secondItem="FbA-Dk-ico" secondAttribute="width" id="m6u-Gu-Oeu"/>
<constraint firstItem="NmB-7i-Gz4" firstAttribute="leading" secondItem="AH8-Cw-2IL" secondAttribute="trailing" constant="6" id="pLg-3K-3Id"/>
<constraint firstItem="FbA-Dk-ico" firstAttribute="leading" secondItem="zBP-Dn-YDy" secondAttribute="trailing" constant="6" id="vNl-Q3-Wj4"/>
<constraint firstItem="FbA-Dk-ico" firstAttribute="width" secondItem="byB-Nt-mx4" secondAttribute="width" id="vVu-nZ-oxY"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="MaW-YR-Grr" secondAttribute="trailing" constant="20" id="3rk-D0-DBB"/>
<constraint firstItem="DUC-g9-g8v" firstAttribute="top" secondItem="luL-hd-4kD" secondAttribute="top" id="4Ky-2p-r9x"/>
<constraint firstItem="MaW-YR-Grr" firstAttribute="top" secondItem="luL-hd-4kD" secondAttribute="top" constant="40" id="5SY-6e-Hig"/>
<constraint firstAttribute="trailing" secondItem="KVg-mH-xm4" secondAttribute="trailing" id="Kuc-Ue-d79"/>
<constraint firstItem="DUC-g9-g8v" firstAttribute="top" secondItem="luL-hd-4kD" secondAttribute="top" id="Kue-OP-dRT"/>
<constraint firstItem="MaW-YR-Grr" firstAttribute="width" secondItem="luL-hd-4kD" secondAttribute="width" multiplier="0.3" id="L7X-Ui-jf3"/>
<constraint firstItem="DUC-g9-g8v" firstAttribute="leading" secondItem="luL-hd-4kD" secondAttribute="leading" id="NPg-Pi-Aod"/>
<constraint firstItem="DUC-g9-g8v" firstAttribute="leading" secondItem="luL-hd-4kD" secondAttribute="leading" id="P5k-AY-wQy"/>
<constraint firstAttribute="trailing" secondItem="UkE-3l-VTH" secondAttribute="trailing" constant="9" id="Qrw-9X-o5i"/>
<constraint firstItem="cVD-h1-8a5" firstAttribute="centerX" secondItem="luL-hd-4kD" secondAttribute="centerX" id="Rhe-IZ-Hny"/>
<constraint firstItem="SbF-is-irI" firstAttribute="leading" secondItem="luL-hd-4kD" secondAttribute="leading" constant="100" id="g1O-2O-4e7"/>
<constraint firstItem="UkE-3l-VTH" firstAttribute="top" secondItem="KVg-mH-xm4" secondAttribute="bottom" constant="24" id="gof-Z7-IST"/>
<constraint firstAttribute="bottom" secondItem="UkE-3l-VTH" secondAttribute="bottom" constant="22" id="iM4-FN-9ae"/>
<constraint firstAttribute="trailing" secondItem="DUC-g9-g8v" secondAttribute="trailing" id="jC9-hE-b72"/>
<constraint firstItem="WCW-Fr-JiI" firstAttribute="top" secondItem="KVg-mH-xm4" secondAttribute="bottom" constant="24" id="ngy-iA-BfO"/>
<constraint firstItem="SbF-is-irI" firstAttribute="top" secondItem="Bl3-5B-Sac" secondAttribute="bottom" constant="100" id="oG2-p5-nt5"/>
<constraint firstItem="cVD-h1-8a5" firstAttribute="centerY" secondItem="luL-hd-4kD" secondAttribute="centerY" id="uKa-wQ-e2k"/>
<constraint firstAttribute="bottom" secondItem="DUC-g9-g8v" secondAttribute="bottom" id="ukh-Za-bgW"/>
<constraint firstItem="KVg-mH-xm4" firstAttribute="leading" secondItem="luL-hd-4kD" secondAttribute="leading" id="xKr-RP-oem"/>
<constraint firstItem="aRc-fq-Dqx" firstAttribute="top" secondItem="KVg-mH-xm4" secondAttribute="bottom" constant="42" id="xvc-Vv-i6W"/>
<constraint firstAttribute="bottom" secondItem="WCW-Fr-JiI" secondAttribute="bottom" constant="22" id="y78-gt-CGK"/>
<constraint firstItem="WCW-Fr-JiI" firstAttribute="leading" secondItem="luL-hd-4kD" secondAttribute="leading" constant="14" id="ziS-Wg-YuS"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="eD6-jh-hyz"/>
<connections>
<outlet property="controlButtons" destination="KVg-mH-xm4" id="8HI-7t-dqa"/>
<outlet property="localVideo" destination="jm7-6R-ha0" id="Y8s-Sn-3MF"/>
<outlet property="localVideoMutedBg" destination="G9u-v2-vFg" id="fYn-Pe-ARy"/>
<outlet property="localvideoTopMargin" destination="5SY-6e-Hig" id="32I-Vr-q3V"/>
<outlet property="remoteVideo" destination="DUC-g9-g8v" id="NPJ-NA-uDF"/>
<outlet property="remoteVideoMutedIndicator" destination="cVD-h1-8a5" id="5Fb-7b-V6L"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="gZD-5T-0MU" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="26" y="2245"/>
<point key="canvasLocation" x="-797.66355140186909" y="2238.6609071274302"/>
</scene>
</scenes>
<resources>
<image name="camera_back" width="198" height="202"/>
<image name="camera_front" width="198" height="202"/>
<image name="end_call" width="488" height="488"/>
<image name="expand_video" width="202" height="199"/>
<image name="float_video" width="202" height="202"/>
<image name="hangUpButton" width="71" height="71"/>
<image name="hide_video_icon" width="50" height="8"/>
<image name="mic_mute" width="198" height="199"/>
<image name="mic_unmute" width="198" height="202"/>
<image name="muteButton" width="39" height="39"/>
<image name="muteButtonSelected" width="39" height="39"/>
<image name="speakerOff" width="39" height="39"/>
<image name="speakerOffSelected" width="39" height="39"/>
<image name="switchCameraButton" width="39" height="39"/>
<image name="switchCameraButtonSelected" width="39" height="39"/>
<image name="videoMuteButton" width="39" height="39"/>
<image name="videoMuteButtonSelected" width="39" height="39"/>
<image name="videoMutedIndicator" width="153.5" height="129"/>
<image name="video_mute" width="202" height="199"/>
<image name="video_unmute" width="202" height="202"/>

@ -32,8 +32,10 @@ class MainAppViewController: FlutterViewController{
videoCallChannel.setMethodCallHandler({
(call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
switch call.method {
case "openVideoCall":
self.startVideoCall(result: result, call: call)
case "openVideoCall":
self.startVideoCall(result: result, call: call)
case "showVideo":
self.showVideo()
default:
result(FlutterMethodNotImplemented)
}
@ -69,6 +71,10 @@ extension MainAppViewController : ICallProtocol{
}
}
private func showVideo(){
videoCallContainer.isHidden = false
}
private func startVideoCall(result: @escaping FlutterResult, call:FlutterMethodCall) {
videoCallFlutterResult = result
@ -78,6 +84,9 @@ extension MainAppViewController : ICallProtocol{
videoCallViewController.onMinimize = { min in
self.minimizeVideoCall(min)
}
videoCallViewController.onHide = {
self.videoCallContainer.isHidden = true
}
videoCallViewController.onClose = videoCallClosed
videoCallViewController.callBack = self
videoCallViewController.start(params: VideoCallRequestParameters(dictionary: arguments))

@ -35,23 +35,30 @@ class VideoCallViewController: UIViewController {
var isUserConnect : Bool = false
var onMinimize:((Bool)->Void)? = nil
var onHide:(()->Void)? = nil
var onClose:(()->Void)? = nil
@IBOutlet weak var lblRemoteUsername: UILabel!
// Bottom Actions
@IBOutlet weak var actionsHeightConstraint: NSLayoutConstraint!
@IBOutlet weak var videoMuteBtn: UIButton!
@IBOutlet weak var micMuteBtn: UIButton!
@IBOutlet weak var localvideoTopMargin: NSLayoutConstraint!
@IBOutlet var minimizeConstraint: [NSLayoutConstraint]!
@IBOutlet var maximisedConstraint: [NSLayoutConstraint]!
@IBOutlet weak var hideVideoBtn: UIButton!
@IBOutlet weak var draggableBoundryDefiner: UIView!
var localVideoDraggable:AADraggableView?
@IBOutlet weak var controlButtons: UIView!
@IBOutlet weak var remoteVideoMutedIndicator: UIImageView!
@IBOutlet weak var localVideoMutedBg: UIView!
@IBOutlet weak var lblCallDuration: UILabel!
@IBOutlet weak var remoteVideo: UIView!
@IBOutlet weak var localVideo: UIView!{
didSet{
localVideo.layer.borderColor = UIColor.white.cgColor
localVideoDraggable = localVideo?.superview as? AADraggableView
localVideoDraggable?.reposition = .edgesOnly
}
@ -59,6 +66,7 @@ class VideoCallViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
localVideoDraggable?.respectedView = draggableBoundryDefiner
}
@IBAction func didClickMuteButton(_ sender: UIButton) {
@ -107,12 +115,16 @@ class VideoCallViewController: UIViewController {
minimized = !minimized
onMinimize?(minimized)
sender.isSelected = minimized
NSLayoutConstraint.activate(minimized ? minimizeConstraint : maximisedConstraint)
NSLayoutConstraint.deactivate(minimized ? maximisedConstraint : minimizeConstraint)
localVideoDraggable?.enable(!minimized)
lblRemoteUsername.isHidden = minimized
hideVideoBtn.isHidden = !minimized
let min_ = minimized
UIView.animate(withDuration: 0.5) {
self.actionsHeightConstraint.constant = min_ ? 30 : 60
self.localvideoTopMargin.constant = min_ ? 20 : 40
self.videoMuteBtn.isHidden = min_
self.micMuteBtn.isHidden = min_
@ -125,6 +137,10 @@ class VideoCallViewController: UIViewController {
}
}
@IBAction func hideVideoBtnTapped(_ sender: Any) {
onHide?()
}
func start(params:VideoCallRequestParameters){
self.kApiKey = params.apiKey ?? ""
@ -352,6 +368,8 @@ extension VideoCallViewController: OTSessionDelegate {
}
publisher?.view!.frame = CGRect(x: 0, y: 0, width: localVideo.bounds.size.width, height: localVideo.bounds.size.height)
publisher?.view?.layer.cornerRadius = 5
publisher?.view?.clipsToBounds = true
localVideo.addSubview((publisher?.view)!)
}

Loading…
Cancel
Save