Forgot to check/ask for WRITE_CONTACTS permission in contact editor fragment
This commit is contained in:
parent
53c1c77170
commit
69618141f2
2 changed files with 25 additions and 0 deletions
|
@ -21,6 +21,7 @@ package org.linphone.activities.main.contact.fragments
|
|||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
|
@ -33,6 +34,7 @@ import androidx.lifecycle.ViewModelProvider
|
|||
import androidx.navigation.fragment.findNavController
|
||||
import java.io.File
|
||||
import org.linphone.R
|
||||
import org.linphone.activities.main.MainActivity
|
||||
import org.linphone.activities.main.contact.viewmodels.*
|
||||
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
||||
import org.linphone.contact.NativeContact
|
||||
|
@ -101,6 +103,28 @@ class ContactEditorFragment : Fragment() {
|
|||
list.add(newSipUri)
|
||||
viewModel.addresses.value = list
|
||||
}
|
||||
|
||||
if (!PermissionHelper.required(requireContext()).hasWriteContactsPermission()) {
|
||||
Log.i("[Contact Editor] Asking for WRITE_CONTACTS permission")
|
||||
requestPermissions(arrayOf(android.Manifest.permission.WRITE_CONTACTS), 0)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onRequestPermissionsResult(
|
||||
requestCode: Int,
|
||||
permissions: Array<out String>,
|
||||
grantResults: IntArray
|
||||
) {
|
||||
if (requestCode == 0) {
|
||||
val granted = grantResults[0] == PackageManager.PERMISSION_GRANTED
|
||||
if (granted) {
|
||||
Log.i("[Contact Editor] WRITE_CONTACTS permission granted")
|
||||
} else {
|
||||
Log.w("[Contact Editor] WRITE_CONTACTS permission denied")
|
||||
(requireActivity() as MainActivity).showSnackBar(R.string.contact_editor_write_permission_denied)
|
||||
findNavController().popBackStack()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
|
|
@ -90,6 +90,7 @@
|
|||
<string name="contact_first_name">First name</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_editor_write_permission_denied">Write Contacts permission denied, can\'t edit contact</string>
|
||||
|
||||
<!-- Dialer -->
|
||||
<string name="dialer_address_bar_hint">Enter a number or an address</string>
|
||||
|
|
Loading…
Reference in a new issue