initialize method
Future<void>
initialize(
- DataEndPoint dataEndPoint,
- SmartphoneDeployment deployment,
- Stream<
Measurement> measurements
override
Initialize the data manager by specifying the study deployment
, the
dataEndPoint
, and the stream of measurements
events to handle.
Implementation
@override
Future<void> initialize(
DataEndPoint dataEndPoint,
SmartphoneDeployment deployment,
Stream<Measurement> measurements,
) async {
info("$runtimeType - Initializing, endpoint: $dataEndPoint");
assert(dataEndPoint is CarpDataEndPoint);
await super.initialize(dataEndPoint, deployment, measurements);
carpEndPoint = dataEndPoint as CarpDataEndPoint;
assert(CarpService().isConfigured,
'CarpService is not configured -- cannot upload data to this end point.');
buffer.initialize(deployment, measurements);
// Set up a timer that uploads data on a regular basis
uploadTimer = Timer.periodic(Duration(minutes: carpEndPoint.uploadInterval),
(_) => uploadBufferedMeasurements());
// listen to connectivity events
Connectivity()
.onConnectivityChanged
.listen((status) => connectivity = status);
if (!CarpDataStreamService().isConfigured) {
CarpDataStreamService().configureFrom(CarpService());
}
}