mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
49de772997
Fix animation memory leak exacerbated every time you reload a conversation with expiration timers. Stop animation on cells that aren't currently being displayed. This is relatively minor compared to the above, but still, no reason to waste cycles. // FREEBIE
47 lines
1.3 KiB
Objective-C
47 lines
1.3 KiB
Objective-C
// Created by Michael Kirk on 9/29/16.
|
|
// Copyright © 2016 Open Whisper Systems. All rights reserved.
|
|
|
|
#import "OWSIncomingMessageCollectionViewCell.h"
|
|
#import "OWSExpirationTimerView.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@interface OWSIncomingMessageCollectionViewCell ()
|
|
|
|
@property (strong, nonatomic) IBOutlet OWSExpirationTimerView *expirationTimerView;
|
|
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *expirationTimerViewWidthConstraint;
|
|
|
|
@end
|
|
|
|
@implementation OWSIncomingMessageCollectionViewCell
|
|
|
|
- (void)awakeFromNib
|
|
{
|
|
[super awakeFromNib];
|
|
self.expirationTimerViewWidthConstraint.constant = 0.0;
|
|
}
|
|
|
|
- (void)prepareForReuse
|
|
{
|
|
[super prepareForReuse];
|
|
self.expirationTimerViewWidthConstraint.constant = 0.0f;
|
|
}
|
|
|
|
// pragma mark - OWSExpirableMessageView
|
|
|
|
- (void)startExpirationTimerWithExpiresAtSeconds:(uint64_t)expiresAtSeconds
|
|
initialDurationSeconds:(uint32_t)initialDurationSeconds
|
|
{
|
|
self.expirationTimerViewWidthConstraint.constant = OWSExpirableMessageViewTimerWidth;
|
|
[self.expirationTimerView startTimerWithExpiresAtSeconds:expiresAtSeconds
|
|
initialDurationSeconds:initialDurationSeconds];
|
|
}
|
|
|
|
- (void)stopExpirationTimer
|
|
{
|
|
[self.expirationTimerView stopTimer];
|
|
}
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|