mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-24 22:58:13 +00:00
send first messages in a group chat room
This commit is contained in:
parent
7024dd3a5a
commit
5188189383
9 changed files with 241 additions and 72 deletions
|
|
@ -21,6 +21,7 @@
|
|||
#import "ChatConversationTableView.h"
|
||||
#import "UIChatBubbleTextCell.h"
|
||||
#import "UIChatBubblePhotoCell.h"
|
||||
#import "UIChatNotifiedEventCell.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
@implementation ChatConversationTableView
|
||||
|
|
@ -165,25 +166,35 @@
|
|||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *kCellId = nil;
|
||||
LinphoneChatMessage *chat = bctbx_list_nth_data(messageList, (int)[indexPath row]);
|
||||
if (linphone_chat_message_get_file_transfer_information(chat) ||
|
||||
linphone_chat_message_get_external_body_url(chat)) {
|
||||
kCellId = NSStringFromClass(UIChatBubblePhotoCell.class);
|
||||
} else {
|
||||
kCellId = NSStringFromClass(UIChatBubbleTextCell.class);
|
||||
}
|
||||
UIChatBubbleTextCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[NSClassFromString(kCellId) alloc] initWithIdentifier:kCellId];
|
||||
}
|
||||
[cell setChatMessage:chat];
|
||||
if (chat) {
|
||||
[cell update];
|
||||
}
|
||||
[cell setChatRoomDelegate:_chatRoomDelegate];
|
||||
[super accessoryForCell:cell atPath:indexPath];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
return cell;
|
||||
//LinphoneEventLog *event = bctbx_list_nth_data(messageList, (int)[indexPath row]);
|
||||
//if (linphone_event_log_get_type(event) == LinphoneEventLogTypeConferenceChatMessage) {
|
||||
LinphoneChatMessage *chat = bctbx_list_nth_data(messageList, (int)[indexPath row]); //linphone_event_log_get_chat_message(event);
|
||||
if (linphone_chat_message_get_file_transfer_information(chat) ||
|
||||
linphone_chat_message_get_external_body_url(chat)) {
|
||||
kCellId = NSStringFromClass(UIChatBubblePhotoCell.class);
|
||||
} else {
|
||||
kCellId = NSStringFromClass(UIChatBubbleTextCell.class);
|
||||
}
|
||||
UIChatBubbleTextCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[NSClassFromString(kCellId) alloc] initWithIdentifier:kCellId];
|
||||
}
|
||||
[cell setChatMessage:chat];
|
||||
if (chat) {
|
||||
[cell update];
|
||||
}
|
||||
[cell setChatRoomDelegate:_chatRoomDelegate];
|
||||
[super accessoryForCell:cell atPath:indexPath];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
return cell;
|
||||
/*} else {
|
||||
kCellId = NSStringFromClass(UIChatNotifiedEventCell.class);
|
||||
UIChatNotifiedEventCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
[cell setEvent:event];
|
||||
[super accessoryForCell:cell atPath:indexPath];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
return cell;
|
||||
}*/
|
||||
}
|
||||
|
||||
#pragma mark - UITableViewDelegate Functions
|
||||
|
|
|
|||
|
|
@ -117,6 +117,14 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
|
||||
LinphoneChatRoomCbs *cbs = linphone_chat_room_get_callbacks(_chatRoom);
|
||||
linphone_chat_room_cbs_set_state_changed(cbs, on_chat_room_state_changed);
|
||||
linphone_chat_room_cbs_set_subject_changed(cbs, on_chat_room_subject_changed);
|
||||
linphone_chat_room_cbs_set_participant_added(cbs, on_chat_room_participant_added);
|
||||
linphone_chat_room_cbs_set_participant_removed(cbs, on_chat_room_participant_removed);
|
||||
linphone_chat_room_cbs_set_participant_admin_status_changed(cbs, on_chat_room_participant_admin_status_changed);
|
||||
linphone_chat_room_cbs_set_user_data(cbs, (__bridge void*)self);
|
||||
|
||||
[self updateSuperposedButtons];
|
||||
|
||||
if (_tableController.isEditing) {
|
||||
|
|
@ -132,28 +140,20 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
if (linphone_chat_room_get_subject(_chatRoom))
|
||||
_addressLabel.text = [NSString stringWithUTF8String:linphone_chat_room_get_subject(_chatRoom)];
|
||||
|
||||
if (!linphone_chat_room_can_handle_participants(_chatRoom)) {
|
||||
_particpantsLabel.hidden = TRUE;
|
||||
} else {
|
||||
_particpantsLabel.hidden = FALSE;
|
||||
bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom);
|
||||
_particpantsLabel.text = @"";
|
||||
while (participants) {
|
||||
LinphoneParticipant *participant = (LinphoneParticipant *)participants->data;
|
||||
if (![_particpantsLabel.text isEqualToString:@""])
|
||||
_particpantsLabel.text = [_particpantsLabel.text stringByAppendingString:@", "];
|
||||
|
||||
_particpantsLabel.text = [_particpantsLabel.text stringByAppendingString:[NSString stringWithUTF8String:linphone_address_get_display_name(linphone_participant_get_address(participant))
|
||||
? linphone_address_get_display_name(linphone_participant_get_address(participant))
|
||||
: linphone_address_get_username(linphone_participant_get_address(participant))]];
|
||||
participants = participants->next;
|
||||
}
|
||||
}
|
||||
[self updateParticipantLabel];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
|
||||
LinphoneChatRoomCbs *cbs = linphone_chat_room_get_callbacks(_chatRoom);
|
||||
linphone_chat_room_cbs_set_state_changed(cbs, NULL);
|
||||
linphone_chat_room_cbs_set_subject_changed(cbs, NULL);
|
||||
linphone_chat_room_cbs_set_participant_added(cbs, NULL);
|
||||
linphone_chat_room_cbs_set_participant_removed(cbs, NULL);
|
||||
linphone_chat_room_cbs_set_participant_admin_status_changed(cbs, NULL);
|
||||
linphone_chat_room_cbs_set_user_data(cbs, NULL);
|
||||
|
||||
[_messageField resignFirstResponder];
|
||||
|
||||
[self setComposingVisible:FALSE withDelay:0]; // will hide the "user is composing.." message
|
||||
|
|
@ -360,7 +360,27 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
- (void)updateSuperposedButtons {
|
||||
[_backToCallButton update];
|
||||
_infoButton.hidden = !linphone_chat_room_can_handle_participants(_chatRoom) || !_backToCallButton.hidden;
|
||||
_callButton.hidden = !_backToCallButton.hidden && !_infoButton.hidden;
|
||||
_callButton.hidden = !_backToCallButton.hidden || !_infoButton.hidden;
|
||||
}
|
||||
|
||||
- (void)updateParticipantLabel {
|
||||
if (!linphone_chat_room_can_handle_participants(_chatRoom)) {
|
||||
_particpantsLabel.hidden = TRUE;
|
||||
} else {
|
||||
_particpantsLabel.hidden = FALSE;
|
||||
bctbx_list_t *participants = linphone_chat_room_get_participants(_chatRoom);
|
||||
_particpantsLabel.text = @"";
|
||||
while (participants) {
|
||||
LinphoneParticipant *participant = (LinphoneParticipant *)participants->data;
|
||||
if (![_particpantsLabel.text isEqualToString:@""])
|
||||
_particpantsLabel.text = [_particpantsLabel.text stringByAppendingString:@", "];
|
||||
|
||||
_particpantsLabel.text = [_particpantsLabel.text stringByAppendingString:[NSString stringWithUTF8String:linphone_address_get_display_name(linphone_participant_get_address(participant))
|
||||
? linphone_address_get_display_name(linphone_participant_get_address(participant))
|
||||
: linphone_address_get_username(linphone_participant_get_address(participant))]];
|
||||
participants = participants->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - Event Functions
|
||||
|
|
@ -704,4 +724,31 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}];
|
||||
}
|
||||
|
||||
#pragma mark - chat room callbacks
|
||||
|
||||
void on_chat_room_state_changed(LinphoneChatRoom *cr, LinphoneChatRoomState newState) {
|
||||
ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_callbacks(cr));
|
||||
if (view) {};
|
||||
}
|
||||
|
||||
void on_chat_room_subject_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) {
|
||||
ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_callbacks(cr));
|
||||
view.addressLabel.text = [NSString stringWithUTF8String:linphone_chat_room_get_subject(cr)];
|
||||
}
|
||||
|
||||
void on_chat_room_participant_added(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) {
|
||||
ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_callbacks(cr));
|
||||
[view updateParticipantLabel];
|
||||
}
|
||||
|
||||
void on_chat_room_participant_removed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) {
|
||||
ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_callbacks(cr));
|
||||
[view updateParticipantLabel];
|
||||
}
|
||||
|
||||
void on_chat_room_participant_admin_status_changed(LinphoneChatRoom *cr, const LinphoneEventLog *event_log) {
|
||||
ChatConversationView *view = (__bridge ChatConversationView *)linphone_chat_room_cbs_get_user_data(linphone_chat_room_get_callbacks(cr));
|
||||
if (view) {};
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -17,8 +17,6 @@
|
|||
<outlet property="bottomBarColor" destination="mlr-pl-B6T" id="4Lk-Vn-E8h"/>
|
||||
<outlet property="bubbleView" destination="ucH-2r-rar" id="XWU-yi-1z8"/>
|
||||
<outlet property="contactDateLabel" destination="GRe-ur-aSb" id="DQA-v4-IjX"/>
|
||||
<outlet property="eventContactDateLabel" destination="LEt-tj-YCt" id="EwK-F4-O5f"/>
|
||||
<outlet property="eventView" destination="4Hz-lQ-xx1" id="abe-u8-FDQ"/>
|
||||
<outlet property="imdmIcon" destination="WlS-fU-Aut" id="bYC-jb-Amo"/>
|
||||
<outlet property="imdmLabel" destination="yKD-pC-Nhu" id="ge9-Yl-qsr"/>
|
||||
<outlet property="messageText" destination="CYa-If-oB4" id="7xm-UF-1qB"/>
|
||||
|
|
@ -34,37 +32,15 @@
|
|||
</connections>
|
||||
</tapGestureRecognizer>
|
||||
<view contentMode="scaleToFill" misplaced="YES" id="ucH-2r-rar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="334" height="110"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="334" height="74"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" misplaced="YES" id="4Hz-lQ-xx1" userLabel="eventView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="334" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" misplaced="YES" text="11:35 John Doe" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="LEt-tj-YCt" userLabel="eventContactDateLabel">
|
||||
<rect key="frame" x="112" y="18" width="110" height="14"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="color_E.png" id="wbB-p7-QMP" userLabel="RightBar">
|
||||
<rect key="frame" x="230" y="24" width="104" height="1"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="color_E.png" id="PjI-cq-XPw" userLabel="LeftBar">
|
||||
<rect key="frame" x="0.0" y="24" width="104" height="1"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" misplaced="YES" id="vdk-RV-QRU" userLabel="innerView">
|
||||
<rect key="frame" x="6" y="44" width="322" height="57"/>
|
||||
<rect key="frame" x="6" y="9" width="322" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" alpha="0.20000000000000001" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_A.png" id="ZIO-Cb-28G" userLabel="backgroundColorImage">
|
||||
<rect key="frame" x="0.0" y="0.0" width="322" height="57"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="322" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" image="avatar.png" id="P1c-sD-eOv" userLabel="avatarImage" customClass="UIRoundedImageView">
|
||||
|
|
@ -93,11 +69,11 @@
|
|||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
</activityIndicatorView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="color_A.png" id="mlr-pl-B6T" userLabel="bottomBarColor">
|
||||
<rect key="frame" x="0.0" y="56" width="322" height="1"/>
|
||||
<rect key="frame" x="0.0" y="55" width="322" height="1"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
<textView clipsSubviews="YES" contentMode="scaleToFill" misplaced="YES" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" text="Lore ipsum..." id="CYa-If-oB4" userLabel="messageText" customClass="UITextViewNoDefine">
|
||||
<rect key="frame" x="50" y="15" width="279" height="50"/>
|
||||
<rect key="frame" x="50" y="15" width="279" height="49"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
|
||||
|
|
@ -109,14 +85,14 @@
|
|||
<accessibility key="accessibilityConfiguration" label="Delivery failed"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Read" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="yKD-pC-Nhu" userLabel="imdmLabel">
|
||||
<rect key="frame" x="238" y="40" width="64" height="20"/>
|
||||
<rect key="frame" x="238" y="39" width="64" height="20"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||
<fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="11"/>
|
||||
<color key="textColor" red="1" green="0.36862745099999999" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" image="chat_read.png" id="WlS-fU-Aut" userLabel="imdmIcon">
|
||||
<rect key="frame" x="306" y="42" width="13" height="13"/>
|
||||
<rect key="frame" x="306" y="41" width="13" height="13"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Delivery failed"/>
|
||||
</imageView>
|
||||
|
|
@ -129,7 +105,7 @@
|
|||
<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="16" y="92"/>
|
||||
<point key="canvasLocation" x="16" y="110"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
|
|
@ -138,6 +114,5 @@
|
|||
<image name="chat_read.png" width="24" height="24"/>
|
||||
<image name="chat_unsecure.png" width="18" height="27"/>
|
||||
<image name="color_A.png" width="2" height="2"/>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -39,8 +39,6 @@
|
|||
@property(weak, nonatomic) IBOutlet UIImageView *LIMEKO;
|
||||
@property(weak, nonatomic) IBOutlet UIImageView *imdmIcon;
|
||||
@property(weak, nonatomic) IBOutlet UILabel *imdmLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *eventContactDateLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIView *eventView;
|
||||
|
||||
+ (CGSize)ViewSizeForMessage:(LinphoneChatMessage *)chat withWidth:(int)width;
|
||||
|
||||
|
|
|
|||
23
Classes/LinphoneUI/UIChatNotifiedEventCell.h
Normal file
23
Classes/LinphoneUI/UIChatNotifiedEventCell.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// UIChatNotifiedEventCell.h
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 30/10/2017.
|
||||
//
|
||||
|
||||
#ifndef UIChatNotifiedEventCell_h
|
||||
#define UIChatNotifiedEventCell_h
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "ChatConversationTableView.h"
|
||||
|
||||
@interface UIChatNotifiedEventCell : UITableViewCell
|
||||
|
||||
@property(readonly, nonatomic) LinphoneEventLog *event;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *contactDateLabel;
|
||||
|
||||
- (void)setEvent:(LinphoneEventLog *)event;
|
||||
@end
|
||||
|
||||
#endif /* UIChatNotifiedEventCell_h */
|
||||
49
Classes/LinphoneUI/UIChatNotifiedEventCell.m
Normal file
49
Classes/LinphoneUI/UIChatNotifiedEventCell.m
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
//
|
||||
// UIChatNotifiedEventCell.m
|
||||
// linphone
|
||||
//
|
||||
// Created by REIS Benjamin on 30/10/2017.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UIChatNotifiedEventCell.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
#import <AssetsLibrary/ALAsset.h>
|
||||
#import <AssetsLibrary/ALAssetRepresentation.h>
|
||||
|
||||
@implementation UIChatNotifiedEventCell
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
- (id)initWithIdentifier:(NSString *)identifier {
|
||||
if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) {
|
||||
if ([identifier isEqualToString:NSStringFromClass(self.class)]) {
|
||||
NSArray *arrayOfViews =
|
||||
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil];
|
||||
// resize cell to match .nib size. It is needed when resized the cell to
|
||||
// correctly adapt its height too
|
||||
UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:arrayOfViews.count - 1]);
|
||||
[self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)];
|
||||
[self addSubview:sub];
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
_event = NULL;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)setEvent:(LinphoneEventLog *)event {
|
||||
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
[super layoutSubviews];
|
||||
}
|
||||
|
||||
@end
|
||||
54
Classes/LinphoneUI/UIChatNotifiedEventCell.xib
Normal file
54
Classes/LinphoneUI/UIChatNotifiedEventCell.xib
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<?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="13174"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UIChatNotifiedEventCell">
|
||||
<connections>
|
||||
<outlet property="contactDateLabel" destination="t5k-5N-iBU" id="b6X-2a-1jl"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="C2W-tA-Fws">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vAS-G5-9nz" userLabel="eventView" customClass="UITableViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="45"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" fixedFrame="YES" text="11:35 John Doe" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t5k-5N-iBU" userLabel="eventContactDateLabel">
|
||||
<rect key="frame" x="125" y="18" width="124" height="14"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_E.png" translatesAutoresizingMaskIntoConstraints="NO" id="nHs-Ev-fGT" userLabel="RightBar">
|
||||
<rect key="frame" x="258" y="24" width="117" height="1"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_E.png" translatesAutoresizingMaskIntoConstraints="NO" id="hk1-mC-xLF" userLabel="LeftBar">
|
||||
<rect key="frame" x="0.0" y="24" width="116" height="1"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="366.5" y="248"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="color_E.png" width="2" height="2"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -68,6 +68,8 @@
|
|||
<string>Make calls with your friends</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Use microphone to make audio calls</string>
|
||||
<key>NSPhotoLibraryAddUsageDescription</key>
|
||||
<string>Add tranfered files to your library</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>Share photos with your friends and customize avatars</string>
|
||||
<key>NSVoIPUsageDescription</key>
|
||||
|
|
|
|||
|
|
@ -683,6 +683,8 @@
|
|||
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 */; };
|
||||
8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */; };
|
||||
8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */; };
|
||||
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 */; };
|
||||
|
|
@ -1702,6 +1704,9 @@
|
|||
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; };
|
||||
8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = UIChatNotifiedEventCell.xib; sourceTree = "<group>"; };
|
||||
8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIChatNotifiedEventCell.h; sourceTree = "<group>"; };
|
||||
8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIChatNotifiedEventCell.m; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
|
|
@ -2192,6 +2197,9 @@
|
|||
D3A8BB6E15A6C7D500F96BE5 /* UIChatBubbleTextCell.h */,
|
||||
D3A8BB6F15A6C7D500F96BE5 /* UIChatBubbleTextCell.m */,
|
||||
639E9CA51C0DB7EA00019A75 /* UIChatBubbleTextCell.xib */,
|
||||
8C92ABF11FA773C20006FB5D /* UIChatNotifiedEventCell.h */,
|
||||
8C92ABF21FA773E50006FB5D /* UIChatNotifiedEventCell.m */,
|
||||
8C92ABE71FA773190006FB5D /* UIChatNotifiedEventCell.xib */,
|
||||
D3EA540F159853750037DC6B /* UIChatCell.h */,
|
||||
D3EA5410159853750037DC6B /* UIChatCell.m */,
|
||||
639CEB0B1A1DF4FA004DE38F /* UIChatCell.xib */,
|
||||
|
|
@ -3419,6 +3427,7 @@
|
|||
D38187F815FE355D00C3EDCA /* TabBarView.xib in Resources */,
|
||||
633FEE2F1D3CD5590014B822 /* color_G.png in Resources */,
|
||||
633FEECE1D3CD55A0014B822 /* numpad_6_over@2x.png in Resources */,
|
||||
8C92ABE81FA773190006FB5D /* UIChatNotifiedEventCell.xib in Resources */,
|
||||
633FEDAB1D3CD5590014B822 /* backspace_disabled@2x.png in Resources */,
|
||||
633FEDD91D3CD5590014B822 /* call_start_body_default~ipad@2x.png in Resources */,
|
||||
633FEE401D3CD5590014B822 /* contacts_all_selected.png in Resources */,
|
||||
|
|
@ -4091,6 +4100,7 @@
|
|||
D380800015C2894A005BE9BC /* IASKSwitch.m in Sources */,
|
||||
D380800215C2894A005BE9BC /* IASKTextField.m in Sources */,
|
||||
D380801315C299D0005BE9BC /* ColorSpaceUtilites.m in Sources */,
|
||||
8C92ABF31FA773E50006FB5D /* UIChatNotifiedEventCell.m in Sources */,
|
||||
633FEF581D3CD5E00014B822 /* UIAvatarPresence.m in Sources */,
|
||||
637157A11B283FE200C91677 /* FileTransferDelegate.m in Sources */,
|
||||
D378AB2A15DCDB4A0098505D /* ImagePickerView.m in Sources */,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue