Fix group call flickering missed.

This commit is contained in:
Alex Hart
2024-07-17 16:01:04 -03:00
committed by Greyson Parrelli
parent 3c10966a36
commit d424a60345
11 changed files with 224 additions and 57 deletions

View File

@@ -103,6 +103,7 @@ import java.util.UUID;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import io.reactivex.rxjava3.core.Flowable;
@@ -446,6 +447,10 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall.
}
public void peekGroupCall(@NonNull RecipientId id) {
peekGroupCall(id, null);
}
public void peekGroupCall(@NonNull RecipientId id, @Nullable Consumer<PeekInfo> onWillUpdateCallFromPeek) {
if (callManager == null) {
Log.i(TAG, "Unable to peekGroupCall, call manager is null");
return;
@@ -464,6 +469,10 @@ public final class SignalCallManager implements CallManager.Observer, GroupCall.
Long threadId = SignalDatabase.threads().getThreadIdFor(group.getId());
if (threadId != null) {
if (onWillUpdateCallFromPeek != null) {
onWillUpdateCallFromPeek.accept(peekInfo);
}
SignalDatabase.calls()
.updateGroupCallFromPeek(threadId,
peekInfo.getEraId(),