This commit is contained in:
Gautier Pelloux-Prayer 2015-09-09 17:45:10 +02:00
parent 61d5e68241
commit c38d62aa2c
9 changed files with 177 additions and 27 deletions

View file

@ -168,9 +168,9 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *kCellId = @"UIChatRoomCell";
UIChatConversationCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
UIChatBubbleCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
if (cell == nil) {
cell = [[UIChatConversationCell alloc] initWithIdentifier:kCellId];
cell = [[UIChatBubbleCell alloc] initWithIdentifier:kCellId];
}
LinphoneChatMessage *chat = ms_list_nth_data(self->messageList, (int)[indexPath row]);
@ -209,7 +209,7 @@
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
LinphoneChatMessage *message = ms_list_nth_data(self->messageList, (int)[indexPath row]);
return [UIChatConversationCell height:message width:[self.view frame].size.width];
return [UIChatBubbleCell height:message width:[self.view frame].size.width];
}
@end

View file

@ -1,10 +1,11 @@
<?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">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIChatConversationCell">
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIChatBubbleCell">
<connections>
<outlet property="backgroundImage" destination="3" id="11"/>
<outlet property="backgroundView" destination="7" id="10"/>
@ -147,7 +148,7 @@
</objects>
<resources>
<image name="chat_bubble_incoming.png" width="71" height="46"/>
<image name="chat_message_not_delivered.png" width="18" height="17"/>
<image name="chat_message_not_delivered.png" width="9" height="10"/>
<image name="list_delete_default.png" width="45" height="45"/>
<image name="list_delete_over.png" width="45" height="45"/>
</resources>

View file

