Skip to content

Commit ebc11fd

Browse files
make "update available" alert clickable (#36670)
* click to update * that's it * lil more
1 parent a981f78 commit ebc11fd

File tree

3 files changed

+23
-26
lines changed

3 files changed

+23
-26
lines changed

selfdrive/ui/mici/layouts/home.py

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -185,27 +185,22 @@ def _render(self, _):
185185

186186
if self._version_text is not None:
187187
# release branch
188-
if self._version_text[1] in RELEASE_BRANCHES:
189-
version_pos = rl.Vector2(text_pos.x, text_pos.y + self._openpilot_label.font_size + 16)
190-
self._large_version_label.set_text("release")
191-
self._large_version_label.set_position(version_pos.x, version_pos.y)
192-
self._large_version_label.render()
193-
194-
else:
195-
version_pos = rl.Rectangle(text_pos.x, text_pos.y + self._openpilot_label.font_size + 16, 100, 44)
196-
self._version_label.set_text(self._version_text[0])
197-
self._version_label.set_position(version_pos.x, version_pos.y)
198-
self._version_label.render()
199-
200-
self._date_label.set_text(" " + self._version_text[3])
201-
self._date_label.set_position(version_pos.x + self._version_label.rect.width + 10, version_pos.y)
202-
self._date_label.render()
203-
204-
self._branch_label.set_width(gui_app.width - self._version_label.rect.width - self._date_label.rect.width - 32)
205-
self._branch_label.set_text(" " + self._version_text[1])
206-
self._branch_label.set_position(version_pos.x + self._version_label.rect.width + self._date_label.rect.width + 20, version_pos.y)
207-
self._branch_label.render()
208-
188+
release_branch = self._version_text[1] in RELEASE_BRANCHES
189+
version_pos = rl.Rectangle(text_pos.x, text_pos.y + self._openpilot_label.font_size + 16, 100, 44)
190+
self._version_label.set_text(self._version_text[0])
191+
self._version_label.set_position(version_pos.x, version_pos.y)
192+
self._version_label.render()
193+
194+
self._date_label.set_text(" " + self._version_text[3])
195+
self._date_label.set_position(version_pos.x + self._version_label.rect.width + 10, version_pos.y)
196+
self._date_label.render()
197+
198+
self._branch_label.set_width(gui_app.width - self._version_label.rect.width - self._date_label.rect.width - 32)
199+
self._branch_label.set_text(" " + ("release" if release_branch else self._version_text[1]))
200+
self._branch_label.set_position(version_pos.x + self._version_label.rect.width + self._date_label.rect.width + 20, version_pos.y)
201+
self._branch_label.render()
202+
203+
if not release_branch:
209204
# 2nd line
210205
self._version_commit_label.set_text(self._version_text[2])
211206
self._version_commit_label.set_position(version_pos.x, version_pos.y + self._date_label.font_size + 7)

selfdrive/ui/mici/layouts/offroad_alerts.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from enum import IntEnum
66
from openpilot.common.params import Params
77
from openpilot.selfdrive.selfdrived.alertmanager import OFFROAD_ALERTS
8+
from openpilot.system.hardware import HARDWARE
89
from openpilot.system.ui.widgets import Widget
910
from openpilot.system.ui.widgets.label import UnifiedLabel
1011
from openpilot.system.ui.widgets.scroller import Scroller
@@ -220,6 +221,7 @@ def _build_alerts(self):
220221
update_alert_data = AlertData(key="UpdateAvailable", text="", severity=-1)
221222
self.sorted_alerts.append(update_alert_data)
222223
update_alert_item = AlertItem(update_alert_data)
224+
update_alert_item.set_click_callback(lambda: HARDWARE.reboot())
223225
self.alert_items.append(update_alert_item)
224226
self._scroller.add_widget(update_alert_item)
225227

@@ -244,18 +246,18 @@ def refresh(self) -> int:
244246

245247
if update_alert_data:
246248
if update_available:
247-
# Default text
248-
update_alert_data.text = "update available. go to comma.ai/blog to read the release notes."
249+
version_string = ""
249250

250251
# Get new version description and parse version and date
251252
new_desc = self.params.get("UpdaterNewDescription") or ""
252253
if new_desc:
253-
# Parse description (format: "version / branch / commit / date")
254+
# format: "version / branch / commit / date"
254255
parts = new_desc.split(" / ")
255256
if len(parts) > 3:
256257
version, date = parts[0], parts[3]
257-
update_alert_data.text = f"update available\n openpilot {version}, {date}. go to comma.ai/blog to read the release notes."
258+
version_string = f"\nopenpilot {version}, {date}\n"
258259

260+
update_alert_data.text = f"Update available {version_string}. Click to update. Read the release notes at blog.comma.ai."
259261
update_alert_data.visible = True
260262
active_count += 1
261263
else:

system/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from openpilot.common.swaglog import cloudlog
1111
from openpilot.common.git import get_commit, get_origin, get_branch, get_short_branch, get_commit_date
1212

13-
RELEASE_BRANCHES = ['release-tizi-staging', 'release-tici', 'release-tizi', 'nightly']
13+
RELEASE_BRANCHES = ['release-tizi-staging', 'release-mici-staging', 'release-tizi', 'release-mici', 'nightly']
1414
TESTED_BRANCHES = RELEASE_BRANCHES + ['devel-staging', 'nightly-dev']
1515

1616
BUILD_METADATA_FILENAME = "build.json"

0 commit comments

Comments
 (0)