diff --git a/python_payload/st3m/ui/view.py b/python_payload/st3m/ui/view.py index fd2a26e956654c6bf49d97e330c6a043a579bb1c..d27b4b8a65380283094944387c4f44148933bc5d 100644 --- a/python_payload/st3m/ui/view.py +++ b/python_payload/st3m/ui/view.py @@ -27,6 +27,18 @@ class View(Responder): """ pass + def on_enter_done(self) -> None: + """ + Called after a transition into the view has finished. + """ + pass + + def on_exit_done(self) -> None: + """ + Called after a transition out of the view has finished. + """ + pass + def show_icons(self) -> bool: """ View should return True if it accepts having system icons drawn on top @@ -188,7 +200,11 @@ class ViewManager(Responder): self._transition = 0 self._transitioning = False - self._outgoing = None + if self._incoming is not None: + self._incoming.on_enter_done() + if self._outgoing is not None: + self._outgoing.on_exit_done() + self._outgoing = None if self._outgoing is not None: self._outgoing.think(ins, delta_ms)