Эх сурвалжийг харах

add confirm dialog to end poll

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 3 жил өмнө
parent
commit
bd99245c26

+ 12 - 1
app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt

@@ -21,14 +21,17 @@
 
 
 package com.nextcloud.talk.polls.ui
 package com.nextcloud.talk.polls.ui
 
 
+import android.content.DialogInterface
 import android.os.Bundle
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.ViewModelProvider
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import autodagger.AutoInjector
 import autodagger.AutoInjector
+import com.nextcloud.talk.R
 import com.nextcloud.talk.application.NextcloudTalkApplication
 import com.nextcloud.talk.application.NextcloudTalkApplication
 import com.nextcloud.talk.databinding.DialogPollResultsBinding
 import com.nextcloud.talk.databinding.DialogPollResultsBinding
 import com.nextcloud.talk.models.database.UserEntity
 import com.nextcloud.talk.models.database.UserEntity
@@ -114,7 +117,15 @@ class PollResultsFragment(
         if (showCloseButton) {
         if (showCloseButton) {
             _binding?.pollResultsClosePollButton?.visibility = View.VISIBLE
             _binding?.pollResultsClosePollButton?.visibility = View.VISIBLE
             _binding?.pollResultsClosePollButton?.setOnClickListener {
             _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 {
         } else {
             _binding?.pollResultsClosePollButton?.visibility = View.GONE
             _binding?.pollResultsClosePollButton?.visibility = View.GONE

+ 14 - 4
app/src/main/java/com/nextcloud/talk/polls/ui/PollVoteFragment.kt

@@ -21,6 +21,7 @@
 
 
 package com.nextcloud.talk.polls.ui
 package com.nextcloud.talk.polls.ui
 
 
+import android.content.DialogInterface
 import android.graphics.Typeface
 import android.graphics.Typeface
 import android.os.Bundle
 import android.os.Bundle
 import android.util.Log
 import android.util.Log
@@ -31,9 +32,11 @@ import android.widget.CheckBox
 import android.widget.CompoundButton
 import android.widget.CompoundButton
 import android.widget.RadioButton
 import android.widget.RadioButton
 import android.widget.Toast
 import android.widget.Toast
+import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.ViewModelProvider
 import autodagger.AutoInjector
 import autodagger.AutoInjector
+import com.nextcloud.talk.R
 import com.nextcloud.talk.application.NextcloudTalkApplication
 import com.nextcloud.talk.application.NextcloudTalkApplication
 import com.nextcloud.talk.databinding.DialogPollVoteBinding
 import com.nextcloud.talk.databinding.DialogPollVoteBinding
 import com.nextcloud.talk.polls.model.Poll
 import com.nextcloud.talk.polls.model.Poll
@@ -167,12 +170,19 @@ class PollVoteFragment(
 
 
     private fun initCloseButton(showCloseButton: Boolean) {
     private fun initCloseButton(showCloseButton: Boolean) {
         if (showCloseButton) {
         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 {
         } else {
-            _binding?.pollVoteClosePollButton?.visibility = View.GONE
+            _binding?.pollVoteEndPollButton?.visibility = View.GONE
         }
         }
     }
     }
 
 

+ 1 - 1
app/src/main/res/layout/dialog_poll_vote.xml

@@ -51,7 +51,7 @@
 
 
 
 
     <com.google.android.material.button.MaterialButton
     <com.google.android.material.button.MaterialButton
-        android:id="@+id/poll_vote_close_poll_button"
+        android:id="@+id/poll_vote_end_poll_button"
         android:layout_width="wrap_content"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/polls_end_poll"
         android:text="@string/polls_end_poll"

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -540,6 +540,7 @@
     <string name="polls_amount_voters">Poll results - %1$s votes</string>
     <string name="polls_amount_voters">Poll results - %1$s votes</string>
     <string name="polls_add_option">Add Option</string>
     <string name="polls_add_option">Add Option</string>
     <string name="polls_end_poll">End Poll</string>
     <string name="polls_end_poll">End Poll</string>
+    <string name="polls_end_poll_confirm">Do you really want to end this poll? This can\'t be undone.</string>
 
 
     <string name="title_attachments">Attachments</string>
     <string name="title_attachments">Attachments</string>