@Override
  public View onCreateView(
      LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = super.onCreateView(inflater, container, savedInstanceState);

    setTextViewValue(
        view.findViewById(R.id.infoStatusRow),
        R.id.statusLabelName,
        getString(R.string.label_effect_name),
        0);

    setTextViewValue(
        view.findViewById(R.id.infoStateRow),
        R.id.stateMainLabel,
        getString(R.string.state_label_header_start),
        0);
    setTextViewValue(
        view.findViewById(R.id.infoStateRow2),
        R.id.stateMainLabel,
        getString(R.string.state_label_header_end),
        0);

    setTextViewValue(
        view.findViewById(R.id.infoPeriodRow),
        R.id.nameValueNameText,
        getString(R.string.effect_info_period_name),
        0);
    setTextViewValue(
        view.findViewById(R.id.infoDurationRow),
        R.id.nameValueNameText,
        getString(R.string.effect_info_pulse_duration),
        0);
    setTextViewValue(
        view.findViewById(R.id.infoCountRow),
        R.id.nameValueNameText,
        getString(R.string.effect_info_count_name),
        0);

    // second presets button
    Button presetsButton2 =
        (Button) view.findViewById(R.id.infoStateRow2).findViewById(R.id.stateButton);
    presetsButton2.setTag(STATE2_ITEM_TAG);
    presetsButton2.setClickable(true);
    presetsButton2.setOnClickListener(this);

    TextView periodName =
        (TextView) view.findViewById(R.id.infoPeriodRow).findViewById(R.id.nameValueNameText);
    periodName.setTag(R.id.infoPeriodRow);
    periodName.setClickable(true);
    periodName.setOnClickListener(this);

    TextView periodValue =
        (TextView) view.findViewById(R.id.infoPeriodRow).findViewById(R.id.nameValueValueText);
    periodValue.setTag(R.id.infoPeriodRow);
    periodValue.setClickable(true);
    periodValue.setOnClickListener(this);

    TextView durationName =
        (TextView) view.findViewById(R.id.infoDurationRow).findViewById(R.id.nameValueNameText);
    durationName.setTag(R.id.infoDurationRow);
    durationName.setClickable(true);
    durationName.setOnClickListener(this);

    TextView durationValue =
        (TextView) view.findViewById(R.id.infoDurationRow).findViewById(R.id.nameValueValueText);
    durationValue.setTag(R.id.infoDurationRow);
    durationValue.setClickable(true);
    durationValue.setOnClickListener(this);

    TextView countName =
        (TextView) view.findViewById(R.id.infoCountRow).findViewById(R.id.nameValueNameText);
    countName.setTag(R.id.infoCountRow);
    countName.setClickable(true);
    countName.setOnClickListener(this);

    TextView countValue =
        (TextView) view.findViewById(R.id.infoCountRow).findViewById(R.id.nameValueValueText);
    countValue.setTag(R.id.infoCountRow);
    countValue.setClickable(true);
    countValue.setOnClickListener(this);

    View currentStateRow =
        view.findViewById(R.id.infoStateRow).findViewById(R.id.startWithCurrentStateRow);
    currentStateRow.setVisibility(View.VISIBLE);

    CompoundButton currentStateRowTick =
        (CompoundButton) currentStateRow.findViewById(R.id.startWithCurrentStateTick);
    currentStateRowTick.setClickable(true);
    currentStateRowTick.setOnClickListener(this);
    currentStateRowTick.setOnCheckedChangeListener(this);
    currentStateRowTick.setChecked(pendingPulseEffect.startWithCurrent);

    // state adapter
    stateAdapter2 =
        new LampStateViewAdapter(
            view.findViewById(R.id.infoStateRow2),
            STATE2_ITEM_TAG,
            getColorTempMin(),
            getColorTempSpan(),
            this);

    initLampState();

    updateInfoFields(
        pendingPulseEffect.name,
        getPendingLampState(0),
        LampCapabilities.allCapabilities,
        pendingPulseEffect.uniformity);

    return view;
  }