Add peek and join capabilities to call links implementation.

This commit is contained in:
Alex Hart
2023-06-01 13:53:23 -03:00
committed by Cody Henthorne
parent f8434bede5
commit 62940893f0
18 changed files with 455 additions and 16 deletions

View File

@@ -185,7 +185,13 @@ class CallLinkTable(context: Context, databaseHelper: SignalDatabase) : Database
fun getCallLinks(query: String?, offset: Int, limit: Int): List<CallLogRow.CallLink> {
return queryCallLinks(query, offset, limit, false).readToList {
val callLink = CallLinkDeserializer.deserialize(it)
CallLogRow.CallLink(callLink, Recipient.resolved(callLink.recipientId), query)
val peer = Recipient.resolved(callLink.recipientId)
CallLogRow.CallLink(
record = callLink,
recipient = peer,
searchQuery = query,
callLinkPeekInfo = ApplicationDependencies.getSignalCallManager().peekInfoSnapshot[peer.id]
)
}
}

View File

@@ -814,6 +814,7 @@ class CallTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTabl
val filterClause: SqlUtil.Query = when (filter) {
CallLogFilter.ALL -> SqlUtil.buildQuery("$DELETION_TIMESTAMP = 0")
CallLogFilter.MISSED -> SqlUtil.buildQuery("$EVENT = ${Event.serialize(Event.MISSED)} AND $DELETION_TIMESTAMP = 0")
CallLogFilter.AD_HOC -> SqlUtil.buildQuery("$TYPE = ${Type.serialize(Type.AD_HOC_CALL)} AND $DELETION_TIMESTAMP = 0")
}
val queryClause: SqlUtil.Query = if (!searchTerm.isNullOrEmpty()) {
@@ -968,14 +969,16 @@ class CallTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTabl
.toSet()
val actualChildren = inPeriod.takeWhile { children.contains(it) }
val peer = Recipient.resolved(call.peer)
CallLogRow.Call(
record = call,
date = call.timestamp,
peer = Recipient.resolved(call.peer),
peer = peer,
groupCallState = CallLogRow.GroupCallState.fromDetails(groupCallDetails),
children = actualChildren.toSet(),
searchQuery = searchTerm
searchQuery = searchTerm,
callLinkPeekInfo = ApplicationDependencies.getSignalCallManager().peekInfoSnapshot[peer.id]
)
}
}