Skip to content

Commit aa9eec8

Browse files
committed
Revert write data to original
1 parent 75f4961 commit aa9eec8

2 files changed

Lines changed: 105 additions & 142 deletions

File tree

packages/health/example/lib/main.dart

Lines changed: 97 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -236,105 +236,90 @@ class HealthAppState extends State<HealthApp> {
236236

237237
// misc. health data examples using the writeHealthData() method
238238
success &= await health.writeHealthData(
239-
value: 1.925,
240-
type: HealthDataType.HEIGHT,
241-
startTime: earlier,
242-
endTime: now,
243-
recordingMethod: RecordingMethod.manual) !=
244-
null;
239+
value: 1.925,
240+
type: HealthDataType.HEIGHT,
241+
startTime: earlier,
242+
endTime: now,
243+
recordingMethod: RecordingMethod.manual);
245244
success &= await health.writeHealthData(
246-
value: 90,
247-
type: HealthDataType.WEIGHT,
248-
startTime: now,
249-
recordingMethod: RecordingMethod.manual) !=
250-
null;
245+
value: 90,
246+
type: HealthDataType.WEIGHT,
247+
startTime: now,
248+
recordingMethod: RecordingMethod.manual);
251249
success &= await health.writeHealthData(
252-
value: 90,
253-
type: HealthDataType.HEART_RATE,
254-
startTime: earlier,
255-
endTime: now,
256-
recordingMethod: RecordingMethod.manual) !=
257-
null;
250+
value: 90,
251+
type: HealthDataType.HEART_RATE,
252+
startTime: earlier,
253+
endTime: now,
254+
recordingMethod: RecordingMethod.manual);
258255
success &= await health.writeHealthData(
259-
value: 90,
260-
type: HealthDataType.STEPS,
261-
startTime: earlier,
262-
endTime: now,
263-
recordingMethod: RecordingMethod.manual) !=
264-
null;
256+
value: 90,
257+
type: HealthDataType.STEPS,
258+
startTime: earlier,
259+
endTime: now,
260+
recordingMethod: RecordingMethod.manual);
265261
success &= await health.writeHealthData(
266-
value: 200,
267-
type: HealthDataType.ACTIVE_ENERGY_BURNED,
268-
startTime: earlier,
269-
endTime: now,
270-
) !=
271-
null;
262+
value: 200,
263+
type: HealthDataType.ACTIVE_ENERGY_BURNED,
264+
startTime: earlier,
265+
endTime: now,
266+
);
272267
success &= await health.writeHealthData(
273-
value: 70,
274-
type: HealthDataType.HEART_RATE,
275-
startTime: earlier,
276-
endTime: now) !=
277-
null;
268+
value: 70,
269+
type: HealthDataType.HEART_RATE,
270+
startTime: earlier,
271+
endTime: now);
278272
success &= await health.writeHealthData(
279-
value: 37,
280-
type: HealthDataType.BODY_TEMPERATURE,
281-
startTime: earlier,
282-
endTime: now) !=
283-
null;
273+
value: 37,
274+
type: HealthDataType.BODY_TEMPERATURE,
275+
startTime: earlier,
276+
endTime: now);
284277
success &= await health.writeHealthData(
285-
value: 105,
286-
type: HealthDataType.BLOOD_GLUCOSE,
287-
startTime: earlier,
288-
endTime: now) !=
289-
null;
278+
value: 105,
279+
type: HealthDataType.BLOOD_GLUCOSE,
280+
startTime: earlier,
281+
endTime: now);
290282
success &= await health.writeInsulinDelivery(
291283
5, InsulinDeliveryReason.BOLUS, earlier, now);
292284
success &= await health.writeHealthData(
293-
value: 1.8,
294-
type: HealthDataType.WATER,
295-
startTime: earlier,
296-
endTime: now) !=
297-
null;
285+
value: 1.8,
286+
type: HealthDataType.WATER,
287+
startTime: earlier,
288+
endTime: now);
298289

