From 7b75a32394a7501f5b95aa3a791b782f61a26557 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 14 Jul 2023 11:41:31 -0400 Subject: [PATCH] Clean up remaining CFv2 todos. --- .../conversation/v2/ConversationAdapterV2.kt | 20 +++++++------------ .../conversation/v2/ConversationFragment.kt | 6 ++---- .../conversation/v2/ConversationViewModel.kt | 3 +++ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt index 096f02d17b..a060d4df9d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt @@ -184,19 +184,16 @@ class ConversationAdapterV2( } fun canJumpToPosition(absolutePosition: Int): Boolean { - // todo [cody] handle typing indicator - val position = absolutePosition - - if (position < 0) { + if (absolutePosition < 0) { return false } - if (position > super.getItemCount()) { - Log.d(TAG, "Could not access corrected position $position as it is out of bounds.") + if (absolutePosition > super.getItemCount()) { + Log.d(TAG, "Could not access corrected position $absolutePosition as it is out of bounds.") return false } - if (!isRangeAvailable(position - 10, position + 5)) { + if (!isRangeAvailable(absolutePosition - 10, absolutePosition + 5)) { getItem(absolutePosition) return false } @@ -228,15 +225,12 @@ class ConversationAdapterV2( * Momentarily highlights a mention at the requested position. */ fun pulseAtPosition(position: Int) { - if (position >= 0 && position < itemCount) { - // TODO [cfv2] adjust for typing indicator - val correctedPosition = position - - recordToPulse = getConversationMessage(correctedPosition) + if (position in 0 until itemCount) { + recordToPulse = getConversationMessage(position) if (recordToPulse != null) { pulseRequest = ConversationAdapterBridge.PulseRequest(position, recordToPulse!!.messageRecord.isOutgoing) } - notifyItemChanged(correctedPosition) + notifyItemChanged(position) } } 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 74d3659ba5..dd92b8ead4 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 @@ -1506,8 +1506,7 @@ class ConversationFragment : } private fun updateLinkPreviewState() { - // TODO [cfv2] include viewModel.isPushAvailable && in check - if (!attachmentManager.isAttachmentPresent && context != null) { + if (viewModel.isPushAvailable && !attachmentManager.isAttachmentPresent && context != null) { linkPreviewViewModel.onEnabled() linkPreviewViewModel.onTextChanged(composeText.textTrimmed.toString(), composeText.selectionStart, composeText.selectionEnd) } else { @@ -2693,7 +2692,7 @@ class ConversationFragment : val recipient: Recipient? = viewModel.recipientSnapshot return ConversationOptionsMenu.Snapshot( recipient = recipient, - isPushAvailable = recipient?.isRegistered == true && Recipient.self().isRegistered, + isPushAvailable = viewModel.isPushAvailable, canShowAsBubble = Observable.empty(), isActiveGroup = recipient?.isActiveGroup == true, isActiveV2Group = recipient?.let { it.isActiveGroup && it.isPushV2Group } == true, @@ -3572,7 +3571,6 @@ class ConversationFragment : private inner class AttachmentManagerListener : AttachmentManager.AttachmentListener { override fun onAttachmentChanged() { - // TODO [cfv2] handleSecurityChange(viewModel.getConversationStateSnapshot().getSecurityInfo()); updateToggleButtonState() updateLinkPreviewState() } 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 84cf10849f..0336a66ef0 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 @@ -112,6 +112,9 @@ class ConversationViewModel( var recipientSnapshot: Recipient? = null private set + val isPushAvailable: Boolean + get() = recipientSnapshot?.isRegistered == true && Recipient.self().isRegistered + val wallpaperSnapshot: ChatWallpaper? get() = recipientSnapshot?.wallpaper