From 6916beabedeaa971fedc1d6b62e30ae34541f3ae Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Wed, 2 Aug 2017 23:09:43 +0200 Subject: [PATCH] Pebble: fix wrong uuid being passed from protocol to js --- .../gadgetbridge/service/devices/pebble/PebbleProtocol.java | 4 ++-- .../freeyourgadget/gadgetbridge/util/WebViewSingleton.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java index 7c3645681..f67a11f1c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleProtocol.java @@ -2608,7 +2608,7 @@ public class PebbleProtocol extends GBDeviceProtocol { LOG.info("got APPLICATIONMESSAGE/LAUNCHER (EP " + endpoint + ") NACK"); } GBDeviceEventAppMessage evtAppMessage = null; - if (idLookup[last_id] != null) { + if (endpoint == ENDPOINT_APPLICATIONMESSAGE && idLookup[last_id] != null) { evtAppMessage = new GBDeviceEventAppMessage(); if (pebbleCmd == APPLICATIONMESSAGE_ACK) { evtAppMessage.type = GBDeviceEventAppMessage.TYPE_ACK; @@ -2616,7 +2616,7 @@ public class PebbleProtocol extends GBDeviceProtocol { evtAppMessage.type = GBDeviceEventAppMessage.TYPE_NACK; } evtAppMessage.id = idLookup[last_id]; - evtAppMessage.appUUID = uuid; + evtAppMessage.appUUID = currentRunningApp; } devEvts = new GBDeviceEvent[]{evtAppMessage}; break; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java index 06989162c..6ed0a9919 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/WebViewSingleton.java @@ -131,7 +131,7 @@ public class WebViewSingleton { if (!message.appUUID.equals(currentRunningUUID)) { LOG.info("WEBVIEW ignoring message for app that is not currently running: " + message.appUUID + " message: " + message.message + " type: " + message.type); -// return; //TODO: ignoring would be the right thing to do here, but sometimes appUUID is apparently wrong + return; } // TODO: handle ACK and NACK types with ids