From b303da4e62d341913bceea0bfcb51e86185f1043 Mon Sep 17 00:00:00 2001 From: MrYoranimo Date: Mon, 4 Dec 2023 22:07:02 +0100 Subject: [PATCH] Xiaomi: wrap parsing of activity data in try block This will prevent uncaught exceptions that occur during the parsing of activity data from breaking up the activity fetching chain and causing the task to never get completed. --- .../xiaomi/activity/XiaomiActivityFileFetcher.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java index 70256e07d..6b0370372 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java @@ -117,8 +117,14 @@ public class XiaomiActivityFileFetcher { return; } - if (!activityParser.parse(mHealthService.getSupport(), fileId, activityData)) { - LOG.warn("Failed to parse {}", fileId); + try { + if (activityParser.parse(mHealthService.getSupport(), fileId, activityData)) { + LOG.info("Successfully parsed {}", fileId); + } else { + LOG.warn("Failed to parse {}", fileId); + } + } catch (final Exception ex) { + LOG.error("addChunk(): failed to parse activity: ", ex); } triggerNextFetch();