From b31a6a5db9b905d5d3fa970340343ee43f9e744c Mon Sep 17 00:00:00 2001 From: Andreas Shimokawa Date: Sat, 13 May 2017 22:18:56 +0200 Subject: [PATCH] Pebble: Fix wrong timestamps with Morpheuz running on Firmware >=3 Fixes #689 --- .../devices/pebble/AppMessageHandlerMorpheuz.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMorpheuz.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMorpheuz.java index b563d6bf7..0057f8343 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMorpheuz.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMorpheuz.java @@ -28,7 +28,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Objects; import java.util.SimpleTimeZone; -import java.util.TimeZone; import java.util.UUID; import nodomain.freeyourgadget.gadgetbridge.GBApplication; @@ -158,9 +157,11 @@ class AppMessageHandlerMorpheuz extends AppMessageHandler { int version = (int) pair.second; LOG.info("got version: " + ((float) version / 10.0f)); ctrl_message |= CTRL_VERSION_DONE; - } else if (pair.first.equals(keyBase)) {// fix timestamp - TimeZone tz = SimpleTimeZone.getDefault(); - recording_base_timestamp = (int) pair.second - (tz.getOffset(System.currentTimeMillis())) / 1000; + } else if (pair.first.equals(keyBase)) { + recording_base_timestamp = (int) pair.second; + if (mPebbleProtocol.mFwMajor < 3) { + recording_base_timestamp -= SimpleTimeZone.getDefault().getOffset(recording_base_timestamp * 1000L) / 1000; + } LOG.info("got base: " + recording_base_timestamp); ctrl_message |= CTRL_SET_LAST_SENT | CTRL_DO_NEXT; } else if (pair.first.equals(keyAutoReset)) {