From ff091169f6d79ff0f55fab94510d9234aa7e8a81 Mon Sep 17 00:00:00 2001 From: eddy Date: Sun, 26 Jul 2026 16:46:15 +0200 Subject: [PATCH] Handle denied BLE permissions with user feedback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When BLUETOOTH_SCAN, BLUETOOTH_CONNECT or ACCESS_FINE_LOCATION permissions are denied, show 'Permissies geweigerd — open Instellingen' and disable the relay button instead of silently hanging. Reviewed in codereview.md (recommendation 2.1). --- .../app/src/main/java/com/eddy/atomrelay/MainActivity.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt b/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt index 20f3c86..191eb30 100644 --- a/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt +++ b/android/app/src/main/java/com/eddy/atomrelay/MainActivity.kt @@ -219,8 +219,13 @@ class MainActivity : AppCompatActivity() { @Deprecated("Deprecated in Java") override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) - if (requestCode == 1 && grantResults.all { it == PackageManager.PERMISSION_GRANTED }) { - startScan() + if (requestCode == 1) { + if (grantResults.all { it == PackageManager.PERMISSION_GRANTED }) { + startScan() + } else { + statusText.text = "Permissies geweigerd — open Instellingen" + relayButton.isEnabled = false + } } }