Fixed an issue where Appium couldn't long press message bubbles
This commit is contained in:
parent
2f8ac7deaf
commit
2bcc049405
|
@ -1,6 +1,7 @@
|
||||||
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
import SessionUIKit
|
||||||
import SignalUtilitiesKit
|
import SignalUtilitiesKit
|
||||||
import SessionUtilitiesKit
|
import SessionUtilitiesKit
|
||||||
import SessionMessagingKit
|
import SessionMessagingKit
|
||||||
|
@ -771,12 +772,18 @@ final class VisibleMessageCell: MessageCell, TappableLabelDelegate {
|
||||||
// MARK: - Interaction
|
// MARK: - Interaction
|
||||||
|
|
||||||
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
|
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
|
||||||
if let bodyTappableLabel = bodyTappableLabel {
|
// We are currently using Appium to do automated UI testing, unfortunately it seems to run into
|
||||||
let btIngetBodyTappableLabelCoordinates = convert(point, to: bodyTappableLabel)
|
// issues when trying to long-press an element which has custom interaction logic - the TappableLabel
|
||||||
|
// only needs to custom handle touches for interacting with links so we check to see if it contains
|
||||||
|
// links before forwarding touches to it
|
||||||
|
if let bodyTappableLabel: TappableLabel = bodyTappableLabel, bodyTappableLabel.containsLinks {
|
||||||
|
let btIngetBodyTappableLabelCoordinates: CGPoint = convert(point, to: bodyTappableLabel)
|
||||||
|
|
||||||
if bodyTappableLabel.bounds.contains(btIngetBodyTappableLabelCoordinates) {
|
if bodyTappableLabel.bounds.contains(btIngetBodyTappableLabelCoordinates) {
|
||||||
return bodyTappableLabel
|
return bodyTappableLabel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.hitTest(point, with: event)
|
return super.hitTest(point, with: event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,10 @@ public class TappableLabel: UILabel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public var containsLinks: Bool {
|
||||||
|
return !links.isEmpty
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: - Initialization
|
// MARK: - Initialization
|
||||||
|
|
||||||
public override init(frame: CGRect) {
|
public override init(frame: CGRect) {
|
||||||
|
|
Loading…
Reference in New Issue