From b5225145d43a6dab98c031c756ca6796a8ae4f83 Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sat, 24 Dec 2016 22:00:24 +0100 Subject: [PATCH] Fix crash with unknown notification sources on Mi Band (maybe other non-Pebble devices also affected) Pebble low level code had an own check for notification type being null, no we set it to UNKNOWN early This regression was introduced in 0.15.0 though "Revamp Notification types Pebble (#453)" Fixes #468 --- .../gadgetbridge/externalevents/NotificationListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java index c3cd2b3c..b033c741 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java @@ -34,6 +34,7 @@ import nodomain.freeyourgadget.gadgetbridge.model.AppNotificationType; import nodomain.freeyourgadget.gadgetbridge.model.MusicSpec; import nodomain.freeyourgadget.gadgetbridge.model.MusicStateSpec; import nodomain.freeyourgadget.gadgetbridge.model.NotificationSpec; +import nodomain.freeyourgadget.gadgetbridge.model.NotificationType; import nodomain.freeyourgadget.gadgetbridge.service.DeviceCommunicationService; import nodomain.freeyourgadget.gadgetbridge.util.LimitedQueue; import nodomain.freeyourgadget.gadgetbridge.util.Prefs; @@ -251,6 +252,10 @@ public class NotificationListener extends NotificationListenerService { notificationSpec.type = AppNotificationType.getInstance().get(source); + if (notificationSpec.type == null) { + notificationSpec.type = NotificationType.UNKNOWN; + } + LOG.info("Processing notification from source " + source + " with flags: " + notification.flags); dissectNotificationTo(notification, notificationSpec, preferBigText);