diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/AbstractFetchOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/AbstractFetchOperation.java index 1da7f98b0..915db7cd7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/AbstractFetchOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/AbstractFetchOperation.java @@ -19,13 +19,11 @@ package nodomain.freeyourgadget.gadgetbridge.service.devices.huami.operations; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; -import android.content.Intent; import android.content.SharedPreferences; import android.widget.Toast; import androidx.annotation.CallSuper; import androidx.annotation.NonNull; -import androidx.localbroadcastmanager.content.LocalBroadcastManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -128,9 +126,6 @@ public abstract class AbstractFetchOperation extends AbstractHuamiOperation { GB.updateTransferNotification(null, "", false, 100, getContext()); operationFinished(); unsetBusy(); - - Intent intent = new Intent(GBApplication.ACTION_NEW_DATA); - LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); } /** diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/FetchActivityOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/FetchActivityOperation.java index 45fe7f109..e4f41ab09 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/FetchActivityOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/operations/FetchActivityOperation.java @@ -85,6 +85,7 @@ public class FetchActivityOperation extends AbstractFetchOperation { } super.handleActivityFetchFinish(success); + GB.signalActivityDataFinish(); } private boolean needsAnotherFetch(GregorianCalendar lastSyncTimestamp) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband/operations/FetchActivityOperation.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband/operations/FetchActivityOperation.java index 0c275a476..e63aa6467 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband/operations/FetchActivityOperation.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/miband/operations/FetchActivityOperation.java @@ -49,9 +49,6 @@ import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils; import nodomain.freeyourgadget.gadgetbridge.util.GB; import nodomain.freeyourgadget.gadgetbridge.util.Prefs; -//import java.util.concurrent.Executors; -//import java.util.concurrent.ScheduledExecutorService; -//import java.util.concurrent.ScheduledFuture; /** * An operation that fetches activity data. For every fetch, a new operation must @@ -71,7 +68,7 @@ public class FetchActivityOperation extends AbstractMiBand1Operation { private final boolean hasPacketCounter; private class ActivityStruct { - private int maxDataPacketLength = 20; + private int maxDataPacketLength; private int lastNotifiedProgress; private final byte[] activityDataHolder; private final int activityDataHolderSize; @@ -197,6 +194,7 @@ public class FetchActivityOperation extends AbstractMiBand1Operation { activityStruct = null; operationFinished(); unsetBusy(); + GB.signalActivityDataFinish(); } /** diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java index 2f6acb03a..cef13fa3d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java @@ -42,6 +42,8 @@ import java.nio.ByteOrder; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; + import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.GBEnvironment; import nodomain.freeyourgadget.gadgetbridge.R; @@ -492,4 +494,9 @@ public class GB { throw new AssertionError(errorMessage); } } + + public static void signalActivityDataFinish() { + Intent intent = new Intent(GBApplication.ACTION_NEW_DATA); + LocalBroadcastManager.getInstance(GBApplication.getContext()).sendBroadcast(intent); + } }