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

@@ -262,13 +262,13 @@ final class StickerManagementAdapter extends SectionedRecyclerViewAdapter<String
boolean lastInList,
boolean allowApngAnimation)
{
SpannableStringBuilder titleBuilder = new SpannableStringBuilder(stickerPack.getTitle().or(itemView.getResources().getString(R.string.StickerManagementAdapter_untitled)));
SpannableStringBuilder titleBuilder = new SpannableStringBuilder(stickerPack.getTitle().orElse(itemView.getResources().getString(R.string.StickerManagementAdapter_untitled)));
if (BlessedPacks.contains(stickerPack.getPackId())) {
titleBuilder.append(blessedBadge);
}
title.setText(titleBuilder);
author.setText(stickerPack.getAuthor().or(itemView.getResources().getString(R.string.StickerManagementAdapter_unknown)));
author.setText(stickerPack.getAuthor().orElse(itemView.getResources().getString(R.string.StickerManagementAdapter_unknown)));
divider.setVisibility(lastInList ? View.GONE : View.VISIBLE);
glideRequests.load(new DecryptableUri(stickerPack.getCover().getUri()))

View File

@@ -5,10 +5,9 @@ import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* Local model that represents the data present in the libsignal model
@@ -16,10 +15,10 @@ import java.util.List;
*/
public final class StickerManifest {
private final String packId;
private final String packKey;
private final Optional<String> title;
private final Optional<String> author;
private final String packId;
private final String packKey;
private final Optional<String> title;
private final Optional<String> author;
private final Optional<Sticker> cover;
private final List<Sticker> stickers;
@@ -80,7 +79,7 @@ public final class StickerManifest {
this.id = id;
this.emoji = emoji;
this.contentType = contentType;
this.uri = Optional.fromNullable(uri);
this.uri = Optional.ofNullable(uri);
}
public @NonNull String getPackId() {

View File

@@ -30,7 +30,10 @@ import org.thoughtcrime.securesms.util.DeviceProperties;
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme;
import org.thoughtcrime.securesms.util.DynamicTheme;
import org.whispersystems.libsignal.util.Pair;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.util.OptionalUtil;
import java.util.Optional;
/**
* Shows the contents of a pack and allows the user to install it (if not installed) or remove it
@@ -182,12 +185,12 @@ public final class StickerPackPreviewActivity extends PassphraseRequiredActivity
}
private void presentManifest(@NonNull StickerManifest manifest) {
stickerTitle.setText(manifest.getTitle().or(getString(R.string.StickerPackPreviewActivity_untitled)));
stickerAuthor.setText(manifest.getAuthor().or(getString(R.string.StickerPackPreviewActivity_unknown)));
stickerTitle.setText(manifest.getTitle().orElse(getString(R.string.StickerPackPreviewActivity_untitled)));
stickerAuthor.setText(manifest.getAuthor().orElse(getString(R.string.StickerPackPreviewActivity_unknown)));
adapter.setStickers(manifest.getStickers());
Sticker first = manifest.getStickers().isEmpty() ? null : manifest.getStickers().get(0);
Sticker cover = manifest.getCover().or(Optional.fromNullable(first)).orNull();
Sticker cover = OptionalUtil.or(manifest.getCover(), Optional.ofNullable(first)).orElse(null);
if (cover != null) {
Object model = cover.getUri().isPresent() ? new DecryptableStreamUriLoader.DecryptableUri(cover.getUri().get())

View File

@@ -17,13 +17,13 @@ import org.thoughtcrime.securesms.database.model.StickerRecord;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.util.Hex;
import org.whispersystems.libsignal.InvalidMessageException;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
import org.whispersystems.signalservice.api.messages.SignalServiceStickerManifest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
public final class StickerPackPreviewRepository {
@@ -72,7 +72,7 @@ public final class StickerPackPreviewRepository {
return Optional.of(new StickerManifestResult(manifest, record.isInstalled()));
}
return Optional.absent();
return Optional.empty();
}
@WorkerThread
@@ -95,7 +95,7 @@ public final class StickerPackPreviewRepository {
Log.w(TAG, "Failed to retrieve pack manifest.", e);
}
return Optional.absent();
return Optional.empty();
}
@WorkerThread
@@ -120,7 +120,7 @@ public final class StickerPackPreviewRepository {
@NonNull Optional<SignalServiceStickerManifest.StickerInfo> remoteSticker)
{
return remoteSticker.isPresent() ? Optional.of(toSticker(packId, packKey, remoteSticker.get()))
: Optional.absent();
: Optional.empty();
}
private StickerManifest.Sticker toSticker(@NonNull String packId,

View File

@@ -12,7 +12,9 @@ import androidx.lifecycle.ViewModelProvider;
import org.thoughtcrime.securesms.database.DatabaseObserver;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.stickers.StickerPackPreviewRepository.StickerManifestResult;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.Optional;
final class StickerPackPreviewViewModel extends ViewModel {

View File

@@ -8,8 +8,9 @@ import androidx.annotation.Nullable;
import org.thoughtcrime.securesms.util.Hex;
import org.whispersystems.libsignal.util.Pair;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.util.OptionalUtil;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -21,19 +22,19 @@ public class StickerUrl {
private static final Pattern STICKER_URL_PATTERN = Pattern.compile("^https://signal\\.art/addstickers/#pack_id=(.*)&pack_key=(.*)$");
public static Optional<Pair<String, String>> parseExternalUri(@Nullable Uri uri) {
if (uri == null) return Optional.absent();
if (uri == null) return Optional.empty();
return parseActionUri(uri).or(parseShareLink(uri.toString()));
return OptionalUtil.or(parseActionUri(uri), parseShareLink(uri.toString()));
}
public static Optional<Pair<String, String>> parseActionUri(@Nullable Uri uri) {
if (uri == null) return Optional.absent();
if (uri == null) return Optional.empty();
String packId = uri.getQueryParameter("pack_id");
String packKey = uri.getQueryParameter("pack_key");
if (TextUtils.isEmpty(packId) || TextUtils.isEmpty(packKey) || !isValidHex(packId) || !isValidHex(packKey)) {
return Optional.absent();
return Optional.empty();
}
return Optional.of(new Pair<>(packId, packKey));
@@ -48,7 +49,7 @@ public class StickerUrl {
}
public static @NonNull Optional<Pair<String, String>> parseShareLink(@Nullable String url) {
if (url == null) return Optional.absent();
if (url == null) return Optional.empty();
Matcher matcher = STICKER_URL_PATTERN.matcher(url);
@@ -61,7 +62,7 @@ public class StickerUrl {
}
}
return Optional.absent();
return Optional.empty();
}
public static String createShareLink(@NonNull String packId, @NonNull String packKey) {