Ask record audio permission when baresip is started

This commit is contained in:
Juha Heinanen
2021-11-18 20:32:20 +02:00
parent 35b6c20abd
commit eaf8a01f96
2 changed files with 8 additions and 9 deletions

View File

@ -5,7 +5,7 @@ const val TAG = "Baresip"
const val DEFAULT_CHANNEL_ID = "com.tutpro.baresip.default"
const val HIGH_CHANNEL_ID = "com.tutpro.baresip.high"
const val CALL_PERMISSION_REQUEST_CODE = 1
const val MIC_PERMISSION_REQUEST_CODE = 1
const val CONTACT_PERMISSION_REQUEST_CODE = 2
const val STATUS_NOTIFICATION_ID = 101

View File

@ -310,12 +310,10 @@ class MainActivity : AppCompatActivity() {
callButton.setOnClickListener {
if (aorSpinner.selectedItemPosition == -1)
return@setOnClickListener
val permissions = arrayOf(Manifest.permission.RECORD_AUDIO)
if (Utils.checkPermissions(this, permissions))
if (Utils.checkPermissions(this, arrayOf(Manifest.permission.RECORD_AUDIO)))
makeCall()
else
ActivityCompat.requestPermissions(this, permissions,
CALL_PERMISSION_REQUEST_CODE)
Toast.makeText(applicationContext, R.string.no_calls, Toast.LENGTH_SHORT).show()
}
hangupButton.setOnClickListener {
@ -620,8 +618,9 @@ class MainActivity : AppCompatActivity() {
override fun onStart() {
Log.i(TAG, "Main onStart")
super.onStart()
requestPermissionLauncher =
registerForActivityResult(ActivityResultContracts.RequestPermission()) {}
requestPermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission()) {}
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA),
MIC_PERMISSION_REQUEST_CODE)
}
override fun onResume() {
@ -1254,9 +1253,9 @@ class MainActivity : AppCompatActivity() {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when (requestCode) {
CALL_PERMISSION_REQUEST_CODE -> {
MIC_PERMISSION_REQUEST_CODE -> {
if ((grantResults.isNotEmpty()) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
makeCall()
Log.d(TAG, "Record audio permission granted")
} else if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.RECORD_AUDIO)) {
layout.showSnackBar(