From bd99245c268160fe519e7b008b4dd2b7cc417a3e Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 30 Jun 2022 12:42:27 +0200 Subject: [PATCH] add confirm dialog to end poll Signed-off-by: Marcel Hibbe --- .../talk/polls/ui/PollResultsFragment.kt | 13 ++++++++++++- .../talk/polls/ui/PollVoteFragment.kt | 18 ++++++++++++++---- app/src/main/res/layout/dialog_poll_vote.xml | 2 +- app/src/main/res/values/strings.xml | 1 + 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt index f67fa958e..ea45392cc 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt @@ -21,14 +21,17 @@ package com.nextcloud.talk.polls.ui +import android.content.DialogInterface import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import autodagger.AutoInjector +import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.databinding.DialogPollResultsBinding import com.nextcloud.talk.models.database.UserEntity @@ -114,7 +117,15 @@ class PollResultsFragment( if (showCloseButton) { _binding?.pollResultsClosePollButton?.visibility = View.VISIBLE _binding?.pollResultsClosePollButton?.setOnClickListener { - parentViewModel.closePoll() + AlertDialog.Builder(requireContext()) + .setTitle(R.string.polls_end_poll) + .setMessage(R.string.polls_end_poll_confirm) + .setPositiveButton(R.string.polls_end_poll, DialogInterface.OnClickListener { _, _ -> + parentViewModel.closePoll() + }) + .setNegativeButton(R.string.nc_cancel, null) + .show() + } } else { _binding?.pollResultsClosePollButton?.visibility = View.GONE diff --git a/app/src/main/java/com/nextcloud/talk/polls/ui/PollVoteFragment.kt b/app/src/main/java/com/nextcloud/talk/polls/ui/PollVoteFragment.kt index 1c4f98ec3..e01f4b497 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/ui/PollVoteFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/ui/PollVoteFragment.kt @@ -21,6 +21,7 @@ package com.nextcloud.talk.polls.ui +import android.content.DialogInterface import android.graphics.Typeface import android.os.Bundle import android.util.Log @@ -31,9 +32,11 @@ import android.widget.CheckBox import android.widget.CompoundButton import android.widget.RadioButton import android.widget.Toast +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import autodagger.AutoInjector +import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.databinding.DialogPollVoteBinding import com.nextcloud.talk.polls.model.Poll @@ -167,12 +170,19 @@ class PollVoteFragment( private fun initCloseButton(showCloseButton: Boolean) { if (showCloseButton) { - _binding?.pollVoteClosePollButton?.visibility = View.VISIBLE - _binding?.pollVoteClosePollButton?.setOnClickListener { - parentViewModel.closePoll() + _binding?.pollVoteEndPollButton?.visibility = View.VISIBLE + _binding?.pollVoteEndPollButton?.setOnClickListener { + AlertDialog.Builder(requireContext()) + .setTitle(R.string.polls_end_poll) + .setMessage(R.string.polls_end_poll_confirm) + .setPositiveButton(R.string.polls_end_poll, DialogInterface.OnClickListener { _, _ -> + parentViewModel.closePoll() + }) + .setNegativeButton(R.string.nc_cancel, null) + .show() } } else { - _binding?.pollVoteClosePollButton?.visibility = View.GONE + _binding?.pollVoteEndPollButton?.visibility = View.GONE } } diff --git a/app/src/main/res/layout/dialog_poll_vote.xml b/app/src/main/res/layout/dialog_poll_vote.xml index 787d91cbf..c6f6c5e7c 100644 --- a/app/src/main/res/layout/dialog_poll_vote.xml +++ b/app/src/main/res/layout/dialog_poll_vote.xml @@ -51,7 +51,7 @@ Poll results - %1$s votes Add Option End Poll + Do you really want to end this poll? This can\'t be undone. Attachments