runtime/runtime library

Contains classes for running the sensing framework incl. the SmartphoneDeploymentExecutor, TaskExecutor and different types of Probes.

Classes

AbstractDataManager
An abstract DataManager implementation useful for extension.
AbstractExecutor<TConfig>
An abstract implementation of a Executor to extend from.
AggregateExecutor<TConfig>
An abstract class used to implement aggregated executors (i.e., executors with a set of underlying executors).
AppTaskControlExecutor
Responsible for handling the execution of a TaskControl which contains an AppTask.
AppTaskController
A controller of UserTasks which is accessible in the userTaskQueue.
AppTaskExecutor<TConfig extends AppTask>
Executes an AppTask.
BackgroundSensingUserTask
A non-UI sensing task that collects sensor data in the background. For example noise.
BackgroundTaskExecutor
Executes a BackgroundTask.
BatteryStatus
Runtime battery status of a device.
BTLEDeviceManager<TDeviceConfiguration extends DeviceConfiguration<DeviceRegistration>>
A device manager for a connectable Bluetooth device.
BufferingIntervalStreamProbe
A type of probe which buffers data from an underlying stream and on a regular interval return a measurement based on this collected data.
BufferingPeriodicProbe
An type of probe which collects data for a period of time and then return a measurement from this collected data.
BufferingPeriodicStreamProbe
A type of probe which buffers data from an underlying stream for a period of time and then return a measurement from this collected data.
ConditionalPeriodicTriggerExecutor
Executes a ConditionalPeriodicTrigger.
ConditionalSamplingEventTriggerExecutor
Executes a ConditionalSamplingEventTrigger.
Cron
CronScheduledTriggerExecutor
Executes a CronScheduledTrigger based on the specified cron job.
DataManager
The DataManager interface is used to upload Measurement objects to any data manager that implements this interface.
DataManagerEvent
An event for a data manager.
DataManagerEventTypes
An enumeration of data manager event types.
DataManagerFactory
A factory which can create a DataManager based on the type of an DataEndPoint.
DataManagerRegistry
A registry of DataManagerFactorys.
DateTimeTriggerExecutor
Executes a DateTimeTrigger on the specified date and time.
DelayedTriggerExecutor
Executes a DelayedTrigger, i.e. triggers after the specified delay.
DeviceController
A DeviceController handles runtime management of all devices and services connected to this phone, including the phone itself.
DeviceManager<TDeviceConfiguration extends DeviceConfiguration<DeviceRegistration>>
A DeviceManager handles a hardware device or online service on runtime.
ElapsedTimeTriggerExecutor
Executes a ElapsedTimeTrigger, i.e. triggers after the specified delay after deployment start on this phone.
Executor<TConfig>
A Executor is responsible for executing data collection based on a configuration TConfig.
ExecutorFactory
FlutterLocalNotificationController
A NotificationController based on the flutter_local_notifications Flutter plugin.
FunctionTaskExecutor
Executes a FunctionTask.
HardwareDeviceManager<TDeviceConfiguration extends DeviceConfiguration<DeviceRegistration>>
A DeviceManager for a hardware device.
HasNext<E>
HasPrevious<E>
ImmediateTriggerExecutor
Executes an ImmediateTrigger, i.e. starts sampling immediately.
IntervalProbe
A probe which is triggered at regular intervals, specified by the interval property in an IntervalSamplingConfiguration. When triggered, the probe collect a measurement using the getMeasurement method.
MeasurementProbe
This probe collects a single Measurement when started, send its to the measurements stream, and then stops.
NoOpNotificationController
A no-operation notification controller that does nothing.
NoOpTriggerExecutor
Executes an NoOpTrigger, i.e. does nothing.
NotificationController
A controller of user notifications allow for creating, scheduling, and canceling user notifications.
OneTimeBackgroundSensingUserTask
A non-UI sensing task that collects sensor data once. For example collecting location data.
OneTimeTriggerExecutor
Executes a OneTimeTrigger, i.e. a trigger that only runs once during a study deployment.
OnlineServiceManager<TDeviceConfiguration extends OnlineService<DeviceRegistration>>
A DeviceManager for an online service, like a weather service.
PassiveTriggerExecutor
Executes a PassiveTrigger.
PeriodicStreamProbe
A periodic probe listening on a stream. Listening is done periodically as specified in a PeriodicSamplingConfiguration listening on intervals every interval for a period of duration. During this period, all data are forwarded to this probes measurements stream.
PeriodicTriggerExecutor
Executes a PeriodicTrigger.
Persistence
A persistence layer that knows how to persistently store deployment and app task information across app restart.
Probe
A Probe is a specialized Executor responsible for collecting data from the device sensors as configured in a Measure.
RandomRecurrentTriggerExecutor
Executes a RandomRecurrentTrigger triggering N times per day within a defined period of time.
RecurrentScheduledTriggerExecutor
Executes a RecurrentScheduledTrigger.
SamplingEventTriggerExecutor
Executes a SamplingEventTrigger based on the specified SamplingEventTrigger.measureType and SamplingEventTrigger.triggerCondition.
SamplingPackage
Interface for a sampling package.
SamplingPackageRegistry
A registry of SamplingPackage packages.
SchedulableTriggerExecutor<TConfig extends TriggerConfiguration>
Abstract class for executors of triggers which can be scheduled (i.e., implementing the Schedulable interface).
SensingUserTaskFactory
A UserTaskFactory that can create the non-UI sensing tasks:
Settings
Misc. settings for CAMS.
SmartPhoneClientManager
SmartphoneDeploymentController
A SmartphoneDeploymentController controls the execution of a SmartphoneDeployment.
SmartphoneDeploymentExecutor
The SmartphoneDeploymentExecutor is responsible for executing a SmartphoneDeployment. For each task control in this deployment, it starts a TaskControlExecutor.
SmartphoneDeploymentService
A local (in-memory) implementation of a DeploymentService useful in CAMS studies to be deployed locally on this phone.
SmartphoneDeviceManager
A device manager for a smartphone.
SmartphoneSamplingPackage
An abstract class for all sampling packages that run on the phone itself.
StreamProbe
An abstract class used to create a probe that listen continuously to events from the stream of Measurement objects.
StubProbe
A simple no-op probe that does nothing.
StudyProtocolManager
An interface defining a manger of SmartphoneStudyProtocols.
TaskControlExecutor
Responsible for handling the execution of a TaskControl.
TaskExecutor<TConfig extends TaskConfiguration>
The TaskExecutor is responsible for executing a TaskConfiguration. For each measure in the task, it looks up an appropriate Probe to collect data.
TriggerEvent
TriggerExecutor<TConfig extends TriggerConfiguration>
Responsible for handling the execution of a trigger.
UserTask
A task that the user of the app needs to attend to.
UserTaskFactory
A factory which can create a UserTask based on the type of an AppTask.
UserTaskSnapshot
A snapshot of a UserTask at any given time. Used for saving user tasks persistently across app restart.
UserTaskTriggerExecutor
Executes a UserTaskTrigger.

Enums

ClientManagerState
The possible states of the SmartPhoneClientManager.
DebugLevel
Debugging levels.
DeviceStatus
Runtime status for a DeviceManager.
ExecutorState
The state of an Executor.
UserTaskState
The states of a UserTask.

Mixins

CronIterator<E>

Functions

debug(String message) → void
Add a debug messages to the system log.
info(String message) → void
Add an information messages to the system log.
onDidReceiveNotificationResponse(NotificationResponse response) → void
Callback method called when a notification is clicked in the operating system.
warning(String message) → void
Add a warning messages to the system log.

Exceptions / Errors

SensingException
Generic sensing exception.