mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-05-06 21:33:08 +00:00
chat: search view
This commit is contained in:
parent
eea9d0e11f
commit
31ba4d0a51
29 changed files with 473 additions and 494 deletions
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
|
|
@ -117,7 +117,7 @@
|
|||
</accessibility>
|
||||
</view>
|
||||
<view contentMode="scaleAspectFit" id="127" userLabel="preview">
|
||||
<rect key="frame" x="254.00000029960563" y="354.99999967643191" width="113" height="140"/>
|
||||
<rect key="frame" x="254" y="354.99999934763446" width="113" height="140"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
</view>
|
||||
|
|
@ -538,43 +538,43 @@
|
|||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="avatar.png" width="261" height="261"/>
|
||||
<image name="call_hangup.png" width="42" height="37"/>
|
||||
<image name="camera_default.png" width="33" height="19"/>
|
||||
<image name="camera_selected.png" width="33" height="19"/>
|
||||
<image name="camera_switch_default.png" width="52" height="52"/>
|
||||
<image name="camera_switch_disabled.png" width="52" height="52"/>
|
||||
<image name="camera_switch_over.png" width="52" height="52"/>
|
||||
<image name="avatar.png" width="255" height="255"/>
|
||||
<image name="call_hangup.png" width="41" height="36"/>
|
||||
<image name="camera_default.png" width="32" height="19"/>
|
||||
<image name="camera_selected.png" width="32" height="19"/>
|
||||
<image name="camera_switch_default.png" width="51" height="50"/>
|
||||
<image name="camera_switch_disabled.png" width="51" height="50"/>
|
||||
<image name="camera_switch_over.png" width="51" height="50"/>
|
||||
<image name="color_C.png" width="1" height="1"/>
|
||||
<image name="color_D.png" width="1" height="1"/>
|
||||
<image name="color_F.png" width="1" height="1"/>
|
||||
<image name="color_L.png" width="1" height="1"/>
|
||||
<image name="conference_start.png" width="34" height="34"/>
|
||||
<image name="footer_chat.png" width="28" height="28"/>
|
||||
<image name="footer_dialer.png" width="28" height="28"/>
|
||||
<image name="micro_default.png" width="30" height="38"/>
|
||||
<image name="micro_selected.png" width="30" height="38"/>
|
||||
<image name="numpad_0.png" width="53" height="50"/>
|
||||
<image name="numpad_1.png" width="53" height="49"/>
|
||||
<image name="numpad_2.png" width="53" height="50"/>
|
||||
<image name="numpad_3.png" width="53" height="50"/>
|
||||
<image name="numpad_4.png" width="53" height="49"/>
|
||||
<image name="numpad_5.png" width="53" height="49"/>
|
||||
<image name="numpad_6.png" width="53" height="50"/>
|
||||
<image name="numpad_7.png" width="53" height="49"/>
|
||||
<image name="numpad_8.png" width="53" height="50"/>
|
||||
<image name="numpad_9.png" width="53" height="50"/>
|
||||
<image name="conference_start.png" width="33" height="33"/>
|
||||
<image name="footer_chat.png" width="27" height="27"/>
|
||||
<image name="footer_dialer.png" width="27" height="27"/>
|
||||
<image name="micro_default.png" width="29" height="37"/>
|
||||
<image name="micro_selected.png" width="29" height="37"/>
|
||||
<image name="numpad_0.png" width="52" height="48"/>
|
||||
<image name="numpad_1.png" width="52" height="48"/>
|
||||
<image name="numpad_2.png" width="52" height="48"/>
|
||||
<image name="numpad_3.png" width="52" height="48"/>
|
||||
<image name="numpad_4.png" width="52" height="48"/>
|
||||
<image name="numpad_5.png" width="52" height="48"/>
|
||||
<image name="numpad_6.png" width="52" height="48"/>
|
||||
<image name="numpad_7.png" width="52" height="48"/>
|
||||
<image name="numpad_8.png" width="52" height="48"/>
|
||||
<image name="numpad_9.png" width="52" height="48"/>
|
||||
<image name="numpad_sharp.png" width="53" height="50"/>
|
||||
<image name="numpad_star.png" width="53" height="52"/>
|
||||
<image name="options_add_call.png" width="30" height="31"/>
|
||||
<image name="options_default.png" width="26" height="26"/>
|
||||
<image name="options_selected.png" width="26" height="26"/>
|
||||
<image name="options_transfer_call.png" width="30" height="31"/>
|
||||
<image name="pause_big_default.png" width="52" height="52"/>
|
||||
<image name="pause_big_disabled.png" width="52" height="52"/>
|
||||
<image name="pause_big_over_selected.png" width="52" height="52"/>
|
||||
<image name="speaker_default.png" width="28" height="26"/>
|
||||
<image name="speaker_selected.png" width="28" height="26"/>
|
||||
<image name="numpad_star.png" width="52" height="50"/>
|
||||
<image name="options_add_call.png" width="29" height="30"/>
|
||||
<image name="options_default.png" width="25" height="25"/>
|
||||
<image name="options_selected.png" width="25" height="25"/>
|
||||
<image name="options_transfer_call.png" width="29" height="30"/>
|
||||
<image name="pause_big_default.png" width="51" height="50"/>
|
||||
<image name="pause_big_disabled.png" width="51" height="50"/>
|
||||
<image name="pause_big_over_selected.png" width="51" height="50"/>
|
||||
<image name="speaker_default.png" width="27" height="25"/>
|
||||
<image name="speaker_selected.png" width="27" height="25"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
|
|
|
|||
89
Classes/Base.lproj/ChatConversationCreateView.xib
Normal file
89
Classes/Base.lproj/ChatConversationCreateView.xib
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ChatConversationCreateView">
|
||||
<connections>
|
||||
<outlet property="tableController" destination="4" id="18"/>
|
||||
<outlet property="view" destination="5" id="14"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="WKv-mw-S2B" userLabel="iphone6MetricsView">
|
||||
<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">
|
||||
<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">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="40"/>
|
||||
<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">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="fNt-yb-wsf" userLabel="backButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="75" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="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.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="highlighted" backgroundImage="color_E.png"/>
|
||||
<connections>
|
||||
<action selector="onBackClick:" destination="-1" eventType="touchUpInside" id="463-Qr-hJG"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
</view>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="60" sectionHeaderHeight="22" sectionFooterHeight="22" id="6" userLabel="tableView">
|
||||
<rect key="frame" x="0.0" y="84" width="375" height="475"/>
|
||||
<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"/>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="4" id="11"/>
|
||||
<outlet property="delegate" destination="4" id="12"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
<searchBar contentMode="redraw" id="Rd9-hK-nqR">
|
||||
<rect key="frame" x="0.0" y="40" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
<textInputTraits key="textInputTraits"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="4" id="MJr-oP-Hib"/>
|
||||
</connections>
|
||||
</searchBar>
|
||||
</subviews>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
|
||||
</view>
|
||||
<tableViewController autoresizesArchivedViewToFullSize="NO" id="4" userLabel="tableController" customClass="ChatConversationCreateTableView">
|
||||
<extendedEdge key="edgesForExtendedLayout"/>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<connections>
|
||||
<outlet property="view" destination="6" id="13"/>
|
||||
</connections>
|
||||
</tableViewController>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="back.png" width="24" height="21"/>
|
||||
<image name="color_E.png" width="1" height="1"/>
|
||||
<image name="color_F.png" width="1" height="1"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
<simulatedOrientationMetrics key="orientation"/>
|
||||
<simulatedScreenMetrics key="destination" type="retina4"/>
|
||||
</simulatedMetricsContainer>
|
||||
</document>
|
||||
|
|
@ -64,11 +64,14 @@
|
|||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="Wzg-i0-spp" userLabel="callButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="225" y="0.0" width="75" height="40"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" image="status_busy.png">
|
||||
<state key="normal" image="call_alt_start.png">
|
||||
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</state>
|
||||
<state key="disabled" image="call_start_body_disabled.png"/>
|
||||
<state key="highlighted" image="call_start_body_over.png"/>
|
||||
<connections>
|
||||
<action selector="onCallClick:" destination="-1" eventType="touchUpInside" id="Dsf-nS-K3V"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="10" userLabel="editButton" customClass="UIToggleButton">
|
||||
<rect key="frame" x="300" y="0.0" width="75" height="40"/>
|
||||
|
|
@ -87,15 +90,15 @@
|
|||
</subviews>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="49" userLabel="contentView">
|
||||
<rect key="frame" x="0.0" y="44" width="375" height="515"/>
|
||||
<rect key="frame" x="0.0" y="40" width="375" height="515"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" id="bJF-qS-vBP" userLabel="chatView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="446"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="450"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="60" sectionHeaderHeight="22" sectionFooterHeight="22" id="8" userLabel="messagesTableView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="418"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="422"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<gestureRecognizers/>
|
||||
|
|
@ -105,7 +108,7 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
<view contentMode="scaleToFill" id="fx4-ao-53M" userLabel="composeIndicatorView">
|
||||
<rect key="frame" x="0.0" y="426" width="375" height="22"/>
|
||||
<rect key="frame" x="0.0" y="427" width="375" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="%@ is composing..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="fpY-Fv-ht2" userLabel="composeLabel">
|
||||
|
|
@ -185,6 +188,7 @@
|
|||
</objects>
|
||||
<resources>
|
||||
<image name="back.png" width="24" height="21"/>
|
||||
<image name="call_alt_start.png" width="29" height="29"/>
|
||||
<image name="call_start_body_disabled.png" width="51" height="51"/>
|
||||
<image name="call_start_body_over.png" width="51" height="51"/>
|
||||
<image name="chat_picture_default.png" width="25" height="19"/>
|
||||
|
|
@ -194,7 +198,6 @@
|
|||
<image name="color_E.png" width="1" height="1"/>
|
||||
<image name="color_F.png" width="1" height="1"/>
|
||||
<image name="edit_list.png" width="29" height="28"/>
|
||||
<image name="status_busy.png" width="27" height="28"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
|
|
|
|||
|
|
@ -30,16 +30,6 @@
|
|||
@synthesize call;
|
||||
@synthesize delegate;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ChatConversationSearchTableView : UITableViewController <UISearchBarDelegate>
|
||||
@interface ChatConversationCreateTableView : UITableViewController <UISearchBarDelegate>
|
||||
|
||||
@end
|
||||
96
Classes/ChatConversationCreateTableView.m
Normal file
96
Classes/ChatConversationCreateTableView.m
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
//
|
||||
// MyTableViewController.m
|
||||
// UISearchDisplayController
|
||||
//
|
||||
// Created by Phillip Harris on 4/19/14.
|
||||
// Copyright (c) 2014 Phillip Harris. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ChatConversationCreateTableView.h"
|
||||
#import "UIChatCreateCell.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
@interface ChatConversationCreateTableView ()
|
||||
|
||||
@property(nonatomic, strong) NSMutableArray *contacts;
|
||||
@property(nonatomic, strong) NSMutableArray *allContacts;
|
||||
@end
|
||||
|
||||
@implementation ChatConversationCreateTableView
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
self.contacts = [[NSMutableArray alloc] init];
|
||||
self.allContacts = [[NSMutableArray alloc] init];
|
||||
for (NSString *ref in LinphoneManager.instance.fastAddressBook.addressBookMap.allKeys) {
|
||||
[self.contacts addObject:ref];
|
||||
[self.allContacts addObject:ref];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)reloadDataWithFilter:(NSString *)filter {
|
||||
[_contacts removeAllObjects];
|
||||
if (filter.length == 0) {
|
||||
_contacts = [[NSMutableArray alloc] initWithArray:_allContacts];
|
||||
} else {
|
||||
for (NSString *contact in _allContacts) {
|
||||
if ([contact containsString:filter]) {
|
||||
[_contacts addObject:contact];
|
||||
}
|
||||
}
|
||||
}
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return [self.contacts count];
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *kCellId = NSStringFromClass(UIChatCreateCell.class);
|
||||
UIChatCreateCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[UIChatCreateCell alloc] initWithIdentifier:kCellId];
|
||||
}
|
||||
|
||||
cell.addressLabel.text = _contacts[indexPath.row];
|
||||
const LinphoneAddress *addr = linphone_address_new(cell.addressLabel.text.UTF8String);
|
||||
[ContactDisplay setDisplayNameLabel:cell.displayNameLabel forAddress:addr];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
LinphoneChatRoom *room = linphone_core_get_chat_room_from_uri([LinphoneManager getLc],
|
||||
((NSString *)_contacts[indexPath.row]).UTF8String);
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
[view setChatRoom:room];
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription push:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
|
||||
// display searchtext in UPPERCASE
|
||||
searchBar.showsCancelButton = (searchText.length > 0);
|
||||
[self reloadDataWithFilter:searchText];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
|
||||
[searchBar setShowsCancelButton:FALSE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
|
||||
[searchBar setShowsCancelButton:TRUE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
|
||||
[searchBar resignFirstResponder];
|
||||
}
|
||||
|
||||
@end
|
||||
17
Classes/ChatConversationCreateView.h
Normal file
17
Classes/ChatConversationCreateView.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ChatConversationCreateViewViewController.h
|
||||
// linphone
|
||||
//
|
||||
// Created by Gautier Pelloux-Prayer on 12/10/15.
|
||||
//
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ChatConversationCreateTableView.h"
|
||||
#import "UICompositeView.h"
|
||||
|
||||
@interface ChatConversationCreateView : UIViewController <UICompositeViewDelegate, UISearchBarDelegate>
|
||||
@property(strong, nonatomic) IBOutlet ChatConversationCreateTableView *tableController;
|
||||
- (IBAction)onBackClick:(id)sender;
|
||||
|
||||
@end
|
||||
59
Classes/ChatConversationCreateView.m
Normal file
59
Classes/ChatConversationCreateView.m
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
//
|
||||
// ChatConversationCreateViewViewController.m
|
||||
// linphone
|
||||
//
|
||||
// Created by Gautier Pelloux-Prayer on 12/10/15.
|
||||
//
|
||||
//
|
||||
|
||||
#import "ChatConversationCreateView.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
@implementation ChatConversationCreateView
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
||||
+ (UICompositeViewDescription *)compositeViewDescription {
|
||||
if (compositeDescription == nil) {
|
||||
compositeDescription = [[UICompositeViewDescription alloc] init:self.class
|
||||
statusBar:StatusBarView.class
|
||||
tabBar:TabBarView.class
|
||||
fullscreen:false
|
||||
landscapeMode:false
|
||||
portraitMode:true];
|
||||
}
|
||||
return compositeDescription;
|
||||
}
|
||||
|
||||
- (UICompositeViewDescription *)compositeViewDescription {
|
||||
return self.class.compositeViewDescription;
|
||||
}
|
||||
|
||||
#pragma mark - searchBar delegate
|
||||
|
||||
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
|
||||
// // display searchtext in UPPERCASE
|
||||
// // searchBar.text = [searchText uppercaseString];
|
||||
// searchBar.showsCancelButton = (searchText.length > 0);
|
||||
// [ContactSelection setNameOrEmailFilter:searchText];
|
||||
// [tableController loadData];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
|
||||
[searchBar setShowsCancelButton:FALSE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
|
||||
[searchBar setShowsCancelButton:TRUE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
|
||||
[searchBar resignFirstResponder];
|
||||
}
|
||||
|
||||
- (IBAction)onBackClick:(id)sender {
|
||||
[PhoneMainView.instance popCurrentView];
|
||||
}
|
||||
@end
|
||||
|
|
@ -1,330 +0,0 @@
|
|||
//
|
||||
// MyTableViewController.m
|
||||
// UISearchDisplayController
|
||||
//
|
||||
// Created by Phillip Harris on 4/19/14.
|
||||
// Copyright (c) 2014 Phillip Harris. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ChatConversationSearchTableView.h"
|
||||
|
||||
@interface ChatConversationSearchTableView ()
|
||||
|
||||
@property(nonatomic, strong) NSArray *names;
|
||||
@property(nonatomic, strong) NSArray *searchResults;
|
||||
|
||||
@end
|
||||
|
||||
@implementation ChatConversationSearchTableView
|
||||
|
||||
//===============================================
|
||||
#pragma mark -
|
||||
#pragma mark Initialization
|
||||
//===============================================
|
||||
|
||||
- (id)initWithStyle:(UITableViewStyle)style {
|
||||
self = [super initWithStyle:style];
|
||||
if (self) {
|
||||
[self commonInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithCoder:(NSCoder *)coder {
|
||||
self = [super initWithCoder:coder];
|
||||
if (self) {
|
||||
[self commonInit];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)commonInit {
|
||||
_names = @[
|
||||
@"Aaliyah",
|
||||
@"Aaron",
|
||||
@"Abigail",
|
||||
@"Adam",
|
||||
@"Addison",
|
||||
@"Adrian",
|
||||
@"Aiden",
|
||||
@"Alex",
|
||||
@"Alexa",
|
||||
@"Alexander",
|
||||
@"Alexandra",
|
||||
@"Alexis",
|
||||
@"Allison",
|
||||
@"Alyssa",
|
||||
@"Amelia",
|
||||
@"Andrea",
|
||||
@"Andrew",
|
||||
@"Angel",
|
||||
@"Anna",
|
||||
@"Annabelle",
|
||||
@"Anthony",
|
||||
@"Aria",
|
||||
@"Ariana",
|
||||
@"Arianna",
|
||||
@"Ashley",
|
||||
@"Aubree",
|
||||
@"Aubrey",
|
||||
@"Audrey",
|
||||
@"Austin",
|
||||
@"Autumn",
|
||||
@"Ava",
|
||||
@"Avery",
|
||||
@"Ayden",
|
||||
@"Bailey",
|
||||
@"Bella",
|
||||
@"Benjamin",
|
||||
@"Bentley",
|
||||
@"Blake",
|
||||
@"Brandon",
|
||||
@"Brayden",
|
||||
@"Brianna",
|
||||
@"Brody",
|
||||
@"Brooklyn",
|
||||
@"Bryson",
|
||||
@"Caleb",
|
||||
@"Cameron",
|
||||
@"Camila",
|
||||
@"Carlos",
|
||||
@"Caroline",
|
||||
@"Carson",
|
||||
@"Carter",
|
||||
@"Charles",
|
||||
@"Charlotte",
|
||||
@"Chase",
|
||||
@"Chloe",
|
||||
@"Christian",
|
||||
@"Christopher",
|
||||
@"Claire",
|
||||
@"Colton",
|
||||
@"Connor",
|
||||
@"Cooper",
|
||||
@"Damian",
|
||||
@"Daniel",
|
||||
@"David",
|
||||
@"Dominic",
|
||||
@"Dylan",
|
||||
@"Easton",
|
||||
@"Eli",
|
||||
@"Elijah",
|
||||
@"Elizabeth",
|
||||
@"Ella",
|
||||
@"Ellie",
|
||||
@"Emily",
|
||||
@"Emma",
|
||||
@"Ethan",
|
||||
@"Eva",
|
||||
@"Evan",
|
||||
@"Evelyn",
|
||||
@"Faith",
|
||||
@"Gabriel",
|
||||
@"Gabriella",
|
||||
@"Gavin",
|
||||
@"Genesis",
|
||||
@"Gianna",
|
||||
@"Grace",
|
||||
@"Grayson",
|
||||
@"Hailey",
|
||||
@"Hannah",
|
||||
@"Harper",
|
||||
@"Henry",
|
||||
@"Hudson",
|
||||
@"Hunter",
|
||||
@"Ian",
|
||||
@"Isaac",
|
||||
@"Isabella",
|
||||
@"Isaiah",
|
||||
@"Jace",
|
||||
@"Jack",
|
||||
@"Jackson",
|
||||
@"Jacob",
|
||||
@"James",
|
||||
@"Jasmine",
|
||||
@"Jason",
|
||||
@"Jaxon",
|
||||
@"Jayden",
|
||||
@"Jeremiah",
|
||||
@"Jocelyn",
|
||||
@"John",
|
||||
@"Jonathan",
|
||||
@"Jordan",
|
||||
@"Jose",
|
||||
@"Joseph",
|
||||
@"Joshua",
|
||||
@"Josiah",
|
||||
@"Juan",
|
||||
@"Julia",
|
||||
@"Julian",
|
||||
@"Justin",
|
||||
@"Katherine",
|
||||
@"Kayden",
|
||||
@"Kayla",
|
||||
@"Kaylee",
|
||||
@"Kennedy",
|
||||
@"Kevin",
|
||||
@"Khloe",
|
||||
@"Kimberly",
|
||||
@"Kylie",
|
||||
@"Landon",
|
||||
@"Lauren",
|
||||
@"Layla",
|
||||
@"Leah",
|
||||
@"Levi",
|
||||
@"Liam",
|
||||
@"Lillian",
|
||||
@"Lily",
|
||||
@"Logan",
|
||||
@"London",
|
||||
@"Lucas",
|
||||
@"Lucy",
|
||||
@"Luis",
|
||||
@"Luke",
|
||||
@"Lydia",
|
||||
@"Mackenzie",
|
||||
@"Madeline",
|
||||
@"Madelyn",
|
||||
@"Madison",
|
||||
@"Makayla",
|
||||
@"Mason",
|
||||
@"Matthew",
|
||||
@"Maya",
|
||||
@"Melanie",
|
||||
@"Mia",
|
||||
@"Michael",
|
||||
@"Molly",
|
||||
@"Morgan",
|
||||
@"Naomi",
|
||||
@"Natalie",
|
||||
@"Nathan",
|
||||
@"Nathaniel",
|
||||
@"Nevaeh",
|
||||
@"Nicholas",
|
||||
@"Noah",
|
||||
@"Nolan",
|
||||
@"Oliver",
|
||||
@"Olivia",
|
||||
@"Owen",
|
||||
@"Parker",
|
||||
@"Peyton",
|
||||
@"Piper",
|
||||
@"Reagan",
|
||||
@"Riley",
|
||||
@"Robert",
|
||||
@"Ryan",
|
||||
@"Ryder",
|
||||
@"Samantha",
|
||||
@"Samuel",
|
||||
@"Sarah",
|
||||
@"Savannah",
|
||||
@"Scarlett",
|
||||
@"Sebastian",
|
||||
@"Serenity",
|
||||
@"Skylar",
|
||||
@"Sofia",
|
||||
@"Sophia",
|
||||
@"Sophie",
|
||||
@"Stella",
|
||||
@"Sydney",
|
||||
@"Taylor",
|
||||
@"Thomas",
|
||||
@"Trinity",
|
||||
@"Tristan",
|
||||
@"Tyler",
|
||||
@"Victoria",
|
||||
@"Violet",
|
||||
@"William",
|
||||
@"Wyatt",
|
||||
@"Xavier",
|
||||
@"Zachary",
|
||||
@"Zoe",
|
||||
@"Zoey"
|
||||
];
|
||||
}
|
||||
|
||||
//===============================================
|
||||
#pragma mark -
|
||||
#pragma mark View Methods
|
||||
//===============================================
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[self configureTableView:self.tableView];
|
||||
}
|
||||
|
||||
//===============================================
|
||||
#pragma mark -
|
||||
#pragma mark Helper
|
||||
//===============================================
|
||||
|
||||
- (void)configureTableView:(UITableView *)tableView {
|
||||
//
|
||||
tableView.separatorInset = UIEdgeInsetsZero;
|
||||
|
||||
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cellId"];
|
||||
|
||||
UIView *tableFooterViewToGetRidOfBlankRows = [[UIView alloc] initWithFrame:CGRectZero];
|
||||
tableFooterViewToGetRidOfBlankRows.backgroundColor = [UIColor clearColor];
|
||||
tableView.tableFooterView = tableFooterViewToGetRidOfBlankRows;
|
||||
}
|
||||
|
||||
//===============================================
|
||||
#pragma mark -
|
||||
#pragma mark UITableView
|
||||
//===============================================
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
|
||||
// if (tableView == self.tableView) {
|
||||
return [self.names count];
|
||||
// } else {
|
||||
// return [self.searchResults count];
|
||||
// }
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellId" forIndexPath:indexPath];
|
||||
|
||||
// NSString *name = (tableView == self.tableView) ? self.names[indexPath.row] : self.searchResults[indexPath.row];
|
||||
//
|
||||
// cell.textLabel.text = name;
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
}
|
||||
|
||||
#pragma mark - searchBar delegate
|
||||
|
||||
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
|
||||
// display searchtext in UPPERCASE
|
||||
// searchBar.text = [searchText uppercaseString];
|
||||
// searchBar.showsCancelButton = (searchText.length > 0);
|
||||
// [ContactSelection setNameOrEmailFilter:searchText];
|
||||
// [tableController loadData];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
|
||||
// [searchBar setShowsCancelButton:FALSE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
|
||||
// [searchBar setShowsCancelButton:TRUE animated:TRUE];
|
||||
}
|
||||
|
||||
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
|
||||
// [searchBar resignFirstResponder];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -57,6 +57,7 @@
|
|||
- (IBAction)onSendClick:(id)event;
|
||||
- (IBAction)onPictureClick:(id)event;
|
||||
- (IBAction)onListTap:(id)sender;
|
||||
- (IBAction)onCallClick:(id)sender;
|
||||
|
||||
- (void)setChatRoom:(LinphoneChatRoom *)room;
|
||||
|
||||
|
|
|
|||
|
|
@ -455,6 +455,16 @@ static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState st
|
|||
- (IBAction)onListTap:(id)sender {
|
||||
[messageField resignFirstResponder];
|
||||
}
|
||||
|
||||
- (IBAction)onCallClick:(id)sender {
|
||||
NSString *displayName = [FastAddressBook getContactDisplayName:linphone_chat_room_get_peer_address(chatRoom)];
|
||||
// Go to dialer view
|
||||
DialerView *view = VIEW(DialerView);
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription];
|
||||
char *uri = linphone_address_as_string(linphone_chat_room_get_peer_address(chatRoom));
|
||||
[view call:[NSString stringWithUTF8String:uri] displayName:displayName];
|
||||
ms_free(uri);
|
||||
}
|
||||
- (IBAction)onListSwipe:(id)sender {
|
||||
[self onBackClick:sender];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,14 +20,9 @@
|
|||
#import "ChatsListView.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
#import "ChatConversationCreateView.h"
|
||||
@implementation ChatsListView
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
|
|
@ -74,9 +69,8 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
#pragma mark - Action Functions
|
||||
|
||||
- (IBAction)onAddClick:(id)event {
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription push:TRUE];
|
||||
[view setChatRoom:NULL];
|
||||
ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
|
||||
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription push:YES];
|
||||
}
|
||||
|
||||
- (IBAction)onEditionChangeClick:(id)sender {
|
||||
|
|
|
|||
|
|
@ -85,12 +85,6 @@ static NSString *sNameOrEmailFilter;
|
|||
|
||||
typedef enum _HistoryView { History_All, History_Linphone, History_Search, History_MAX } HistoryView;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
|
|
|||
|
|
@ -24,12 +24,6 @@
|
|||
|
||||
typedef enum _HistoryView { History_All, History_Missed, History_MAX } HistoryView;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
|
|
|||
|
|
@ -112,12 +112,6 @@
|
|||
@synthesize backButton;
|
||||
@synthesize image;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
|
|
|||
|
|
@ -34,11 +34,6 @@
|
|||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[callQualityTimer invalidate];
|
||||
|
|
|
|||
|
|
@ -36,12 +36,6 @@ static NSString *const kDisappearAnimation = @"disappear";
|
|||
@synthesize chatNotificationView;
|
||||
@synthesize chatNotificationLabel;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
|
@ -84,11 +85,11 @@
|
|||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="avatar.png" width="261" height="261"/>
|
||||
<image name="avatar.png" width="255" height="255"/>
|
||||
<image name="color_A.png" width="1" height="1"/>
|
||||
<image name="pause_big_default.png" width="52" height="52"/>
|
||||
<image name="pause_big_disabled.png" width="52" height="52"/>
|
||||
<image name="pause_big_over_selected.png" width="52" height="52"/>
|
||||
<image name="pause_big_default.png" width="51" height="50"/>
|
||||
<image name="pause_big_disabled.png" width="51" height="50"/>
|
||||
<image name="pause_big_over_selected.png" width="51" height="50"/>
|
||||
</resources>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
<simulatedStatusBarMetrics key="statusBar"/>
|
||||
|
|
|
|||
17
Classes/LinphoneUI/UIChatCreateCell.h
Normal file
17
Classes/LinphoneUI/UIChatCreateCell.h
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// UIChatCreateCellViewTableViewCell.h
|
||||
// linphone
|
||||
//
|
||||
// Created by Gautier Pelloux-Prayer on 12/10/15.
|
||||
//
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UIChatCreateCell : UITableViewCell
|
||||
@property(weak, nonatomic) IBOutlet UILabel *displayNameLabel;
|
||||
@property(weak, nonatomic) IBOutlet UILabel *addressLabel;
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier;
|
||||
|
||||
@end
|
||||
29
Classes/LinphoneUI/UIChatCreateCell.m
Normal file
29
Classes/LinphoneUI/UIChatCreateCell.m
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//
|
||||
// UIChatCreateCellViewTableViewCell.m
|
||||
// linphone
|
||||
//
|
||||
// Created by Gautier Pelloux-Prayer on 12/10/15.
|
||||
//
|
||||
//
|
||||
|
||||
#import "UIChatCreateCell.h"
|
||||
|
||||
@implementation UIChatCreateCell
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier {
|
||||
self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
|
||||
if (self != nil) {
|
||||
NSArray *arrayOfViews =
|
||||
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil];
|
||||
if ([arrayOfViews count] >= 1) {
|
||||
// resize cell to match .nib size. It is needed when resized the cell to
|
||||
// correctly adapt its height too
|
||||
UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]);
|
||||
[self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)];
|
||||
[self addSubview:sub];
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
44
Classes/LinphoneUI/UIChatCreateCell.xib
Normal file
44
Classes/LinphoneUI/UIChatCreateCell.xib
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</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"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="WTc-GF-a0y">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="50"/>
|
||||
<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="0.0" y="30" width="375" height="20"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" red="1" green="0.36862745099999999" blue="0.0" 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="0.0" y="0.0" width="375" height="30"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<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>
|
||||
</document>
|
||||
|
|
@ -6,6 +6,8 @@
|
|||
//
|
||||
//
|
||||
|
||||
#pragma once
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UICheckBoxTVTableViewController : UITableViewController
|
||||
|
|
|
|||
|
|
@ -26,18 +26,6 @@
|
|||
@synthesize stateImage;
|
||||
@synthesize pauseButton;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
}
|
||||
|
||||
#pragma mark - Static size Functions
|
||||
|
||||
+ (int)getHeight {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
#import "SettingsView.h"
|
||||
#import "SideMenuView.h"
|
||||
#import "AssistantView.h"
|
||||
|
||||
//#import "ChatConversationCreateView.h"
|
||||
#import "UIConfirmationDialog.h"
|
||||
#import "DTAlertView.h"
|
||||
#import "DTActionSheet.h"
|
||||
|
|
|
|||
|
|
@ -361,17 +361,6 @@
|
|||
@synthesize settingsController;
|
||||
@synthesize navigationController;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
// Remove all observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
static UICompositeViewDescription *compositeDescription = nil;
|
||||
|
|
|
|||
|
|
@ -14,12 +14,6 @@
|
|||
|
||||
@implementation SideMenuView
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)init {
|
||||
return [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
- (void)updateHeader {
|
||||
LinphoneProxyConfig *default_proxy = linphone_core_get_default_proxy_config([LinphoneManager getLc]);
|
||||
if (default_proxy != NULL) {
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@
|
|||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed |in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AddressBook/AddressBook.h>
|
||||
|
|
@ -23,10 +23,11 @@
|
|||
#include "linphone/linphonecore.h"
|
||||
|
||||
@interface FastAddressBook : NSObject {
|
||||
NSMutableDictionary *addressBookMap;
|
||||
ABAddressBookRef addressBook;
|
||||
}
|
||||
|
||||
@property(readonly, nonatomic) NSMutableDictionary *addressBookMap;
|
||||
|
||||
- (void)reload;
|
||||
- (void)saveAddressBook;
|
||||
- (int)removeContact:(ABRecordRef)contact;
|
||||
|
|
|
|||
|
|
@ -54,9 +54,8 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
|
|||
|
||||
+ (ABRecordRef)getContact:(NSString *)address {
|
||||
if (LinphoneManager.instance.fastAddressBook != nil) {
|
||||
@synchronized(LinphoneManager.instance.fastAddressBook->addressBookMap) {
|
||||
return (
|
||||
__bridge ABRecordRef)[LinphoneManager.instance.fastAddressBook->addressBookMap objectForKey:address];
|
||||
@synchronized(LinphoneManager.instance.fastAddressBook.addressBookMap) {
|
||||
return (__bridge ABRecordRef)[LinphoneManager.instance.fastAddressBook.addressBookMap objectForKey:address];
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
|
|
@ -137,7 +136,7 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
|
|||
|
||||
- (FastAddressBook *)init {
|
||||
if ((self = [super init]) != nil) {
|
||||
addressBookMap = [NSMutableDictionary dictionary];
|
||||
_addressBookMap = [NSMutableDictionary dictionary];
|
||||
addressBook = nil;
|
||||
[self reload];
|
||||
}
|
||||
|
|
@ -179,8 +178,8 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
|
|||
|
||||
- (void)loadData {
|
||||
ABAddressBookRevert(addressBook);
|
||||
@synchronized(addressBookMap) {
|
||||
[addressBookMap removeAllObjects];
|
||||
@synchronized(_addressBookMap) {
|
||||
[_addressBookMap removeAllObjects];
|
||||
|
||||
CFArrayRef lContacts = ABAddressBookCopyArrayOfAllPeople(addressBook);
|
||||
CFIndex count = CFArrayGetCount(lContacts);
|
||||
|
|
@ -198,7 +197,7 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
|
|||
if (lNormalizedSipKey != NULL)
|
||||
lNormalizedKey = lNormalizedSipKey;
|
||||
|
||||
[addressBookMap setObject:(__bridge id)(lPerson)forKey:lNormalizedKey];
|
||||
[_addressBookMap setObject:(__bridge id)(lPerson) forKey:lNormalizedKey];
|
||||
|
||||
CFRelease(lValue);
|
||||
}
|
||||
|
|
@ -227,9 +226,9 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
|
|||
(__bridge NSString *)CFDictionaryGetValue(lDict, kABPersonInstantMessageUsernameKey);
|
||||
NSString *lNormalizedKey = [FastAddressBook normalizeSipURI:lValue];
|
||||
if (lNormalizedKey != NULL) {
|
||||
[addressBookMap setObject:(__bridge id)(lPerson)forKey:lNormalizedKey];
|
||||
[_addressBookMap setObject:(__bridge id)(lPerson) forKey:lNormalizedKey];
|
||||
} else {
|
||||
[addressBookMap setObject:(__bridge id)(lPerson)forKey:lValue];
|
||||
[_addressBookMap setObject:(__bridge id)(lPerson) forKey:lValue];
|
||||
}
|
||||
}
|
||||
CFRelease(lDict);
|
||||
|
|
|
|||
|
|
@ -90,10 +90,11 @@
|
|||
6334DDFC1BBAC99B00631900 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 152F22351B15E889008C0621 /* libxml2.dylib */; };
|
||||
6334DDFD1BBAC9A200631900 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B026F21AA710AF00FF49F7 /* libiconv.dylib */; };
|
||||
6334DE001BBAD5AA00631900 /* UICheckBoxTVTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6334DDFF1BBAD5AA00631900 /* UICheckBoxTVTableViewController.m */; };
|
||||
633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */; };
|
||||
633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756381B67BAF400E21BAD /* SideMenuTableView.m */; };
|
||||
633756451B67D2B200E21BAD /* SideMenuView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633756431B67D2B100E21BAD /* SideMenuView.m */; };
|
||||
633756461B67D2B200E21BAD /* SideMenuView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 633756441B67D2B100E21BAD /* SideMenuView.xib */; };
|
||||
6341807C1BBC103100F71761 /* ChatConversationSearchTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6341807B1BBC103100F71761 /* ChatConversationSearchTableView.m */; };
|
||||
6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */; };
|
||||
634610061B61330300548952 /* UILabel+Boldify.m in Sources */ = {isa = PBXBuildFile; fileRef = 634610051B61330300548952 /* UILabel+Boldify.m */; };
|
||||
6346100F1B61409800548952 /* CallOutgoingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6346100E1B61409800548952 /* CallOutgoingView.m */; };
|
||||
634610121B6140A500548952 /* CallOutgoingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 634610101B6140A500548952 /* CallOutgoingView.xib */; };
|
||||
|
|
@ -309,6 +310,9 @@
|
|||
63B81A0E1B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A071B57DA33009604A6 /* TPKeyboardAvoidingScrollView.m */; };
|
||||
63B81A0F1B57DA33009604A6 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */; };
|
||||
63B81A101B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; };
|
||||
63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */; };
|
||||
63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */; };
|
||||
63B8D6A31BCBF43100C12B09 /* UIChatCreateCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63B8D6A11BCBF43100C12B09 /* UIChatCreateCell.xib */; };
|
||||
63BC49D41BA1AA6F004EC273 /* UIChatBubbleTextCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63BC49D31BA1AA6F004EC273 /* UIChatBubbleTextCell.xib */; };
|
||||
63BC49E21BA2CDFC004EC273 /* UICallPausedCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 63BC49E11BA2CDFC004EC273 /* UICallPausedCell.m */; };
|
||||
63BC49EA1BA2CEDF004EC273 /* UICallPausedCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 63BC49E91BA2CEDF004EC273 /* UICallPausedCell.xib */; };
|
||||
|
|
@ -700,14 +704,16 @@
|
|||
63158FAC1B468E0E00969917 /* ImageOptim.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = ImageOptim.sh; path = Tools/ImageOptim.sh; sourceTree = "<group>"; };
|
||||
6334DDFE1BBAD5AA00631900 /* UICheckBoxTVTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICheckBoxTVTableViewController.h; sourceTree = "<group>"; };
|
||||
6334DDFF1BBAD5AA00631900 /* UICheckBoxTVTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICheckBoxTVTableViewController.m; sourceTree = "<group>"; };
|
||||
6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateView.h; sourceTree = "<group>"; };
|
||||
6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateView.m; sourceTree = "<group>"; };
|
||||
633756371B67BAF400E21BAD /* SideMenuTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuTableView.h; sourceTree = "<group>"; };
|
||||
633756381B67BAF400E21BAD /* SideMenuTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuTableView.m; sourceTree = "<group>"; };
|
||||
633756421B67D2B100E21BAD /* SideMenuView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SideMenuView.h; sourceTree = "<group>"; };
|
||||
633756431B67D2B100E21BAD /* SideMenuView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SideMenuView.m; sourceTree = "<group>"; };
|
||||
633756441B67D2B100E21BAD /* SideMenuView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SideMenuView.xib; sourceTree = "<group>"; };
|
||||
633E388219FFB0F400936D1C /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
6341807A1BBC103100F71761 /* ChatConversationSearchTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationSearchTableView.h; sourceTree = "<group>"; };
|
||||
6341807B1BBC103100F71761 /* ChatConversationSearchTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationSearchTableView.m; sourceTree = "<group>"; };
|
||||
6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChatConversationCreateTableView.h; sourceTree = "<group>"; };
|
||||
6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChatConversationCreateTableView.m; sourceTree = "<group>"; };
|
||||
634610041B61330300548952 /* UILabel+Boldify.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UILabel+Boldify.h"; sourceTree = "<group>"; };
|
||||
634610051B61330300548952 /* UILabel+Boldify.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+Boldify.m"; sourceTree = "<group>"; };
|
||||
6346100D1B61409800548952 /* CallOutgoingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallOutgoingView.h; sourceTree = "<group>"; };
|
||||
|
|
@ -943,6 +949,10 @@
|
|||
63B81A091B57DA33009604A6 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; };
|
||||
63B81A0A1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; };
|
||||
63B81A0B1B57DA33009604A6 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; };
|
||||
63B8D68D1BCBE65600C12B09 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ChatConversationCreateView.xib; sourceTree = "<group>"; };
|
||||
63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatCreateCell.h; sourceTree = "<group>"; };
|
||||
63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatCreateCell.m; sourceTree = "<group>"; };
|
||||
63B8D6A11BCBF43100C12B09 /* UIChatCreateCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIChatCreateCell.xib; sourceTree = "<group>"; };
|
||||
63BC49D31BA1AA6F004EC273 /* UIChatBubbleTextCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIChatBubbleTextCell.xib; sourceTree = "<group>"; };
|
||||
63BC49E01BA2CDFC004EC273 /* UICallPausedCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICallPausedCell.h; sourceTree = "<group>"; };
|
||||
63BC49E11BA2CDFC004EC273 /* UICallPausedCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICallPausedCell.m; sourceTree = "<group>"; };
|
||||
|
|
@ -1356,8 +1366,11 @@
|
|||
D3F83EE91582021700336684 /* CallView.h */,
|
||||
D3F83EEA1582021700336684 /* CallView.m */,
|
||||
D381881C15FE3FCA00C3EDCA /* CallView.xib */,
|
||||
6341807A1BBC103100F71761 /* ChatConversationSearchTableView.h */,
|
||||
6341807B1BBC103100F71761 /* ChatConversationSearchTableView.m */,
|
||||
6341807A1BBC103100F71761 /* ChatConversationCreateTableView.h */,
|
||||
6341807B1BBC103100F71761 /* ChatConversationCreateTableView.m */,
|
||||
6336715E1BCBAAD200BFCBDE /* ChatConversationCreateView.h */,
|
||||
6336715F1BCBAAD200BFCBDE /* ChatConversationCreateView.m */,
|
||||
63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */,
|
||||
D32B6E2715A5BC430033019F /* ChatConversationTableView.h */,
|
||||
D32B6E2815A5BC430033019F /* ChatConversationTableView.m */,
|
||||
D3F795D315A582800077328B /* ChatConversationView.h */,
|
||||
|
|
@ -1518,6 +1531,9 @@
|
|||
6334DDFF1BBAD5AA00631900 /* UICheckBoxTVTableViewController.m */,
|
||||
63C441C11BBC23ED0053DC5E /* UIAssistantTextField.h */,
|
||||
63C441C21BBC23ED0053DC5E /* UIAssistantTextField.m */,
|
||||
63B8D69F1BCBF43100C12B09 /* UIChatCreateCell.h */,
|
||||
63B8D6A01BCBF43100C12B09 /* UIChatCreateCell.m */,
|
||||
63B8D6A11BCBF43100C12B09 /* UIChatCreateCell.xib */,
|
||||
);
|
||||
path = LinphoneUI;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -2394,6 +2410,7 @@
|
|||
637528401BBA8EF700FDEA6F /* numpad_hash_over.png in Resources */,
|
||||
637527F41BBA8EF700FDEA6F /* chat_start_body_disabled.png in Resources */,
|
||||
637527DE1BBA8EF700FDEA6F /* call_status_missed.png in Resources */,
|
||||
63B8D68C1BCBE65600C12B09 /* ChatConversationCreateView.xib in Resources */,
|
||||
6375286B1BBA8EF700FDEA6F /* status_away_phone.png in Resources */,
|
||||
637528231BBA8EF700FDEA6F /* led_error.png in Resources */,
|
||||
637527D11BBA8EF700FDEA6F /* call_alt_start.png in Resources */,
|
||||
|
|
@ -2435,6 +2452,7 @@
|
|||
637527D51BBA8EF700FDEA6F /* call_quality_indicator_0.png in Resources */,
|
||||
D38187CD15FE346700C3EDCA /* HistoryDetailsView.xib in Resources */,
|
||||
637527D81BBA8EF700FDEA6F /* call_quality_indicator_3.png in Resources */,
|
||||
63B8D6A31BCBF43100C12B09 /* UIChatCreateCell.xib in Resources */,
|
||||
6375284B1BBA8EF700FDEA6F /* pause_big_over_selected.png in Resources */,
|
||||
F0642EF119DAC891009DB336 /* MainStoryboard.storyboard in Resources */,
|
||||
6375284C1BBA8EF700FDEA6F /* pause_small_default.png in Resources */,
|
||||
|
|
@ -2593,19 +2611,6 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = $SRCROOT/Tools/git_version.sh;
|
||||
};
|
||||
63F0162D1BB3E9D5001FAD87 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "test -f liblinphone-sdk/apple-darwin/share/linphone/rootca.pem || (echo 'liblinphone SDK not found. Please refer to the README: you have to compile liblinphone SDK before building Linphone application.' && exit 1)";
|
||||
};
|
||||
D33CF34715D3985000CD4B85 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
|
@ -2645,6 +2650,7 @@
|
|||
22F2508E107141E100AC9B3F /* DialerView.m in Sources */,
|
||||
633756451B67D2B200E21BAD /* SideMenuView.m in Sources */,
|
||||
22E0A822111C44E100B04932 /* AboutView.m in Sources */,
|
||||
633671611BCBAAD200BFCBDE /* ChatConversationCreateView.m in Sources */,
|
||||
634610061B61330300548952 /* UILabel+Boldify.m in Sources */,
|
||||
2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */,
|
||||
633756391B67BAF400E21BAD /* SideMenuTableView.m in Sources */,
|
||||
|
|
@ -2656,6 +2662,7 @@
|
|||
63701DDF1BA32039006A9AE3 /* UIConfirmationDialog.m in Sources */,
|
||||
22C755601317E59C007BC101 /* UIBluetoothButton.m in Sources */,
|
||||
22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */,
|
||||
63B8D6A21BCBF43100C12B09 /* UIChatCreateCell.m in Sources */,
|
||||
636BC9971B5F921B00C754CE /* UIIconButton.m in Sources */,
|
||||
340751E7150F38FD00B89C47 /* UIVideoButton.m in Sources */,
|
||||
34216F401547EBCD00EA9777 /* VideoZoomHandler.m in Sources */,
|
||||
|
|
@ -2669,7 +2676,7 @@
|
|||
D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */,
|
||||
D35498211587716B000081D8 /* StatusBarView.m in Sources */,
|
||||
D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */,
|
||||
6341807C1BBC103100F71761 /* ChatConversationSearchTableView.m in Sources */,
|
||||
6341807C1BBC103100F71761 /* ChatConversationCreateTableView.m in Sources */,
|
||||
D326483815887D5200930C67 /* OrderedDictionary.m in Sources */,
|
||||
D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */,
|
||||
D36FB2D51589EF7C0036F6F2 /* UIPauseButton.m in Sources */,
|
||||
|
|
@ -2940,6 +2947,14 @@
|
|||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
63B8D68E1BCBE65600C12B09 /* ChatConversationCreateView.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
63B8D68D1BCBE65600C12B09 /* Base */,
|
||||
);
|
||||
name = ChatConversationCreateView.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D37EE11016035793003608A6 /* ImageView.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue