1
0
mirror of https://github.com/danog/Telegram.git synced 2024-12-04 10:27:46 +01:00
Telegram/Watch/Extension/TGMessageViewWebPageRowController.m

89 lines
2.7 KiB
Mathematica
Raw Normal View History

2015-10-01 18:19:52 +02:00
#import "TGMessageViewWebPageRowController.h"
#import "WKInterfaceGroup+Signals.h"
#import "TGBridgeMediaSignals.h"
#import "TGMessageViewModel.h"
#import "TGBridgeImageMediaAttachment.h"
#import "TGBridgeWebPageMediaAttachment.h"
NSString *const TGMessageViewWebPageRowIdentifier = @"TGMessageViewWebPageRow";
@interface TGMessageViewWebPageRowController ()
{
int64_t _photoId;
}
@end
@implementation TGMessageViewWebPageRowController
- (void)updateWithAttachment:(TGBridgeWebPageMediaAttachment *)attachment
{
if (attachment.siteName.length > 0)
self.siteNameLabel.text = attachment.siteName;
else
self.siteNameLabel.hidden = true;
bool inTextImage = !([attachment.pageType isEqualToString:@"photo"] || [attachment.pageType isEqualToString:@"video"]);
if (attachment.pageDescription.length == 0)
inTextImage = false;
NSString *title = attachment.title;
if (title.length == 0)
title = attachment.author;
if (title.length > 0)
self.titleLabel.text = title;
else
self.titleLabel.hidden = true;
if (attachment.pageDescription.length > 0)
self.textLabel.text = attachment.pageDescription;
else
self.textLabel.hidden = true;
if (attachment.photo != nil)
{
if (inTextImage)
{
self.imageGroup.hidden = true;
[self.titleImageGroup setBackgroundImageSignal:[TGBridgeMediaSignals previewWithImageAttachment:attachment.photo size:CGSizeMake(26, 26)] isVisible:self.isVisible];
}
else
{
self.titleImageGroup.hidden = true;
self.imageGroup.hidden = false;
CGSize imageSize = CGSizeZero;
[TGMessageViewModel updateMediaGroup:self.imageGroup activityIndicator:self.activityIndicator mediaAttachment:attachment.photo currentPhoto:&_photoId standalone:true margin:0 imageSize:&imageSize isVisible:self.isVisible completion:nil];
self.imageGroup.width = imageSize.width;
self.imageGroup.height = imageSize.height;
}
}
else
{
self.titleImageGroup.hidden = true;
self.imageGroup.hidden = true;
}
if (attachment.duration != nil)
{
self.durationGroup.hidden = false;
NSInteger duration = [attachment.duration doubleValue];
NSInteger durationMinutes = floor(duration / 60.0);
NSInteger durationSeconds = duration % 60;
self.durationLabel.text = [NSString stringWithFormat:@"%ld:%02ld", (long)durationMinutes, (long)durationSeconds];
}
}
+ (NSString *)identifier
{
return TGMessageViewWebPageRowIdentifier;
}
@end