mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 08:39:22 +01:00
Update libsignal-client to 0.14.0
This commit is contained in:
committed by
Cody Henthorne
parent
749bbf428d
commit
057231b9c3
@@ -11,9 +11,9 @@ import org.thoughtcrime.securesms.attachments.Attachment;
|
||||
import org.thoughtcrime.securesms.attachments.AttachmentId;
|
||||
import org.thoughtcrime.securesms.attachments.DatabaseAttachment;
|
||||
import org.thoughtcrime.securesms.util.JsonUtils;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Optional;
|
||||
|
||||
public class LinkPreview {
|
||||
|
||||
@@ -61,10 +61,10 @@ public class LinkPreview {
|
||||
{
|
||||
this.url = url;
|
||||
this.title = title;
|
||||
this.description = Optional.fromNullable(description).or("");
|
||||
this.description = Optional.ofNullable(description).orElse("");
|
||||
this.date = date;
|
||||
this.attachmentId = attachmentId;
|
||||
this.thumbnail = Optional.absent();
|
||||
this.thumbnail = Optional.empty();
|
||||
}
|
||||
|
||||
public @NonNull String getUrl() {
|
||||
|
||||
@@ -46,16 +46,16 @@ import org.thoughtcrime.securesms.util.MediaUtil;
|
||||
import org.thoughtcrime.securesms.util.OkHttpUtil;
|
||||
import org.whispersystems.libsignal.InvalidMessageException;
|
||||
import org.whispersystems.libsignal.util.Pair;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
|
||||
import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException;
|
||||
import org.whispersystems.signalservice.api.messages.SignalServiceStickerManifest;
|
||||
import org.whispersystems.signalservice.api.messages.SignalServiceStickerManifest.StickerInfo;
|
||||
import org.whispersystems.signalservice.api.util.OptionalUtil;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.IDN;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
import okhttp3.CacheControl;
|
||||
@@ -112,7 +112,7 @@ public class LinkPreviewRepository {
|
||||
}
|
||||
|
||||
if (!metadata.getImageUrl().isPresent()) {
|
||||
callback.onSuccess(new LinkPreview(url, metadata.getTitle().or(""), metadata.getDescription().or(""), metadata.getDate(), Optional.absent()));
|
||||
callback.onSuccess(new LinkPreview(url, metadata.getTitle().orElse(""), metadata.getDescription().orElse(""), metadata.getDate(), Optional.empty()));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ public class LinkPreviewRepository {
|
||||
if (!metadata.getTitle().isPresent() && !attachment.isPresent()) {
|
||||
callback.onError(Error.PREVIEW_NOT_AVAILABLE);
|
||||
} else {
|
||||
callback.onSuccess(new LinkPreview(url, metadata.getTitle().or(""), metadata.getDescription().or(""), metadata.getDate(), attachment));
|
||||
callback.onSuccess(new LinkPreview(url, metadata.getTitle().orElse(""), metadata.getDescription().orElse(""), metadata.getDate(), attachment));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -163,7 +163,7 @@ public class LinkPreviewRepository {
|
||||
|
||||
if (imageUrl.isPresent() && !LinkPreviewUtil.isValidPreviewUrl(imageUrl.get())) {
|
||||
Log.i(TAG, "Image URL was invalid or for a non-whitelisted domain. Skipping.");
|
||||
imageUrl = Optional.absent();
|
||||
imageUrl = Optional.empty();
|
||||
}
|
||||
|
||||
callback.accept(new Metadata(title, description, date, imageUrl));
|
||||
@@ -197,7 +197,7 @@ public class LinkPreviewRepository {
|
||||
} catch (IOException | IllegalArgumentException e) {
|
||||
Log.w(TAG, "Exception during link preview image retrieval.", e);
|
||||
controller.cancel();
|
||||
callback.accept(Optional.absent());
|
||||
callback.accept(Optional.empty());
|
||||
}
|
||||
});
|
||||
|
||||
@@ -210,7 +210,7 @@ public class LinkPreviewRepository {
|
||||
{
|
||||
SignalExecutors.UNBOUNDED.execute(() -> {
|
||||
try {
|
||||
Pair<String, String> stickerParams = StickerUrl.parseShareLink(packUrl).or(new Pair<>("", ""));
|
||||
Pair<String, String> stickerParams = StickerUrl.parseShareLink(packUrl).orElse(new Pair<>("", ""));
|
||||
String packIdString = stickerParams.first();
|
||||
String packKeyString = stickerParams.second();
|
||||
byte[] packIdBytes = Hex.fromStringCondensed(packIdString);
|
||||
@@ -219,9 +219,9 @@ public class LinkPreviewRepository {
|
||||
SignalServiceMessageReceiver receiver = ApplicationDependencies.getSignalServiceMessageReceiver();
|
||||
SignalServiceStickerManifest manifest = receiver.retrieveStickerManifest(packIdBytes, packKeyBytes);
|
||||
|
||||
String title = manifest.getTitle().or(manifest.getAuthor()).or("");
|
||||
Optional<StickerInfo> firstSticker = Optional.fromNullable(manifest.getStickers().size() > 0 ? manifest.getStickers().get(0) : null);
|
||||
Optional<StickerInfo> cover = manifest.getCover().or(firstSticker);
|
||||
String title = OptionalUtil.or(manifest.getTitle(), manifest.getAuthor()).orElse("");
|
||||
Optional<StickerInfo> firstSticker = Optional.ofNullable(manifest.getStickers().size() > 0 ? manifest.getStickers().get(0) : null);
|
||||
Optional<StickerInfo> cover = OptionalUtil.or(manifest.getCover(), firstSticker);
|
||||
|
||||
if (cover.isPresent()) {
|
||||
Bitmap bitmap = GlideApp.with(context).asBitmap()
|
||||
@@ -269,7 +269,7 @@ public class LinkPreviewRepository {
|
||||
String title = groupRecord.getTitle();
|
||||
int memberCount = groupRecord.getMembers().size();
|
||||
String description = getMemberCountDescription(context, memberCount);
|
||||
Optional<Attachment> thumbnail = Optional.absent();
|
||||
Optional<Attachment> thumbnail = Optional.empty();
|
||||
|
||||
if (AvatarHelper.hasAvatar(context, groupRecord.getRecipientId())) {
|
||||
Recipient recipient = Recipient.resolved(groupRecord.getRecipientId());
|
||||
@@ -284,7 +284,7 @@ public class LinkPreviewRepository {
|
||||
|
||||
DecryptedGroupJoinInfo joinInfo = GroupManager.getGroupJoinInfoFromServer(context, groupMasterKey, groupInviteLinkUrl.getPassword());
|
||||
String description = getMemberCountDescription(context, joinInfo.getMemberCount());
|
||||
Optional<Attachment> thumbnail = Optional.absent();
|
||||
Optional<Attachment> thumbnail = Optional.empty();
|
||||
byte[] avatarBytes = AvatarGroupsV2DownloadJob.downloadGroupAvatarBytes(context, groupMasterKey, joinInfo.getAvatar());
|
||||
|
||||
if (avatarBytes != null) {
|
||||
@@ -324,7 +324,7 @@ public class LinkPreviewRepository {
|
||||
@NonNull String contentType)
|
||||
{
|
||||
if (bitmap == null) {
|
||||
return Optional.absent();
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
@@ -367,7 +367,7 @@ public class LinkPreviewRepository {
|
||||
}
|
||||
|
||||
static Metadata empty() {
|
||||
return new Metadata(Optional.absent(), Optional.absent(), 0, Optional.absent());
|
||||
return new Metadata(Optional.empty(), Optional.empty(), 0, Optional.empty());
|
||||
}
|
||||
|
||||
Optional<String> getTitle() {
|
||||
|
||||
@@ -8,7 +8,6 @@ import android.text.util.Linkify;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.text.HtmlCompat;
|
||||
import androidx.core.text.util.LinkifyCompat;
|
||||
|
||||
@@ -20,13 +19,13 @@ import org.thoughtcrime.securesms.stickers.StickerUrl;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.SetUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.util.OptionalUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -228,7 +227,7 @@ public final class LinkPreviewUtil {
|
||||
}
|
||||
|
||||
public Optional<Link> findFirst() {
|
||||
return links.isEmpty() ? Optional.absent()
|
||||
return links.isEmpty() ? Optional.empty()
|
||||
: Optional.of(links.get(0));
|
||||
}
|
||||
|
||||
|
||||
@@ -15,10 +15,10 @@ import org.signal.core.util.ThreadUtil;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.net.RequestController;
|
||||
import org.thoughtcrime.securesms.util.Debouncer;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
public class LinkPreviewViewModel extends ViewModel {
|
||||
@@ -208,7 +208,7 @@ public class LinkPreviewViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
private static LinkPreviewState forLoading() {
|
||||
return new LinkPreviewState(true, false, Optional.absent(), null);
|
||||
return new LinkPreviewState(true, false, Optional.empty(), null);
|
||||
}
|
||||
|
||||
private static LinkPreviewState forPreview(@NonNull LinkPreview linkPreview) {
|
||||
@@ -216,11 +216,11 @@ public class LinkPreviewViewModel extends ViewModel {
|
||||
}
|
||||
|
||||
private static LinkPreviewState forLinksWithNoPreview(@NonNull LinkPreviewRepository.Error error) {
|
||||
return new LinkPreviewState(false, true, Optional.absent(), error);
|
||||
return new LinkPreviewState(false, true, Optional.empty(), error);
|
||||
}
|
||||
|
||||
private static LinkPreviewState forNoLinks() {
|
||||
return new LinkPreviewState(false, false, Optional.absent(), null);
|
||||
return new LinkPreviewState(false, false, Optional.empty(), null);
|
||||
}
|
||||
|
||||
public boolean isLoading() {
|
||||
|
||||
Reference in New Issue
Block a user