override def read()

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)
    }