From b617ba7264e5cedcaa2259b68ef3f90554628efb Mon Sep 17 00:00:00 2001 From: Daniele Gobbetti Date: Sun, 21 Aug 2016 17:38:07 +0200 Subject: [PATCH] Fix the logic regarding the last sample of a run. Remove the unneded try-catch block and reuse the current DB session instead. --- .../gadgetbridge/database/DBHelper.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHelper.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHelper.java index 74066868..eb9a8069 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHelper.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHelper.java @@ -454,13 +454,15 @@ public class DBHelper { } if (currentTypeRun != previousTypeRun) { + //we used not to store the last sample, now we do the opposite and we need to round up + currentTypeEndTimeStamp = currentTimeStamp; //if the Type has changed, the run has ended. Only store light and deep sleep data if (previousTypeRun == 4) { overlayList.add(new PebbleHealthActivityOverlay(currentTypeStartTimeStamp, currentTypeEndTimeStamp, sampleProvider.toRawActivityKind(ActivityKind.TYPE_LIGHT_SLEEP), deviceId, userId, null)); } else if (previousTypeRun == 5) { overlayList.add(new PebbleHealthActivityOverlay(currentTypeStartTimeStamp, currentTypeEndTimeStamp, sampleProvider.toRawActivityKind(ActivityKind.TYPE_DEEP_SLEEP), deviceId, userId, null)); } - currentTypeStartTimeStamp = currentTypeEndTimeStamp = currentTimeStamp; + currentTypeStartTimeStamp = currentTimeStamp; previousTypeRun = currentTypeRun; } else { //just expand the run @@ -488,14 +490,8 @@ public class DBHelper { } // store the overlay records if (!overlayList.isEmpty()) { - try (DBHandler dbHandler = GBApplication.acquireDB()) { - DaoSession session = dbHandler.getDaoSession(); - PebbleHealthActivityOverlayDao overlayDao = session.getPebbleHealthActivityOverlayDao(); - overlayDao.insertOrReplaceInTx(overlayList); - - } catch (Exception ex) { - //FIXME: this whole try catch is probably in the wrong place. - } + PebbleHealthActivityOverlayDao overlayDao = targetSession.getPebbleHealthActivityOverlayDao(); + overlayDao.insertOrReplaceInTx(overlayList); } } }