in huawei-push-kit/src/main/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitJsonSupport.scala [115:174]
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,
default_sound =
if (map.fields.contains("default_sound")) Option(map.fields("default_sound").convertTo[Boolean]) 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").convertTo[ClickAction]) 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,
multi_lang_key =
if (map.fields.contains("multi_lang_key")) Option(map.fields("multi_lang_key").toString) else None,
channel_id = if (map.fields.contains("channel_id")) Option(map.fields("channel_id").toString) else None,
notify_summary =
if (map.fields.contains("notify_summary")) Option(map.fields("notify_summary").toString) else None,
image = if (map.fields.contains("image")) Option(map.fields("image").toString) else None,
style = if (map.fields.contains("style")) Option(map.fields("style").convertTo[Int]) else None,
big_title = if (map.fields.contains("big_title")) Option(map.fields("big_title").toString()) else None,
big_body = if (map.fields.contains("big_body")) Option(map.fields("big_body").toString()) else None,
auto_clear = if (map.fields.contains("auto_clear")) Option(map.fields("auto_clear").convertTo[Int]) else None,
notify_id = if (map.fields.contains("notify_id")) Option(map.fields("notify_id").convertTo[Int]) else None,
group = if (map.fields.contains("group")) Option(map.fields("group").toString()) else None,
badge = if (map.fields.contains("badge")) Option(map.fields("badge").convertTo[BadgeNotification]) else None,
ticker = if (map.fields.contains("ticker")) Option(map.fields("ticker").toString()) else None,
when = if (map.fields.contains("when")) Option(map.fields("when").toString()) else None,
importance = if (map.fields.contains("importance")) Option(map.fields("importance").toString()) else None,
use_default_vibrate =
if (map.fields.contains("use_default_vibrate")) Option(map.fields("use_default_vibrate").convertTo[Boolean])
else None,
use_default_light =
if (map.fields.contains("use_default_light")) Option(map.fields("use_default_light").convertTo[Boolean])
else None,
vibrate_config =
if (map.fields.contains("vibrate_config")) Option(map.fields("vibrate_config").convertTo[Seq[String]])
else None,
visibility = if (map.fields.contains("visibility")) Option(map.fields("visibility").toString()) else None,
light_settings =
if (map.fields.contains("light_settings")) Option(map.fields("light_settings").convertTo[LightSettings])
else None,
foreground_show =
if (map.fields.contains("foreground_show")) Option(map.fields("foreground_show").convertTo[Boolean])
else None,
profile_id = if (map.fields.contains("profile_id")) Option(map.fields("profile_id").toString()) else None,
inbox_content =
if (map.fields.contains("inbox_content")) Option(map.fields("inbox_content").convertTo[Seq[String]])
else None,
buttons = if (map.fields.contains("buttons")) Option(map.fields("buttons").convertTo[Seq[Button]]) else None)
}