forked from mirrors/linphone-iphone
Change Chatroom creation view to support multiple contacts
This commit is contained in:
parent
c2397b08ac
commit
30e97d65ed
20 changed files with 541 additions and 85 deletions
|
|
@ -1,13 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="10089" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10072.1"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ChatConversationCreateView">
|
||||
<connections>
|
||||
<outlet property="allButton" destination="r3z-SM-lMq" id="DUC-gQ-gKu"/>
|
||||
<outlet property="backButton" destination="fNt-yb-wsf" id="ao7-bG-hIT"/>
|
||||
<outlet property="collectionView" destination="KRQ-Fm-3cQ" id="otM-cN-lEg"/>
|
||||
<outlet property="linphoneButton" destination="8lQ-fv-INK" id="zaP-UT-K4y"/>
|
||||
<outlet property="nextButton" destination="rBc-dQ-eIj" id="QHB-Xp-PTA"/>
|
||||
<outlet property="selectedButtonImage" destination="ibu-Ra-oZO" id="jvl-ay-cfh"/>
|
||||
<outlet property="tableController" destination="4" id="18"/>
|
||||
<outlet property="view" destination="5" id="14"/>
|
||||
</connections>
|
||||
|
|
@ -17,26 +26,74 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="5">
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5">
|
||||
<rect key="frame" x="0.0" y="42" width="375" height="559"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="7" userLabel="topBar">
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7" userLabel="topBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_F.png" id="jVg-vj-VOw" userLabel="backgroundColor">
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_F.png" translatesAutoresizingMaskIntoConstraints="NO" id="jVg-vj-VOw" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="fNt-yb-wsf" userLabel="backButton" customClass="UIIconButton">
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="d5Q-XR-FNz" userLabel="switchView">
|
||||
<rect key="frame" x="112" y="0.0" width="150" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r3z-SM-lMq" userLabel="allButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="All contacts filter"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="9"/>
|
||||
<inset key="titleEdgeInsets" minX="-38" minY="15" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="contacts_all_default.png">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="contacts_all_disabled.png"/>
|
||||
<state key="selected" image="contacts_all_selected.png">
|
||||
<color key="titleColor" red="0.98766469960000003" green="0.27512490750000002" blue="0.029739789660000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onAllClick:" destination="-1" eventType="touchUpInside" id="TG9-Df-iTU"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_A.png" translatesAutoresizingMaskIntoConstraints="NO" id="ibu-Ra-oZO" userLabel="selectedButtonImage">
|
||||
<rect key="frame" x="0.0" y="63" width="75" height="3"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="8lQ-fv-INK" userLabel="sipButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="75" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Linphone contacts filter"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="9"/>
|
||||
<state key="normal" image="contacts_sip_default.png">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="contacts_sip_disabled.png"/>
|
||||
<state key="selected" image="contacts_sip_selected.png">
|
||||
<color key="titleColor" red="0.98766469960000003" green="0.27512490750000002" blue="0.029739789660000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onLinphoneClick:" destination="-1" eventType="touchUpInside" id="wNL-jl-TU6"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fNt-yb-wsf" userLabel="backButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="back_default.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="back_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
|
|
@ -44,19 +101,40 @@
|
|||
<action selector="onBackClick:" destination="-1" eventType="touchUpInside" id="463-Qr-hJG"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rBc-dQ-eIj" userLabel="nextButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="300" y="0.0" width="75" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" image="next_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<state key="disabled" image="back_disabled.png"/>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onNextClick:" destination="-1" eventType="touchUpInside" id="yFF-js-mRx"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="6">
|
||||
<rect key="frame" x="5" y="110" width="365" height="449"/>
|
||||
<view contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KRQ-Fm-3cQ" userLabel="addedContacts" customClass="UICollectionView">
|
||||
<rect key="frame" x="8" y="110" width="359" height="70"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="addedContacts"/>
|
||||
</view>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="default" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="6">
|
||||
<rect key="frame" x="5" y="178" width="365" height="381"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="separatorColor" red="0.7254902124" green="0.76862746479999999" blue="0.79607844350000001" alpha="1" colorSpace="deviceRGB"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="separatorColor" red="0.67030966281890869" green="0.71867996454238892" blue="0.75078284740447998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="4" id="11"/>
|
||||
<outlet property="delegate" destination="4" id="12"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<searchBar contentMode="redraw" id="Rd9-hK-nqR" userLabel="Contact address">
|
||||
<searchBar contentMode="redraw" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Rd9-hK-nqR" userLabel="Contact address">
|
||||
<rect key="frame" x="0.0" y="66" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no"/>
|
||||
|
|
@ -65,11 +143,11 @@
|
|||
</connections>
|
||||
</searchBar>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<point key="canvasLocation" x="33.5" y="89.5"/>
|
||||
</view>
|
||||
<tableViewController autoresizesArchivedViewToFullSize="NO" id="4" userLabel="Suggested addresses" customClass="ChatConversationCreateTableView">
|
||||
<extendedEdge key="edgesForExtendedLayout"/>
|
||||
|
|
@ -78,12 +156,21 @@
|
|||
<outlet property="searchBar" destination="Rd9-hK-nqR" id="rLn-7q-CwC"/>
|
||||
<outlet property="view" destination="6" id="13"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="463" y="90"/>
|
||||
</tableViewController>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back_default.png" width="24" height="21"/>
|
||||
<image name="back_disabled.png" width="24" height="21"/>
|
||||
<image name="back_default.png" width="24" height="22"/>
|
||||
<image name="back_disabled.png" width="24" height="22"/>
|
||||
<image name="color_A.png" width="2" height="2"/>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
<image name="color_F.png" width="2" height="2"/>
|
||||
<image name="contacts_all_default.png" width="32" height="27"/>
|
||||
<image name="contacts_all_disabled.png" width="32" height="27"/>
|
||||
<image name="contacts_all_selected.png" width="32" height="27"/>
|
||||
<image name="contacts_sip_default.png" width="38" height="30"/>
|
||||
<image name="contacts_sip_disabled.png" width="38" height="30"/>
|
||||
<image name="contacts_sip_selected.png" width="38" height="30"/>
|
||||
<image name="next_default.png" width="24" height="22"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -146,9 +146,9 @@
|
|||
linphone_call_stats_get_upload_bandwidth(stats)]];
|
||||
[result appendString:@"\n"];
|
||||
if (stream == LinphoneStreamTypeVideo) {
|
||||
[result appendString:[NSString stringWithFormat:@"Estimated download bandwidth: %1.1f kbits/s",
|
||||
/*[result appendString:[NSString stringWithFormat:@"Estimated download bandwidth: %1.1f kbits/s",
|
||||
linphone_call_stats_get_estimated_download_bandwidth(stats)]];
|
||||
[result appendString:@"\n"];
|
||||
[result appendString:@"\n"];*/
|
||||
}
|
||||
[result
|
||||
appendString:[NSString stringWithFormat:@"ICE state: %@",
|
||||
|
|
|
|||
12
Classes/ChatConversationCreateCollectionViewController.h
Normal file
12
Classes/ChatConversationCreateCollectionViewController.h
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
//
|
||||
// ChatConversationCreateCollectionViewController.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 03/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ChatConversationCreateCollectionViewController : UICollectionViewController
|
||||
|
||||
@end
|
||||
97
Classes/ChatConversationCreateCollectionViewController.m
Normal file
97
Classes/ChatConversationCreateCollectionViewController.m
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
//
|
||||
// ChatConversationCreateCollectionViewController.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 03/10/2017.
|
||||
//
|
||||
|
||||
#import "ChatConversationCreateCollectionViewController.h"
|
||||
|
||||
@interface ChatConversationCreateCollectionViewController ()
|
||||
|
||||
@end
|
||||
|
||||
@implementation ChatConversationCreateCollectionViewController
|
||||
|
||||
static NSString * const reuseIdentifier = @"Cell";
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Uncomment the following line to preserve selection between presentations
|
||||
// self.clearsSelectionOnViewWillAppear = NO;
|
||||
|
||||
// Register cell classes
|
||||
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
|
||||
|
||||
// Do any additional setup after loading the view.
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
[super didReceiveMemoryWarning];
|
||||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
/*
|
||||
#pragma mark - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
// Get the new view controller using [segue destinationViewController].
|
||||
// Pass the selected object to the new view controller.
|
||||
}
|
||||
*/
|
||||
|
||||
/*#pragma mark <UICollectionViewDataSource>
|
||||
|
||||
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
|
||||
#warning Incomplete implementation, return the number of sections
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
||||
#warning Incomplete implementation, return the number of items
|
||||
return 0;
|
||||
}
|
||||
|
||||
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
|
||||
|
||||
// Configure the cell
|
||||
|
||||
return cell;
|
||||
}*/
|
||||
|
||||
#pragma mark <UICollectionViewDelegate>
|
||||
|
||||
/*
|
||||
// Uncomment this method to specify if the specified item should be highlighted during tracking
|
||||
- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Uncomment this method to specify if the specified item should be selected
|
||||
- (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Uncomment these methods to specify if an action menu should be displayed for the specified item, and react to actions performed on the item
|
||||
- (BOOL)collectionView:(UICollectionView *)collectionView shouldShowMenuForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (BOOL)collectionView:(UICollectionView *)collectionView canPerformAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)action forItemAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@end
|
||||
|
|
@ -10,5 +10,10 @@
|
|||
|
||||
@interface ChatConversationCreateTableView : UITableViewController <UISearchBarDelegate>
|
||||
@property(weak, nonatomic) IBOutlet UISearchBar *searchBar;
|
||||
@property(nonatomic) Boolean allFilter;
|
||||
@property(nonatomic, strong) NSMutableArray *contactsGroup;
|
||||
@property(nonatomic, strong) NSMutableDictionary *contactsDict;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
|
||||
- (void) loadData;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#import "UIChatCreateCell.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatCreateCollectionViewCell.h"
|
||||
|
||||
@interface ChatConversationCreateTableView ()
|
||||
|
||||
|
|
@ -21,26 +22,37 @@
|
|||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
self.allContacts =
|
||||
_allContacts =
|
||||
[[NSDictionary alloc] initWithDictionary:LinphoneManager.instance.fastAddressBook.addressBookMap];
|
||||
self.contacts = [[NSMutableDictionary alloc] initWithCapacity:_allContacts.count];
|
||||
[_searchBar becomeFirstResponder];
|
||||
_contacts = [[NSMutableDictionary alloc] initWithCapacity:_allContacts.count];
|
||||
_contactsGroup = [[NSMutableArray alloc] init];
|
||||
_contactsDict = [[NSMutableDictionary alloc] init];
|
||||
_allFilter = TRUE;
|
||||
[_searchBar setText:@""];
|
||||
[self searchBar:_searchBar textDidChange:_searchBar.text];
|
||||
self.tableView.accessibilityIdentifier = @"Suggested addresses";
|
||||
}
|
||||
|
||||
- (void) loadData {
|
||||
[self reloadDataWithFilter:_searchBar.text];
|
||||
}
|
||||
|
||||
- (void)reloadDataWithFilter:(NSString *)filter {
|
||||
[_contacts removeAllObjects];
|
||||
|
||||
[_allContacts enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {
|
||||
NSString *address = (NSString *)key;
|
||||
NSString *name = [FastAddressBook displayNameForContact:value];
|
||||
if ((filter.length == 0) || ([name.lowercaseString containsSubstring:filter.lowercaseString]) ||
|
||||
([address.lowercaseString containsSubstring:filter.lowercaseString])) {
|
||||
_contacts[address] = name;
|
||||
}
|
||||
NSString *address = (NSString *)key;
|
||||
NSString *name = [FastAddressBook displayNameForContact:value];
|
||||
Contact *contact = [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:address];
|
||||
Boolean linphoneContact = (contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(contact.friend)) == LinphonePresenceBasicStatusOpen);
|
||||
BOOL add = _allFilter || linphoneContact;
|
||||
|
||||
if (((filter.length == 0)
|
||||
|| ([name.lowercaseString containsSubstring:filter.lowercaseString])
|
||||
|| ([address.lowercaseString containsSubstring:filter.lowercaseString]))
|
||||
&& add) {
|
||||
_contacts[address] = name;
|
||||
}
|
||||
}];
|
||||
// also add current entry, if not listed
|
||||
NSString *nsuri = filter.lowercaseString;
|
||||
|
|
@ -74,48 +86,34 @@
|
|||
}
|
||||
cell.displayNameLabel.text = [_contacts.allValues objectAtIndex:indexPath.row];
|
||||
LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:[_contacts.allKeys objectAtIndex:indexPath.row]];
|
||||
Contact *contact = [LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:[_contacts.allKeys objectAtIndex:indexPath.row]];
|
||||
Boolean linphoneContact = (contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(contact.friend)) == LinphonePresenceBasicStatusOpen);
|
||||
cell.linphoneImage.hidden = !linphoneContact;
|
||||
if (addr) {
|
||||
cell.addressLabel.text = [NSString stringWithUTF8String:linphone_address_as_string(addr)];
|
||||
cell.addressLabel.text = [NSString stringWithUTF8String:linphone_address_as_string_uri_only(addr)];
|
||||
} else {
|
||||
cell.addressLabel.text = [_contacts.allKeys objectAtIndex:indexPath.row];
|
||||
}
|
||||
cell.selectedImage.hidden = ![_contactsGroup containsObject:cell.addressLabel.text];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
NSString *uri;
|
||||
LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:[_contacts.allKeys objectAtIndex:indexPath.row]];
|
||||
if (addr) {
|
||||
uri = [NSString stringWithUTF8String:linphone_address_as_string(addr)];
|
||||
} else {
|
||||
uri = [_contacts.allKeys objectAtIndex:indexPath.row];
|
||||
}
|
||||
LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri(LC, uri.UTF8String);
|
||||
if (!room) {
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Invalid address", nil)
|
||||
message:NSLocalizedString(@"Please specify the entire SIP address for the chat",
|
||||
nil)
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {}];
|
||||
defaultAction.accessibilityLabel = @"OK";
|
||||
[errView addAction:defaultAction];
|
||||
[PhoneMainView.instance presentViewController:errView animated:YES completion:nil];
|
||||
} else {
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
[view setChatRoom:room];
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription];
|
||||
// refresh list of chatrooms if we are using fragment
|
||||
if (IPAD) {
|
||||
ChatsListView *listView = VIEW(ChatsListView);
|
||||
[listView.tableController loadData];
|
||||
UIChatCreateCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
if(cell.selectedImage.hidden) {
|
||||
if(![_contactsGroup containsObject:cell.addressLabel.text]) {
|
||||
[_contactsGroup addObject:cell.addressLabel.text];
|
||||
_contactsDict[cell.addressLabel.text] = cell.displayNameLabel.text;
|
||||
[_collectionView registerClass:UIChatCreateCollectionViewCell.class forCellWithReuseIdentifier:cell.addressLabel.text];
|
||||
}
|
||||
} else if([_contactsGroup containsObject:cell.addressLabel.text]) {
|
||||
[_contactsGroup removeObject:cell.addressLabel.text];
|
||||
[_contactsDict removeObjectForKey:cell.addressLabel.text];
|
||||
}
|
||||
cell.selectedImage.hidden = !cell.selectedImage.hidden;
|
||||
[_collectionView reloadData];
|
||||
}
|
||||
|
||||
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
|
||||
|
|
|
|||
|
|
@ -8,13 +8,23 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ChatConversationCreateTableView.h"
|
||||
#import "ChatConversationCreateCollectionViewController.h"
|
||||
#import "UICompositeView.h"
|
||||
|
||||
@interface ChatConversationCreateView : UIViewController <UICompositeViewDelegate, UIGestureRecognizerDelegate>
|
||||
@interface ChatConversationCreateView : UIViewController <UICompositeViewDelegate, UIGestureRecognizerDelegate, UICollectionViewDataSource>
|
||||
|
||||
@property(strong, nonatomic) IBOutlet ChatConversationCreateTableView *tableController;
|
||||
@property(strong, nonatomic) IBOutlet ChatConversationCreateCollectionViewController *collectionController;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
|
||||
|
||||
@property(weak, nonatomic) IBOutlet UIIconButton *backButton;
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *nextButton;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *allButton;
|
||||
@property (weak, nonatomic) IBOutlet UIIconButton *linphoneButton;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *selectedButtonImage;
|
||||
|
||||
- (IBAction)onBackClick:(id)sender;
|
||||
- (IBAction)onNextClick:(id)sender;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#import "ChatConversationCreateView.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatCreateCollectionViewCell.h"
|
||||
|
||||
@implementation ChatConversationCreateView
|
||||
|
||||
|
|
@ -34,7 +35,6 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// if we use fragments, remove back button
|
||||
if (IPAD) {
|
||||
_backButton.hidden = YES;
|
||||
|
|
@ -44,11 +44,20 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
action:@selector(dismissKeyboards)];
|
||||
tap.delegate = self;
|
||||
[self.view addGestureRecognizer:tap];
|
||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
|
||||
layout.itemSize = CGSizeMake(100.0 , 50.0);
|
||||
_collectionController.collectionView = _collectionView;
|
||||
_collectionController = (ChatConversationCreateCollectionViewController *)[[UICollectionViewController alloc] initWithCollectionViewLayout:layout];
|
||||
_collectionView.dataSource = self;
|
||||
[_collectionView setCollectionViewLayout:layout];
|
||||
_tableController.collectionView = _collectionView;
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[_tableController.tableView reloadData];
|
||||
[_collectionView reloadData];
|
||||
[self changeView:ContactsAll];
|
||||
}
|
||||
|
||||
#pragma mark - searchBar delegate
|
||||
|
|
@ -57,12 +66,77 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[PhoneMainView.instance popCurrentView];
|
||||
}
|
||||
|
||||
- (IBAction)onNextClick:(id)sender {
|
||||
/*NSString *uri;
|
||||
LinphoneAddress *addr = [LinphoneUtils normalizeSipOrPhoneAddress:[_contacts.allKeys objectAtIndex:indexPath.row]];
|
||||
if (addr) {
|
||||
uri = [NSString stringWithUTF8String:linphone_address_as_string_uri_only(addr)];
|
||||
} else {
|
||||
uri = [_contacts.allKeys objectAtIndex:indexPath.row];
|
||||
}
|
||||
LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri(LC, uri.UTF8String);
|
||||
if (!room) {
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Invalid address", nil)
|
||||
message:NSLocalizedString(@"Please specify the entire SIP address for the chat",
|
||||
nil)
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK"
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {}];
|
||||
defaultAction.accessibilityLabel = @"OK";
|
||||
[errView addAction:defaultAction];
|
||||
[PhoneMainView.instance presentViewController:errView animated:YES completion:nil];
|
||||
} else {
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
[view setChatRoom:room];
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription];
|
||||
// refresh list of chatrooms if we are using fragment
|
||||
if (IPAD) {
|
||||
ChatsListView *listView = VIEW(ChatsListView);
|
||||
[listView.tableController loadData];
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
- (void)dismissKeyboards {
|
||||
if ([self.tableController.searchBar isFirstResponder]) {
|
||||
[self.tableController.searchBar resignFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Contacts filter
|
||||
|
||||
typedef enum { ContactsAll, ContactsLinphone, ContactsMAX } ContactsCategory;
|
||||
|
||||
- (void)changeView:(ContactsCategory)view {
|
||||
CGRect frame = _selectedButtonImage.frame;
|
||||
if (view == ContactsAll && !_allButton.selected) {
|
||||
frame.origin.x = _allButton.frame.origin.x;
|
||||
_allButton.selected = TRUE;
|
||||
_linphoneButton.selected = FALSE;
|
||||
_tableController.allFilter = TRUE;
|
||||
[_tableController loadData];
|
||||
} else if (view == ContactsLinphone && !_linphoneButton.selected) {
|
||||
frame.origin.x = _linphoneButton.frame.origin.x;
|
||||
_linphoneButton.selected = TRUE;
|
||||
_allButton.selected = FALSE;
|
||||
_tableController.allFilter = FALSE;
|
||||
[_tableController loadData];
|
||||
}
|
||||
_selectedButtonImage.frame = frame;
|
||||
}
|
||||
|
||||
- (IBAction)onAllClick:(id)event {
|
||||
[self changeView:ContactsAll];
|
||||
}
|
||||
|
||||
- (IBAction)onLinphoneClick:(id)event {
|
||||
[self changeView:ContactsLinphone];
|
||||
}
|
||||
|
||||
#pragma mark - GestureRecognizerDelegate
|
||||
|
||||
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
|
||||
|
|
@ -70,4 +144,22 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
return NO;
|
||||
}
|
||||
|
||||
#pragma mark - UICollectionViewDataSource
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
|
||||
return _tableController.contactsGroup.count;
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (UIChatCreateCollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *name = _tableController.contactsGroup[indexPath.item];
|
||||
UIChatCreateCollectionViewCell *cell = (UIChatCreateCollectionViewCell *)[_collectionView dequeueReusableCellWithReuseIdentifier:name forIndexPath:indexPath];
|
||||
cell.controller = self;
|
||||
cell.uri = name;
|
||||
cell = [cell initWithName:_tableController.contactsDict[name]];
|
||||
return cell;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -1,14 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="15B42" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIChatCreateCell">
|
||||
<connections>
|
||||
<outlet property="addressLabel" destination="Bjy-H9-VyJ" id="YFi-IY-Omd"/>
|
||||
<outlet property="displayNameLabel" destination="Hrt-Iz-T2j" id="0tY-FY-dFe"/>
|
||||
<outlet property="linphoneImage" destination="vhd-fK-M2m" id="hO8-lY-0Hh"/>
|
||||
<outlet property="selectedImage" destination="qMd-eD-DOW" id="m79-nU-deW"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
|
|
@ -16,33 +22,38 @@
|
|||
<rect key="frame" x="0.0" y="0.0" width="375" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="john.doe@linphone.org" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Bjy-H9-VyJ" userLabel="addressLabel">
|
||||
<rect key="frame" x="3" y="22" width="369" height="16"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="john.doe@linphone.org" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Bjy-H9-VyJ" userLabel="addressLabel">
|
||||
<rect key="frame" x="3" y="22" width="303" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<animations/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="textColor" red="0.98766469955444336" green="0.27512490749359131" blue="0.029739789664745331" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="John Doe" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Hrt-Iz-T2j" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="3" y="0.0" width="369" height="22"/>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="John Doe" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Hrt-Iz-T2j" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="3" y="0.0" width="303" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<animations/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="check_selected.png" id="qMd-eD-DOW" userLabel="selectedImage">
|
||||
<rect key="frame" x="347" y="9" width="21" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" misplaced="YES" image="linphone_user.png" id="vhd-fK-M2m" userLabel="linphoneImage">
|
||||
<rect key="frame" x="314" y="9" width="25" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Linphone"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<animations/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="556.5" y="214"/>
|
||||
</view>
|
||||
</objects>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
<resources>
|
||||
<image name="check_selected.png" width="47" height="32"/>
|
||||
<image name="linphone_user.png" width="26" height="22"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
@interface UIChatCreateCell : UITableViewCell
|
||||
@property(weak, nonatomic) IBOutlet UILabel *displayNameLabel;
|
||||
@property(weak, nonatomic) IBOutlet UILabel *addressLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *selectedImage;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage;
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier;
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@
|
|||
[self addSubview:sub];
|
||||
}
|
||||
}
|
||||
_selectedImage.hidden = TRUE;
|
||||
_linphoneImage.hidden = TRUE;
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
|
|||
17
Classes/LinphoneUI/UIChatCreateCollectionViewCell.h
Normal file
17
Classes/LinphoneUI/UIChatCreateCollectionViewCell.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// UIChatCreateCollectionViewCell.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 03/10/2017.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ChatConversationCreateView.h"
|
||||
|
||||
@interface UIChatCreateCollectionViewCell : UICollectionViewCell
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (strong, nonatomic) ChatConversationCreateView *controller;
|
||||
@property (strong, nonatomic) NSString *uri;
|
||||
- (id)initWithName:(NSString *)identifier;
|
||||
- (void)onDelete;
|
||||
@end
|
||||
39
Classes/LinphoneUI/UIChatCreateCollectionViewCell.m
Normal file
39
Classes/LinphoneUI/UIChatCreateCollectionViewCell.m
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
//
|
||||
// UIChatCreateCollectionViewCell.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 03/10/2017.
|
||||
//
|
||||
|
||||
#import "UIChatCreateCollectionViewCell.h"
|
||||
|
||||
@implementation UIChatCreateCollectionViewCell
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
}
|
||||
|
||||
- (id)initWithName:(NSString *)identifier {
|
||||
if (self != nil) {
|
||||
NSArray *arrayOfViews =
|
||||
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil];
|
||||
if ([arrayOfViews count] >= 1) {
|
||||
UIChatCreateCollectionViewCell *sub = ((UIChatCreateCollectionViewCell *)[arrayOfViews objectAtIndex:0]);
|
||||
[self addSubview:sub];
|
||||
_nameLabel = sub.nameLabel;
|
||||
}
|
||||
}
|
||||
[_nameLabel setText:identifier];
|
||||
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onDelete)];
|
||||
tap.numberOfTouchesRequired = 1;
|
||||
[self addGestureRecognizer:tap];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) onDelete {
|
||||
[_controller.tableController.contactsGroup removeObject:_uri];
|
||||
[_controller.tableController.contactsDict removeObjectForKey:_uri];
|
||||
[_controller.collectionView reloadData];
|
||||
[_controller.tableController.tableView reloadData];
|
||||
}
|
||||
@end
|
||||
44
Classes/LinphoneUI/UIChatCreateCollectionViewCell.xib
Normal file
44
Classes/LinphoneUI/UIChatCreateCollectionViewCell.xib
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="UIChatCreateCollectionViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="100" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="100" height="50"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="John Doe" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fHV-en-AZD" userLabel="displayNameLabel">
|
||||
<rect key="frame" x="14" y="18" width="92" height="20"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" image="conference_delete.png" translatesAutoresizingMaskIntoConstraints="NO" id="yfP-hQ-SXb" userLabel="selectedImage">
|
||||
<rect key="frame" x="1" y="23" width="10" height="10"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
<size key="customSize" width="170" height="45"/>
|
||||
<connections>
|
||||
<outlet property="nameLabel" destination="fHV-en-AZD" id="gOU-sp-v0V"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="2" y="86"/>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="conference_delete.png" width="11" height="11"/>
|
||||
</resources>
|
||||
</document>
|
||||
BIN
Resources/images/conference_delete.png
Normal file
BIN
Resources/images/conference_delete.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 266 B |
BIN
Resources/images/conference_delete@2x.png
Normal file
BIN
Resources/images/conference_delete@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 502 B |
BIN
Resources/images/next_default.png
Normal file
BIN
Resources/images/next_default.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 583 B |
BIN
Resources/images/next_default@2x.png
Normal file
BIN
Resources/images/next_default@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -681,7 +681,16 @@
|
|||
8C5BCEDF1EB385B100A9AAEF /* bctoolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C5BCEC71EB3859200A9AAEF /* bctoolbox.framework */; };
|
||||
8C5BCEE01EB385B100A9AAEF /* linphone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C5BCEC81EB3859200A9AAEF /* linphone.framework */; };
|
||||
8C73477C1D9BA3A00022EE8C /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */; };
|
||||
8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */; };
|
||||
8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */; };
|
||||
8C9C5E121F83BD97006987FA /* UIChatCreateCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */; };
|
||||
8CA2004C1D8158440095F859 /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CA2004B1D8158440095F859 /* PushKit.framework */; };
|
||||
8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC618C1F84D89B0087CF7F /* check_selected.png */; };
|
||||
8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CDC61961F84D9270087CF7F /* check_selected@2x.png */; };
|
||||
8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F491F8234A20077AC0A /* next_default.png */; };
|
||||
8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F4A1F8234A30077AC0A /* next_default@2x.png */; };
|
||||
8CE24F571F8268850077AC0A /* conference_delete.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F551F8268840077AC0A /* conference_delete.png */; };
|
||||
8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8CE24F561F8268840077AC0A /* conference_delete@2x.png */; };
|
||||
8CE845651EC3500A00A94D60 /* bctoolbox-tester.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C5BCEC61EB3859200A9AAEF /* bctoolbox-tester.framework */; };
|
||||
C90FAA7915AF54E6002091CB /* HistoryDetailsView.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */; };
|
||||
D306459E1611EC2A00BB571E /* UILoadingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = D306459D1611EC2900BB571E /* UILoadingImageView.m */; };
|
||||
|
|
@ -1675,7 +1684,18 @@
|
|||
8C5D1B9A1D9BC48100DC6539 /* UIShopTableCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIShopTableCell.m; sourceTree = "<group>"; };
|
||||
8C5D1B9B1D9BC48100DC6539 /* UIShopTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIShopTableCell.xib; sourceTree = "<group>"; };
|
||||
8C73477B1D9BA3A00022EE8C /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; };
|
||||
8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateCollectionViewController.h; sourceTree = "<group>"; };
|
||||
8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateCollectionViewController.m; sourceTree = "<group>"; };
|
||||
8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCollectionViewCell.h; sourceTree = "<group>"; };
|
||||
8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCollectionViewCell.m; sourceTree = "<group>"; };
|
||||
8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatCreateCollectionViewCell.xib; sourceTree = "<group>"; };
|
||||
8CA2004B1D8158440095F859 /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; };
|
||||
8CDC618C1F84D89B0087CF7F /* check_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = check_selected.png; path = "../../../ressources 27.07.17/check_selected.png"; sourceTree = "<group>"; };
|
||||
8CDC61961F84D9270087CF7F /* check_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "check_selected@2x.png"; path = "../../../ressources 27.07.17/check_selected@2x.png"; sourceTree = "<group>"; };
|
||||
8CE24F491F8234A20077AC0A /* next_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = next_default.png; sourceTree = "<group>"; };
|
||||
8CE24F4A1F8234A30077AC0A /* next_default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "next_default@2x.png"; sourceTree = "<group>"; };
|
||||
8CE24F551F8268840077AC0A /* conference_delete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = conference_delete.png; sourceTree = "<group>"; };
|
||||
8CE24F561F8268840077AC0A /* conference_delete@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "conference_delete@2x.png"; sourceTree = "<group>"; };
|
||||
C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsView.h; sourceTree = "<group>"; };
|
||||
C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsView.m; sourceTree = "<group>"; };
|
||||
C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1997,6 +2017,8 @@
|
|||
D3F83EEA1582021700336684 /* CallView.m */,
|
||||
D381881C15FE3FCA00C3EDCA /* CallView.xib */,
|
||||
638F1A861C2167C2004B8E02 /* CallView~ipad.xib */,
|
||||
8C9C5E0B1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.h */,
|
||||
8C9C5E0C1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m */,
|
||||
6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */,
|
||||
6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */,
|
||||
6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */,
|
||||
|
|
@ -2135,6 +2157,9 @@
|
|||
D3EA540F159853750037DC6B /* UIChatCell.h */,
|
||||
D3EA5410159853750037DC6B /* UIChatCell.m */,
|
||||
639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */,
|
||||
8C9C5E0E1F83BD97006987FA /* UIChatCreateCollectionViewCell.h */,
|
||||
8C9C5E0F1F83BD97006987FA /* UIChatCreateCollectionViewCell.m */,
|
||||
8C9C5E101F83BD97006987FA /* UIChatCreateCollectionViewCell.xib */,
|
||||
63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */,
|
||||
63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */,
|
||||
639E9CA81C0DB7F200019A75 /* UIChatCreateCell.xib */,
|
||||
|
|
@ -2387,6 +2412,12 @@
|
|||
633FEBE11D3CD5570014B822 /* images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8CDC61961F84D9270087CF7F /* check_selected@2x.png */,
|
||||
8CDC618C1F84D89B0087CF7F /* check_selected.png */,
|
||||
8CE24F551F8268840077AC0A /* conference_delete.png */,
|
||||
8CE24F561F8268840077AC0A /* conference_delete@2x.png */,
|
||||
8CE24F491F8234A20077AC0A /* next_default.png */,
|
||||
8CE24F4A1F8234A30077AC0A /* next_default@2x.png */,
|
||||
8C300D981E40E0CC00728EF3 /* lime_ko.png */,
|
||||
8C300D991E40E0CC00728EF3 /* lime_ko@2x.png */,
|
||||
8C2595E01DEDDC67007A6424 /* callkit_logo.png */,
|
||||
|
|
@ -3314,6 +3345,7 @@
|
|||
63AADBFF1B6A0FF200AA16FD /* assistant_external_sip.rc in Resources */,
|
||||
633FEE9E1D3CD55A0014B822 /* numpad_0_over@2x.png in Resources */,
|
||||
634610121B6140A500548952 /* CallOutgoingView.xib in Resources */,
|
||||
8CE24F581F8268850077AC0A /* conference_delete@2x.png in Resources */,
|
||||
633FEDC21D3CD5590014B822 /* call_hangup_default.png in Resources */,
|
||||
633FEEB41D3CD55A0014B822 /* numpad_3_default@2x.png in Resources */,
|
||||
8C2595E11DEDDC67007A6424 /* callkit_logo.png in Resources */,
|
||||
|
|
@ -3354,6 +3386,7 @@
|
|||
633FEE041D3CD5590014B822 /* cancel_edit_disabled.png in Resources */,
|
||||
633FEF4C1D3CD55A0014B822 /* splashscreen~ipad.png in Resources */,
|
||||
633FEDE61D3CD5590014B822 /* call_status_missed.png in Resources */,
|
||||
8CDC61971F84D9270087CF7F /* check_selected@2x.png in Resources */,
|
||||
633FEE7A1D3CD5590014B822 /* history_missed_default.png in Resources */,
|
||||
633FEF121D3CD55A0014B822 /* pause_big_over_selected.png in Resources */,
|
||||
633FED9D1D3CD5590014B822 /* add_field_default@2x.png in Resources */,
|
||||
|
|
@ -3396,6 +3429,7 @@
|
|||
633FEF301D3CD55A0014B822 /* route_speaker_disabled.png in Resources */,
|
||||
639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */,
|
||||
633FEDE91D3CD5590014B822 /* call_status_missed~ipad@2x.png in Resources */,
|
||||
8CE24F4C1F8234A30077AC0A /* next_default@2x.png in Resources */,
|
||||
244523B11E8266CC0037A187 /* chat_read.png in Resources */,
|
||||
639E9CAC1C0DB80300019A75 /* UIContactDetailsCell.xib in Resources */,
|
||||
633FEE511D3CD5590014B822 /* deselect_all@2x.png in Resources */,
|
||||
|
|
@ -3542,6 +3576,7 @@
|
|||
633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */,
|
||||
633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */,
|
||||
633FEF131D3CD55A0014B822 /* pause_big_over_selected@2x.png in Resources */,
|
||||
8CDC61951F84D89B0087CF7F /* check_selected.png in Resources */,
|
||||
633FEEF01D3CD55A0014B822 /* numpad_hash_over~ipad@2x.png in Resources */,
|
||||
63AADBF81B6A0FF200AA16FD /* linphonerc~ipad in Resources */,
|
||||
633FEE8F1D3CD55A0014B822 /* list_details_default@2x.png in Resources */,
|
||||
|
|
@ -3629,6 +3664,7 @@
|
|||
633FEE621D3CD5590014B822 /* footer_chat_default.png in Resources */,
|
||||
633FEE0D1D3CD5590014B822 /* chat_attachment_disabled@2x.png in Resources */,
|
||||
639E9CA61C0DB7F200019A75 /* UIChatCreateCell.xib in Resources */,
|
||||
8C9C5E121F83BD97006987FA /* UIChatCreateCollectionViewCell.xib in Resources */,
|
||||
633FEEA31D3CD55A0014B822 /* numpad_1_default.png in Resources */,
|
||||
633FEEA51D3CD55A0014B822 /* numpad_1_over.png in Resources */,
|
||||
633FEF2E1D3CD55A0014B822 /* route_speaker_default.png in Resources */,
|
||||
|
|
@ -3649,10 +3685,12 @@
|
|||
633FEF061D3CD55A0014B822 /* options_start_conference_default.png in Resources */,
|
||||
63AADC021B6A0FF200AA16FD /* assistant_remote.rc in Resources */,
|
||||
633FEF1E1D3CD55A0014B822 /* presence_online.png in Resources */,
|
||||
8CE24F571F8268850077AC0A /* conference_delete.png in Resources */,
|
||||
633FEDF41D3CD5590014B822 /* call_video_start_disabled.png in Resources */,
|
||||
633FEDD31D3CD5590014B822 /* call_quality_indicator_3@2x.png in Resources */,
|
||||
633FEE3A1D3CD5590014B822 /* contact_add_disabled.png in Resources */,
|
||||
633FEEA11D3CD55A0014B822 /* numpad_0~ipad.png in Resources */,
|
||||
8CE24F4B1F8234A30077AC0A /* next_default.png in Resources */,
|
||||
633FEE751D3CD5590014B822 /* history_all_disabled@2x.png in Resources */,
|
||||
633FEEF71D3CD55A0014B822 /* numpad_star_over@2x.png in Resources */,
|
||||
633FEE461D3CD5590014B822 /* contacts_sip_selected.png in Resources */,
|
||||
|
|
@ -3890,6 +3928,7 @@
|
|||
2214EB8912F84EBB002A5394 /* UIHangUpButton.m in Sources */,
|
||||
630CF5571AF7CE1500539F7A /* UITextField+DoneButton.m in Sources */,
|
||||
2214EBF312F86360002A5394 /* UIMutedMicroButton.m in Sources */,
|
||||
8C9C5E111F83BD97006987FA /* UIChatCreateCollectionViewCell.m in Sources */,
|
||||
22968A5F12F875C600588287 /* UISpeakerButton.m in Sources */,
|
||||
63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */,
|
||||
22C755601317E59C007BC101 /* UIBluetoothButton.m in Sources */,
|
||||
|
|
@ -3940,6 +3979,7 @@
|
|||
D3F26BF115986B73005F9CAB /* CallIncomingView.m in Sources */,
|
||||
D31B4B21159876C0002E6C72 /* UICompositeView.m in Sources */,
|
||||
D31AAF5E159B3919002C6B02 /* CallPausedTableView.m in Sources */,
|
||||
8C9C5E0D1F83B2EF006987FA /* ChatConversationCreateCollectionViewController.m in Sources */,
|
||||
631098491D4660580041F2B3 /* CountryListView.m in Sources */,
|
||||
D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */,
|
||||
D350F20E15A43BB100149E54 /* AssistantView.m in Sources */,
|
||||
|
|
@ -4598,7 +4638,7 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\"";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||
|
|
@ -4701,7 +4741,7 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\"";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||
|
|
@ -4804,7 +4844,7 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\"";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||
|
|
@ -4908,7 +4948,7 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = NO;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_CFLAGS = "-DORTP_LOG_DOMAIN=\\\"ios\\\"";
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 127d5aa728a421151c7cd497701181859b271978
|
||||
Subproject commit ab1e07c8b702a93a7fd7d654bc61ccccd7ccfdc4
|
||||
Loading…
Add table
Reference in a new issue