299290
// different types of sleep
300291
success &= await health.writeHealthData(
301-
value: 0.0,
302-
type: HealthDataType.SLEEP_REM,
303-
startTime: earlier,
304-
endTime: now) !=
305-
null;
292+
value: 0.0,
293+
type: HealthDataType.SLEEP_REM,
294+
startTime: earlier,
295+
endTime: now);
306296
success &= await health.writeHealthData(
307-
value: 0.0,
308-
type: HealthDataType.SLEEP_ASLEEP,
309-
startTime: earlier,
310-
endTime: now) !=
311-
null;
297+
value: 0.0,
298+
type: HealthDataType.SLEEP_ASLEEP,
299+
startTime: earlier,
300+
endTime: now);
312301
success &= await health.writeHealthData(
313-
value: 0.0,
314-
type: HealthDataType.SLEEP_AWAKE,
315-
startTime: earlier,
316-
endTime: now) !=
317-
null;
302+
value: 0.0,
303+
type: HealthDataType.SLEEP_AWAKE,
304+
startTime: earlier,
305+
endTime: now);
318306
success &= await health.writeHealthData(
319-
value: 0.0,
320-
type: HealthDataType.SLEEP_DEEP,
321-
startTime: earlier,
322-
endTime: now) !=
323-
null;
307+
value: 0.0,
308+
type: HealthDataType.SLEEP_DEEP,
309+
startTime: earlier,
310+
endTime: now);
324311
success &= await health.writeHealthData(
325-
value: 22,
326-
type: HealthDataType.LEAN_BODY_MASS,
327-
startTime: earlier,
328-
endTime: now) !=
329-
null;
312+
value: 22,
313+
type: HealthDataType.LEAN_BODY_MASS,
314+
startTime: earlier,
315+
endTime: now);
330316

331317
// specialized write methods
332318
success &= await health.writeBloodOxygen(
333-
saturation: 98,
334-
startTime: earlier,
335-
endTime: now,
336-
) !=
337-
null;
319+
saturation: 98,
320+
startTime: earlier,
321+
endTime: now,
322+
);
338323
success &= await health.writeWorkoutData(
339324
activityType: HealthWorkoutActivityType.AMERICAN_FOOTBALL,
340325
title: "Random workout name that shows up in Health Connect",
@@ -421,58 +406,51 @@ class HealthAppState extends State<HealthApp> {
421406

422407
if (Platform.isIOS) {
423408
success &= await health.writeHealthData(
424-
value: 30,
425-
type: HealthDataType.HEART_RATE_VARIABILITY_SDNN,
426-
startTime: earlier,
427-
endTime: now) !=
428-
null;
409+
value: 30,
410+
type: HealthDataType.HEART_RATE_VARIABILITY_SDNN,
411+
startTime: earlier,
412+
endTime: now);
429413
success &= await health.writeHealthData(
430-
value: 1.5, // 1.5 m/s (typical walking speed)
431-
type: HealthDataType.WALKING_SPEED,
432-
startTime: earlier,
433-
endTime: now,
434-
recordingMethod: RecordingMethod.manual) !=
435-
null;
414+
value: 1.5, // 1.5 m/s (typical walking speed)
415+
type: HealthDataType.WALKING_SPEED,
416+
startTime: earlier,
417+
endTime: now,
418+
recordingMethod: RecordingMethod.manual);
436419
} else {
437420
success &= await health.writeHealthData(
438-
value: 2.0, // 2.0 m/s (typical jogging speed)
439-
type: HealthDataType.SPEED,
440-
startTime: earlier,
441-
endTime: now,
442-
recordingMethod: RecordingMethod.manual) !=
443-
null;
421+
value: 2.0, // 2.0 m/s (typical jogging speed)
422+
type: HealthDataType.SPEED,
423+
startTime: earlier,
424+
endTime: now,
425+
recordingMethod: RecordingMethod.manual);
444426
success &= await health.writeHealthData(
445-
value: 30,
446-
type: HealthDataType.HEART_RATE_VARIABILITY_RMSSD,
447-
startTime: earlier,
448-
endTime: now) !=
449-
null;
427+
value: 30,
428+
type: HealthDataType.HEART_RATE_VARIABILITY_RMSSD,
429+
startTime: earlier,
430+
endTime: now);
450431
}
451432