@ -26,7 +26,7 @@
#include "linphone/linphonecore.h"
#import "FileTransferDelegate.h"
@interface UIChatConversationCell : UITransparentTVCell {
@interface UIChatBubbleCell : UITransparentTVCell {
LinphoneChatMessage *chat;
}

View file

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import "UIChatConversationCell.h"
#import "UIChatBubbleCell.h"
#import "Utils.h"
#import "LinphoneManager.h"
#import "PhoneMainView.h"
@ -26,7 +26,7 @@
#import <AssetsLibrary/ALAssetRepresentation.h>
#include "linphone/linphonecore.h"
@implementation UIChatConversationCell {
@implementation UIChatBubbleCell {
FileTransferDelegate *ftd;
}
@ -193,7 +193,7 @@ static UIFont *CELL_FONT = nil;
} else {
[messageText setHidden:FALSE];
if (text) {
NSString *nstext = [UIChatConversationCell decodeTextMessage:text];
NSString *nstext = [UIChatBubbleCell decodeTextMessage:text];
/* We need to use an attributed string here so that data detector don't mess
* with the text style. See http://stackoverflow.com/a/20669356 */
@ -272,7 +272,7 @@ static UIFont *CELL_FONT = nil;
CGSize messageSize;
const char *url = linphone_chat_message_get_external_body_url(chat);
const char *text = linphone_chat_message_get_text(chat);
NSString *messageText = text ? [UIChatConversationCell decodeTextMessage:text] : @"";
NSString *messageText = text ? [UIChatBubbleCell decodeTextMessage:text] : @"";
if (url == nil && linphone_chat_message_get_file_transfer_information(chat) == NULL) {
if (CELL_FONT == nil) {
CELL_FONT = [UIFont systemFontOfSize:CELL_FONT_SIZE];
@ -309,7 +309,7 @@ static UIFont *CELL_FONT = nil;
}
+ (CGFloat)height:(LinphoneChatMessage *)chatMessage width:(int)width {
return [UIChatConversationCell viewSize:chatMessage width:width].height;
return [UIChatBubbleCell viewSize:chatMessage width:width].height;
}
#pragma mark - View Functions
@ -320,7 +320,7 @@ static UIFont *CELL_FONT = nil;
// Resize inner
CGRect innerFrame;
BOOL is_outgoing = linphone_chat_message_is_outgoing(chat);
innerFrame.size = [UIChatConversationCell viewSize:chat width:[self frame].size.width];
innerFrame.size = [UIChatBubbleCell viewSize:chat width:[self frame].size.width];
if (!is_outgoing) { // Inverted
innerFrame.origin.x = 0.0f;
innerFrame.origin.y = 0.0f;
@ -442,7 +442,7 @@ static UIFont *CELL_FONT = nil;
}
#pragma mark - State changed handling
static void message_status(LinphoneChatMessage *msg, LinphoneChatMessageState state) {
UIChatConversationCell *thiz = (__bridge UIChatConversationCell *)linphone_chat_message_get_user_data(msg);
UIChatBubbleCell *thiz = (__bridge UIChatBubbleCell *)linphone_chat_message_get_user_data(msg);
LOGI(@"State for message [%p] changed to %s", msg, linphone_chat_message_state_to_string(state));
if (linphone_chat_message_get_file_transfer_information(msg) != NULL) {
if (state == LinphoneChatMessageStateDelivered || state == LinphoneChatMessageStateNotDelivered) {

View file

@ -0,0 +1,13 @@
//
// UIChatPhotoBubbleCell.h
// linphone
//
// Created by Gautier Pelloux-Prayer on 09/09/15.
//
//
#import "UITransparentTVCell.h"
@interface UIChatBubblePhotoCell : UITransparentTVCell
@end

View file

@ -0,0 +1,21 @@
//
// UIChatPhotoBubbleCell.m
// linphone
//
// Created by Gautier Pelloux-Prayer on 09/09/15.
//
//
#import "UIChatBubblePhotoCell.h"
@implementation UIChatBubblePhotoCell
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end

View file

@ -0,0 +1,105 @@
<?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">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="qHD-cv-2vc">
<rect key="frame" x="0.0" y="0.0" width="320" height="159"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" usesAttributedText="YES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="Tzq-H4-Xn9" userLabel="contactDateLabel">
<rect key="frame" x="66" y="8" width="246" height="19"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="Contact name"/>
<attributedString key="attributedText">
<fragment content="11:35 John ">
<attributes>
<color key="NSColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<font key="NSFont" size="16" name="HelveticaNeue"/>
<paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="truncatingTail" baseWritingDirection="natural"/>
</attributes>
</fragment>
<fragment content="Doe">
<attributes>
<color key="NSColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<font key="NSFont" size="16" name="HelveticaNeue-Bold"/>
<paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="truncatingTail" baseWritingDirection="natural"/>
</attributes>
</fragment>
</attributedString>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" image="avatar.png" id="6V0-NH-dBG" userLabel="avatarImage" customClass="UIRoundedImageView">
<rect key="frame" x="8" y="5" width="50" height="50"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="Contact avatar">
<accessibilityTraits key="traits" none="YES" image="YES" notEnabled="YES"/>
<bool key="isElement" value="YES"/>
</accessibility>
</imageView>
<view contentMode="scaleToFill" id="1ze-V7-Vi5" userLabel="textView">
<rect key="frame" x="66" y="30" width="246" height="129"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" text="Placeholder text is another very long ipsem lum dolorem..." id="Hnc-55-etE" userLabel="messageText">
<rect key="frame" x="0.0" y="0.0" width="246" height="129"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
</subviews>
</view>
<view hidden="YES" contentMode="scaleToFill" id="GmN-7v-uuO" userLabel="imageView">
<rect key="frame" x="66" y="30" width="246" height="129"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" progress="0.5" id="USm-wC-GvG" userLabel="transferProgress">
<rect key="frame" x="4" y="93" width="238" height="2"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</progressView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="128 Ko / 172 Ko" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Aaa-MV-yvm" userLabel="fileSizeLabel">
<rect key="frame" x="4" y="73" width="238" height="12"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="12"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="splashscreen.png" id="yMW-cT-bpU" userLabel="image">
<rect key="frame" x="8" y="0.0" width="230" height="65"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="N75-gL-R6t" userLabel="transferButton" customClass="UIRoundBorderedButton">
<rect key="frame" x="0.0" y="98" width="124" height="27"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="DOWNLOAD">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
</subviews>
</view>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="chat_message_inprogress.png" id="x07-o6-6s0" userLabel="messageStatusImage">
<rect key="frame" x="305" y="0.0" width="15" height="15"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="339" y="43.5"/>
</view>
</objects>
<resources>
<image name="avatar.png" width="261" height="261"/>
<image name="chat_message_inprogress.png" width="12" height="12"/>
<image name="splashscreen.png" width="185" height="169"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>

View file

@ -236,6 +236,8 @@
634CEE151B6630DB00D7A921 /* status_disconnected_phone.png in Resources */ = {isa = PBXBuildFile; fileRef = 634CED901B6630DB00D7A921 /* status_disconnected_phone.png */; };
634CEE161B6630DB00D7A921 /* valid.png in Resources */ = {isa = PBXBuildFile; fileRef = 634CED911B6630DB00D7A921 /* valid.png */; };
634CEE171B6630DB00D7A921 /* voicemail.png in Resources */ = {isa = PBXBuildFile; fileRef = 634CED921B6630DB00D7A921 /* voicemail.png */; };
635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */; };
635173FB1BA083290095EB0A /* UIChatBubblePhotoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 635173FA1BA083290095EB0A /* UIChatBubblePhotoCell.xib */; };
635775251B6673EC00C8B704 /* HistoryDetailsTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */; };
636316D11A1DEBCB0009B839 /* AboutView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D31A1DEBCB0009B839 /* AboutView.xib */; };
636316D41A1DEC650009B839 /* SettingsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 636316D61A1DEC650009B839 /* SettingsView.xib */; };
@ -245,7 +247,7 @@
639CEAFD1A1DF4D9004DE38F /* StatusBarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEAFF1A1DF4D9004DE38F /* StatusBarView.xib */; };
639CEB001A1DF4E4004DE38F /* UIHistoryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB021A1DF4E4004DE38F /* UIHistoryCell.xib */; };
639CEB031A1DF4EB004DE38F /* UICompositeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB051A1DF4EB004DE38F /* UICompositeView.xib */; };
639CEB061A1DF4F1004DE38F /* UIChatConversationCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB081A1DF4F1004DE38F /* UIChatConversationCell.xib */; };
639CEB061A1DF4F1004DE38F /* UIChatBubbleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB081A1DF4F1004DE38F /* UIChatBubbleCell.xib */; };
639CEB091A1DF4FA004DE38F /* UIChatCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */; };
63AADBE81B6A0FF200AA16FD /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC41B6A0FF200AA16FD /* Localizable.strings */; };
63AADBE91B6A0FF200AA16FD /* hold.wav in Resources */ = {isa = PBXBuildFile; fileRef = 63AADBC91B6A0FF200AA16FD /* hold.wav */; };
@ -382,7 +384,7 @@
D381881115FE3F0B00C3EDCA /* UICallCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D381881415FE3F0B00C3EDCA /* UICallCell.xib */; };
D381881915FE3FCA00C3EDCA /* CallView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D381881C15FE3FCA00C3EDCA /* CallView.xib */; };
D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; };
D3A8BB7015A6C7D500F96BE5 /* UIChatConversationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatConversationCell.m */; };
D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleCell.m */; };
D3C6526715AC1A8F0092A874 /* UIEditableTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3C6526615AC1A8F0092A874 /* UIEditableTableViewCell.m */; };
D3D5126C160B3A8E00946DF8 /* AssistantSubviews.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3D5126A160B3A8E00946DF8 /* AssistantSubviews.xib */; };
D3EA53FD159850E80037DC6B /* LinphoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D3EA53FC159850E80037DC6B /* LinphoneManager.m */; };
@ -831,6 +833,9 @@
634CED901B6630DB00D7A921 /* status_disconnected_phone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = status_disconnected_phone.png; sourceTree = "<group>"; };
634CED911B6630DB00D7A921 /* valid.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = valid.png; sourceTree = "<group>"; };
634CED921B6630DB00D7A921 /* voicemail.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voicemail.png; sourceTree = "<group>"; };
635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubblePhotoCell.h; sourceTree = "<group>"; };
635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubblePhotoCell.m; sourceTree = "<group>"; };
635173FA1BA083290095EB0A /* UIChatBubblePhotoCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIChatBubblePhotoCell.xib; sourceTree = "<group>"; };
635775231B6673EC00C8B704 /* HistoryDetailsTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsTableView.h; sourceTree = "<group>"; };
635775241B6673EC00C8B704 /* HistoryDetailsTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsTableView.m; sourceTree = "<group>"; };
636316D21A1DEBCB0009B839 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutView.xib; sourceTree = "<group>"; };
@ -845,7 +850,7 @@
639CEAFE1A1DF4D9004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/StatusBarView.xib; sourceTree = "<group>"; };
639CEB011A1DF4E4004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIHistoryCell.xib; sourceTree = "<group>"; };
639CEB041A1DF4EB004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UICompositeView.xib; sourceTree = "<group>"; };
639CEB071A1DF4F1004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatConversationCell.xib; sourceTree = "<group>"; };
639CEB071A1DF4F1004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatBubbleCell.xib; sourceTree = "<group>"; };
639CEB0A1A1DF4FA004DE38F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatCell.xib; sourceTree = "<group>"; };
639CEB0C1A1DF528004DE38F /* fr */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UICallCell.strings; sourceTree = "<group>"; };
639CEB0D1A1DF52C004DE38F /* ru */ = {isa = PBXFileReference; fileEncoding = 2483028224; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/UICallCell.strings; sourceTree = "<group>"; };
@ -1008,8 +1013,8 @@
D380801215C299D0005BE9BC /* ColorSpaceUtilites.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ColorSpaceUtilites.m; path = Utils/ColorSpaceUtilites.m; sourceTree = "<group>"; };
D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = "<group>"; };
D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = "<group>"; };
D3A8BB6E15A6C7D500F96BE5 /* UIChatConversationCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatConversationCell.h; sourceTree = "<group>"; };
D3A8BB6F15A6C7D500F96BE5 /* UIChatConversationCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatConversationCell.m; sourceTree = "<group>"; };
D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIChatBubbleCell.h; sourceTree = "<group>"; };
D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIChatBubbleCell.m; sourceTree = "<group>"; };
D3C6526515AC1A8F0092A874 /* UIEditableTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIEditableTableViewCell.h; sourceTree = "<group>"; };
D3C6526615AC1A8F0092A874 /* UIEditableTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIEditableTableViewCell.m; sourceTree = "<group>"; };
D3EA53FB159850E80037DC6B /* LinphoneManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneManager.h; sourceTree = "<group>"; };
@ -1113,7 +1118,7 @@
F0AF06FD1A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/CallIncomingView.strings; sourceTree = "<group>"; };
F0AF07011A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UICallCell.strings; sourceTree = "<group>"; };
F0AF07021A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIChatCell.strings; sourceTree = "<group>"; };
F0AF07031A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIChatConversationCell.strings; sourceTree = "<group>"; };
F0AF07031A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIChatBubbleCell.strings; sourceTree = "<group>"; };
F0AF07041A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UICompositeView.strings; sourceTree = "<group>"; };
F0AF07051A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIConferenceHeader.strings; sourceTree = "<group>"; };
F0AF07061A24BA770086C9C1 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/UIContactCell.strings; sourceTree = "<group>"; };
@ -1394,12 +1399,15 @@
D381881415FE3F0B00C3EDCA /* UICallCell.xib */,
22AA8AFF13D83F6300B30535 /* UICamSwitch.h */,
22AA8B0013D83F6300B30535 /* UICamSwitch.m */,
D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleCell.h */,
D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleCell.m */,
639CEB081A1DF4F1004DE38F /* UIChatBubbleCell.xib */,
635173F71BA082A40095EB0A /* UIChatBubblePhotoCell.h */,
635173F81BA082A40095EB0A /* UIChatBubblePhotoCell.m */,
635173FA1BA083290095EB0A /* UIChatBubblePhotoCell.xib */,
D3EA540F159853750037DC6B /* UIChatCell.h */,
D3EA5410159853750037DC6B /* UIChatCell.m */,
639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */,
D3A8BB6E15A6C7D500F96BE5 /* UIChatConversationCell.h */,
D3A8BB6F15A6C7D500F96BE5 /* UIChatConversationCell.m */,
639CEB081A1DF4F1004DE38F /* UIChatConversationCell.xib */,
D31B4B1E159876C0002E6C72 /* UICompositeView.h */,
D31B4B1F159876C0002E6C72 /* UICompositeView.m */,
639CEB051A1DF4EB004DE38F /* UICompositeView.xib */,
@ -1564,8 +1572,8 @@
630589DD1B4E810900EFAE36 /* TestsUI */ = {
isa = PBXGroup;
children = (
63058A0A1B4E81B700EFAE36 /* Info.plist */,
630589F21B4E816900EFAE36 /* KIF.xcodeproj */,
63058A0A1B4E81B700EFAE36 /* Info.plist */,
630589DE1B4E810900EFAE36 /* ChatTester.h */,
630589DF1B4E810900EFAE36 /* ChatTester.m */,
630589E01B4E810900EFAE36 /* ContactsTester.h */,
@ -2340,7 +2348,7 @@
634CEDD31B6630DB00D7A921 /* history_all_default.png in Resources */,
634CEDE11B6630DB00D7A921 /* menu.png in Resources */,
634CEDAB1B6630DB00D7A921 /* call_video_start.png in Resources */,
639CEB061A1DF4F1004DE38F /* UIChatConversationCell.xib in Resources */,
639CEB061A1DF4F1004DE38F /* UIChatBubbleCell.xib in Resources */,
63AADBF71B6A0FF200AA16FD /* linphonerc-factory~ipad in Resources */,
634CEDD11B6630DB00D7A921 /* footer_dialer.png in Resources */,
D38187B915FE342200C3EDCA /* ContactDetailsView.xib in Resources */,
@ -2437,6 +2445,7 @@
F0938159188E629800A55DFA /* iTunesArtwork in Resources */,
634CEDC11B6630DB00D7A921 /* conference_start.png in Resources */,
634CEDAD1B6630DB00D7A921 /* camera_selected.png in Resources */,
635173FB1BA083290095EB0A /* UIChatBubblePhotoCell.xib in Resources */,
634CEDE01B6630DB00D7A921 /* list_details_over.png in Resources */,
634CEDC61B6630DB00D7A921 /* contacts_sip_selected.png in Resources */,
63AADBF91B6A0FF200AA16FD /* msg.caf in Resources */,
@ -2564,6 +2573,7 @@
D3ED3EA71587334E006C0DE4 /* HistoryListTableView.m in Sources */,
D3ED3EB81587392C006C0DE4 /* HistoryListView.m in Sources */,
D35497FE15875372000081D8 /* ContactsListView.m in Sources */,
635173F91BA082A40095EB0A /* UIChatBubblePhotoCell.m in Sources */,
D3549816158761D0000081D8 /* ContactsListTableView.m in Sources */,
D35498211587716B000081D8 /* StatusBarView.m in Sources */,
D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */,
@ -2593,7 +2603,7 @@
D350F20E15A43BB100149E54 /* AssistantView.m in Sources */,
D3F795D615A582810077328B /* ChatConversationView.m in Sources */,
D32B6E2915A5BC440033019F /* ChatConversationTableView.m in Sources */,
D3A8BB7015A6C7D500F96BE5 /* UIChatConversationCell.m in Sources */,
D3A8BB7015A6C7D500F96BE5 /* UIChatBubbleCell.m in Sources */,
D3128FE115AABC7E00A2147A /* ContactDetailsView.m in Sources */,
D37C639B15AADEF6009D0BAC /* ContactDetailsTableView.m in Sources */,
63E59A3F1ADE70D900646FB3 /* InAppProductsManager.m in Sources */,
@ -2813,13 +2823,13 @@
name = UICompositeView.xib;
sourceTree = "<group>";
};
639CEB081A1DF4F1004DE38F /* UIChatConversationCell.xib */ = {
639CEB081A1DF4F1004DE38F /* UIChatBubbleCell.xib */ = {
isa = PBXVariantGroup;
children = (
639CEB071A1DF4F1004DE38F /* Base */,
F0AF07031A24BA770086C9C1 /* ar */,
);
name = UIChatConversationCell.xib;
name = UIChatBubbleCell.xib;
sourceTree = "<group>";
};
639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */ = {