in messaging/messaging.go [196:244]
func (a *AndroidNotification) MarshalJSON() ([]byte, error) {
var priority string
if a.Priority != priorityUnspecified {
priorities := map[AndroidNotificationPriority]string{
PriorityMin: "PRIORITY_MIN",
PriorityLow: "PRIORITY_LOW",
PriorityDefault: "PRIORITY_DEFAULT",
PriorityHigh: "PRIORITY_HIGH",
PriorityMax: "PRIORITY_MAX",
}
priority, _ = priorities[a.Priority]
}
var visibility string
if a.Visibility != visibilityUnspecified {
visibilities := map[AndroidNotificationVisibility]string{
VisibilityPrivate: "PRIVATE",
VisibilityPublic: "PUBLIC",
VisibilitySecret: "SECRET",
}
visibility, _ = visibilities[a.Visibility]
}
var timestamp string
if a.EventTimestamp != nil {
timestamp = a.EventTimestamp.UTC().Format(rfc3339Zulu)
}
var vibTimings []string
for _, t := range a.VibrateTimingMillis {
vibTimings = append(vibTimings, durationToString(time.Duration(t)*time.Millisecond))
}
type androidInternal AndroidNotification
temp := &struct {
EventTimestamp string `json:"event_time,omitempty"`
Priority string `json:"notification_priority,omitempty"`
Visibility string `json:"visibility,omitempty"`
VibrateTimings []string `json:"vibrate_timings,omitempty"`
*androidInternal
}{
EventTimestamp: timestamp,
Priority: priority,
Visibility: visibility,
VibrateTimings: vibTimings,
androidInternal: (*androidInternal)(a),
}
return json.Marshal(temp)
}