452433
// Available on iOS or iOS 16.0+ only
453434
if (Platform.isIOS) {
454435
success &= await health.writeHealthData(
455-
value: 22,
456-
type: HealthDataType.WATER_TEMPERATURE,
457-
startTime: earlier,
458-
endTime: now,
459-
recordingMethod: RecordingMethod.manual) !=
460-
null;
436+
value: 22,
437+
type: HealthDataType.WATER_TEMPERATURE,
438+
startTime: earlier,
439+
endTime: now,
440+
recordingMethod: RecordingMethod.manual);
461441

462442
success &= await health.writeHealthData(
463-
value: 55,
464-
type: HealthDataType.UNDERWATER_DEPTH,
465-
startTime: earlier,
466-
endTime: now,
467-
recordingMethod: RecordingMethod.manual) !=
468-
null;
443+
value: 55,
444+
type: HealthDataType.UNDERWATER_DEPTH,
445+
startTime: earlier,
446+
endTime: now,
447+
recordingMethod: RecordingMethod.manual);
469448
success &= await health.writeHealthData(
470-
value: 4.3,
471-
type: HealthDataType.UV_INDEX,
472-
startTime: earlier,
473-
endTime: now,
474-
recordingMethod: RecordingMethod.manual) !=
475-
null;
449+
value: 4.3,
450+
type: HealthDataType.UV_INDEX,
451+
startTime: earlier,
452+
endTime: now,
453+
recordingMethod: RecordingMethod.manual);
476454
}
477455

478456
setState(() {

packages/health/lib/src/health_plugin.dart

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ class Health {
473473
///
474474
/// Values for Sleep and Headache are ignored and will be automatically assigned
475475
/// the default value.
476-
Future<HealthDataPoint?> writeHealthData({
476+
Future<bool> writeHealthData({
477477
required double value,
478478
HealthDataUnit? unit,
479479
required HealthDataType type,
@@ -538,22 +538,8 @@ class Health {
538538
'endTime': endTime.millisecondsSinceEpoch,
539539
'recordingMethod': recordingMethod.toInt(),
540540
};
541-
542-
String uuid = '${await _channel.invokeMethod('writeData', args)}';
543-
if (uuid.isEmpty) {
544-
return null;
545-
}
546-
547-
try {
548-
final healthPoint = await getHealthDataByUUID(
549-
uuid: uuid,
550-
type: type,
551-
);
552-
553-
return healthPoint;
554-
} catch (e) {
555-
return null;
556-
}
541+
bool? success = await _channel.invokeMethod('writeData', args);
542+
return success ?? false;
557543
}
558544

559545
/// Deletes all records of the given [type] for a given period of time.
@@ -675,7 +661,7 @@ class Health {
675661
/// Simply set [endTime] equal to [startTime] if the blood oxygen saturation
676662
/// is measured only at a specific point in time (default).
677663
/// * [recordingMethod] - the recording method of the data point.
678-
Future<HealthDataPoint?> writeBloodOxygen({
664+
Future<bool> writeBloodOxygen({
679665
required double saturation,
680666
required DateTime startTime,
681667
DateTime? endTime,
@@ -692,11 +678,10 @@ class Health {
692678
if (startTime.isAfter(endTime)) {
693679
throw ArgumentError("startTime must be equal or earlier than endTime");
694680
}
695-
696-
HealthDataPoint? healthDataPoint;
681+
bool? success;
697682

698683
if (Platform.isIOS) {
699-
healthDataPoint = await writeHealthData(
684+
success = await writeHealthData(
700685
value: saturation,
701686
type: HealthDataType.BLOOD_OXYGEN,
702687
startTime: startTime,
@@ -710,9 +695,9 @@ class Health {
710695
'dataTypeKey': HealthDataType.BLOOD_OXYGEN.name,
711696
'recordingMethod': recordingMethod.toInt(),
712697
};
713-
healthDataPoint = await _channel.invokeMethod('writeBloodOxygen', args);
698+
success = await _channel.invokeMethod('writeBloodOxygen', args);
714699
}
715-
return healthDataPoint;
700+
return success ?? false;
716701
}
717702

718703
/// Saves meal record into Apple Health or Health Connect.

0 commit comments

Comments
 (0)