          s->alert_type = data.getAlertType();
        }
        s->alert_sound = alert_sound;
      }
      scene.alert_text1 = data.getAlertText1();
      scene.alert_text2 = data.getAlertText2();
      scene.alert_ts = event.getLogMonoTime();
      scene.alert_size = data.getAlertSize();
      auto alertStatus = data.getAlertStatus();
      if (alertStatus == cereal::ControlsState::AlertStatus::USER_PROMPT) {
        update_status(s, STATUS_WARNING);
      } else if (alertStatus == cereal::ControlsState::AlertStatus::CRITICAL) {
        update_status(s, STATUS_ALERT);
      } else{
 
</s> remove         s->alert_type = data.getAlertType();
 </s> add         s->alert_type = scene.controls_state.getAlertType(); </s> remove       update_status(s, scene.engaged ? STATUS_ENGAGED : STATUS_DISENGAGED);
 </s> add       update_status(s, scene.controls_state.getEnabled() ? STATUS_ENGAGED : STATUS_DISENGAGED); </s> remove     s->model_changed = true;
 </s> add  </s> remove     scene.alert_blinkingrate = data.getAlertBlinkingRate();
    if (scene.alert_blinkingrate > 0.) {
 </s> add     float alert_blinkingrate = scene.controls_state.getAlertBlinkingRate();
    if (alert_blinkingrate > 0.) { </s> remove     auto data = sm["thermal"].getThermal();
    scene.networkType = data.getNetworkType();
    scene.networkStrength = data.getNetworkStrength();
    scene.batteryPercent = data.getBatteryPercent();
    scene.batteryCharging = data.getBatteryStatus() == "Charging";
    scene.freeSpace = data.getFreeSpace();
    scene.thermalStatus = data.getThermalStatus();
    scene.paTemp = data.getPa0();

    s->thermal_started = data.getStarted();
 </s> add     scene.thermal = sm["thermal"].getThermal();
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
          s->alert_type = data.getAlertType();
        }
        s->alert_sound = alert_sound;
      }
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
    scene.alert_text1 = scene.controls_state.getAlertText1();
    scene.alert_text2 = scene.controls_state.getAlertText2();
    scene.alert_size = scene.controls_state.getAlertSize();
    auto alertStatus = scene.controls_state.getAlertStatus();
      if (alertStatus == cereal::ControlsState::AlertStatus::USER_PROMPT) {
        update_status(s, STATUS_WARNING);
      } else if (alertStatus == cereal::ControlsState::AlertStatus::CRITICAL) {
        update_status(s, STATUS_ALERT);
      } else{
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 ui.cc: remove variables from UIScene, use event::Reader to get data  (#1585)

* use struct to store lead status

* remove white space

* use RadarState::LeadData::Reader

* use reader to get thermal data

* use reader

* continue

* remove variables

reset submodules,fix some errors

reset submodules

revert

* remove s->scene.gps_planner_active

* modify

* cleanup

* done

* resolve conflict

* remove irrelevant comment

* remove white space 
selfdrive/ui/ui.cc