Add group story removal dialog.

This commit is contained in:
Alex Hart
2022-10-06 10:34:39 -03:00
committed by Greyson Parrelli
parent cc5aab6be3
commit 35f1baf965
6 changed files with 38 additions and 3 deletions

View File

@@ -16,6 +16,15 @@ class StoryDialogLauncherFragment : DSLSettingsFragment(titleId = R.string.prefe
private fun getConfiguration(): DSLConfiguration {
return configure {
clickPref(
title = DSLSettingsText.from(R.string.preferences__internal_remove_group_story),
onClick = {
StoryDialogs.removeGroupStory(requireContext(), "Family") {
Toast.makeText(requireContext(), R.string.preferences__internal_remove_group_story, Toast.LENGTH_SHORT).show()
}
}
)
clickPref(
title = DSLSettingsText.from(R.string.preferences__internal_retry_send),
onClick = {

View File

@@ -66,7 +66,7 @@ object StoryContextMenu {
val intent = if (messageRecord.storyType.isTextStory) {
val textStoryBody = StoryTextPost.parseFrom(Base64.decode(messageRecord.body)).body
val linkUrl = messageRecord.linkPreviews.firstOrNull()?.url ?: ""
val shareText = "${textStoryBody} $linkUrl".trim()
val shareText = "$textStoryBody $linkUrl".trim()
ShareCompat.IntentBuilder(fragment.requireContext())
.setText(shareText)

View File

@@ -10,6 +10,19 @@ import org.thoughtcrime.securesms.R
object StoryDialogs {
fun removeGroupStory(
context: Context,
groupName: String,
onConfirmed: () -> Unit
) {
MaterialAlertDialogBuilder(context)
.setTitle(R.string.StoryDialogs__remove_group_story)
.setMessage(context.getString(R.string.StoryDialogs__s_will_be_removed, groupName))
.setPositiveButton(R.string.StoryDialogs__remove) { _, _ -> onConfirmed() }
.setNegativeButton(android.R.string.cancel) { _, _ -> }
.show()
}
fun deleteDistributionList(
context: Context,
distributionListName: String,

View File

@@ -15,6 +15,7 @@ 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.conversation.ConversationIntents
import org.thoughtcrime.securesms.stories.dialogs.StoryDialogs
import org.thoughtcrime.securesms.stories.settings.custom.PrivateStoryItem
import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
@@ -94,7 +95,12 @@ class GroupStorySettingsFragment : DSLSettingsFragment(menuId = R.menu.story_gro
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorError))
),
onClick = {
viewModel.doNotDisplayAsStory()
StoryDialogs.removeGroupStory(
requireContext(),
state.name
) {
viewModel.doNotDisplayAsStory()
}
}
)
}