Show confirmation dialog before removing contact from details fragment
This commit is contained in:
parent
fd3f3a076e
commit
8cf401f7ab
2 changed files with 22 additions and 2 deletions
|
@ -19,6 +19,7 @@
|
||||||
*/
|
*/
|
||||||
package org.linphone.activities.main.contact.fragments
|
package org.linphone.activities.main.contact.fragments
|
||||||
|
|
||||||
|
import android.app.Dialog
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
@ -34,9 +35,11 @@ import org.linphone.R
|
||||||
import org.linphone.activities.main.MainActivity
|
import org.linphone.activities.main.MainActivity
|
||||||
import org.linphone.activities.main.contact.viewmodels.ContactViewModel
|
import org.linphone.activities.main.contact.viewmodels.ContactViewModel
|
||||||
import org.linphone.activities.main.contact.viewmodels.ContactViewModelFactory
|
import org.linphone.activities.main.contact.viewmodels.ContactViewModelFactory
|
||||||
|
import org.linphone.activities.main.viewmodels.DialogViewModel
|
||||||
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
||||||
import org.linphone.core.tools.Log
|
import org.linphone.core.tools.Log
|
||||||
import org.linphone.databinding.ContactDetailFragmentBinding
|
import org.linphone.databinding.ContactDetailFragmentBinding
|
||||||
|
import org.linphone.utils.DialogUtils
|
||||||
|
|
||||||
class DetailContactFragment : Fragment() {
|
class DetailContactFragment : Fragment() {
|
||||||
private lateinit var binding: ContactDetailFragmentBinding
|
private lateinit var binding: ContactDetailFragmentBinding
|
||||||
|
@ -117,8 +120,7 @@ class DetailContactFragment : Fragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.setDeleteClickListener {
|
binding.setDeleteClickListener {
|
||||||
viewModel.deleteContact()
|
confirmContactRemoval()
|
||||||
findNavController().navigateUp()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel.onErrorEvent.observe(viewLifecycleOwner, Observer {
|
viewModel.onErrorEvent.observe(viewLifecycleOwner, Observer {
|
||||||
|
@ -128,6 +130,23 @@ class DetailContactFragment : Fragment() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun confirmContactRemoval() {
|
||||||
|
val dialogViewModel = DialogViewModel(getString(R.string.contact_confirm_removal_dialog))
|
||||||
|
val dialog: Dialog = DialogUtils.getDialog(requireContext(), dialogViewModel)
|
||||||
|
|
||||||
|
dialogViewModel.showCancelButton {
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
|
||||||
|
dialogViewModel.showDeleteButton({
|
||||||
|
viewModel.deleteContact()
|
||||||
|
dialog.dismiss()
|
||||||
|
findNavController().navigateUp()
|
||||||
|
}, getString(R.string.dialog_delete))
|
||||||
|
|
||||||
|
dialog.show()
|
||||||
|
}
|
||||||
|
|
||||||
private fun sendSms(number: String) {
|
private fun sendSms(number: String) {
|
||||||
val smsIntent = Intent(Intent.ACTION_SENDTO)
|
val smsIntent = Intent(Intent.ACTION_SENDTO)
|
||||||
smsIntent.putExtra("address", number)
|
smsIntent.putExtra("address", number)
|
||||||
|
|
|
@ -94,6 +94,7 @@
|
||||||
<string name="contact_organization">Organization</string>
|
<string name="contact_organization">Organization</string>
|
||||||
<string name="contact_choose_existing_or_new_to_add_number">Select a contact or create a new one</string>
|
<string name="contact_choose_existing_or_new_to_add_number">Select a contact or create a new one</string>
|
||||||
<string name="contact_editor_write_permission_denied">Write Contacts permission denied, can\'t edit contact</string>
|
<string name="contact_editor_write_permission_denied">Write Contacts permission denied, can\'t edit contact</string>
|
||||||
|
<string name="contact_confirm_removal_dialog">Do you want to delete this contact?\nIt will also be removed from your device addressbook</string>
|
||||||
|
|
||||||
<!-- Dialer -->
|
<!-- Dialer -->
|
||||||
<string name="dialer_address_bar_hint">Enter a number or an address</string>
|
<string name="dialer_address_bar_hint">Enter a number or an address</string>
|
||||||
|
|
Loading…
Reference in a new issue