Update libsignal-client to 0.14.0

This commit is contained in:
Greyson Parrelli
2022-03-14 15:49:46 -04:00
committed by Cody Henthorne
parent 749bbf428d
commit 057231b9c3
650 changed files with 2154 additions and 2384 deletions

View File

@@ -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() {

View File

@@ -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() {

View File

@@ -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));
}

View File

@@ -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() {