diff --git a/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactRepository.java b/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactRepository.java index 4289fa5a27..bd8d2c8165 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/contactshare/SharedContactRepository.java @@ -125,7 +125,11 @@ public class SharedContactRepository { List phoneNumbers = new ArrayList<>(vPhones.size()); for (ezvcard.property.Telephone vEmail : vPhones) { String label = !vEmail.getTypes().isEmpty() ? getCleanedVcardType(vEmail.getTypes().get(0).getValue()) : null; - phoneNumbers.add(new Phone(vEmail.getText(), phoneTypeFromVcardType(label), label)); + + // Phone number is stored in the uri field in v4.0 only. In other versions, it is in the text field. + String phoneNumberFromText = vEmail.getText(); + String extractedPhoneNumber = phoneNumberFromText == null ? vEmail.getUri().getNumber() : phoneNumberFromText; + phoneNumbers.add(new Phone(extractedPhoneNumber, phoneTypeFromVcardType(label), label)); } List emails = new ArrayList<>(vEmails.size());