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 a5de2974..a116ac59 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 @@ -335,7 +335,7 @@ public class FetchActivityOperation extends AbstractMiBandOperation { userId, deviceId, heartrate & 0xff); -// samples[minutes].setProvider(dbHandler); + samples[minutes].setProvider(provider); if (LOG.isDebugEnabled()) { LOG.debug("sample: " + samples[minutes]); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerGBPebble.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerGBPebble.java index 4652a540..02713c43 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerGBPebble.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerGBPebble.java @@ -67,6 +67,7 @@ public class AppMessageHandlerGBPebble extends AppMessageHandler { int intensity = ((sample & 0x1f80) >>> 7); int steps = (sample & 0x007f); activitySamples[i++] = createSample(timestamp + offset_seconds, intensity, steps, type, user, device); + activitySamples[i].setProvider(sampleProvider); offset_seconds += 60; } sampleProvider.addGBActivitySamples(activitySamples); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMisfit.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMisfit.java index a72ca21c..538a21b5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMisfit.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/AppMessageHandlerMisfit.java @@ -82,6 +82,7 @@ public class AppMessageHandlerMisfit extends AppMessageHandler { int totalSteps = 0; PebbleActivitySample[] activitySamples = new PebbleActivitySample[samples]; try (DBHandler db = GBApplication.acquireDB()) { + MisfitSampleProvider sampleProvider = new MisfitSampleProvider(device, db.getDaoSession()); Long userId = DBHelper.getUser(db.getDaoSession()).getId(); Long deviceId = DBHelper.getDevice(getDevice(), db.getDaoSession()).getId(); for (int i = 0; i < samples; i++) { @@ -115,10 +116,10 @@ public class AppMessageHandlerMisfit extends AppMessageHandler { LOG.info("got steps for sample " + i + " : " + steps + "(" + Integer.toHexString(sample & 0xffff) + ")"); activitySamples[i] = new PebbleActivitySample(null, timestamp + i * 60, intensity, steps, activityKind, userId, deviceId); + activitySamples[i].setProvider(sampleProvider); } LOG.info("total steps for above period: " + totalSteps); - MisfitSampleProvider sampleProvider = new MisfitSampleProvider(device, db.getDaoSession()); sampleProvider.addGBActivitySamples(activitySamples); } catch (Exception e) { LOG.error("Error acquiring database", e); 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 a2b4c5e2..116153e9 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 @@ -19,6 +19,7 @@ import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSleepMonit import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.pebble.MorpheuzSampleProvider; import nodomain.freeyourgadget.gadgetbridge.entities.Device; +import nodomain.freeyourgadget.gadgetbridge.entities.PebbleActivitySample; import nodomain.freeyourgadget.gadgetbridge.entities.User; import nodomain.freeyourgadget.gadgetbridge.util.Prefs; @@ -103,7 +104,9 @@ public class AppMessageHandlerMorpheuz extends AppMessageHandler { User user = DBHelper.getUser(db.getDaoSession()); Device device = DBHelper.getDevice(getDevice(), db.getDaoSession()); MorpheuzSampleProvider sampleProvider = new MorpheuzSampleProvider(getDevice(), db.getDaoSession()); - sampleProvider.addGBActivitySample(createSample(recording_base_timestamp + index * 600, intensity, 0, type, user, device)); + PebbleActivitySample sample = createSample(recording_base_timestamp + index * 600, intensity, 0, type, user, device); + sample.setProvider(sampleProvider); + sampleProvider.addGBActivitySample(sample); } catch (Exception e) { LOG.error("Error acquiring database", e); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java index 3a2551f2..c03c3ab7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java @@ -89,6 +89,7 @@ public class DatalogSessionHealthSteps extends DatalogSessionPebbleHealth { stepsRecord.steps, sampleProvider.toRawActivityKind(ActivityKind.TYPE_ACTIVITY), userId, deviceId); + samples[j].setProvider(sampleProvider); } sampleProvider.addGBActivitySamples(samples);