From 0fa68c27dd2ff2cf68f59a929fda4d6648fe567e Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Fri, 24 Feb 2023 05:51:01 +0200 Subject: [PATCH] More permissions cleaning --- .../kotlin/com/tutpro/baresip/MainActivity.kt | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index da20f3cf..25a46541 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -669,12 +669,12 @@ class MainActivity : AppCompatActivity() { requestPermissionLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission()) {} + requestPermissionsLauncher = registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { val denied = mutableListOf() val shouldShow = mutableListOf() it.forEach { permission -> - Log.e(TAG, "${permission.key} : ${permission.value}") if (!permission.value) { denied.add(permission.key) if (ActivityCompat.shouldShowRequestPermissionRationale(this, @@ -685,8 +685,8 @@ class MainActivity : AppCompatActivity() { if (denied.contains(POST_NOTIFICATIONS) && !shouldShow.contains(POST_NOTIFICATIONS)) { with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) { - setTitle("Cannot start baresip") - setMessage("Notifications permission has not been granted") + setTitle(getString(R.string.notice)) + setMessage(getString(R.string.no_notifications)) setPositiveButton(getString(R.string.ok)) { _, _ -> quitRestart(false) } @@ -694,7 +694,9 @@ class MainActivity : AppCompatActivity() { } } else { if (shouldShow.isNotEmpty()) - askPermissions(permissions) + Utils.alertView(this, getString(R.string.permissions_rationale), + getString(R.string.audio_permissions) + ) { requestPermissionsLauncher.launch(permissions) } else startBaresip() } @@ -709,7 +711,7 @@ class MainActivity : AppCompatActivity() { askPasswords(accounts) } else { // Baresip is started for the first time - askPermissions(permissions) + requestPermissionsLauncher.launch(permissions) } } @@ -723,7 +725,6 @@ class MainActivity : AppCompatActivity() { override fun onStart() { super.onStart() Log.e(TAG, "Main onStart") - val action = intent.getStringExtra("action") if (action != null) { // MainActivity was not visible when call, message, or transfer request came in @@ -836,18 +837,6 @@ class MainActivity : AppCompatActivity() { } } - private fun askPermissions(permissions: Array) { - with(MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme)) { - setTitle(getString(R.string.permissions_rationale)) - setMessage(getString(R.string.audio_permissions)) - setPositiveButton(getString(R.string.ok)) { dialog, _ -> - requestPermissionsLauncher.launch(permissions) - dialog.dismiss() - } - show() - } - } - private fun callAction(intent: Intent) { if (Call.calls().isNotEmpty() || BaresipService.uas.size == 0) return