mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-24 02:39:55 +01:00
Reimplement main activity toolbars in compose.
This commit is contained in:
committed by
Greyson Parrelli
parent
5f7ce0d96d
commit
f1985cf506
@@ -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() {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user