Add proper adaptive material app scaffolding.

This commit is contained in:
Alex Hart
2025-04-09 11:30:46 -03:00
committed by Michelle Tang
parent 86ea3e8572
commit b64f3a48bf
26 changed files with 723 additions and 899 deletions

View File

@@ -346,6 +346,7 @@ import org.thoughtcrime.securesms.util.visible
import org.thoughtcrime.securesms.verify.VerifyIdentityActivity
import org.thoughtcrime.securesms.wallpaper.ChatWallpaper
import org.thoughtcrime.securesms.wallpaper.ChatWallpaperDimLevelUtil
import org.thoughtcrime.securesms.window.WindowSizeClass.Companion.getWindowSizeClass
import java.time.Instant
import java.time.LocalDateTime
import java.time.ZoneId
@@ -589,7 +590,10 @@ class ConversationFragment :
binding.toolbar.isBackInvokedCallbackEnabled = false
disposables.bindTo(viewLifecycleOwner)
FullscreenHelper(requireActivity()).showSystemUI()
if (requireActivity() is ConversationActivity) {
FullscreenHelper(requireActivity()).showSystemUI()
}
markReadHelper = MarkReadHelper(ConversationId.forConversation(args.threadId), requireContext(), viewLifecycleOwner)
markReadHelper.ignoreViewReveals()
@@ -1361,10 +1365,17 @@ class ConversationFragment :
}
private fun presentNavigationIconForNormal() {
binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_left_24)
binding.toolbar.setNavigationContentDescription(R.string.ConversationFragment__content_description_back_button)
binding.toolbar.setNavigationOnClickListener {
requireActivity().finishAfterTransition()
val windowSizeClass = resources.getWindowSizeClass()
if (windowSizeClass.isCompact()) {
binding.toolbar.setNavigationIcon(R.drawable.ic_arrow_left_24)
binding.toolbar.setNavigationContentDescription(R.string.ConversationFragment__content_description_back_button)
binding.toolbar.setNavigationOnClickListener {
requireActivity().finishAfterTransition()
}
} else {
binding.toolbar.navigationIcon = null
binding.toolbar.contentInsetStartWithNavigation = 0
}
}

View File

@@ -19,7 +19,8 @@ class ConversationToolbarOnScrollHelper(
) : Material3OnScrollHelper(
activity = activity,
views = listOf(toolbarBackground),
lifecycleOwner = lifecycleOwner
lifecycleOwner = lifecycleOwner,
setStatusBarColor = {}
) {
override val activeColorSet: ColorSet
get() = ColorSet(getActiveToolbarColor(wallpaperProvider() != null))