mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Update libsignal-client to 0.14.0
This commit is contained in:
committed by
Cody Henthorne
parent
749bbf428d
commit
057231b9c3
@@ -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()))
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user