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.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.pm.PackageManager
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
|
@ -33,6 +34,7 @@ import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
|
import org.linphone.activities.main.MainActivity
|
||||||
import org.linphone.activities.main.contact.viewmodels.*
|
import org.linphone.activities.main.contact.viewmodels.*
|
||||||
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
||||||
import org.linphone.contact.NativeContact
|
import org.linphone.contact.NativeContact
|
||||||
|
@ -101,6 +103,28 @@ class ContactEditorFragment : Fragment() {
|
||||||
list.add(newSipUri)
|
list.add(newSipUri)
|
||||||
viewModel.addresses.value = list
|
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?) {
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||||
|
|
|
@ -90,6 +90,7 @@
|
||||||
<string name="contact_first_name">First name</string>
|
<string name="contact_first_name">First name</string>
|
||||||
<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>
|
||||||
|
|
||||||
<!-- 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