Skip to content

Commit 62a5670

Browse files
authored
Merge pull request #743 from OneSignal/fix/crash_when_using_action_buttons
Fix crash when using action buttons in Android
2 parents 6095fd4 + 05fbaec commit 62a5670

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

android/src/main/java/com/onesignal/flutter/OneSignalSerializer.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.onesignal.inAppMessages.IInAppMessageWillDismissEvent;
1515
import com.onesignal.inAppMessages.IInAppMessageDidDismissEvent;
1616
import com.onesignal.notifications.INotification;
17+
import com.onesignal.notifications.IActionButton;
1718
import com.onesignal.notifications.INotificationWillDisplayEvent;
1819
import com.onesignal.notifications.INotificationClickResult;
1920
import com.onesignal.notifications.INotificationClickEvent;
@@ -73,12 +74,25 @@ static HashMap<String, Object> convertNotificationToMap(INotification notificati
7374
if (notification.getAdditionalData() != null && notification.getAdditionalData().length() > 0)
7475
hash.put("additionalData", convertJSONObjectToHashMap(notification.getAdditionalData()));
7576
if (notification.getActionButtons() != null) {
76-
hash.put("actionButtons", notification.getActionButtons());
77+
hash.put("buttons", convertActionButtonsToMap
78+
(notification.getActionButtons()));
7779
}
7880
hash.put("rawPayload", notification.getRawPayload());
7981
return hash;
8082
}
8183

84+
static List<HashMap<String, Object>> convertActionButtonsToMap(List<IActionButton> actionButtons) {
85+
List<HashMap<String, Object>> convertedList = new ArrayList<HashMap<String, Object>>();
86+
for (IActionButton actionButton : actionButtons) {
87+
HashMap<String, Object> hash = new HashMap<>();
88+
hash.put("id", actionButton.getId());
89+
hash.put("text", actionButton.getText());
90+
hash.put("icon", actionButton.getIcon());
91+
convertedList.add(hash);
92+
}
93+
return convertedList;
94+
}
95+
8296
static HashMap<String, Object> convertNotificationWillDisplayEventToMap(INotificationWillDisplayEvent event) throws JSONException {
8397
HashMap<String, Object> hash = new HashMap<>();
8498
hash.put("notification", convertNotificationToMap(event.getNotification()));

0 commit comments

Comments
 (0)