Move NSTextAttachment view provider registration to finalizeInit

This commit is contained in:
aringenbach 2022-05-11 11:28:37 +02:00
parent f64369b9a7
commit 4d581447c5

View file

@ -276,23 +276,10 @@ static CGSize kThreadListBarButtonItemImageSize;
return result; return result;
} }
/// Register provider for Pills.
+ (void)registerPillAttachmentViewProviderIfNeeded
{
if (@available(iOS 15.0, *))
{
if (![NSTextAttachment textAttachmentViewProviderClassForFileType:PillsFormatter.pillUTType])
{
[NSTextAttachment registerTextAttachmentViewProviderClass:PillAttachmentViewProvider.class forFileType:PillsFormatter.pillUTType];
}
}
}
#pragma mark - #pragma mark -
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil - (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil
{ {
[RoomViewController registerPillAttachmentViewProviderIfNeeded];
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) if (self)
{ {
@ -308,7 +295,6 @@ static CGSize kThreadListBarButtonItemImageSize;
- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder - (nullable instancetype)initWithCoder:(NSCoder *)aDecoder
{ {
[RoomViewController registerPillAttachmentViewProviderIfNeeded];
self = [super initWithCoder:aDecoder]; self = [super initWithCoder:aDecoder];
if (self) if (self)
{ {
@ -328,6 +314,7 @@ static CGSize kThreadListBarButtonItemImageSize;
{ {
[super finalizeInit]; [super finalizeInit];
[self registerPillAttachmentViewProviderIfNeeded];
self.resizeComposerAnimationDuration = kResizeComposerAnimationDuration; self.resizeComposerAnimationDuration = kResizeComposerAnimationDuration;
// Setup `MXKViewControllerHandling` properties // Setup `MXKViewControllerHandling` properties
@ -7569,4 +7556,17 @@ static CGSize kThreadListBarButtonItemImageSize;
[self stopActivityIndicator]; [self stopActivityIndicator];
} }
#pragma mark - Pills
/// Register provider for Pills.
- (void)registerPillAttachmentViewProviderIfNeeded
{
if (@available(iOS 15.0, *))
{
if (![NSTextAttachment textAttachmentViewProviderClassForFileType:PillsFormatter.pillUTType])
{
[NSTextAttachment registerTextAttachmentViewProviderClass:PillAttachmentViewProvider.class forFileType:PillsFormatter.pillUTType];
}
}
}
@end @end