in src/main/java/com/google/firebase/messaging/Aps.java [35:68]
private Aps(Builder builder) {
checkArgument(Strings.isNullOrEmpty(builder.alertString) || (builder.alert == null),
"Multiple alert specifications (string and ApsAlert) found.");
checkArgument(Strings.isNullOrEmpty(builder.sound) || (builder.criticalSound == null),
"Multiple sound specifications (sound and CriticalSound) found.");
ImmutableMap.Builder<String, Object> fields = ImmutableMap.builder();
if (builder.alert != null) {
fields.put("alert", builder.alert);
} else if (builder.alertString != null) {
fields.put("alert", builder.alertString);
}
if (builder.badge != null) {
fields.put("badge", builder.badge);
}
if (!Strings.isNullOrEmpty(builder.sound)) {
fields.put("sound", builder.sound);
} else if (builder.criticalSound != null) {
fields.put("sound", builder.criticalSound.getFields());
}
if (builder.contentAvailable) {
fields.put("content-available", 1);
}
if (builder.mutableContent) {
fields.put("mutable-content", 1);
}
if (builder.category != null) {
fields.put("category", builder.category);
}
if (builder.threadId != null) {
fields.put("thread-id", builder.threadId);
}
fields.putAll(builder.customData);
this.fields = fields.build();
}