Decouple InlineQueryViewModelV2 instance from activity, parent to fragment instead.

This commit is contained in:
Alex Hart
2025-04-11 16:58:25 -03:00
committed by Cody Henthorne
parent e3297ab593
commit 94d07f7012
3 changed files with 8 additions and 7 deletions

View File

@@ -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(

View File

@@ -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

View File

@@ -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()