MESSENGER-5226 us12 federation in timeline header

This commit is contained in:
JanNiklas Grabowski
2024-01-18 14:01:34 +01:00
parent f5ffa5a820
commit d5e28c9a12
3 changed files with 107 additions and 14 deletions
@@ -54,6 +54,8 @@
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *badgeImageViewLeadingToPictureViewConstraint;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *badgeImageViewCenterYToDisplayNameConstraint;
// bwi: #5226 us12 add federation icon to navigationViewTitle
@property(nonatomic) UIImageView *pillImageView;
/**
The room preview data may be used when mxRoom instance is not available
*/
+56 -1
View File
@@ -50,6 +50,20 @@
self.dotView.layer.masksToBounds = YES;
self.dotView.layer.cornerRadius = CGRectGetMidX(self.dotView.bounds);
}
// bwi: #5226 us12 add federation icon to navigationViewTitle
if (BWIBuildSettings.shared.isFederationEnabled)
{
// add imageview for the pill if it doesn't exist
if (self.pillImageView == nil)
{
UIImageView *imageView = [FederationIconHelper.shared getFederatedIconImageViewWithAvatarFrame:self.pictureView.frame];
self.pillImageView = imageView;
self.pillImageView.contentMode = UIViewContentModeScaleAspectFit;
[self addSubview:imageView];
}
self.pillImageView.image = FederationIconHelper.shared.federationBadgeImage;
}
}
- (void)layoutSubviews
@@ -57,7 +71,13 @@
[super layoutSubviews];
self.pictureView.layer.cornerRadius = self.pictureView.bounds.size.width / 2.;
// bwi: #5226 us12 add federation icon to navigationViewTitle
if (self.pillImageView)
{
self.pillImageView.image = FederationIconHelper.shared.federationBadgeImage;
}
if (self.superview)
{
// Force the title view layout by adding 2 new constraints on the UINavigationBarContentView instance.
@@ -122,6 +142,41 @@
}
self.displayNameTextField.text = self.mxRoom.summary.displayName;
// bwi: #5226 us12 add federation icons to navigationViewTitle
if (self.pillImageView)
{
if ([self.mxRoom isDirect])
{
if ([self.mxRoom isDMFederated])
{
self.pillImageView.hidden = false;
self.displayNameTextField.rightViewMode = UITextFieldViewModeAlways;
self.displayNameTextField.rightView = [FederationIconHelper.shared getRoomFederationPillViewWithTextView:self.displayNameTextField];
}
else
{
self.pillImageView.hidden = true;
self.displayNameTextField.rightViewMode = UITextFieldViewModeNever;
}
}
else
{
if ([self.mxRoom isRoomFederated])
{
self.pillImageView.hidden = false;
self.displayNameTextField.rightViewMode = UITextFieldViewModeAlways;
self.displayNameTextField.rightView = [FederationIconHelper.shared getRoomFederationPillViewWithTextView:self.displayNameTextField];
}
else
{
self.pillImageView.hidden = true;
self.displayNameTextField.rightViewMode = UITextFieldViewModeNever;
}
}
}
if (!self.displayNameTextField.text.length)
{
self.displayNameTextField.text = [VectorL10n roomDisplaynameEmptyRoom];