From 5816ca6c6eeec588096f32f8b783c42d8124e66e Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Thu, 17 Oct 2024 12:35:31 -0300 Subject: [PATCH] Eliminate unnecessary observer and JOIN. --- .../thoughtcrime/securesms/calls/log/CallLogRepository.kt | 1 - .../java/org/thoughtcrime/securesms/database/CallTable.kt | 8 +++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogRepository.kt index 5a6003d76b..5c137d4205 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/calls/log/CallLogRepository.kt @@ -66,7 +66,6 @@ class CallLogRepository( refresh() } - AppDependencies.databaseObserver.registerConversationListObserver(databaseObserver) AppDependencies.databaseObserver.registerCallUpdateObserver(databaseObserver) emitter.setCancellable { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt index 13080ea176..b0cac3e72f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/CallTable.kt @@ -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