Fixing notification image preview.

This commit is contained in:
Hugo Kiehl
2021-03-29 18:21:30 -04:00
committed by Alan Evans
parent 5f0341cd53
commit dd38dd9cae
8 changed files with 41 additions and 1 deletions

View File

@@ -108,6 +108,8 @@ public abstract class Attachment {
@Nullable
public abstract Uri getUri();
public abstract @Nullable Uri getPublicUri();
public int getTransferState() {
return transferState;
}

View File

@@ -65,6 +65,15 @@ public class DatabaseAttachment extends Attachment {
}
}
@Override
public @Nullable Uri getPublicUri() {
if (hasData) {
return PartAuthority.getAttachmentPublicUri(getUri());
} else {
return null;
}
}
public AttachmentId getAttachmentId() {
return attachmentId;
}

View File

@@ -20,6 +20,11 @@ public class MmsNotificationAttachment extends Attachment {
return null;
}
@Override
public @Nullable Uri getPublicUri() {
return null;
}
private static int getTransferStateFromStatus(int status) {
if (status == MmsDatabase.Status.DOWNLOAD_INITIALIZED ||
status == MmsDatabase.Status.DOWNLOAD_NO_CONNECTIVITY)

View File

@@ -46,6 +46,11 @@ public class PointerAttachment extends Attachment {
return null;
}
@Override
public @Nullable Uri getPublicUri() {
return null;
}
public static List<Attachment> forPointers(Optional<List<SignalServiceAttachment>> pointers) {
List<Attachment> results = new LinkedList<>();

View File

@@ -23,4 +23,9 @@ public class TombstoneAttachment extends Attachment {
public @Nullable Uri getUri() {
return null;
}
@Override
public @Nullable Uri getPublicUri() {
return null;
}
}

View File

@@ -58,6 +58,11 @@ public class UriAttachment extends Attachment {
return dataUri;
}
@Override
public @Nullable Uri getPublicUri() {
return null;
}
@Override
public boolean equals(Object other) {
return other != null && other instanceof UriAttachment && ((UriAttachment) other).dataUri.equals(this.dataUri);

View File

@@ -55,6 +55,10 @@ public abstract class Slide {
return attachment.getUri();
}
public @Nullable Uri getPublicUri() {
return attachment.getPublicUri();
}
@NonNull
public Optional<String> getBody() {
return Optional.absent();

View File

@@ -268,7 +268,12 @@ public class SingleRecipientNotificationBuilder extends AbstractNotificationBuil
if (slideDeck != null && slideDeck.getThumbnailSlide() != null) {
Slide thumbnail = slideDeck.getThumbnailSlide();
if (Build.VERSION.SDK_INT >= 28) {
dataUri = thumbnail.getPublicUri();
} else {
dataUri = thumbnail.getUri();
}
mimeType = thumbnail.getContentType();
}