Use GroupId navigation args for conversation settings instead of Parcelable.

This commit is contained in:
jeffrey-signal
2026-05-06 12:52:26 -04:00
committed by Greyson Parrelli
parent 663e0a616e
commit 7b11cc1676
4 changed files with 13 additions and 19 deletions
@@ -166,11 +166,9 @@ class ConversationSettingsFragment :
private val viewModel by viewModels<ConversationSettingsViewModel>(
factoryProducer = {
val groupId = args.groupId as? GroupId
ConversationSettingsViewModel.Factory(
recipientId = args.recipientId,
groupId = groupId,
groupId = args.groupId,
callMessageIds = args.callMessageIds ?: longArrayOf(),
repository = ConversationSettingsRepository(requireContext()),
messageRequestRepository = MessageRequestRepository(requireContext())
@@ -253,9 +251,7 @@ class ConversationSettingsFragment :
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return if (item.itemId == R.id.action_edit) {
val args = ConversationSettingsFragmentArgs.fromBundle(requireArguments())
val groupId = args.groupId as GroupId
startActivity(CreateProfileActivity.getIntentForGroupProfile(requireActivity(), requireNotNull(groupId)))
startActivity(CreateProfileActivity.getIntentForGroupProfile(requireActivity(), requireNotNull(args.groupId)))
true
} else {
super.onOptionsItemSelected(item)
@@ -914,7 +910,7 @@ class ConversationSettingsFragment :
icon = DSLSettingsIcon.from(R.drawable.ic_link_16),
isEnabled = state.recipient.isActiveGroup && !state.isDeprecatedOrUnregistered,
onClick = {
navController.safeNavigate(ConversationSettingsFragmentDirections.actionConversationSettingsFragmentToShareableGroupLinkFragment(groupState.groupId.requireV2().toString()))
navController.safeNavigate(ConversationSettingsFragmentDirections.actionConversationSettingsFragmentToShareableGroupLinkFragment(groupState.groupId))
}
)
@@ -9,7 +9,6 @@ import org.thoughtcrime.securesms.components.settings.DSLConfiguration
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.groups.GroupId
import org.thoughtcrime.securesms.groups.ui.GroupErrors
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
@@ -24,10 +23,8 @@ class PermissionsSettingsFragment : DSLSettingsFragment(
private val viewModel: PermissionsSettingsViewModel by viewModels(
factoryProducer = {
val args = PermissionsSettingsFragmentArgs.fromBundle(requireArguments())
val groupId = requireNotNull(args.groupId as GroupId)
val repository = PermissionsSettingsRepository(requireContext())
PermissionsSettingsViewModel.Factory(groupId, repository)
PermissionsSettingsViewModel.Factory(args.groupId, repository)
}
)
@@ -26,7 +26,7 @@ class ShareableGroupLinkFragment : DSLSettingsFragment(
private var busyDialog: SimpleProgressDialog.DismissibleDialog? = null
private val groupId: GroupId.V2
get() = GroupId.parseOrThrow(ShareableGroupLinkFragmentArgs.fromBundle(requireArguments()).groupId).requireV2()
get() = ShareableGroupLinkFragmentArgs.fromBundle(requireArguments()).groupId.requireV2()
private val viewModel: ShareableGroupLinkViewModel by viewModels(
factoryProducer = {