Reimplement main activity toolbars in compose.

This commit is contained in:
Alex Hart
2025-03-28 14:34:04 -03:00
committed by Greyson Parrelli
parent 5f7ce0d96d
commit f1985cf506
24 changed files with 1405 additions and 680 deletions

View File

@@ -83,7 +83,11 @@ abstract class DSLSettingsFragment(
return null
}
return Material3OnScrollHelper(requireActivity(), toolbar, viewLifecycleOwner)
return Material3OnScrollHelper(
activity = requireActivity(),
views = listOf(toolbar),
lifecycleOwner = viewLifecycleOwner
)
}
open fun onToolbarNavigationClicked() {

View File

@@ -25,37 +25,42 @@ enum class BadgeImageSize(val sizeCode: Int) {
BADGE_112(5)
}
@Composable
fun BadgeImageSmall(
badge: Badge?,
modifier: Modifier = Modifier
) {
BadgeImage(badge, BadgeImageSize.SMALL, modifier)
}
@Composable
fun BadgeImageMedium(
badge: Badge?,
modifier: Modifier
modifier: Modifier = Modifier
) {
if (LocalInspectionMode.current) {
Box(modifier = modifier.background(color = Color.Black, shape = CircleShape))
} else {
AndroidView(
factory = {
BadgeImageView(it, BadgeImageSize.MEDIUM)
},
update = {
it.setBadge(badge)
},
modifier = modifier
)
}
BadgeImage(badge, BadgeImageSize.MEDIUM, modifier)
}
@Composable
fun BadgeImage112(
badge: Badge?,
modifier: Modifier = Modifier
) {
BadgeImage(badge, BadgeImageSize.BADGE_112, modifier)
}
@Composable
private fun BadgeImage(
badge: Badge?,
size: BadgeImageSize,
modifier: Modifier = Modifier
) {
if (LocalInspectionMode.current) {
Box(modifier = modifier.background(color = Color.Black, shape = CircleShape))
} else {
AndroidView(
factory = {
BadgeImageView(it, BadgeImageSize.BADGE_112)
BadgeImageView(it, size)
},
update = {
it.setBadge(badge)

View File

@@ -111,7 +111,7 @@ class DonateToSignalFragment :
}
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(requireActivity(), toolbar!!, viewLifecycleOwner) {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
}

View File

@@ -149,7 +149,7 @@ class ManageDonationsFragment :
}
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(requireActivity(), toolbar!!, viewLifecycleOwner) {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
}

View File

@@ -220,7 +220,7 @@ class ConversationSettingsFragment : DSLSettingsFragment(
}
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(requireActivity(), toolbar!!, viewLifecycleOwner) {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val inactiveColorSet = ColorSet(
toolbarColorRes = R.color.signal_colorBackground_0,
statusBarColorRes = R.color.signal_colorBackground