mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
742f8cf902
Make avatar building sync Tests on a iPhone5 with 1k threads, 3k contacts show no noticeable lag. Profiling shows ~4% of usage goes to contact avatar building, but once cached, even that goes towards zero. // FREEBIE
46 lines
839 B
Objective-C
46 lines
839 B
Objective-C
//
|
|
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
#import "OWSGroupAvatarBuilder.h"
|
|
#import "TSGroupThread.h"
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@interface OWSGroupAvatarBuilder ()
|
|
|
|
@property (nonatomic, readonly) TSGroupThread *thread;
|
|
|
|
@end
|
|
|
|
@implementation OWSGroupAvatarBuilder
|
|
|
|
- (instancetype)initWithThread:(TSGroupThread *)thread
|
|
{
|
|
self = [super init];
|
|
if (!self) {
|
|
return self;
|
|
}
|
|
|
|
_thread = thread;
|
|
|
|
return self;
|
|
}
|
|
|
|
- (nullable UIImage *)buildSavedImage
|
|
{
|
|
return self.thread.groupModel.groupImage;
|
|
}
|
|
|
|
- (UIImage *)buildDefaultImage
|
|
{
|
|
static UIImage *defaultGroupImage;
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
defaultGroupImage = [UIImage imageNamed:@"empty-group-avatar"];
|
|
});
|
|
return defaultGroupImage;
|
|
}
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|