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