private Aps()

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