Skip to content

Commit 2b477fe

Browse files
Refactor NotificationResponse protocol to handle text properly.
1 parent dd27e72 commit 2b477fe

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

swift-sdk/Internal/IterableAppIntegrationInternal.swift

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public protocol NotificationResponseProtocol {
5353

5454
var actionIdentifier: String { get }
5555

56-
var textInputResponse: UNTextInputNotificationResponse? { get }
56+
var userText: String? { get }
5757
}
5858

5959
@available(iOS 10.0, *)
@@ -66,8 +66,12 @@ struct UserNotificationResponse: NotificationResponseProtocol {
6666
response.actionIdentifier
6767
}
6868

69-
var textInputResponse: UNTextInputNotificationResponse? {
70-
response as? UNTextInputNotificationResponse
69+
var userText: String? {
70+
guard let textInputResponse = response as? UNTextInputNotificationResponse else {
71+
return nil
72+
}
73+
74+
return textInputResponse.userText
7175
}
7276

7377
private let response: UNNotificationResponse
@@ -217,8 +221,8 @@ struct IterableAppIntegrationInternal {
217221
return
218222
}
219223

220-
let dataFields = IterableAppIntegrationInternal.createIterableDataFields(actionIdentifier: response.actionIdentifier, userText: response.textInputResponse?.userText)
221-
let action = IterableAppIntegrationInternal.createIterableAction(actionIdentifier: response.actionIdentifier, userText: response.textInputResponse?.userText, userInfo: userInfo, iterableElement: itbl)
224+
let dataFields = IterableAppIntegrationInternal.createIterableDataFields(actionIdentifier: response.actionIdentifier, userText: response.userText)
225+
let action = IterableAppIntegrationInternal.createIterableAction(actionIdentifier: response.actionIdentifier, userText: response.userText, userInfo: userInfo, iterableElement: itbl)
222226

223227
// Track push open
224228
if let _ = dataFields[JsonKey.actionIdentifier.jsonKey] { // i.e., if action is not dismiss

tests/common/CommonMocks.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ struct MockNotificationResponse: NotificationResponseProtocol {
2323
self.actionIdentifier = actionIdentifier
2424
}
2525

26-
var textInputResponse: UNTextInputNotificationResponse? {
26+
var userText: String? {
2727
nil
2828
}
2929
}

0 commit comments

Comments
 (0)