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 based on UserTasks. Works closely with the AppTaskController.
- 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 ofduration
. 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.
Mixins
-
CronIterator<
E>
Functions
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.
Exceptions / Errors
- SensingException
- Generic sensing exception.