File tree Expand file tree Collapse file tree
packages/health/android/src/main/kotlin/cachet/plugins/health Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -404,18 +404,28 @@ class HealthDataReader(
404404 }
405405
406406 // Get energy burned data
407- val energyBurnedRequest = healthConnectClient.readRecords(
408- ReadRecordsRequest (
409- recordType = TotalCaloriesBurnedRecord ::class ,
410- timeRangeFilter = TimeRangeFilter .between(
411- record.startTime,
412- record.endTime,
413- ),
414- ),
415- )
416407 var totalEnergyBurned = 0.0
417- for (energyBurnedRec in energyBurnedRequest.records) {
418- totalEnergyBurned + = energyBurnedRec.energy.inKilocalories
408+ try {
409+ val grantedPermissions = healthConnectClient.permissionController.getGrantedPermissions()
410+ val energyPermission = HealthPermission .getReadPermission(TotalCaloriesBurnedRecord ::class )
411+ if (grantedPermissions.contains(energyPermission)) {
412+ val energyBurnedRequest = healthConnectClient.readRecords(
413+ ReadRecordsRequest (
414+ recordType = TotalCaloriesBurnedRecord ::class ,
415+ timeRangeFilter = TimeRangeFilter .between(
416+ record.startTime,
417+ record.endTime,
418+ ),
419+ ),
420+ )
421+ for (energyBurnedRec in energyBurnedRequest.records) {
422+ totalEnergyBurned + = energyBurnedRec.energy.inKilocalories
423+ }
424+ } else {
425+ Log .i(" FLUTTER_HEALTH" , " TotalCaloriesBurned permission not granted; skipping energy aggregation" )
426+ }
427+ } catch (e: Exception ) {
428+ Log .w(" FLUTTER_HEALTH" , " Skipping TotalCaloriesBurned: ${e.message} " )
419429 }
420430
421431 // Get steps data
You can’t perform that action at this time.
0 commit comments