getIcon static method
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();
}
}