1
0
mirror of https://github.com/danog/Telegram.git synced 2024-12-04 02:17:51 +01:00
Telegram/Watch/Extension/TGProfilePhotoController.m
2016-02-25 01:03:51 +01:00

90 lines
1.8 KiB
Objective-C

#import "TGProfilePhotoController.h"
#import "WKInterfaceGroup+Signals.h"
#import "TGBridgeMediaSignals.h"
NSString *const TGProfilePhotoControllerIdentifier = @"TGProfilePhotoController";
@implementation TGProfilePhotoControllerContext
- (instancetype)initWithImageUrl:(NSString *)imageUrl;
{
self = [super init];
if (self != nil)
{
_imageUrl = imageUrl;
}
return self;
}
@end
@interface TGProfilePhotoController ()
{
TGProfilePhotoControllerContext *_context;
}
@end
@implementation TGProfilePhotoController
- (instancetype)init
{
self = [super init];
if (self != nil)
{
}
return self;
}
- (void)configureWithContext:(TGProfilePhotoControllerContext *)context
{
_context = context;
self.title = TGLocalized(@"Watch.PhotoView.Title");
__weak TGProfilePhotoController *weakSelf = self;
[self.imageGroup setBackgroundImageSignal:[[TGBridgeMediaSignals avatarWithUrl:_context.imageUrl type:TGBridgeMediaAvatarTypeLarge] onNext:^(id next)
{
__strong TGProfilePhotoController *strongSelf = weakSelf;
if (strongSelf == nil)
return;
if (next != nil)
{
strongSelf.imageGroup.alpha = 0.0f;
strongSelf.activityIndicator.hidden = true;
[strongSelf animateWithDuration:0.25f animations:^
{
strongSelf.imageGroup.alpha = 1.0f;
}];
}
}] isVisible:^bool
{
__strong TGProfilePhotoController *strongSelf = weakSelf;
if (strongSelf == nil)
return false;
return strongSelf.isVisible;
}];
}
- (void)willActivate
{
[super willActivate];
[self.imageGroup updateIfNeeded];
}
- (void)didDeactivate
{
[super didDeactivate];
}
+ (NSString *)identifier
{
return TGProfilePhotoControllerIdentifier;
}
@end