|
|
@ -87,17 +87,22 @@ public class PushMediaSendJob extends PushSendJob implements InjectableType {
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Log.i(TAG, "Sending message: " + messageId);
|
|
|
|
Log.i(TAG, "Sending message: " + messageId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Recipient recipient = message.getRecipient().resolve();
|
|
|
|
|
|
|
|
byte[] profileKey = recipient.getProfileKey();
|
|
|
|
|
|
|
|
UnidentifiedAccessMode accessMode = recipient.getUnidentifiedAccessMode();
|
|
|
|
|
|
|
|
|
|
|
|
boolean unidentified = deliver(message);
|
|
|
|
boolean unidentified = deliver(message);
|
|
|
|
|
|
|
|
|
|
|
|
database.markAsSent(messageId, true);
|
|
|
|
database.markAsSent(messageId, true);
|
|
|
|
markAttachmentsUploaded(messageId, message.getAttachments());
|
|
|
|
markAttachmentsUploaded(messageId, message.getAttachments());
|
|
|
|
database.markUnidentified(messageId, unidentified);
|
|
|
|
database.markUnidentified(messageId, unidentified);
|
|
|
|
|
|
|
|
|
|
|
|
if (TextSecurePreferences.isUnidentifiedDeliveryEnabled(context)) {
|
|
|
|
if (TextSecurePreferences.isUnidentifiedDeliveryEnabled(context)) {
|
|
|
|
Recipient recipient = message.getRecipient().resolve();
|
|
|
|
if (unidentified && accessMode == UnidentifiedAccessMode.UNKNOWN && profileKey == null) {
|
|
|
|
UnidentifiedAccessMode accessMode = recipient.getUnidentifiedAccessMode();
|
|
|
|
Log.i(TAG, "Marking recipient as UD-unrestricted following a UD send.");
|
|
|
|
|
|
|
|
DatabaseFactory.getRecipientDatabase(context).setUnidentifiedAccessMode(recipient, UnidentifiedAccessMode.UNRESTRICTED);
|
|
|
|
if (unidentified && (accessMode == UnidentifiedAccessMode.UNKNOWN || accessMode == UnidentifiedAccessMode.DISABLED)) {
|
|
|
|
} else if (unidentified && accessMode == UnidentifiedAccessMode.UNKNOWN) {
|
|
|
|
Log.i(TAG, "Marking recipient as UD-enabled following a UD send.");
|
|
|
|
Log.i(TAG, "Marking recipient as UD-enabled following a UD send.");
|
|
|
|
DatabaseFactory.getRecipientDatabase(context).setUnidentifiedAccessMode(recipient, UnidentifiedAccessMode.ENABLED);
|
|
|
|
DatabaseFactory.getRecipientDatabase(context).setUnidentifiedAccessMode(recipient, UnidentifiedAccessMode.ENABLED);
|
|
|
|
} else if (!unidentified && accessMode != UnidentifiedAccessMode.DISABLED) {
|
|
|
|
} else if (!unidentified && accessMode != UnidentifiedAccessMode.DISABLED) {
|
|
|
|