diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModelV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModelV2.kt index d1d821350f..de299b265a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModelV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/inlinequery/InlineQueryViewModelV2.kt @@ -17,7 +17,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences import org.thoughtcrime.securesms.util.adapter.mapping.AnyMappingModel /** - * Activity (at least) scope view model for managing inline queries. The view model needs to be larger scope so it can + * View model for managing inline queries. The view model needs to be larger scope so it can * be shared between the fragment requesting the search and the fragment used for displaying the results. */ class InlineQueryViewModelV2( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragmentV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragmentV2.kt index e879c77803..02119b49fc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragmentV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ui/mentions/MentionsPickerFragmentV2.kt @@ -6,7 +6,7 @@ import android.os.Looper import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.google.android.material.bottomsheet.BottomSheetBehavior @@ -28,7 +28,9 @@ import org.thoughtcrime.securesms.util.viewholders.RecipientViewHolder class MentionsPickerFragmentV2 : LoggingFragment() { private val lifecycleDisposable: LifecycleDisposable = LifecycleDisposable() - private val viewModel: InlineQueryViewModelV2 by activityViewModels() + private val viewModel: InlineQueryViewModelV2 by viewModels( + ownerProducer = { requireParentFragment() } + ) private lateinit var adapter: MentionsPickerAdapter private lateinit var list: RecyclerView 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 af8c1dea16..8560c9513f 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 @@ -327,7 +327,6 @@ import org.thoughtcrime.securesms.util.ViewUtil import org.thoughtcrime.securesms.util.WindowUtil import org.thoughtcrime.securesms.util.atMidnight import org.thoughtcrime.securesms.util.atUTC -import org.thoughtcrime.securesms.util.createActivityViewModel import org.thoughtcrime.securesms.util.doAfterNextLayout import org.thoughtcrime.securesms.util.fragments.requireListener import org.thoughtcrime.securesms.util.getQuote @@ -473,7 +472,9 @@ class ConversationFragment : StickerSuggestionsViewModel() } - private lateinit var inlineQueryViewModel: InlineQueryViewModelV2 + private val inlineQueryViewModel: InlineQueryViewModelV2 by viewModel { + InlineQueryViewModelV2(conversationRecipientRepository) + } private val shareDataTimestampViewModel: ShareDataTimestampViewModel by activityViewModels() @@ -598,8 +599,6 @@ class ConversationFragment : markReadHelper = MarkReadHelper(ConversationId.forConversation(args.threadId), requireContext(), viewLifecycleOwner) markReadHelper.ignoreViewReveals() - inlineQueryViewModel = createActivityViewModel { InlineQueryViewModelV2(recipientRepository = conversationRecipientRepository) } - attachmentManager = AttachmentManager(requireContext(), requireView(), AttachmentManagerListener()) initializeConversationThreadUi()