Eliminate unnecessary observer and JOIN.

This commit is contained in:
Alex Hart 2024-10-17 12:35:31 -03:00
parent 635df6ebd3
commit 5816ca6c6e
2 changed files with 7 additions and 2 deletions

View file

@ -66,7 +66,6 @@ class CallLogRepository(
refresh()
}
AppDependencies.databaseObserver.registerConversationListObserver(databaseObserver)
AppDependencies.databaseObserver.registerCallUpdateObserver(databaseObserver)
emitter.setCancellable {

View file

@ -1274,6 +1274,12 @@ class CallTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTabl
"p.$ID, p.$TIMESTAMP, $EVENT, $DIRECTION, $PEER, p.$TYPE, $CALL_ID, $MESSAGE_ID, $RINGER, $LOCAL_JOINED, $GROUP_CALL_ACTIVE, children, in_period, ${MessageTable.BODY},"
}
val join = if (isCount) {
""
} else {
"LEFT JOIN ${MessageTable.TABLE_NAME} ON ${MessageTable.TABLE_NAME}.${MessageTable.ID} = $MESSAGE_ID"
}
// Group call events by those we consider missed or not missed to build out our call log aggregation.
val eventTypeSubQuery = """
($TABLE_NAME.$EVENT = c.$EVENT AND (
@ -1372,7 +1378,7 @@ class CallTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTabl
cte
) p
INNER JOIN ${RecipientTable.TABLE_NAME} ON ${RecipientTable.TABLE_NAME}.${RecipientTable.ID} = $PEER
LEFT JOIN ${MessageTable.TABLE_NAME} ON ${MessageTable.TABLE_NAME}.${MessageTable.ID} = $MESSAGE_ID
$join
LEFT JOIN ${GroupTable.TABLE_NAME} ON ${GroupTable.TABLE_NAME}.${GroupTable.RECIPIENT_ID} = ${RecipientTable.TABLE_NAME}.${RecipientTable.ID}
WHERE true_parent = p.$ID
AND CASE