  UIState::UIState(QObject *parent) : QObject(parent) {
    sm = std::make_unique<SubMaster, const std::initializer_list<const char *>>({
      "modelV2", "controlsState", "liveCalibration", "radarState", "deviceState", "roadCameraState",
      "pandaStates", "carParams", "driverMonitoringState", "sensorEvents", "carState", "liveLocationKalman",
      "wideRoadCameraState", "managerState",
    });
  
    Params params;
    wide_camera = Hardware::TICI() ? params.getBool("EnableWideCamera") : false;
    prime_type = std::atoi(params.get("PrimeType").c_str());
 
</s> remove     auto route = (*sm)["navRoute"].getNavRoute();
 </s> add     auto route = sm["navRoute"].getNavRoute(); </s> remove   if (sm->updated("navInstruction")) {
    if (sm->valid("navInstruction")) {
      auto i = (*sm)["navInstruction"].getNavInstruction();
 </s> add   if (sm.updated("navInstruction")) {
    if (sm.valid("navInstruction")) {
      auto i = sm["navInstruction"].getNavInstruction(); </s> remove   if (sm->rcv_frame("navRoute") != route_rcv_frame) {
 </s> add   if (sm.rcv_frame("navRoute") != route_rcv_frame) { </s> remove   if (sm->updated("navRoute") && (*sm)["navRoute"].getNavRoute().getCoordinates().size()) {
 </s> add   if (sm.updated("navRoute") && sm["navRoute"].getNavRoute().getCoordinates().size()) {
    "wideRoadCameraState", "managerState", "navInstruction", "navRoute",
  UIState::UIState(QObject *parent) : QObject(parent) {
    sm = std::make_unique<SubMaster, const std::initializer_list<const char *>>({
      "modelV2", "controlsState", "liveCalibration", "radarState", "deviceState", "roadCameraState",
      "pandaStates", "carParams", "driverMonitoringState", "sensorEvents", "carState", "liveLocationKalman",
    "wideRoadCameraState", "managerState", "navInstruction", "navRoute",
    });
  
    Params params;
    wide_camera = Hardware::TICI() ? params.getBool("EnableWideCamera") : false;
    prime_type = std::atoi(params.get("PrimeType").c_str());
keep keep keep keep replace keep keep keep keep keep
 UI: draw map with uiUpdate signal (#24632)

* draw map with same uiUpdate signal as onroad window

* fix

* fix

* fix

* test

* test

* clean up

* clean up

* clean up

* draw instantly when dragging

* self explanatory

* remove line

* fix spacing

* see if we call ui'c sm->update before mapwindow

* Revert "see if we call ui'c sm->update before mapwindow"

This reverts commit e5dcd70013750b871894c276e4d15d55b0c92e97.

* sort includes 
selfdrive/ui/ui.cc