diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ClearAllMessagesDialog.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ClearAllMessagesDialog.kt deleted file mode 100644 index 1824001bc..000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ClearAllMessagesDialog.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.thoughtcrime.securesms.conversation.settings - -import android.view.LayoutInflater -import android.view.View -import androidx.appcompat.app.AlertDialog -import androidx.core.view.isVisible -import network.loki.messenger.databinding.DialogClearAllMessagesBinding -import org.thoughtcrime.securesms.conversation.v2.utilities.BaseDialog - -class ClearAllMessagesDialog(private val isUserAdmin: Boolean, private val callback: (Option) -> Unit): BaseDialog(), View.OnClickListener { - - enum class Option { - FOR_ME, - FOR_EVERYONE - } - - private lateinit var binding: DialogClearAllMessagesBinding - - override fun setContentView(builder: AlertDialog.Builder) { - super.setContentView(builder) - binding = DialogClearAllMessagesBinding.inflate(LayoutInflater.from(requireContext())) - with (binding) { - forEveryone.isVisible = isUserAdmin - forEveryone.setOnClickListener(this@ClearAllMessagesDialog) - forMe.isVisible = isUserAdmin - forMe.setOnClickListener(this@ClearAllMessagesDialog) - close.isVisible = isUserAdmin - close.setOnClickListener(this@ClearAllMessagesDialog) - - cancel.isVisible = !isUserAdmin - cancel.setOnClickListener(this@ClearAllMessagesDialog) - clear.isVisible = !isUserAdmin - clear.setOnClickListener(this@ClearAllMessagesDialog) - } - builder.setView(binding.root) - } - - override fun onClick(v: View) { - when { - v === binding.cancel || - v === binding.close -> dismiss() - v === binding.forMe || - v === binding.clear -> { - callback(Option.FOR_ME) - dismiss() - } - v === binding.forEveryone -> { - callback(Option.FOR_EVERYONE) - dismiss() - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ConversationSettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ConversationSettingsActivity.kt index 6a4cb6cbb..8c1d74490 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ConversationSettingsActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/settings/ConversationSettingsActivity.kt @@ -11,12 +11,12 @@ import network.loki.messenger.databinding.ActivityConversationSettingsBinding import org.session.libsignal.utilities.Log import org.thoughtcrime.securesms.MediaOverviewActivity import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity -import org.thoughtcrime.securesms.conversation.settings.ClearAllMessagesDialog.Option import org.thoughtcrime.securesms.conversation.v2.ConversationActivityV2 import org.thoughtcrime.securesms.database.LokiThreadDatabase import org.thoughtcrime.securesms.database.ThreadDatabase import org.thoughtcrime.securesms.groups.EditClosedGroupActivity import org.thoughtcrime.securesms.mms.GlideApp +import org.thoughtcrime.securesms.showSessionDialog import javax.inject.Inject @AndroidEntryPoint @@ -150,9 +150,17 @@ class ConversationSettingsActivity: PassphraseRequiredActionBarActivity(), View. } v === binding.back -> onBackPressed() v === binding.clearMessages -> { - ClearAllMessagesDialog(viewModel.isUserGroupAdmin()) { option -> - viewModel.clearMessages(option == Option.FOR_EVERYONE) - }.show(supportFragmentManager, "Clear messages dialog") + + showSessionDialog { + title(R.string.dialog_clear_all_messages_title) + text(R.string.dialog_clear_all_messages_message) + destructiveButton( + R.string.dialog_clear_all_messages_clear, + R.string.dialog_clear_all_messages_clear) { + viewModel.clearMessages(false) + } + cancelButton() + } } v === binding.editGroup -> { val recipient = viewModel.recipient ?: return