@Override
  protected void updateInfoFields(
      String name, MyLampState state, LampCapabilities capability, LampStateUniformity uniformity) {
    stateAdapter.setCapability(capability);
    stateAdapter2.setCapability(capability);

    super.updateInfoFields(name, state, capability, uniformity);

    updatePulseEffectInfoFields();
  }
  protected void updatePulseEffectInfoFields() {
    // Superclass updates the icon, so we have to re-override
    setImageButtonBackgroundResource(
        statusView, R.id.statusButtonPower, R.drawable.list_pulse_icon);

    MyLampState endState = getPendingLampState(1);
    updatePresetFields(endState, stateAdapter2);
    setColorIndicator(
        view.findViewById(R.id.infoStateRow2),
        endState,
        LampCapabilities.allCapabilities,
        getColorTempDefault());

    Color endColor = endState.getColor();
    stateAdapter2.setBrightness(endColor.getBrightness(), true);
    stateAdapter2.setHue(endColor.getHue(), true);
    stateAdapter2.setSaturation(endColor.getSaturation(), true);
    stateAdapter2.setColorTemp(endColor.getColorTemperature(), true);

    String periodValue =
        String.format(
            getString(R.string.effect_info_period_format), pendingPulseEffect.period / 1000.0);
    setTextViewValue(
        view.findViewById(R.id.infoPeriodRow),
        R.id.nameValueValueText,
        periodValue,
        R.string.units_seconds);

    String durationValue =
        String.format(
            getString(R.string.effect_info_period_format), pendingPulseEffect.duration / 1000.0);
    setTextViewValue(
        view.findViewById(R.id.infoDurationRow),
        R.id.nameValueValueText,
        durationValue,
        R.string.units_seconds);

    setTextViewValue(
        view.findViewById(R.id.infoCountRow), R.id.nameValueValueText, pendingPulseEffect.count, 0);
  }