old_contents: #!/usr/bin/env python3
  import time
  import cereal.messaging as messaging
  from selfdrive.manager import start_managed_process, kill_managed_process
  
  services = ['controlsState', 'deviceState', 'radarState']  # the services needed to be spoofed to start ui offroad
  procs = ['camerad', 'ui', 'modeld', 'calibrationd']
  [start_managed_process(p) for p in procs]  # start needed processes
  pm = messaging.PubMaster(services)
  
  dat_cs, dat_deviceState, dat_radar = [messaging.new_message(s) for s in services]
  dat_cs.controlsState.rearViewCam = False  # ui checks for these two messages
  dat_deviceState.deviceState.started = True
  
  try:
    while True:
      pm.send('controlsState', dat_cs)
      pm.send('deviceState', dat_deviceState)
      pm.send('radarState', dat_radar)
      time.sleep(1 / 100)  # continually send, rate doesn't matter for deviceState
  except KeyboardInterrupt:
    [kill_managed_process(p) for p in procs]
  
new_contents: #!/usr/bin/env python3
  import time
  import cereal.messaging as messaging
  from selfdrive.manager import start_managed_process, kill_managed_process
  
  services = ['controlsState', 'deviceState', 'radarState']  # the services needed to be spoofed to start ui offroad
  procs = ['camerad', 'ui', 'modeld', 'calibrationd']
  [start_managed_process(p) for p in procs]  # start needed processes
  pm = messaging.PubMaster(services)
  
  dat_controlsState, dat_deviceState, dat_radar = [messaging.new_message(s) for s in services]
  dat_deviceState.deviceState.started = True
  
  try:
    while True:
      pm.send('controlsState', dat_controlsState)
      pm.send('deviceState', dat_deviceState)
      pm.send('radarState', dat_radar)
      time.sleep(1 / 100)  # continually send, rate doesn't matter for deviceState
  except KeyboardInterrupt:
    [kill_managed_process(p) for p in procs]
  
subject: Fix uiview.py (#20175)