mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-03 11:09:55 +08:00
UI Snapshot Reuse
This commit is contained in:
@@ -1002,7 +1002,9 @@ class StarShellSession:
|
||||
compact_scroll_x=self.compact_scroll_x, sidebar_expanded=self.sidebar_expanded,
|
||||
menu_only=self.profile == Profile.COMPACT and mode == ShellMode.SETTINGS)
|
||||
if mode == ShellMode.ONROAD and self.profile == Profile.LARGE:
|
||||
snapshot = replace(snapshot, onroad=replace(snapshot.onroad, viewport_width=getattr(self, '_onroad_width', 1860.0)))
|
||||
width = getattr(self, '_onroad_width', 1860.0)
|
||||
if snapshot.onroad.viewport_width != width:
|
||||
snapshot = replace(snapshot, onroad=replace(snapshot.onroad, viewport_width=width))
|
||||
if mode == ShellMode.HOME:
|
||||
now = time.monotonic()
|
||||
previous = getattr(self, "_home_model", None)
|
||||
|
||||
@@ -65,6 +65,8 @@ class DeveloperPreviewTests(unittest.TestCase):
|
||||
session._visual_preview_start_ns = 1_000_000_000
|
||||
with patch.object(runtime_app.time, "monotonic_ns", return_value=4_000_000_000):
|
||||
self.assertIs(session.snapshot(ShellMode.ONROAD), baseline)
|
||||
self.assertIs(session.snapshot(ShellMode.ONROAD), baseline)
|
||||
adapter.build.assert_called_once()
|
||||
session._visual_preview_flags = frozenset(("cem", "csc"))
|
||||
session._snapshot_cache = None
|
||||
observed = session.snapshot(ShellMode.ONROAD)
|
||||
@@ -72,6 +74,13 @@ class DeveloperPreviewTests(unittest.TestCase):
|
||||
self.assertEqual(observed.onroad.visual_preview.curve_curvature, .008)
|
||||
self.assertEqual(replace(observed, onroad=baseline.onroad), baseline)
|
||||
self.assertIsNone(baseline.onroad.visual_preview)
|
||||
self.assertIs(session.snapshot(ShellMode.ONROAD), observed)
|
||||
session._onroad_width = 1560.0
|
||||
session._snapshot_cache = None
|
||||
resized = session.snapshot(ShellMode.ONROAD)
|
||||
self.assertEqual(resized.onroad.viewport_width, 1560.0)
|
||||
self.assertEqual(replace(resized.onroad, viewport_width=baseline.onroad.viewport_width), observed.onroad)
|
||||
self.assertEqual(baseline.onroad.viewport_width, 1860.0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -114,7 +114,7 @@ class TestOnroadAxes(unittest.TestCase):
|
||||
for profile in (Profile.LARGE, Profile.COMPACT):
|
||||
with self.subTest(profile=profile, lateral=lateral, longitudinal=longitudinal):
|
||||
view = onroad.OnroadView.__new__(onroad.OnroadView)
|
||||
object.__setattr__(view, "fonts", NS(profile=profile))
|
||||
object.__setattr__(view, "fonts", NS(profile=profile, draw=Mock(), measure=Mock(return_value=NS(width=100, height=30))))
|
||||
view.camera_layer = Mock()
|
||||
view.extra_overlays = None
|
||||
view.alert = Mock()
|
||||
|
||||
Reference in New Issue
Block a user