TextSecure is now SignalService

// FREEBIE
This commit is contained in:
Moxie Marlinspike
2016-03-23 10:34:41 -07:00
parent 3b8ec792ee
commit 7b589c4300
126 changed files with 681 additions and 698 deletions

View File

@@ -24,8 +24,8 @@ import org.thoughtcrime.securesms.util.BitmapUtil;
import org.thoughtcrime.securesms.util.GroupUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
import org.whispersystems.textsecure.api.util.InvalidNumberException;
import org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext;
import org.whispersystems.signalservice.api.util.InvalidNumberException;
import org.whispersystems.signalservice.internal.push.SignalServiceProtos.GroupContext;
import java.util.Collection;
import java.util.HashSet;

View File

@@ -24,11 +24,11 @@ import org.thoughtcrime.securesms.sms.IncomingGroupMessage;
import org.thoughtcrime.securesms.sms.IncomingTextMessage;
import org.thoughtcrime.securesms.util.Base64;
import org.thoughtcrime.securesms.util.GroupUtil;
import org.whispersystems.libaxolotl.util.guava.Optional;
import org.whispersystems.textsecure.api.messages.TextSecureAttachment;
import org.whispersystems.textsecure.api.messages.TextSecureDataMessage;
import org.whispersystems.textsecure.api.messages.TextSecureEnvelope;
import org.whispersystems.textsecure.api.messages.TextSecureGroup;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
import org.whispersystems.signalservice.api.messages.SignalServiceGroup;
import java.util.HashSet;
import java.util.LinkedList;
@@ -38,8 +38,8 @@ import java.util.Set;
import ws.com.google.android.mms.MmsException;
import static org.thoughtcrime.securesms.database.GroupDatabase.GroupRecord;
import static org.whispersystems.textsecure.internal.push.TextSecureProtos.AttachmentPointer;
import static org.whispersystems.textsecure.internal.push.TextSecureProtos.GroupContext;
import static org.whispersystems.signalservice.internal.push.SignalServiceProtos.AttachmentPointer;
import static org.whispersystems.signalservice.internal.push.SignalServiceProtos.GroupContext;
public class GroupMessageProcessor {
@@ -47,8 +47,8 @@ public class GroupMessageProcessor {
public static @Nullable Long process(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull TextSecureEnvelope envelope,
@NonNull TextSecureDataMessage message,
@NonNull SignalServiceEnvelope envelope,
@NonNull SignalServiceDataMessage message,
boolean outgoing)
{
if (!message.getGroupInfo().isPresent() || message.getGroupInfo().get().getGroupId() == null) {
@@ -56,16 +56,16 @@ public class GroupMessageProcessor {
return null;
}
GroupDatabase database = DatabaseFactory.getGroupDatabase(context);
TextSecureGroup group = message.getGroupInfo().get();
byte[] id = group.getGroupId();
GroupRecord record = database.getGroup(id);
GroupDatabase database = DatabaseFactory.getGroupDatabase(context);
SignalServiceGroup group = message.getGroupInfo().get();
byte[] id = group.getGroupId();
GroupRecord record = database.getGroup(id);
if (record != null && group.getType() == TextSecureGroup.Type.UPDATE) {
if (record != null && group.getType() == SignalServiceGroup.Type.UPDATE) {
return handleGroupUpdate(context, masterSecret, envelope, group, record, outgoing);
} else if (record == null && group.getType() == TextSecureGroup.Type.UPDATE) {
} else if (record == null && group.getType() == SignalServiceGroup.Type.UPDATE) {
return handleGroupCreate(context, masterSecret, envelope, group, outgoing);
} else if (record != null && group.getType() == TextSecureGroup.Type.QUIT) {
} else if (record != null && group.getType() == SignalServiceGroup.Type.QUIT) {
return handleGroupLeave(context, masterSecret, envelope, group, record, outgoing);
} else {
Log.w(TAG, "Received unknown type, ignoring...");
@@ -75,8 +75,8 @@ public class GroupMessageProcessor {
private static @Nullable Long handleGroupCreate(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull TextSecureEnvelope envelope,
@NonNull TextSecureGroup group,
@NonNull SignalServiceEnvelope envelope,
@NonNull SignalServiceGroup group,
boolean outgoing)
{
GroupDatabase database = DatabaseFactory.getGroupDatabase(context);
@@ -84,7 +84,7 @@ public class GroupMessageProcessor {
GroupContext.Builder builder = createGroupContext(group);
builder.setType(GroupContext.Type.UPDATE);
TextSecureAttachment avatar = group.getAvatar().orNull();
SignalServiceAttachment avatar = group.getAvatar().orNull();
database.create(id, group.getName().orNull(), group.getMembers().orNull(),
avatar != null && avatar.isPointer() ? avatar.asPointer() : null,
@@ -95,8 +95,8 @@ public class GroupMessageProcessor {
private static @Nullable Long handleGroupUpdate(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull TextSecureEnvelope envelope,
@NonNull TextSecureGroup group,
@NonNull SignalServiceEnvelope envelope,
@NonNull SignalServiceGroup group,
@NonNull GroupRecord groupRecord,
boolean outgoing)
{
@@ -131,7 +131,7 @@ public class GroupMessageProcessor {
}
if (group.getName().isPresent() || group.getAvatar().isPresent()) {
TextSecureAttachment avatar = group.getAvatar().orNull();
SignalServiceAttachment avatar = group.getAvatar().orNull();
database.update(id, group.getName().orNull(), avatar != null ? avatar.asPointer() : null);
}
@@ -144,11 +144,11 @@ public class GroupMessageProcessor {
return storeMessage(context, masterSecret, envelope, group, builder.build(), outgoing);
}
private static Long handleGroupLeave(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull TextSecureEnvelope envelope,
@NonNull TextSecureGroup group,
@NonNull GroupRecord record,
private static Long handleGroupLeave(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull SignalServiceEnvelope envelope,
@NonNull SignalServiceGroup group,
@NonNull GroupRecord record,
boolean outgoing)
{
GroupDatabase database = DatabaseFactory.getGroupDatabase(context);
@@ -171,8 +171,8 @@ public class GroupMessageProcessor {
private static @Nullable Long storeMessage(@NonNull Context context,
@NonNull MasterSecretUnion masterSecret,
@NonNull TextSecureEnvelope envelope,
@NonNull TextSecureGroup group,
@NonNull SignalServiceEnvelope envelope,
@NonNull SignalServiceGroup group,
@NonNull GroupContext storage,
boolean outgoing)
{
@@ -210,7 +210,7 @@ public class GroupMessageProcessor {
return null;
}
private static GroupContext.Builder createGroupContext(TextSecureGroup group) {
private static GroupContext.Builder createGroupContext(SignalServiceGroup group) {
GroupContext.Builder builder = GroupContext.newBuilder();
builder.setId(ByteString.copyFrom(group.getGroupId()));