Search in sources :

Example 1 with CasioGBX100SampleProvider

use of nodomain.freeyourgadget.gadgetbridge.devices.casio.CasioGBX100SampleProvider in project Gadgetbridge by Freeyourgadget.

the class CasioGBX100DeviceSupport method getSumWithinRange.

public CasioGBX100ActivitySample getSumWithinRange(int timestamp_from, int timestamp_to) {
    int steps = 0;
    int calories = 0;
    try (DBHandler dbHandler = GBApplication.acquireDB()) {
        User user = DBHelper.getUser(dbHandler.getDaoSession());
        Device device = DBHelper.getDevice(this.getDevice(), dbHandler.getDaoSession());
        CasioGBX100SampleProvider provider = new CasioGBX100SampleProvider(this.getDevice(), dbHandler.getDaoSession());
        List<CasioGBX100ActivitySample> samples = provider.getActivitySamples(timestamp_from, timestamp_to);
        for (CasioGBX100ActivitySample sample : samples) {
            if (sample.getDevice().equals(device) && sample.getUser().equals(user)) {
                steps += sample.getSteps();
                calories += sample.getCalories();
            }
        }
    } catch (Exception e) {
        LOG.error("Error fetching activity data.");
    }
    CasioGBX100ActivitySample ret = new CasioGBX100ActivitySample();
    ret.setCalories(calories);
    ret.setSteps(steps);
    LOG.debug("Fetched for today: " + calories + " cals and " + steps + " steps.");
    return ret;
}
Also used : DBHandler(nodomain.freeyourgadget.gadgetbridge.database.DBHandler) User(nodomain.freeyourgadget.gadgetbridge.entities.User) CasioGBX100SampleProvider(nodomain.freeyourgadget.gadgetbridge.devices.casio.CasioGBX100SampleProvider) Device(nodomain.freeyourgadget.gadgetbridge.entities.Device) GBDevice(nodomain.freeyourgadget.gadgetbridge.impl.GBDevice) CasioGBX100ActivitySample(nodomain.freeyourgadget.gadgetbridge.entities.CasioGBX100ActivitySample) IOException(java.io.IOException)

Example 2 with CasioGBX100SampleProvider

use of nodomain.freeyourgadget.gadgetbridge.devices.casio.CasioGBX100SampleProvider in project Gadgetbridge by Freeyourgadget.

the class CasioGBX100DeviceSupport method addGBActivitySamples.

private void addGBActivitySamples(ArrayList<CasioGBX100ActivitySample> samples) {
    try (DBHandler dbHandler = GBApplication.acquireDB()) {
        User user = DBHelper.getUser(dbHandler.getDaoSession());
        Device device = DBHelper.getDevice(this.getDevice(), dbHandler.getDaoSession());
        CasioGBX100SampleProvider provider = new CasioGBX100SampleProvider(this.getDevice(), dbHandler.getDaoSession());
        for (CasioGBX100ActivitySample sample : samples) {
            sample.setDevice(device);
            sample.setUser(user);
            sample.setProvider(provider);
            provider.addGBActivitySample(sample);
        }
    } catch (Exception ex) {
        // Why is this a toast? The user doesn't care about the error.
        GB.toast(getContext(), "Error saving samples: " + ex.getLocalizedMessage(), Toast.LENGTH_LONG, GB.ERROR);
        GB.updateTransferNotification(null, "Data transfer failed", false, 0, getContext());
        LOG.error(ex.getMessage());
    }
}
Also used : DBHandler(nodomain.freeyourgadget.gadgetbridge.database.DBHandler) User(nodomain.freeyourgadget.gadgetbridge.entities.User) CasioGBX100SampleProvider(nodomain.freeyourgadget.gadgetbridge.devices.casio.CasioGBX100SampleProvider) Device(nodomain.freeyourgadget.gadgetbridge.entities.Device) GBDevice(nodomain.freeyourgadget.gadgetbridge.impl.GBDevice) CasioGBX100ActivitySample(nodomain.freeyourgadget.gadgetbridge.entities.CasioGBX100ActivitySample) IOException(java.io.IOException)

Aggregations

IOException (java.io.IOException)2 DBHandler (nodomain.freeyourgadget.gadgetbridge.database.DBHandler)2 CasioGBX100SampleProvider (nodomain.freeyourgadget.gadgetbridge.devices.casio.CasioGBX100SampleProvider)2 CasioGBX100ActivitySample (nodomain.freeyourgadget.gadgetbridge.entities.CasioGBX100ActivitySample)2 Device (nodomain.freeyourgadget.gadgetbridge.entities.Device)2 User (nodomain.freeyourgadget.gadgetbridge.entities.User)2 GBDevice (nodomain.freeyourgadget.gadgetbridge.impl.GBDevice)2