From c0eb1420b253071c228057d21be8111c7ba26bb2 Mon Sep 17 00:00:00 2001 From: dakhnod Date: Sun, 21 Jul 2019 17:21:42 +0200 Subject: [PATCH] adjusted initial sync --- .../service/devices/qhybrid/QHybridSupport.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java index 5f57bb41c..132d0dce0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/qhybrid/QHybridSupport.java @@ -22,8 +22,10 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; +import java.util.ArrayDeque; import java.util.Date; import java.util.GregorianCalendar; +import java.util.Queue; import java.util.TimeZone; import java.util.UUID; @@ -106,6 +108,8 @@ public class QHybridSupport extends QHybridBaseSupport { private PendingIntent dumpIntent; private PendingIntent stepIntent; + Queue requestQueue = new ArrayDeque<>(); + public QHybridSupport() { super(logger); addSupportedService(UUID.fromString("3dda0001-957f-7d4a-34a6-74696673696d")); @@ -214,11 +218,11 @@ public class QHybridSupport extends QHybridBaseSupport { super.onServicesDiscovered(gatt); playAnimation(); + requestQueue.add(new GetStepGoalRequest()); + requestQueue.add(new GetCurrentStepCountRequest()); + requestQueue.add(new GetVibrationStrengthRequest()); + requestQueue.add(new ActivityPointGetRequest()); queueWrite(new BatteryLevelRequest()); - queueWrite(new GetStepGoalRequest()); - queueWrite(new GetCurrentStepCountRequest()); - queueWrite(new GetVibrationStrengthRequest()); - queueWrite(new ActivityPointGetRequest()); logger.debug("onServicesDiscovered"); } @@ -500,6 +504,10 @@ public class QHybridSupport extends QHybridBaseSupport { } else if (request instanceof ActivityPointGetRequest) { gbDevice.addDeviceInfo(new GenericItem(ITEM_ACTIVITY_POINT, String.valueOf(((ActivityPointGetRequest) request).activityPoint))); } + Request nextRequest; + if((nextRequest = requestQueue.remove()) != null){ + queueWrite(nextRequest); + } return true; }