From 04f5c3ce225c77df5d377f2ba41b26b314bd7ed1 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 12 Oct 2016 14:46:56 -0400 Subject: [PATCH] Slow the timer animation down a bit. fixes #1384 // FREEBIE --- Signal/src/views/OWSExpirationTimerView.m | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Signal/src/views/OWSExpirationTimerView.m b/Signal/src/views/OWSExpirationTimerView.m index 61c0705f7..bf548a989 100644 --- a/Signal/src/views/OWSExpirationTimerView.m +++ b/Signal/src/views/OWSExpirationTimerView.m @@ -125,7 +125,9 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; CAGradientLayer *maskLayer = [CAGradientLayer new]; self.fullHourglassImageView.layer.mask = maskLayer; - maskLayer.frame = self.fullHourglassImageView.frame; + // Without this the hourglass appears empty too soon. + CGFloat borderOffset = 2.0; + maskLayer.frame = CGRectInset(self.fullHourglassImageView.frame, 0, -borderOffset); // Blur the top of the mask a bit with gradient maskLayer.colors = @[ (id)[UIColor clearColor].CGColor, (id)[UIColor blackColor].CGColor ]; @@ -137,9 +139,11 @@ double const OWSExpirationTimerViewBlinkingSeconds = 2; ratioRemaining = 0.0; } CGPoint defaultPosition = maskLayer.position; - CGPoint finalPosition = CGPointMake(defaultPosition.x, defaultPosition.y + maskLayer.bounds.size.height); - CGPoint startingPosition - = CGPointMake(defaultPosition.x, finalPosition.y - maskLayer.bounds.size.height * ratioRemaining); + + CGPoint finalPosition + = CGPointMake(defaultPosition.x, defaultPosition.y + maskLayer.bounds.size.height - 2 * borderOffset); + CGPoint startingPosition = CGPointMake( + defaultPosition.x, finalPosition.y - maskLayer.bounds.size.height * ratioRemaining + borderOffset); maskLayer.position = startingPosition; CABasicAnimation *revealAnimation = [CABasicAnimation animationWithKeyPath:@"position"];