From 522c61b3cced8b7459e3893e5945dd61542b2ecd Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <dos@dosowisko.net>
Date: Sun, 10 Sep 2023 12:04:02 +0200
Subject: [PATCH] py,st3m: View: Add on_{enter,exit}_done methods

---
 python_payload/st3m/ui/view.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/python_payload/st3m/ui/view.py b/python_payload/st3m/ui/view.py
index fd2a26e956..d27b4b8a65 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)
-- 
GitLab