Remove all remaining usages of annimon.stream.

This commit is contained in:
Jesse Weinstein
2026-04-11 11:08:02 -04:00
committed by jeffrey-signal
parent 7f6e96a522
commit 82df20190d
101 changed files with 458 additions and 548 deletions

View File

@@ -9,8 +9,7 @@ import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Transformations;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import java.util.stream.Collectors;
import org.signal.core.models.ServiceId;
import org.signal.core.util.concurrent.SignalExecutors;
@@ -88,12 +87,12 @@ public final class LiveGroup {
protected static LiveData<List<GroupMemberEntry.FullMember>> mapToFullMembers(@NonNull LiveData<GroupRecord> groupRecord) {
return LiveDataUtil.mapAsync(groupRecord,
g -> Stream.of(g.getMembers())
.map(m -> {
g -> g.getMembers().stream()
.map(m -> {
Recipient recipient = Recipient.resolved(m);
return new GroupMemberEntry.FullMember(recipient, g.isAdmin(recipient));
})
.sorted(MEMBER_ORDER).collect(Collectors.toList()));
.sorted(MEMBER_ORDER).collect(Collectors.toList()));
}
protected static LiveData<List<GroupMemberEntry.RequestingMember>> mapToRequestingMembers(@NonNull LiveData<GroupRecord> groupRecord) {
@@ -106,8 +105,8 @@ public final class LiveGroup {
boolean selfAdmin = g.isAdmin(Recipient.self());
List<DecryptedRequestingMember> requestingMembersList = g.requireV2GroupProperties().getDecryptedGroup().requestingMembers;
return Stream.of(requestingMembersList)
.map(requestingMember -> {
return requestingMembersList.stream()
.map(requestingMember -> {
Recipient recipient = Recipient.externalPush(ServiceId.parseOrThrow(requestingMember.aciBytes));
return new GroupMemberEntry.RequestingMember(recipient, selfAdmin);
}).collect(Collectors.toList());
@@ -194,8 +193,8 @@ public final class LiveGroup {
public LiveData<List<GroupMemberEntry.FullMember>> getNonAdminFullMembers() {
return Transformations.map(fullMembers,
members -> Stream.of(members)
.filter(fullMember -> !fullMember.isAdmin()).collect(Collectors.toList()));
members -> members.stream()
.filter(fullMember -> !fullMember.isAdmin()).collect(Collectors.toList()));
}
public LiveData<List<GroupMemberEntry.FullMember>> getFullMembers() {

View File

@@ -10,8 +10,7 @@ import androidx.lifecycle.LifecycleOwner;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import java.util.stream.Collectors;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.recipients.Recipient;
@@ -82,7 +81,7 @@ public final class GroupMemberListView extends RecyclerView {
}
public void setDisplayOnlyMembers(@NonNull List<Recipient> recipients) {
membersAdapter.updateData(Stream.of(recipients).map(r -> new GroupMemberEntry.FullMember(r, false)).collect(Collectors.toList()));
membersAdapter.updateData(recipients.stream().map(r -> new GroupMemberEntry.FullMember(r, false)).collect(Collectors.toList()));
}
@Override

View File

@@ -7,7 +7,6 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import com.annimon.stream.Stream;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.signal.core.util.logging.Log;
@@ -62,7 +61,7 @@ public final class LeaveGroupDialog {
if (groupProperties != null && groupProperties.isAdmin(Recipient.self())) {
List<Recipient> otherMemberRecipients = groupProperties.getMemberRecipients(GroupTable.MemberSet.FULL_MEMBERS_EXCLUDING_SELF);
long otherAdminsCount = Stream.of(otherMemberRecipients).filter(groupProperties::isAdmin).count();
long otherAdminsCount = otherMemberRecipients.stream().filter(groupProperties::isAdmin).count();
return otherAdminsCount == 0 && !otherMemberRecipients.isEmpty();
}

View File

@@ -11,8 +11,7 @@ import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.lifecycle.ViewModelProvider;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import java.util.stream.Collectors;
import org.thoughtcrime.securesms.MainActivity;
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
@@ -74,10 +73,10 @@ public final class ChooseNewAdminActivity extends PassphraseRequiredActivity {
initializeViewModel();
groupList.initializeAdapter(this);
groupList.setRecipientSelectionChangeListener(selection -> viewModel.setSelection(Stream.of(selection)
.filter(x -> x instanceof GroupMemberEntry.FullMember)
.map(x-> (GroupMemberEntry.FullMember)x)
.collect(Collectors.toSet())));
groupList.setRecipientSelectionChangeListener(selection -> viewModel.setSelection(selection.stream()
.filter(x -> x instanceof GroupMemberEntry.FullMember)
.map(x-> (GroupMemberEntry.FullMember)x)
.collect(Collectors.toSet())));
done.setOnClickListener(v -> {
done.setSpinning();

View File

@@ -7,8 +7,7 @@ import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import com.annimon.stream.Collectors;
import com.annimon.stream.Stream;
import java.util.stream.Collectors;
import org.thoughtcrime.securesms.dependencies.AppDependencies;
import org.thoughtcrime.securesms.groups.GroupId;
@@ -51,7 +50,7 @@ final class ChooseNewAdminViewModel extends ViewModel {
void updateAdminsAndLeave(@NonNull Consumer<GroupChangeResult> consumer) {
//noinspection ConstantConditions
List<RecipientId> recipientIds = Stream.of(selection.getValue()).map(entry -> entry.getMember().getId()).collect(Collectors.toList());
List<RecipientId> recipientIds = selection.getValue().stream().map(entry -> entry.getMember().getId()).collect(Collectors.toList());
SimpleTask.run(() -> repository.updateAdminsAndLeave(groupId, recipientIds), consumer::accept);
}

View File

@@ -6,7 +6,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread;
import androidx.core.util.Consumer;
import com.annimon.stream.Stream;
import org.signal.core.util.concurrent.SignalExecutors;
import org.signal.core.util.logging.Log;
@@ -28,7 +27,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Executor;
import com.annimon.stream.Collectors;
import java.util.stream.Collectors;
import okio.ByteString;
@@ -60,7 +59,7 @@ final class PendingMemberInvitesRepository {
ByteString self = SignalStore.account().requireAci().toByteString();
boolean selfIsAdmin = v2GroupProperties.isAdmin(Recipient.self());
Stream.of(pendingMembersList)
pendingMembersList.stream()
.collect(Collectors.groupingBy(m -> m.addedByAci))
.entrySet()
.forEach(g ->

View File

@@ -15,7 +15,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.text.util.LinkifyCompat;
import com.annimon.stream.Stream;
import java.util.stream.Stream;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.emoji.EmojiTextView;