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 @Nullable
public abstract Uri getUri(); public abstract Uri getUri();
public abstract @Nullable Uri getPublicUri();
public int getTransferState() { public int getTransferState() {
return transferState; 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() { public AttachmentId getAttachmentId() {
return attachmentId; return attachmentId;
} }

View File

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

View File

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

View File

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

View File

@@ -58,6 +58,11 @@ public class UriAttachment extends Attachment {
return dataUri; return dataUri;
} }
@Override
public @Nullable Uri getPublicUri() {
return null;
}
@Override @Override
public boolean equals(Object other) { public boolean equals(Object other) {
return other != null && other instanceof UriAttachment && ((UriAttachment) other).dataUri.equals(this.dataUri); 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(); return attachment.getUri();
} }
public @Nullable Uri getPublicUri() {
return attachment.getPublicUri();
}
@NonNull @NonNull
public Optional<String> getBody() { public Optional<String> getBody() {
return Optional.absent(); return Optional.absent();

View File

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