in google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmJsonSupport.scala [195:246]
override def read(json: JsValue): AndroidNotification = {
val map = json.asJsObject
AndroidNotification(
title = if (map.fields.contains("title")) Option(map.fields("title").toString) else None,
body = if (map.fields.contains("body")) Option(map.fields("body").toString) else None,
icon = if (map.fields.contains("icon")) Option(map.fields("icon").toString) else None,
color = if (map.fields.contains("color")) Option(map.fields("color").toString) else None,
sound = if (map.fields.contains("sound")) Option(map.fields("sound").toString) else None,
tag = if (map.fields.contains("tag")) Option(map.fields("tag").toString()) else None,
click_action = if (map.fields.contains("click_action")) Option(map.fields("click_action").toString) else None,
body_loc_key = if (map.fields.contains("body_loc_key")) Option(map.fields("body_loc_key").toString) else None,
body_loc_args =
if (map.fields.contains("body_loc_args")) Option(map.fields("body_loc_args").convertTo[Seq[String]])
else None,
title_loc_key =
if (map.fields.contains("title_loc_key")) Option(map.fields("title_loc_key").toString) else None,
title_loc_args =
if (map.fields.contains("title_loc_args")) Option(map.fields("title_loc_args").convertTo[Seq[String]])
else None,
channel_id = if (map.fields.contains("channel_id")) Option(map.fields("channel_id").toString) else None,
ticker = if (map.fields.contains("ticker")) Option(map.fields("ticker").toString) else None,
sticky = if (map.fields.contains("sticky")) Option(map.fields("sticky").convertTo[Boolean]) else None,
event_time = if (map.fields.contains("event_time")) Option(map.fields("event_time").toString()) else None,
local_only =
if (map.fields.contains("local_only")) Option(map.fields("local_only").convertTo[Boolean]) else None,
notification_priority =
if (map.fields.contains("notification_priority"))
Option(map.fields("notification_priority").convertTo[NotificationPriority])
else None,
default_sound =
if (map.fields.contains("default_sound")) Option(map.fields("default_sound").toString()) else None,
default_vibrate_timings =
if (map.fields.contains("default_vibrate_timings"))
Option(map.fields("default_vibrate_timings").convertTo[Boolean])
else None,
default_light_settings =
if (map.fields.contains("default_light_settings"))
Option(map.fields("default_light_settings").convertTo[Boolean])
else None,
vibrate_timings =
if (map.fields.contains("vibrate_timings")) Option(map.fields("vibrate_timings").convertTo[Seq[String]])
else None,
visibility =
if (map.fields.contains("visibility")) Option(map.fields("visibility").convertTo[Visibility]) else None,
notification_count =
if (map.fields.contains("notification_count")) Option(map.fields("notification_count").convertTo[Int])
else None,
light_settings =
if (map.fields.contains("light_settings")) Option(map.fields("light_settings").convertTo[LightSettings])
else None,
image = if (map.fields.contains("image")) Option(map.fields("image").toString()) else None)
}