+ sendMessage(m, message, recipients);
+ }
+
+ private static void sendEndSessionMessage(Manager m, List<String> recipients) {
+ final TextSecureDataMessage.Builder messageBuilder = TextSecureDataMessage.newBuilder().asEndSessionMessage();
+
+ TextSecureDataMessage message = messageBuilder.build();
+
+ sendMessage(m, message, recipients);
+ }
+
+ private static void sendQuitGroupMessage(Manager m, List<String> recipients, byte[] groupId) {
+ final TextSecureDataMessage.Builder messageBuilder = TextSecureDataMessage.newBuilder();
+ TextSecureGroup group = TextSecureGroup.newBuilder(TextSecureGroup.Type.QUIT)
+ .withId(groupId)
+ .build();
+
+ messageBuilder.asGroupMessage(group);
+
+ TextSecureDataMessage message = messageBuilder.build();
+
+ sendMessage(m, message, recipients);
+ }
+
+ private static void sendUpdateGroupMessage(Manager m, TextSecureGroup g) {
+ final TextSecureDataMessage.Builder messageBuilder = TextSecureDataMessage.newBuilder();
+
+ messageBuilder.asGroupMessage(g);
+
+ TextSecureDataMessage message = messageBuilder.build();
+
+ sendMessage(m, message, g.getMembers().get());
+ }
+
+ private static void sendMessage(Manager m, TextSecureDataMessage message, List<String> recipients) {