Skip to content

Commit d56fae1

Browse files
committed
address deprecated UITextItemInteraction
1 parent 07b8775 commit d56fae1

File tree

4 files changed

+31
-16
lines changed

4 files changed

+31
-16
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Privacy/PrivacySettingsViewController.swift

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,13 @@ private enum Row: CaseIterable {
501501
}
502502

503503
extension PrivacySettingsViewController: UITextViewDelegate {
504-
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
505-
presentURL(URL)
506-
trackURLPresentation(URL)
507-
return false
504+
func textView(_ textView: UITextView, primaryActionFor textItem: UITextItem, defaultAction: UIAction) -> UIAction? {
505+
if case .link(let url) = textItem.content {
506+
presentURL(url)
507+
trackURLPresentation(url)
508+
// Prevent default action
509+
return nil
510+
}
511+
return defaultAction
508512
}
509513
}

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewController.swift

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -562,10 +562,13 @@ private extension SettingsViewController {
562562
//
563563
extension SettingsViewController: UITextViewDelegate {
564564

565-
func textView(_ textView: UITextView, shouldInteractWith URL: URL,
566-
in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
567-
weAreHiringWasPressed(url: URL)
568-
return false
565+
func textView(_ textView: UITextView, primaryActionFor textItem: UITextItem, defaultAction: UIAction) -> UIAction? {
566+
if case .link(let url) = textItem.content {
567+
weAreHiringWasPressed(url: url)
568+
// Prevent default action
569+
return nil
570+
}
571+
return defaultAction
569572
}
570573
}
571574

WooCommerce/Classes/ViewRelated/ReusableViews/SwiftUI Components/AttributedText.swift

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,13 @@ private struct TextViewWrapper: UIViewRepresentable {
123123
final class Coordinator: NSObject, UITextViewDelegate {
124124
var openURL: ((URL) -> Void)?
125125

126-
func textView(_: UITextView, shouldInteractWith URL: URL, in _: NSRange, interaction _: UITextItemInteraction) -> Bool {
127-
openURL?(URL)
128-
return false
126+
func textView(_ textView: UITextView, primaryActionFor textItem: UITextItem, defaultAction: UIAction) -> UIAction? {
127+
if case .link(let url) = textItem.content {
128+
openURL?(url)
129+
// Prevent default action
130+
return nil
131+
}
132+
return defaultAction
129133
}
130134
}
131135

WooCommerce/Classes/ViewRelated/ReusableViews/TextViewTableViewCell.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,16 @@ final class TextViewTableViewCell: UITableViewCell {
118118
}
119119

120120
extension TextViewTableViewCell: UITextViewDelegate {
121-
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
122-
if let onLinkTapped {
123-
onLinkTapped(URL)
124-
return false
121+
func textView(_ textView: UITextView, primaryActionFor textItem: UITextItem, defaultAction: UIAction) -> UIAction? {
122+
if case .link(let url) = textItem.content {
123+
if let onLinkTapped {
124+
onLinkTapped(url)
125+
// Prevent default action
126+
return nil
127+
}
125128
}
126-
return true
129+
// Allow default behavior
130+
return defaultAction
127131
}
128132
}
129133

0 commit comments

Comments
 (0)