mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 09:49:30 +01:00
Update libsignal-client to 0.14.0
This commit is contained in:
committed by
Cody Henthorne
parent
749bbf428d
commit
057231b9c3
@@ -21,10 +21,10 @@ import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.DistributionListRecord;
|
||||
import org.thoughtcrime.securesms.database.model.RecipientRecord;
|
||||
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
@@ -218,7 +218,7 @@ public final class LiveRecipient {
|
||||
if (groupRecord.isPresent()) {
|
||||
String title = groupRecord.get().getTitle();
|
||||
List<Recipient> members = Stream.of(groupRecord.get().getMembers()).filterNot(RecipientId::isUnknown).map(this::fetchAndCacheRecipientFromDisk).toList();
|
||||
Optional<Long> avatarId = Optional.absent();
|
||||
Optional<Long> avatarId = Optional.empty();
|
||||
|
||||
if (groupRecord.get().hasAvatar()) {
|
||||
avatarId = Optional.of(groupRecord.get().getAvatarId());
|
||||
@@ -227,7 +227,7 @@ public final class LiveRecipient {
|
||||
return new RecipientDetails(title, null, avatarId, false, false, record.getRegistered(), record, members, false);
|
||||
}
|
||||
|
||||
return new RecipientDetails(null, null, Optional.absent(), false, false, record.getRegistered(), record, null, false);
|
||||
return new RecipientDetails(null, null, Optional.empty(), false, false, record.getRegistered(), record, null, false);
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
|
||||
@@ -155,11 +155,11 @@ public final class LiveRecipientCache {
|
||||
}
|
||||
|
||||
if (localAci != null) {
|
||||
selfId = recipientDatabase.getByServiceId(localAci).orNull();
|
||||
selfId = recipientDatabase.getByServiceId(localAci).orElse(null);
|
||||
}
|
||||
|
||||
if (selfId == null && localE164 != null) {
|
||||
selfId = recipientDatabase.getByE164(localE164).orNull();
|
||||
selfId = recipientDatabase.getByE164(localE164).orElse(null);
|
||||
}
|
||||
|
||||
if (selfId == null) {
|
||||
|
||||
@@ -47,11 +47,11 @@ import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.StringUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.thoughtcrime.securesms.wallpaper.ChatWallpaper;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.libsignal.util.guava.Preconditions;
|
||||
import org.whispersystems.signalservice.api.push.PNI;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId;
|
||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||
import org.whispersystems.signalservice.api.util.OptionalUtil;
|
||||
import org.whispersystems.signalservice.api.util.Preconditions;
|
||||
import org.whispersystems.signalservice.api.util.UuidUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -63,6 +63,7 @@ import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.thoughtcrime.securesms.database.RecipientDatabase.InsightsBannerTier;
|
||||
@@ -187,7 +188,7 @@ public class Recipient {
|
||||
*/
|
||||
@WorkerThread
|
||||
public static @NonNull Recipient externalPush(@NonNull SignalServiceAddress signalServiceAddress) {
|
||||
return externalPush(signalServiceAddress.getServiceId(), signalServiceAddress.getNumber().orNull(), false);
|
||||
return externalPush(signalServiceAddress.getServiceId(), signalServiceAddress.getNumber().orElse(null), false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,7 +216,7 @@ public class Recipient {
|
||||
*/
|
||||
@WorkerThread
|
||||
public static @NonNull Recipient externalHighTrustPush(@NonNull Context context, @NonNull SignalServiceAddress signalServiceAddress) {
|
||||
return externalPush(signalServiceAddress.getServiceId(), signalServiceAddress.getNumber().orNull(), true);
|
||||
return externalPush(signalServiceAddress.getServiceId(), signalServiceAddress.getNumber().orElse(null), true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -353,7 +354,7 @@ public class Recipient {
|
||||
this.groupId = null;
|
||||
this.distributionListId = null;
|
||||
this.participants = Collections.emptyList();
|
||||
this.groupAvatarId = Optional.absent();
|
||||
this.groupAvatarId = Optional.empty();
|
||||
this.isSelf = false;
|
||||
this.blocked = false;
|
||||
this.muteUntil = 0;
|
||||
@@ -362,7 +363,7 @@ public class Recipient {
|
||||
this.messageRingtone = null;
|
||||
this.callRingtone = null;
|
||||
this.insightsBannerTier = InsightsBannerTier.TIER_TWO;
|
||||
this.defaultSubscriptionId = Optional.absent();
|
||||
this.defaultSubscriptionId = Optional.empty();
|
||||
this.expireMessages = 0;
|
||||
this.registered = RegisteredState.UNKNOWN;
|
||||
this.profileKey = null;
|
||||
@@ -393,7 +394,7 @@ public class Recipient {
|
||||
this.aboutEmoji = null;
|
||||
this.systemProfileName = ProfileName.EMPTY;
|
||||
this.systemContactName = null;
|
||||
this.extras = Optional.absent();
|
||||
this.extras = Optional.empty();
|
||||
this.hasGroupsInCommon = false;
|
||||
this.badges = Collections.emptyList();
|
||||
this.isReleaseNotesRecipient = false;
|
||||
@@ -401,9 +402,9 @@ public class Recipient {
|
||||
|
||||
public Recipient(@NonNull RecipientId id, @NonNull RecipientDetails details, boolean resolved) {
|
||||
this.id = id;
|
||||
this.resolving = !resolved;
|
||||
this.serviceId = details.serviceId;
|
||||
this.pni = details.pni;
|
||||
this.resolving = !resolved;
|
||||
this.serviceId = details.serviceId;
|
||||
this.pni = details.pni;
|
||||
this.username = details.username;
|
||||
this.e164 = details.e164;
|
||||
this.email = details.email;
|
||||
@@ -621,45 +622,45 @@ public class Recipient {
|
||||
getSystemProfileName().getGivenName(),
|
||||
getProfileName().getGivenName(),
|
||||
getDisplayName(context),
|
||||
getUsername().orNull());
|
||||
getUsername().orElse(null));
|
||||
|
||||
return StringUtil.isolateBidi(name);
|
||||
}
|
||||
|
||||
public @NonNull Optional<ServiceId> getServiceId() {
|
||||
return Optional.fromNullable(serviceId);
|
||||
return Optional.ofNullable(serviceId);
|
||||
}
|
||||
|
||||
public @NonNull Optional<PNI> getPni() {
|
||||
return Optional.fromNullable(pni);
|
||||
return Optional.ofNullable(pni);
|
||||
}
|
||||
|
||||
public @NonNull Optional<String> getUsername() {
|
||||
if (FeatureFlags.usernames()) {
|
||||
return Optional.fromNullable(username);
|
||||
return Optional.ofNullable(username);
|
||||
} else {
|
||||
return Optional.absent();
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
public @NonNull Optional<String> getE164() {
|
||||
return Optional.fromNullable(e164);
|
||||
return Optional.ofNullable(e164);
|
||||
}
|
||||
|
||||
public @NonNull Optional<String> getEmail() {
|
||||
return Optional.fromNullable(email);
|
||||
return Optional.ofNullable(email);
|
||||
}
|
||||
|
||||
public @NonNull Optional<GroupId> getGroupId() {
|
||||
return Optional.fromNullable(groupId);
|
||||
return Optional.ofNullable(groupId);
|
||||
}
|
||||
|
||||
public @NonNull Optional<DistributionListId> getDistributionListId() {
|
||||
return Optional.fromNullable(distributionListId);
|
||||
return Optional.ofNullable(distributionListId);
|
||||
}
|
||||
|
||||
public @NonNull Optional<String> getSmsAddress() {
|
||||
return Optional.fromNullable(e164).or(Optional.fromNullable(email));
|
||||
return OptionalUtil.or(Optional.ofNullable(e164), Optional.ofNullable(email));
|
||||
}
|
||||
|
||||
public @NonNull PNI requirePni() {
|
||||
@@ -705,7 +706,7 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public boolean hasSmsAddress() {
|
||||
return getE164().or(getEmail()).isPresent();
|
||||
return OptionalUtil.or(getE164(), getEmail()).isPresent();
|
||||
}
|
||||
|
||||
public boolean hasE164() {
|
||||
@@ -721,7 +722,7 @@ public class Recipient {
|
||||
}
|
||||
|
||||
public boolean shouldHideStory() {
|
||||
return extras.transform(Extras::hideStory).or(false);
|
||||
return extras.map(Extras::hideStory).orElse(false);
|
||||
}
|
||||
|
||||
public @NonNull GroupId requireGroupId() {
|
||||
|
||||
@@ -12,25 +12,24 @@ import org.thoughtcrime.securesms.conversation.colors.AvatarColor;
|
||||
import org.thoughtcrime.securesms.conversation.colors.ChatColors;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.InsightsBannerTier;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.MentionSetting;
|
||||
import org.thoughtcrime.securesms.database.model.DistributionListId;
|
||||
import org.thoughtcrime.securesms.database.model.RecipientRecord;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.RegisteredState;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.UnidentifiedAccessMode;
|
||||
import org.thoughtcrime.securesms.database.RecipientDatabase.VibrateState;
|
||||
import org.thoughtcrime.securesms.database.model.DistributionListId;
|
||||
import org.thoughtcrime.securesms.database.model.RecipientRecord;
|
||||
import org.thoughtcrime.securesms.groups.GroupId;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.profiles.ProfileName;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
import org.thoughtcrime.securesms.wallpaper.ChatWallpaper;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.push.ACI;
|
||||
import org.whispersystems.signalservice.api.push.PNI;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class RecipientDetails {
|
||||
|
||||
@@ -147,7 +146,7 @@ public class RecipientDetails {
|
||||
this.systemProfileName = record.getSystemProfileName();
|
||||
this.groupName = groupName;
|
||||
this.systemContactName = systemContactName;
|
||||
this.extras = Optional.fromNullable(record.getExtras());
|
||||
this.extras = Optional.ofNullable(record.getExtras());
|
||||
this.hasGroupsInCommon = record.hasGroupsInCommon();
|
||||
this.badges = record.getBadges();
|
||||
this.isReleaseChannel = isReleaseChannel;
|
||||
@@ -175,7 +174,7 @@ public class RecipientDetails {
|
||||
this.participants = new LinkedList<>();
|
||||
this.profileName = ProfileName.EMPTY;
|
||||
this.insightsBannerTier = InsightsBannerTier.TIER_TWO;
|
||||
this.defaultSubscriptionId = Optional.absent();
|
||||
this.defaultSubscriptionId = Optional.empty();
|
||||
this.registered = RegisteredState.UNKNOWN;
|
||||
this.profileKey = null;
|
||||
this.profileKeyCredential = null;
|
||||
@@ -203,7 +202,7 @@ public class RecipientDetails {
|
||||
this.aboutEmoji = null;
|
||||
this.systemProfileName = ProfileName.EMPTY;
|
||||
this.systemContactName = null;
|
||||
this.extras = Optional.absent();
|
||||
this.extras = Optional.empty();
|
||||
this.hasGroupsInCommon = false;
|
||||
this.badges = Collections.emptyList();
|
||||
this.isReleaseChannel = false;
|
||||
@@ -225,11 +224,11 @@ public class RecipientDetails {
|
||||
}
|
||||
}
|
||||
|
||||
return new RecipientDetails(null, settings.getSystemDisplayName(), Optional.absent(), systemContact, isSelf, registeredState, settings, null, isReleaseChannel);
|
||||
return new RecipientDetails(null, settings.getSystemDisplayName(), Optional.empty(), systemContact, isSelf, registeredState, settings, null, isReleaseChannel);
|
||||
}
|
||||
|
||||
public static @NonNull RecipientDetails forDistributionList(String title, @Nullable List<Recipient> members, @NonNull RecipientRecord record) {
|
||||
return new RecipientDetails(title, null, Optional.absent(), false, false, record.getRegistered(), record, members, false);
|
||||
return new RecipientDetails(title, null, Optional.empty(), false, false, record.getRegistered(), record, members, false);
|
||||
}
|
||||
|
||||
public static @NonNull RecipientDetails forUnknown() {
|
||||
|
||||
@@ -54,7 +54,7 @@ public class RecipientId implements Parcelable, Comparable<RecipientId>, Databas
|
||||
|
||||
@AnyThread
|
||||
public static @NonNull RecipientId from(@NonNull SignalServiceAddress address) {
|
||||
return from(address.getServiceId(), address.getNumber().orNull(), false);
|
||||
return from(address.getServiceId(), address.getNumber().orElse(null), false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,7 +77,7 @@ public class RecipientId implements Parcelable, Comparable<RecipientId>, Databas
|
||||
*/
|
||||
@AnyThread
|
||||
public static @NonNull RecipientId fromHighTrust(@NonNull SignalServiceAddress address) {
|
||||
return from(address.getServiceId(), address.getNumber().orNull(), true);
|
||||
return from(address.getServiceId(), address.getNumber().orElse(null), true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,11 +4,11 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Thread safe cache that allows faster looking up of {@link RecipientId}s without hitting the database.
|
||||
|
||||
@@ -27,13 +27,13 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.mms.OutgoingExpirationUpdateMessage;
|
||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
|
||||
import org.whispersystems.signalservice.api.push.exceptions.NotFoundException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public class RecipientUtil {
|
||||
|
||||
@@ -63,7 +63,7 @@ public class RecipientUtil {
|
||||
}
|
||||
|
||||
if (recipient.hasServiceId()) {
|
||||
return new SignalServiceAddress(recipient.requireServiceId(), Optional.fromNullable(recipient.resolve().getE164().orNull()));
|
||||
return new SignalServiceAddress(recipient.requireServiceId(), Optional.ofNullable(recipient.resolve().getE164().orElse(null)));
|
||||
} else {
|
||||
throw new NotFoundException(recipient.getId() + " is not registered!");
|
||||
}
|
||||
@@ -82,7 +82,7 @@ public class RecipientUtil {
|
||||
|
||||
return Stream.of(recipients)
|
||||
.map(Recipient::resolve)
|
||||
.map(r -> new SignalServiceAddress(r.requireServiceId(), r.getE164().orNull()))
|
||||
.map(r -> new SignalServiceAddress(r.requireServiceId(), r.getE164().orElse(null)))
|
||||
.toList();
|
||||
}
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ public final class RecipientBottomSheetDialogFragment extends BottomSheetDialogF
|
||||
}
|
||||
|
||||
String usernameNumberString = recipient.hasAUserSetDisplayName(requireContext()) && !recipient.isSelf()
|
||||
? recipient.getSmsAddress().transform(PhoneNumberFormatter::prettyPrint).or("").trim()
|
||||
? recipient.getSmsAddress().map(PhoneNumberFormatter::prettyPrint).orElse("").trim()
|
||||
: "";
|
||||
usernameNumber.setText(usernameNumberString);
|
||||
usernameNumber.setVisibility(TextUtils.isEmpty(usernameNumberString) ? View.GONE : View.VISIBLE);
|
||||
|
||||
@@ -54,7 +54,7 @@ final class RecipientDialogRepository {
|
||||
|
||||
void getIdentity(@NonNull Consumer<IdentityRecord> callback) {
|
||||
SignalExecutors.BOUNDED.execute(
|
||||
() -> callback.accept(ApplicationDependencies.getProtocolStore().aci().identities().getIdentityRecord(recipientId).orNull()));
|
||||
() -> callback.accept(ApplicationDependencies.getProtocolStore().aci().identities().getIdentityRecord(recipientId).orElse(null)));
|
||||
}
|
||||
|
||||
void getRecipient(@NonNull RecipientCallback recipientCallback) {
|
||||
|
||||
@@ -7,7 +7,6 @@ import android.widget.Toast;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.WorkerThread;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
Reference in New Issue
Block a user