getLockTrait static method

LockTrait getLockTrait(
  1. dynamic trait
)

Implementation

static LockTrait getLockTrait(trait) {
  if (trait is GgetDeviceData_device_traits__asLockDeviceTrait ||
      trait
          is GgetDevicesData_me_devices_edges_node_traits__asLockDeviceTrait) {
    final Set<Property> properties = {
      SupportsIsJammed(trait.properties.supportsIsJammed ?? false)
    };
    final Set<State> states = <State>{
      IsLocked(trait.state.isLocked.reported?.value ?? false),
      if (trait.properties.supportsIsJammed)
        IsJammed(trait.state.isJammed.reported?.value ?? false),
    };
    return LockTrait(states, properties);
  } else {
    throw ArgumentError.value(trait);
  }
}