move constants into library
This commit is contained in:
parent
1bbcedabd4
commit
45e380a5bb
3 changed files with 20 additions and 22 deletions
|
@ -5,8 +5,10 @@ import java.util.List;
|
||||||
|
|
||||||
public class OutgoingPushMessage {
|
public class OutgoingPushMessage {
|
||||||
|
|
||||||
public static final int TYPE_MESSAGE = 1;
|
public static final int TYPE_MESSAGE_PLAINTEXT = 0;
|
||||||
public static final int TYPE_PREKEYED_MESSAGE = 2;
|
public static final int TYPE_MESSAGE_CIPHERTEXT = 1;
|
||||||
|
public static final int TYPE_MESSAGE_KEY_EXCHANGE = 2;
|
||||||
|
public static final int TYPE_MESSAGE_PREKEY_BUNDLE = 3;
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
private List<String> destinations;
|
private List<String> destinations;
|
||||||
|
|
|
@ -22,26 +22,26 @@ import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.crypto.DecryptingQueue;
|
import org.thoughtcrime.securesms.crypto.DecryptingQueue;
|
||||||
import org.thoughtcrime.securesms.sms.IncomingEncryptedMessage;
|
|
||||||
import org.thoughtcrime.securesms.sms.IncomingPreKeyBundleMessage;
|
|
||||||
import org.thoughtcrime.securesms.transport.PushTransport;
|
|
||||||
import org.whispersystems.textsecure.crypto.InvalidKeyException;
|
|
||||||
import org.whispersystems.textsecure.crypto.InvalidVersionException;
|
|
||||||
import org.thoughtcrime.securesms.crypto.protocol.KeyExchangeMessage;
|
|
||||||
import org.thoughtcrime.securesms.crypto.KeyExchangeProcessor;
|
import org.thoughtcrime.securesms.crypto.KeyExchangeProcessor;
|
||||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
|
||||||
import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
|
import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
|
||||||
|
import org.thoughtcrime.securesms.crypto.protocol.KeyExchangeMessage;
|
||||||
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
import org.thoughtcrime.securesms.database.DatabaseFactory;
|
||||||
import org.thoughtcrime.securesms.database.EncryptingSmsDatabase;
|
import org.thoughtcrime.securesms.database.EncryptingSmsDatabase;
|
||||||
import org.thoughtcrime.securesms.database.SmsDatabase;
|
import org.thoughtcrime.securesms.database.SmsDatabase;
|
||||||
import org.thoughtcrime.securesms.notifications.MessageNotifier;
|
import org.thoughtcrime.securesms.notifications.MessageNotifier;
|
||||||
import org.thoughtcrime.securesms.protocol.WirePrefix;
|
import org.thoughtcrime.securesms.protocol.WirePrefix;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
|
import org.thoughtcrime.securesms.sms.IncomingEncryptedMessage;
|
||||||
import org.thoughtcrime.securesms.sms.IncomingKeyExchangeMessage;
|
import org.thoughtcrime.securesms.sms.IncomingKeyExchangeMessage;
|
||||||
|
import org.thoughtcrime.securesms.sms.IncomingPreKeyBundleMessage;
|
||||||
import org.thoughtcrime.securesms.sms.IncomingTextMessage;
|
import org.thoughtcrime.securesms.sms.IncomingTextMessage;
|
||||||
import org.thoughtcrime.securesms.sms.MultipartSmsMessageHandler;
|
import org.thoughtcrime.securesms.sms.MultipartSmsMessageHandler;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
|
import org.whispersystems.textsecure.crypto.InvalidKeyException;
|
||||||
|
import org.whispersystems.textsecure.crypto.InvalidVersionException;
|
||||||
|
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||||
import org.whispersystems.textsecure.crypto.protocol.PreKeyBundleMessage;
|
import org.whispersystems.textsecure.crypto.protocol.PreKeyBundleMessage;
|
||||||
|
import org.whispersystems.textsecure.push.OutgoingPushMessage;
|
||||||
import org.whispersystems.textsecure.storage.InvalidKeyIdException;
|
import org.whispersystems.textsecure.storage.InvalidKeyIdException;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -62,11 +62,11 @@ public class SmsReceiver {
|
||||||
IncomingTextMessage message = messages.get(0);
|
IncomingTextMessage message = messages.get(0);
|
||||||
|
|
||||||
switch (pushType) {
|
switch (pushType) {
|
||||||
case PushTransport.TYPE_MESSAGE_CIPHERTEXT:
|
case OutgoingPushMessage.TYPE_MESSAGE_CIPHERTEXT:
|
||||||
return new IncomingEncryptedMessage(message, message.getMessageBody());
|
return new IncomingEncryptedMessage(message, message.getMessageBody());
|
||||||
case PushTransport.TYPE_MESSAGE_PREKEY_BUNDLE:
|
case OutgoingPushMessage.TYPE_MESSAGE_PREKEY_BUNDLE:
|
||||||
return new IncomingPreKeyBundleMessage(message, message.getMessageBody());
|
return new IncomingPreKeyBundleMessage(message, message.getMessageBody());
|
||||||
case PushTransport.TYPE_MESSAGE_KEY_EXCHANGE:
|
case OutgoingPushMessage.TYPE_MESSAGE_KEY_EXCHANGE:
|
||||||
return new IncomingKeyExchangeMessage(message, message.getMessageBody());
|
return new IncomingKeyExchangeMessage(message, message.getMessageBody());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import org.whispersystems.textsecure.crypto.KeyUtil;
|
||||||
import org.whispersystems.textsecure.crypto.MasterSecret;
|
import org.whispersystems.textsecure.crypto.MasterSecret;
|
||||||
import org.whispersystems.textsecure.crypto.MessageCipher;
|
import org.whispersystems.textsecure.crypto.MessageCipher;
|
||||||
import org.whispersystems.textsecure.crypto.protocol.PreKeyBundleMessage;
|
import org.whispersystems.textsecure.crypto.protocol.PreKeyBundleMessage;
|
||||||
|
import org.whispersystems.textsecure.push.OutgoingPushMessage;
|
||||||
import org.whispersystems.textsecure.push.PreKeyEntity;
|
import org.whispersystems.textsecure.push.PreKeyEntity;
|
||||||
import org.whispersystems.textsecure.push.PushAttachmentData;
|
import org.whispersystems.textsecure.push.PushAttachmentData;
|
||||||
import org.whispersystems.textsecure.push.PushServiceSocket;
|
import org.whispersystems.textsecure.push.PushServiceSocket;
|
||||||
|
@ -35,11 +36,6 @@ import ws.com.google.android.mms.pdu.SendReq;
|
||||||
|
|
||||||
public class PushTransport extends BaseTransport {
|
public class PushTransport extends BaseTransport {
|
||||||
|
|
||||||
public static final int TYPE_MESSAGE_PLAINTEXT = 0;
|
|
||||||
public static final int TYPE_MESSAGE_CIPHERTEXT = 1;
|
|
||||||
public static final int TYPE_MESSAGE_KEY_EXCHANGE = 2;
|
|
||||||
public static final int TYPE_MESSAGE_PREKEY_BUNDLE = 3;
|
|
||||||
|
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final MasterSecret masterSecret;
|
private final MasterSecret masterSecret;
|
||||||
|
|
||||||
|
@ -78,8 +74,8 @@ public class PushTransport extends BaseTransport {
|
||||||
String messageText = PartParser.getMessageText(message.getBody());
|
String messageText = PartParser.getMessageText(message.getBody());
|
||||||
List<PushAttachmentData> attachments = getAttachmentsFromBody(message.getBody());
|
List<PushAttachmentData> attachments = getAttachmentsFromBody(message.getBody());
|
||||||
|
|
||||||
if (attachments.isEmpty()) socket.sendMessage(destinations, messageText, TYPE_MESSAGE_PLAINTEXT);
|
if (attachments.isEmpty()) socket.sendMessage(destinations, messageText, OutgoingPushMessage.TYPE_MESSAGE_PLAINTEXT);
|
||||||
else socket.sendMessage(destinations, messageText, attachments, TYPE_MESSAGE_PLAINTEXT);
|
else socket.sendMessage(destinations, messageText, attachments, OutgoingPushMessage.TYPE_MESSAGE_PLAINTEXT);
|
||||||
} catch (RateLimitException e) {
|
} catch (RateLimitException e) {
|
||||||
Log.w("PushTransport", e);
|
Log.w("PushTransport", e);
|
||||||
throw new IOException("Rate limit exceeded.");
|
throw new IOException("Rate limit exceeded.");
|
||||||
|
@ -110,15 +106,15 @@ public class PushTransport extends BaseTransport {
|
||||||
if (KeyUtil.isNonPrekeySessionFor(context, masterSecret, recipient)) {
|
if (KeyUtil.isNonPrekeySessionFor(context, masterSecret, recipient)) {
|
||||||
Log.w("PushTransport", "Sending standard ciphertext message...");
|
Log.w("PushTransport", "Sending standard ciphertext message...");
|
||||||
String ciphertext = getEncryptedMessageForExistingSession(recipient, plaintext);
|
String ciphertext = getEncryptedMessageForExistingSession(recipient, plaintext);
|
||||||
return new Pair<Integer, String>(TYPE_MESSAGE_CIPHERTEXT, ciphertext);
|
return new Pair<Integer, String>(OutgoingPushMessage.TYPE_MESSAGE_CIPHERTEXT, ciphertext);
|
||||||
} else if (KeyUtil.isSessionFor(context, recipient)) {
|
} else if (KeyUtil.isSessionFor(context, recipient)) {
|
||||||
Log.w("PushTransport", "Sending prekeybundle ciphertext message for existing session...");
|
Log.w("PushTransport", "Sending prekeybundle ciphertext message for existing session...");
|
||||||
String ciphertext = getEncryptedPrekeyBundleMessageForExistingSession(recipient, plaintext);
|
String ciphertext = getEncryptedPrekeyBundleMessageForExistingSession(recipient, plaintext);
|
||||||
return new Pair<Integer, String>(TYPE_MESSAGE_PREKEY_BUNDLE, ciphertext);
|
return new Pair<Integer, String>(OutgoingPushMessage.TYPE_MESSAGE_PREKEY_BUNDLE, ciphertext);
|
||||||
} else {
|
} else {
|
||||||
Log.w("PushTransport", "Sending prekeybundle ciphertext message for new session...");
|
Log.w("PushTransport", "Sending prekeybundle ciphertext message for new session...");
|
||||||
String ciphertext = getEncryptedPrekeyBundleMessageForNewSession(socket, recipient, canonicalRecipientNumber, plaintext);
|
String ciphertext = getEncryptedPrekeyBundleMessageForNewSession(socket, recipient, canonicalRecipientNumber, plaintext);
|
||||||
return new Pair<Integer, String>(TYPE_MESSAGE_PREKEY_BUNDLE, ciphertext);
|
return new Pair<Integer, String>(OutgoingPushMessage.TYPE_MESSAGE_PREKEY_BUNDLE, ciphertext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue