Merge branch 'charlesmchen/gesturesVsBreaks' into release/2.28.0

This commit is contained in:
Michael Kirk 2018-07-20 16:10:24 -06:00
commit d8c247fc0e
2 changed files with 42 additions and 0 deletions

View file

@ -405,6 +405,10 @@ NS_ASSUME_NONNULL_BEGIN
return;
}
if ([self isGestureInCellHeader:sender]) {
return;
}
if (self.viewItem.interaction.interactionType == OWSInteractionType_OutgoingMessage) {
TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)self.viewItem.interaction;
if (outgoingMessage.messageState == TSOutgoingMessageStateFailed) {
@ -427,6 +431,10 @@ NS_ASSUME_NONNULL_BEGIN
return;
}
if ([self isGestureInCellHeader:sender]) {
return;
}
if (self.viewItem.interaction.interactionType == OWSInteractionType_OutgoingMessage) {
TSOutgoingMessage *outgoingMessage = (TSOutgoingMessage *)self.viewItem.interaction;
if (outgoingMessage.messageState == TSOutgoingMessageStateFailed) {
@ -460,9 +468,26 @@ NS_ASSUME_NONNULL_BEGIN
{
OWSAssert(self.delegate);
if ([self isGestureInCellHeader:panRecognizer]) {
return;
}
[self.delegate didPanWithGestureRecognizer:panRecognizer viewItem:self.viewItem];
}
- (BOOL)isGestureInCellHeader:(UIGestureRecognizer *)sender
{
OWSAssert(self.viewItem);
if (!self.viewItem.hasCellHeader) {
return NO;
}
CGPoint location = [sender locationInView:self];
CGPoint headerBottom = [self convertPoint:CGPointMake(0, self.headerView.height) fromView:self.headerView];
return location.y <= headerBottom.y;
}
@end
NS_ASSUME_NONNULL_END

View file

@ -556,6 +556,10 @@ typedef void (^SystemMessageActionBlock)(void);
{
OWSAssert(self.delegate);
if ([self isGestureInCellHeader:longPress]) {
return;
}
TSInteraction *interaction = self.viewItem.interaction;
OWSAssert(interaction);
@ -564,6 +568,19 @@ typedef void (^SystemMessageActionBlock)(void);
}
}
- (BOOL)isGestureInCellHeader:(UIGestureRecognizer *)sender
{
OWSAssert(self.viewItem);
if (!self.viewItem.hasCellHeader) {
return NO;
}
CGPoint location = [sender locationInView:self];
CGPoint headerBottom = [self convertPoint:CGPointMake(0, self.headerView.height) fromView:self.headerView];
return location.y <= headerBottom.y;
}
- (void)buttonWasPressed:(id)sender
{
if (!self.action.block) {