getIcon static method

Widget getIcon(
  1. List<Trait> traits
)

Implementation

static Widget getIcon(List<sdk.Trait> traits) {
  try {
    sdk.Trait determiningTrait = traits[0];
    switch (determiningTrait.runtimeType) {
      case sdk.LockTrait:
        return LockIcon(
            findIconStateValue<sdk.IsLocked, bool>(determiningTrait.states));
      case sdk.ThermostatTrait:
        return ThermostatIcon(
            thermostatState:
                findIconStateValue<sdk.TargetTemperature, double?>(
                    determiningTrait.states));
      case sdk.PowerTrait:
        return PowerItemIcon(
            findIconStateValue<sdk.IsOnOff, bool>(determiningTrait.states));
      case sdk.BatteryLevelTrait:
        return BatteryLevelIcon(findIconStateValue<sdk.BatteryLevel, int>(
            determiningTrait.states));
      case sdk.ColorTemperatureTrait:
        return ColorTemperatureIcon(
            findIconStateValue<sdk.ColorTemperature, int>(
                determiningTrait.states));
      case sdk.PinCodeTrait:
        return PinCodeIcon();
      default:
        return UnknownItemIcon();
    }
  } catch (e) {
    return UnknownItemIcon();
  }
}