From e7115d689900c7f84ad008a6e8cbeabdc5b8f8da Mon Sep 17 00:00:00 2001 From: liuyunming521520-cell Date: Thu, 10 Sep 2026 23:56:13 +0800 Subject: [PATCH] Respect denied location permission results --- .../android/ui/LocationNotesSheetPresenter.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/bitchat/android/ui/LocationNotesSheetPresenter.kt b/app/src/main/java/com/bitchat/android/ui/LocationNotesSheetPresenter.kt index 8313eb1f..e99374c3 100644 --- a/app/src/main/java/com/bitchat/android/ui/LocationNotesSheetPresenter.kt +++ b/app/src/main/java/com/bitchat/android/ui/LocationNotesSheetPresenter.kt @@ -119,11 +119,17 @@ private fun LocationNotesErrorSheet( val context = LocalContext.current val locationPermissionLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.RequestMultiplePermissions() - ) { - locationManager.syncPermissionState() - locationManager.enableLocationServices() - locationManager.enableLocationChannels() - locationManager.refreshChannels() + ) { permissionResults -> + val locationGranted = + permissionResults[Manifest.permission.ACCESS_FINE_LOCATION] == true || + permissionResults[Manifest.permission.ACCESS_COARSE_LOCATION] == true + val permissionState = locationManager.syncPermissionState() + + if (locationGranted && permissionState == LocationChannelManager.PermissionState.AUTHORIZED) { + locationManager.enableLocationServices() + locationManager.enableLocationChannels() + locationManager.refreshChannels() + } } BitchatBottomSheet(