Fix contact sync message parsing in pairing authorisation.

This commit is contained in:
Mikunj 2019-11-12 16:30:28 +11:00
parent 039df379cc
commit 7c4e7f261d
2 changed files with 5 additions and 4 deletions

View File

@ -142,7 +142,7 @@ public class MultiDeviceContactUpdateJob extends BaseJob implements InjectableTy
} }
if (address == null) generateFullContactUpdate(); if (address == null) generateFullContactUpdate();
else if (address != TextSecurePreferences.getMasterHexEncodedPublicKey(context)) generateSingleContactUpdate(Address.fromSerialized(address)); else if (!address.equalsIgnoreCase(TextSecurePreferences.getMasterHexEncodedPublicKey(context))) generateSingleContactUpdate(Address.fromSerialized(address));
} }
private void generateSingleContactUpdate(@NonNull Address address) private void generateSingleContactUpdate(@NonNull Address address)

View File

@ -665,7 +665,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient); long threadId = DatabaseFactory.getThreadDatabase(context).getThreadIdFor(recipient);
LokiThreadFriendRequestStatus status = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId); LokiThreadFriendRequestStatus status = DatabaseFactory.getLokiThreadDatabase(context).getFriendRequestStatus(threadId);
if (status == LokiThreadFriendRequestStatus.NONE || status == LokiThreadFriendRequestStatus.REQUEST_EXPIRED) { if (status == LokiThreadFriendRequestStatus.NONE || status == LokiThreadFriendRequestStatus.REQUEST_EXPIRED) {
MessageSender.sendBackgroundFriendRequest(context, deviceContact.getNumber(), "This is an automated friend request. Still under testing!"); MessageSender.sendBackgroundFriendRequest(context, deviceContact.getNumber(), "Accept this friend request to enable messages to be synced across devices");
Log.d("Loki", "Sent friend request to " + deviceContact.getNumber()); Log.d("Loki", "Sent friend request to " + deviceContact.getNumber());
} else if (status == LokiThreadFriendRequestStatus.REQUEST_RECEIVED) { } else if (status == LokiThreadFriendRequestStatus.REQUEST_RECEIVED) {
// Accept the incoming friend request // Accept the incoming friend request
@ -682,7 +682,6 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
} }
} catch (IOException e) { } catch (IOException e) {
// Exception is thrown when we don't have any more contacts to read from // Exception is thrown when we don't have any more contacts to read from
return;
} catch (Exception e) { } catch (Exception e) {
Log.d("Loki", "Failed to sync contact: " + e.getMessage()); Log.d("Loki", "Failed to sync contact: " + e.getMessage());
} }
@ -1635,7 +1634,9 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
Recipient sender = Recipient.from(context, Address.fromSerialized(content.getSender()), false); Recipient sender = Recipient.from(context, Address.fromSerialized(content.getSender()), false);
if (content.getDataMessage().isPresent()) { if (content.getPairingAuthorisation().isPresent()) {
return false;
} else if (content.getDataMessage().isPresent()) {
SignalServiceDataMessage message = content.getDataMessage().get(); SignalServiceDataMessage message = content.getDataMessage().get();
Recipient conversation = getMessageDestination(content, message); Recipient conversation = getMessageDestination(content, message);