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,7 +11,6 @@ import androidx.annotation.Nullable;
import com.annimon.stream.Stream;
import org.thoughtcrime.securesms.database.model.Mention;
import org.thoughtcrime.securesms.database.model.MessageId;
import org.thoughtcrime.securesms.linkpreview.LinkPreview;
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.stickers.StickerLocator;

View File

@@ -87,7 +87,7 @@ public final class MultiShareSender {
List<Mention> mentions = getValidMentionsForRecipient(recipient, multiShareArgs.getMentions());
TransportOption transport = resolveTransportOption(context, recipient);
boolean forceSms = recipient.isForceSmsSelection() && transport.isSms();
int subscriptionId = transport.getSimSubscriptionId().or(-1);
int subscriptionId = transport.getSimSubscriptionId().orElse(-1);
long expiresIn = TimeUnit.SECONDS.toMillis(recipient.getExpiresInSeconds());
boolean needsSplit = !transport.isSms() &&
message != null &&

View File

@@ -66,13 +66,13 @@ import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
import org.thoughtcrime.securesms.util.views.SimpleProgressDialog;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
@@ -524,8 +524,8 @@ public class ShareActivity extends PassphraseRequiredActivity
private Set<ShareContactAndThread> resolvedShareContacts(@NonNull Set<ShareContact> sharedContacts) {
Set<Recipient> recipients = Stream.of(sharedContacts)
.map(contact -> contact.getRecipientId()
.transform(Recipient::resolved)
.or(() -> Recipient.external(this, contact.getNumber())))
.map(Recipient::resolved)
.orElseGet(() -> Recipient.external(this, contact.getNumber())))
.collect(Collectors.toSet());
Map<RecipientId, Long> existingThreads = SignalDatabase.threads()
@@ -591,7 +591,7 @@ public class ShareActivity extends PassphraseRequiredActivity
return;
}
onResolved.accept(data.orNull());
onResolved.accept(data.orElse(null));
});
}
@@ -681,9 +681,9 @@ public class ShareActivity extends PassphraseRequiredActivity
0,
false,
false,
Optional.absent(),
Optional.absent(),
Optional.absent()));
Optional.empty(),
Optional.empty(),
Optional.empty()));
}
Intent intent = MediaSelectionActivity.share(this,

View File

@@ -4,9 +4,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.thoughtcrime.securesms.recipients.RecipientId;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.Objects;
import java.util.Optional;
public final class ShareContact {
private final Optional<RecipientId> recipientId;

View File

@@ -6,29 +6,29 @@ import androidx.annotation.NonNull;
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.util.MediaUtil;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
class ShareData {
private final Optional<Uri> uri;
private final Optional<String> mimeType;
private final Optional<Uri> uri;
private final Optional<String> mimeType;
private final Optional<ArrayList<Media>> media;
private final boolean external;
private final boolean isMmsOrSmsSupported;
static ShareData forIntentData(@NonNull Uri uri, @NonNull String mimeType, boolean external, boolean isMmsOrSmsSupported) {
return new ShareData(Optional.of(uri), Optional.of(mimeType), Optional.absent(), external, isMmsOrSmsSupported);
return new ShareData(Optional.of(uri), Optional.of(mimeType), Optional.empty(), external, isMmsOrSmsSupported);
}
static ShareData forPrimitiveTypes() {
return new ShareData(Optional.absent(), Optional.absent(), Optional.absent(), true, true);
return new ShareData(Optional.empty(), Optional.empty(), Optional.empty(), true, true);
}
static ShareData forMedia(@NonNull List<Media> media, boolean isMmsOrSmsSupported) {
return new ShareData(Optional.absent(), Optional.absent(), Optional.of(new ArrayList<>(media)), true, isMmsOrSmsSupported);
return new ShareData(Optional.empty(), Optional.empty(), Optional.of(new ArrayList<>(media)), true, isMmsOrSmsSupported);
}
private ShareData(Optional<Uri> uri, Optional<String> mimeType, Optional<ArrayList<Media>> media, boolean external, boolean isMmsOrSmsSupported) {

View File

@@ -31,13 +31,13 @@ import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.util.MediaUtil;
import org.thoughtcrime.securesms.util.UriUtil;
import org.thoughtcrime.securesms.util.Util;
import org.whispersystems.libsignal.util.guava.Optional;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
class ShareRepository {
@@ -52,7 +52,7 @@ class ShareRepository {
callback.onResult(Optional.of(getResolvedInternal(uri, mimeType)));
} catch (IOException e) {
Log.w(TAG, "Failed to resolve!", e);
callback.onResult(Optional.absent());
callback.onResult(Optional.empty());
}
});
}
@@ -63,10 +63,10 @@ class ShareRepository {
void getResolved(@NonNull List<Uri> uris, @NonNull Callback<Optional<ShareData>> callback) {
SignalExecutors.BOUNDED.execute(() -> {
try {
callback.onResult(Optional.fromNullable(getResolvedInternal(uris)));
callback.onResult(Optional.ofNullable(getResolvedInternal(uris)));
} catch (IOException e) {
Log.w(TAG, "Failed to resolve!", e);
callback.onResult(Optional.absent());
callback.onResult(Optional.empty());
}
});
}
@@ -135,7 +135,7 @@ class ShareRepository {
TransportOptions options = new TransportOptions(context, true);
options.setDefaultTransport(TransportOption.Type.SMS);
MediaConstraints mmsConstraints = MediaConstraints.getMmsMediaConstraints(options.getSelectedTransport().getSimSubscriptionId().or(-1));
MediaConstraints mmsConstraints = MediaConstraints.getMmsMediaConstraints(options.getSelectedTransport().getSimSubscriptionId().orElse(-1));
return mmsConstraints.isSatisfied(context, attachment) || mmsConstraints.canResize(attachment);
}
@@ -188,8 +188,8 @@ class ShareRepository {
false,
false,
Optional.of(Media.ALL_MEDIA_BUCKET_ID),
Optional.absent(),
Optional.absent()));
Optional.empty(),
Optional.empty()));
if (media.size() >= MediaSendConstants.MAX_PUSH) {
Log.w(TAG, "Exceeded the attachment limit! Skipping the rest.");

View File

@@ -20,10 +20,10 @@ public class ShareSelectionMappingModel implements MappingModel<ShareSelectionMa
@NonNull String getName(@NonNull Context context) {
String name = shareContact.getRecipientId()
.transform(Recipient::resolved)
.transform(recipient -> recipient.isSelf() ? context.getString(R.string.note_to_self)
.map(Recipient::resolved)
.map(recipient -> recipient.isSelf() ? context.getString(R.string.note_to_self)
: recipient.getShortDisplayNameIncludingUsername(context))
.or(shareContact::getNumber);
.orElseGet(shareContact::getNumber);
return isFirst ? name : context.getString(R.string.ShareActivity__comma_s, name);
}

View File

@@ -21,11 +21,11 @@ import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.DefaultValueLiveData;
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import io.reactivex.rxjava3.core.Single;
@@ -118,7 +118,7 @@ public class ShareViewModel extends ViewModel {
}
void onNonExternalShare() {
shareData.setValue(Optional.absent());
shareData.setValue(Optional.empty());
externalShare = false;
}
@@ -136,7 +136,7 @@ public class ShareViewModel extends ViewModel {
@Override
protected void onCleared() {
ShareData data = shareData.getValue() != null ? shareData.getValue().orNull() : null;
ShareData data = shareData.getValue() != null ? shareData.getValue().orElse(null) : null;
if (data != null && data.isExternal() && data.isForIntent() && !mediaUsed) {
Log.i(TAG, "Clearing out unused data.");

View File

@@ -8,7 +8,6 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Stream;

View File

@@ -17,8 +17,8 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreview;
import org.thoughtcrime.securesms.sharing.MultiShareArgs;
import org.thoughtcrime.securesms.sharing.MultiShareSender;
import org.thoughtcrime.securesms.util.DefaultValueLiveData;
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModelList;
class ShareInterstitialViewModel extends ViewModel {