From 2744dec43a00f681bf53ca72fda13872275c5e97 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 17 May 2024 12:43:34 -0400 Subject: [PATCH] Switch to using dateSent for jump-to-calendar. We use dateSent for date dividers, but were using dateReceived for calendar date availability, which would occasionally result in a mismatch. Switched to use the same thing we use for date dividers. --- .../securesms/conversation/v2/ConversationFragment.kt | 2 +- .../securesms/conversation/v2/ConversationRepository.kt | 4 ++-- .../securesms/conversation/v2/ConversationViewModel.kt | 4 ++-- .../org/thoughtcrime/securesms/database/MessageTable.kt | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt index c8900e5538..9a3228e2fa 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt @@ -4200,7 +4200,7 @@ class ConversationFragment : } override fun onDatePickerSelected() { - disposables += viewModel.getEarliestMessageDate().subscribe { earliestDate -> + disposables += viewModel.getEarliestMessageSentDate().subscribe { earliestDate -> val local = LocalDateTime.now() .atMidnight() .atUTC() diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt index a403faa587..1826355165 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationRepository.kt @@ -585,9 +585,9 @@ class ConversationRepository( } } - fun getEarliestMessageDate(threadId: Long): Single { + fun getEarliestMessageSentDate(threadId: Long): Single { return Single - .fromCallable { SignalDatabase.messages.getEarliestMessageDate(threadId) } + .fromCallable { SignalDatabase.messages.getEarliestMessageSentDate(threadId) } .subscribeOn(Schedulers.io()) } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt index 0de5820bb0..272007b078 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt @@ -521,9 +521,9 @@ class ConversationViewModel( _jumpToDateValidator } - fun getEarliestMessageDate(): Single { + fun getEarliestMessageSentDate(): Single { return repository - .getEarliestMessageDate(threadId) + .getEarliestMessageSentDate(threadId) .observeOn(AndroidSchedulers.mainThread()) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt index 6fc9d9c265..f223b7e8ce 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MessageTable.kt @@ -3954,17 +3954,17 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat return dayStarts.associateWith { startOfDay -> readableDatabase .exists(TABLE_NAME) - .where("$THREAD_ID = $threadId AND $DATE_RECEIVED >= $startOfDay AND $DATE_RECEIVED < $startOfDay + 86400000 AND $SCHEDULED_DATE = -1 AND $LATEST_REVISION_ID IS NULL AND $STORY_TYPE = 0 AND $PARENT_STORY_ID <= 0") + .where("$THREAD_ID = $threadId AND $DATE_SENT >= $startOfDay AND $DATE_SENT < $startOfDay + 86400000 AND $SCHEDULED_DATE = -1 AND $LATEST_REVISION_ID IS NULL AND $STORY_TYPE = 0 AND $PARENT_STORY_ID <= 0") .run() } } - fun getEarliestMessageDate(threadId: Long): Long { + fun getEarliestMessageSentDate(threadId: Long): Long { return readableDatabase - .select(DATE_RECEIVED) + .select(DATE_SENT) .from(TABLE_NAME) .where("$THREAD_ID = $threadId AND $SCHEDULED_DATE = -1 AND $LATEST_REVISION_ID IS NULL AND $STORY_TYPE = 0 AND $PARENT_STORY_ID <= 0") - .orderBy("$DATE_RECEIVED ASC") + .orderBy("$DATE_SENT ASC") .limit(1) .run() .readToSingleLong(0)