Utilize snapshotFlow to fix insets.

This commit is contained in:
Alex Hart
2025-10-09 14:35:07 -03:00
committed by Cody Henthorne
parent b49074a786
commit 971bcf4f41
5 changed files with 58 additions and 86 deletions

View File

@@ -258,8 +258,8 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.linkpreview.LinkPreview
import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModelV2
import org.thoughtcrime.securesms.longmessage.LongMessageFragment
import org.thoughtcrime.securesms.main.InsetsViewModel
import org.thoughtcrime.securesms.main.MainNavigationListLocation
import org.thoughtcrime.securesms.main.VerticalInsets
import org.thoughtcrime.securesms.mediaoverview.MediaOverviewActivity
import org.thoughtcrime.securesms.mediapreview.MediaIntentFactory
import org.thoughtcrime.securesms.mediapreview.MediaPreviewV2Activity
@@ -490,8 +490,6 @@ class ConversationFragment :
private val shareDataTimestampViewModel: ShareDataTimestampViewModel by activityViewModels()
private val insetsViewModel: InsetsViewModel by activityViewModels()
private val inlineQueryController: InlineQueryResultsControllerV2 by lazy {
InlineQueryResultsControllerV2(
this,
@@ -601,22 +599,13 @@ class ConversationFragment :
SignalLocalMetrics.ConversationOpen.start()
}
fun applyRootInsets(insets: VerticalInsets) {
binding.root.applyInsets(insets)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
binding.toolbar.isBackInvokedCallbackEnabled = false
if (WindowSizeClass.isLargeScreenSupportEnabled()) {
viewLifecycleOwner.lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.RESUMED) {
binding.root.clearVerticalInsetOverride()
if (!resources.getWindowSizeClass().isSplitPane()) {
insetsViewModel.insets.collect {
binding.root.applyInsets(it)
}
}
}
}
}
binding.root.setApplyRootInsets(!WindowSizeClass.isLargeScreenSupportEnabled())
binding.root.setUseWindowTypes(!WindowSizeClass.isLargeScreenSupportEnabled())