From cae6f5d73e9e485e643414223a52262386387838 Mon Sep 17 00:00:00 2001 From: pacjo Date: Sun, 25 Aug 2024 20:08:09 +0200 Subject: [PATCH] Fix crash when nearby devices (BLUETOOTH_SCAN) permission is missing --- .../gadgetbridge/service/DeviceCommunicationService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java index 8810c4d47..a309d3ed4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceCommunicationService.java @@ -1214,7 +1214,11 @@ public class DeviceCommunicationService extends Service implements SharedPrefere private void startForeground() { GB.createNotificationChannels(this); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE && ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_SCAN) == PackageManager.PERMISSION_DENIED) + return; + startForeground(GB.NOTIFICATION_ID, GB.createNotification(getString(R.string.gadgetbridge_running), this), ServiceInfo.FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE); } else { startForeground(GB.NOTIFICATION_ID, GB.createNotification(getString(R.string.gadgetbridge_running), this));