Update to libsignal 0.86.1

This commit is contained in:
Jordan Rose
2025-11-07 13:34:31 -08:00
committed by GitHub
parent 945453cb81
commit b2e547f9f2
37 changed files with 119 additions and 103 deletions

View File

@@ -11,7 +11,6 @@ import org.signal.core.util.logging.Log;
import org.signal.libsignal.protocol.IdentityKey;
import org.signal.libsignal.protocol.IdentityKeyPair;
import org.signal.libsignal.protocol.InvalidKeyException;
import org.signal.libsignal.protocol.util.Pair;
import org.signal.libsignal.zkgroup.InvalidInputException;
import org.signal.libsignal.zkgroup.profiles.ExpiringProfileKeyCredential;
import org.signal.libsignal.zkgroup.profiles.ProfileKey;
@@ -57,6 +56,8 @@ import java.util.Locale;
import java.util.Optional;
import java.util.stream.Collectors;
import kotlin.Pair;
import io.reactivex.rxjava3.core.Single;
/**
@@ -112,7 +113,7 @@ public final class ProfileUtil {
throws IOException
{
Pair<Recipient, ServiceResponse<ProfileAndCredential>> response = retrieveProfile(context, recipient, requestType, allowUnidentifiedAccess).blockingGet();
return new ProfileService.ProfileResponseProcessor(response.second()).getResultOrThrow();
return new ProfileService.ProfileResponseProcessor(response.getSecond()).getResultOrThrow();
}
@WorkerThread

View File

@@ -12,7 +12,6 @@ import androidx.annotation.Nullable;
import com.annimon.stream.Stream;
import org.signal.core.util.StringUtil;
import org.signal.libsignal.protocol.util.Pair;
import org.thoughtcrime.securesms.components.spoiler.SpoilerAnnotation;
import java.security.InvalidParameterException;
@@ -21,6 +20,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import kotlin.Pair;
public class SearchUtil {
public static final int STRICT = 0;
@@ -73,9 +74,9 @@ public class SearchUtil {
for (Pair<Integer, Integer> range : ranges) {
CharacterStyle[] styles = styleFactory.createStyles();
for (CharacterStyle style : styles) {
List<Annotation> annotations = SpoilerAnnotation.getSpoilerAnnotations(spanned, range.first(), range.second());
List<Annotation> annotations = SpoilerAnnotation.getSpoilerAnnotations(spanned, range.getFirst(), range.getSecond());
if (annotations.isEmpty()) {
spanned.setSpan(style, range.first(), range.second(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spanned.setSpan(style, range.getFirst(), range.getSecond(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}

View File

@@ -4,12 +4,13 @@ import android.view.ViewGroup;
import androidx.recyclerview.widget.RecyclerView;
import org.signal.libsignal.protocol.util.Pair;
import org.thoughtcrime.securesms.components.RecyclerViewFastScroller;
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
import java.util.Optional;
import kotlin.Pair;
public final class RecyclerViewConcatenateAdapterStickyHeader extends RecyclerViewConcatenateAdapter
implements StickyHeaderDecoration.StickyHeaderAdapter,
@@ -18,12 +19,12 @@ public final class RecyclerViewConcatenateAdapterStickyHeader extends Recycle
@Override
public long getHeaderId(int position) {
return getForPosition(position).map(p -> p.first().getHeaderId(p.second())).orElse(-1L);
return getForPosition(position).map(p -> p.getFirst().getHeaderId(p.getSecond())).orElse(-1L);
}
@Override
public RecyclerView.ViewHolder onCreateHeaderViewHolder(ViewGroup parent, int position, int type) {
return getForPosition(position).map(p -> p.first().onCreateHeaderViewHolder(parent, p.second(), type)).orElse(null);
return getForPosition(position).map(p -> p.getFirst().onCreateHeaderViewHolder(parent, p.getSecond(), type)).orElse(null);
}
@Override
@@ -33,7 +34,7 @@ public final class RecyclerViewConcatenateAdapterStickyHeader extends Recycle
if (forPosition.isPresent()) {
Pair<StickyHeaderDecoration.StickyHeaderAdapter, Integer> stickyHeaderAdapterIntegerPair = forPosition.get();
//noinspection unchecked
stickyHeaderAdapterIntegerPair.first().onBindHeaderViewHolder(viewHolder, stickyHeaderAdapterIntegerPair.second(), type);
stickyHeaderAdapterIntegerPair.getFirst().onBindHeaderViewHolder(viewHolder, stickyHeaderAdapterIntegerPair.getSecond(), type);
}
}
@@ -42,8 +43,8 @@ public final class RecyclerViewConcatenateAdapterStickyHeader extends Recycle
Optional<Pair<StickyHeaderDecoration.StickyHeaderAdapter, Integer>> forPosition = getForPosition(position);
return forPosition.map(a -> {
if (a.first() instanceof RecyclerViewFastScroller.FastScrollAdapter) {
return ((RecyclerViewFastScroller.FastScrollAdapter) a.first()).getBubbleText(a.second());
if (a.getFirst() instanceof RecyclerViewFastScroller.FastScrollAdapter) {
return ((RecyclerViewFastScroller.FastScrollAdapter) a.getFirst()).getBubbleText(a.getSecond());
} else {
return "";
}

View File

@@ -5,7 +5,7 @@ import androidx.annotation.Nullable;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MediatorLiveData;
import org.signal.libsignal.protocol.util.Pair;
import kotlin.Pair;
public final class LiveDataPair<A, B> extends MediatorLiveData<Pair<A, B>> {
private A a;