From 26fcac9bef1c2bed5a8d4a2a84ee6d9bc06ed956 Mon Sep 17 00:00:00 2001 From: "benoit.martins" Date: Wed, 12 Apr 2023 11:44:53 +0200 Subject: [PATCH] Change Avatar Image on all views --- Classes/Base.lproj/ContactDetailsView.xib | 12 +++--- Classes/Base.lproj/HistoryDetailsView.xib | 8 ++-- Classes/ChatConversationCreateTableView.m | 2 +- Classes/ChatConversationInfoView.m | 2 +- Classes/ContactDetailsView.h | 2 +- Classes/ContactDetailsView.m | 8 ++-- Classes/ContactsListTableView.m | 2 +- Classes/HistoryDetailsView.h | 2 +- Classes/HistoryDetailsView.m | 2 +- .../Base.lproj/UIChatBubbleTextCell.xib | 2 +- Classes/LinphoneUI/Base.lproj/UIChatCell.xib | 2 +- .../UIChatConversationImdnTableViewCell.xib | 6 +-- .../UIChatConversationInfoTableViewCell.xib | 6 +-- .../Base.lproj/UIChatCreateCell.xib | 2 +- .../LinphoneUI/Base.lproj/UIContactCell.xib | 2 +- .../LinphoneUI/Base.lproj/UIHistoryCell.xib | 37 +++++++++---------- Classes/LinphoneUI/UIChatBubbleTextCell.h | 2 +- Classes/LinphoneUI/UIChatBubbleTextCell.m | 4 +- Classes/LinphoneUI/UIChatCell.h | 2 +- Classes/LinphoneUI/UIChatCell.m | 4 +- .../UIChatConversationImdnTableViewCell.h | 2 +- .../UIChatConversationInfoTableViewCell.h | 2 +- Classes/LinphoneUI/UIChatCreateCell.h | 2 +- Classes/LinphoneUI/UIContactCell.h | 2 +- Classes/LinphoneUI/UIHistoryCell.h | 2 +- Classes/LinphoneUI/UIHistoryCell.m | 2 +- Classes/Swift/Voip/Widgets/Avatar.swift | 27 +++++++++++--- 27 files changed, 79 insertions(+), 69 deletions(-) diff --git a/Classes/Base.lproj/ContactDetailsView.xib b/Classes/Base.lproj/ContactDetailsView.xib index 6e6060525..a9a2879a4 100644 --- a/Classes/Base.lproj/ContactDetailsView.xib +++ b/Classes/Base.lproj/ContactDetailsView.xib @@ -40,7 +40,7 @@ - + diff --git a/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib b/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib index 021df4d7f..f204268d9 100644 --- a/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib +++ b/Classes/LinphoneUI/Base.lproj/UIChatCreateCell.xib @@ -47,7 +47,7 @@ - + diff --git a/Classes/LinphoneUI/Base.lproj/UIContactCell.xib b/Classes/LinphoneUI/Base.lproj/UIContactCell.xib index b4710cafe..1f68f7212 100644 --- a/Classes/LinphoneUI/Base.lproj/UIContactCell.xib +++ b/Classes/LinphoneUI/Base.lproj/UIContactCell.xib @@ -20,7 +20,7 @@ - + diff --git a/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib b/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib index 14810c2b7..39fb1c76d 100644 --- a/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib +++ b/Classes/LinphoneUI/Base.lproj/UIHistoryCell.xib @@ -1,8 +1,10 @@ - - + + + - + + @@ -18,31 +20,27 @@ - + - - + - - - - + - + - - - - + + + + diff --git a/Classes/LinphoneUI/UIChatBubbleTextCell.h b/Classes/LinphoneUI/UIChatBubbleTextCell.h index 604af74d5..cbc0a647b 100644 --- a/Classes/LinphoneUI/UIChatBubbleTextCell.h +++ b/Classes/LinphoneUI/UIChatBubbleTextCell.h @@ -39,7 +39,7 @@ @property(readonly, nonatomic) LinphoneEventLog *event; @property(readonly, nonatomic) LinphoneChatMessage *message; @property(nonatomic, weak) IBOutlet UIImageView *backgroundColorImage; -@property(nonatomic, weak) IBOutlet UIRoundedImageView *avatarImage; +@property(nonatomic, weak) IBOutlet UIImageView *avatarImage; @property(nonatomic, weak) IBOutlet UILabel *contactDateLabel; //@property(weak, nonatomic) IBOutlet UIActivityIndicatorView *statusInProgressSpinner; @property(nonatomic, weak) IBOutlet UITextViewNoDefine *messageText; diff --git a/Classes/LinphoneUI/UIChatBubbleTextCell.m b/Classes/LinphoneUI/UIChatBubbleTextCell.m index d1d42368a..db448a345 100644 --- a/Classes/LinphoneUI/UIChatBubbleTextCell.m +++ b/Classes/LinphoneUI/UIChatBubbleTextCell.m @@ -201,9 +201,7 @@ _avatarImage.hidden = TRUE; } else { - [_avatarImage setImage:[FastAddressBook imageForAddress:linphone_chat_message_get_from_address(_message)] - bordered:NO - withRoundedRadius:YES]; + [_avatarImage setImage:[FastAddressBook imageForAddress:linphone_chat_message_get_from_address(_message)]]; _contactDateLabel.text = [self.class ContactDateForChat:_message]; _contactDateLabel.textAlignment = NSTextAlignmentLeft; _avatarImage.hidden = !_isFirst; diff --git a/Classes/LinphoneUI/UIChatCell.h b/Classes/LinphoneUI/UIChatCell.h index 602c0e247..bb26032d9 100644 --- a/Classes/LinphoneUI/UIChatCell.h +++ b/Classes/LinphoneUI/UIChatCell.h @@ -30,7 +30,7 @@ } @property(readonly, nonatomic) LinphoneEventLog *event; -@property(nonatomic, strong) IBOutlet UIRoundedImageView *avatarImage; +@property(nonatomic, strong) IBOutlet UIImageView *avatarImage; @property (weak, nonatomic) IBOutlet UIImageView *securityImage; @property(nonatomic, strong) IBOutlet UILabel *addressLabel; @property(nonatomic, strong) IBOutlet UILabel *chatContentLabel; diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m index c5aacd7cd..5c2b77ba6 100644 --- a/Classes/LinphoneUI/UIChatCell.m +++ b/Classes/LinphoneUI/UIChatCell.m @@ -78,7 +78,7 @@ const LinphoneAddress *addr = firstParticipant ? linphone_participant_get_address(firstParticipant) : linphone_chat_room_get_peer_address(chatRoom); if (addr) { [ContactDisplay setDisplayNameLabel:_addressLabel forAddress:addr]; - [_avatarImage setImage:[FastAddressBook imageForAddress:addr] bordered:NO withRoundedRadius:YES]; + [_avatarImage setImage:[FastAddressBook imageForAddress:addr]]; } else { _addressLabel.text = [NSString stringWithUTF8String:LINPHONE_DUMMY_SUBJECT]; } @@ -86,7 +86,7 @@ } else { const char *subject = linphone_chat_room_get_subject(chatRoom); _addressLabel.text = [NSString stringWithUTF8String:subject ?: LINPHONE_DUMMY_SUBJECT]; - [_avatarImage setImage:[UIImage imageNamed:@"chat_group_avatar.png"] bordered:NO withRoundedRadius:YES]; + [_avatarImage setImage:[UIImage imageNamed:@"chat_group_avatar.png"]]; } // TODO update security image when security level changed [_securityImage setImage:[FastAddressBook imageForSecurityLevel:linphone_chat_room_get_security_level(chatRoom)]]; diff --git a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h index 5ffeb4848..ad24750ec 100644 --- a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h +++ b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h @@ -22,7 +22,7 @@ @interface UIChatConversationImdnTableViewCell : UITableViewCell -@property (weak, nonatomic) IBOutlet UIRoundedImageView *avatar; +@property (weak, nonatomic) IBOutlet UIImageView *avatar; @property (weak, nonatomic) IBOutlet UILabel *displayName; @property (weak, nonatomic) IBOutlet UILabel *dateLabel; - (id)initWithIdentifier:(NSString *)identifier; diff --git a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h b/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h index e68d6d349..40dae59d6 100644 --- a/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h +++ b/Classes/LinphoneUI/UIChatConversationInfoTableViewCell.h @@ -22,7 +22,7 @@ @interface UIChatConversationInfoTableViewCell : UITableViewCell -@property (weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; +@property (weak, nonatomic) IBOutlet UIImageView *avatarImage; @property (weak, nonatomic) IBOutlet UIIconButton *removeButton; @property (weak, nonatomic) IBOutlet UIView *adminButton; @property (weak, nonatomic) IBOutlet UILabel *adminLabel; diff --git a/Classes/LinphoneUI/UIChatCreateCell.h b/Classes/LinphoneUI/UIChatCreateCell.h index 3d068a9fe..f9cb97bf7 100644 --- a/Classes/LinphoneUI/UIChatCreateCell.h +++ b/Classes/LinphoneUI/UIChatCreateCell.h @@ -24,7 +24,7 @@ @property(weak, nonatomic) IBOutlet UILabel *addressLabel; @property (weak, nonatomic) IBOutlet UIImageView *selectedImage; @property (weak, nonatomic) IBOutlet UIImageView *linphoneImage; -@property (weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; +@property (weak, nonatomic) IBOutlet UIImageView *avatarImage; @property (weak, nonatomic) IBOutlet UIImageView *securityImage; @property (weak, nonatomic) IBOutlet UIView *greyView; diff --git a/Classes/LinphoneUI/UIContactCell.h b/Classes/LinphoneUI/UIContactCell.h index b35913dbc..ac838d96d 100644 --- a/Classes/LinphoneUI/UIContactCell.h +++ b/Classes/LinphoneUI/UIContactCell.h @@ -25,7 +25,7 @@ @property(nonatomic, strong) IBOutlet UILabel *nameLabel; @property(nonatomic, strong) IBOutlet UILabel *organizationLabel; -@property(nonatomic, strong) IBOutlet UIRoundedImageView *avatarImage; +@property(nonatomic, strong) IBOutlet UIImageView *avatarImage; @property(weak, nonatomic) IBOutlet UIImageView *linphoneImage; @property(nonatomic, assign) Contact *contact; diff --git a/Classes/LinphoneUI/UIHistoryCell.h b/Classes/LinphoneUI/UIHistoryCell.h index deba9a42c..95e8368c4 100644 --- a/Classes/LinphoneUI/UIHistoryCell.h +++ b/Classes/LinphoneUI/UIHistoryCell.h @@ -28,7 +28,7 @@ @property (nonatomic, assign) LinphoneCallLog *callLog; -@property(weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; +@property(weak, nonatomic) IBOutlet UIImageView *avatarImage; @property(nonatomic, strong) IBOutlet UILabel *displayNameLabel; @property(weak, nonatomic) IBOutlet UIImageView *stateImage; @property(weak, nonatomic) IBOutlet UIIconButton *detailsButton; diff --git a/Classes/LinphoneUI/UIHistoryCell.m b/Classes/LinphoneUI/UIHistoryCell.m index eb930d867..e626850d5 100644 --- a/Classes/LinphoneUI/UIHistoryCell.m +++ b/Classes/LinphoneUI/UIHistoryCell.m @@ -118,7 +118,7 @@ [displayNameLabel.text stringByAppendingString:[NSString stringWithFormat:@" (%lu)", count]]; } - [_avatarImage setImage:[FastAddressBook imageForAddress:addr] bordered:NO withRoundedRadius:YES]; + [_avatarImage setImage:[FastAddressBook imageForAddress:addr]]; } } diff --git a/Classes/Swift/Voip/Widgets/Avatar.swift b/Classes/Swift/Voip/Widgets/Avatar.swift index 5e09f4b9a..80b2b7f98 100644 --- a/Classes/Swift/Voip/Widgets/Avatar.swift +++ b/Classes/Swift/Voip/Widgets/Avatar.swift @@ -35,7 +35,6 @@ class Avatar : UIView { let initialsLabel: StyledLabel let iconImageView = UIImageView() - let iconPresenceView = UIImageView(image: UIImage(named:"led_connected")) init (color:LightDarkColor,textStyle:TextStyle) { initialsLabel = StyledLabel(textStyle) @@ -44,11 +43,9 @@ class Avatar : UIView { self.backgroundColor = color.get() addSubview(initialsLabel) addSubview(iconImageView) - addSubview(iconPresenceView) iconImageView.backgroundColor = .white initialsLabel.matchParentSideBorders().matchParentHeight().done() iconImageView.matchParentDimmensions().done() - iconPresenceView.alignParentRight().alignParentBottom().done() UIDeviceBridge.displayModeSwitched.observe { _ in self.initialsLabel.applyStyle(textStyle) self.backgroundColor = color.get() @@ -94,7 +91,7 @@ class Avatar : UIView { @objc class AvatarBridge : NSObject { // Ugly work around to tap into the swift Avatars, until rest of the app is reworked in Swift. static var shared : Avatar? = nil - static let size = 50.0 + static let size = 50.0 @objc static func prepareIt() { if (shared != nil) { shared?.removeFromSuperview() @@ -111,7 +108,16 @@ class Avatar : UIView { } let sAddr = Address.getSwiftObject(cObject: address) shared?.fillFromAddress(address: sAddr) - return shared?.toImage() + + let avatarWithPresence = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size)) + let avatarImageWihtoutPresence = UIImageView(image: shared?.toImage()) + let iconPresenceView = UIImageView(image: UIImage(named:"led_connected")) + + avatarWithPresence.addSubview(avatarImageWihtoutPresence) + avatarWithPresence.addSubview(iconPresenceView) + iconPresenceView.frame = CGRect(x: 35, y: 35, width: 16, height: 16) + + return avatarWithPresence.toImage() } @objc static func imageForInitials(displayName:String) -> UIImage? { @@ -124,7 +130,16 @@ class Avatar : UIView { shared?.initialsLabel.text = Address.initials(displayName: displayName) shared?.initialsLabel.isHidden = false shared?.iconImageView.isHidden = true - return shared?.toImage() + + let avatarWithPresence = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size)) + let avatarImageWihtoutPresence = UIImageView(image: shared?.toImage()) + let iconPresenceView = UIImageView(image: UIImage(named:"led_connected")) + + avatarWithPresence.addSubview(avatarImageWihtoutPresence) + avatarWithPresence.addSubview(iconPresenceView) + iconPresenceView.frame = CGRect(x: 35, y: 35, width: 16, height: 16) + + return avatarWithPresence.toImage() } }