diff --git a/src/app/ScreenManager.cpp b/src/app/ScreenManager.cpp index 086d4ee..c4b4491 100644 --- a/src/app/ScreenManager.cpp +++ b/src/app/ScreenManager.cpp @@ -213,7 +213,22 @@ boolean ScreenManager::displayView(const int UID) boolean ScreenManager::displayNextView() { - return true; + if(_currentView->UID < 0) return false; + + if(_currentView == NO_CURRENT_VIEW && !isListEmpty(_viewLinkedList)) + { + _currentView = _viewLinkedList; + return displayView(); + } + + if(!isListEmpty(_currentView->next)) + { + _currentView = _currentView->next; + return displayView(); + } + + _currentView = _viewLinkedList; + return displayView(); } void ScreenManager::invertDisplayColor(const boolean inverted)