Smartphone class

Configuration of an internet-connected smartphone with built-in sensors.

  • @JsonSerializable(fieldRename: FieldRename.none, includeIfNull: false)


Smartphone({String roleName = Smartphone.DEFAULT_ROLENAME})
Create a new Smartphone device descriptor. If roleName is not specified, then the DEFAULT_ROLENAME is used.
Smartphone.fromJson(Map<String, dynamic> json)


$type String?
The runtime class name (type) of this object. Used for deserialization from JSON objects.
getter/setter pairinherited
atStartOfStudy TriggerConfiguration
A trigger which fires immediately at the start of a study deployment.
no setterinherited
dataTypeSamplingSchemes DataTypeSamplingSchemeMap?
Sampling schemes for all the sensors available on this device.
no setteroverride
defaultSamplingConfiguration Map<String, SamplingConfiguration>?
Sampling configurations which override the default configurations for data types available on this device.
getter/setter pairinherited
fromJsonFunction Function
The function which can convert a JSON string to an object of this type.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
isOptional bool?
Determines whether device registration for this device is optional prior to starting a study, i.e., whether the study can run without this device or not.
getter/setter pairinherited
isPrimaryDevice bool
getter/setter pairinherited
jsonType String
Return the __type to be used for JSON serialization of this class. Default is runtimeType. Only specify this if you need another type.
no setterinherited
roleName String
A name which describes how the device participates within the study protocol; it's 'role'. For example, 'Parent's phone' or 'Child phone'.
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
supportedDataTypes Set<String>?
The set of data types which can be collected on this device.
no setterinherited
type String
The device type identifier
no setterinherited


createRegistration({String? deviceId, String? deviceDisplayName, String? platform, String? hardware, String? computerName, String? memorySize, String? deviceModel, String? operatingSystem, String? sdk, String? version}) SmartphoneDeviceRegistration
Create a DeviceRegistration which can be used to configure this device for deployment.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
toJson() Map<String, dynamic>
Return a JSON encoding of this object.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.


The default role name for a smartphone.
DEVICE_TYPE → const String
The type of a smartphone device.