From 374910736ec2729aad853651d89495401b5fb38b Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Mon, 24 Jul 2023 13:43:35 -0400 Subject: [PATCH] Fix crash when data observer called after fragment destroy. --- .../securesms/conversation/v2/ConversationFragment.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 365bcd5363..c745cb4d66 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 @@ -365,6 +365,8 @@ class ConversationFragment : removeOnFocusChangeListener(composeTextEventsListener) } + adapter.unregisterAdapterDataObserver(dataObserver) + textDraftSaveDebouncer.clear() } @@ -457,6 +459,7 @@ class ConversationFragment : private lateinit var menuProvider: ConversationOptionsMenu.Provider private lateinit var typingIndicatorDecoration: TypingIndicatorDecoration private lateinit var backPressedCallback: BackPressedDelegate + private lateinit var dataObserver: DataObserver private var animationsAllowed = false private var actionMode: ActionMode? = null @@ -863,7 +866,8 @@ class ConversationFragment : scrollToNextMention() } - adapter.registerAdapterDataObserver(DataObserver()) + dataObserver = DataObserver() + adapter.registerAdapterDataObserver(dataObserver) val keyboardEvents = KeyboardEvents() container.listener = keyboardEvents