Improve transition between plugin and WPS

Eliminate flashing when plugins are launched
from WPS, by not enabling the SBS, and by
deferring other lcd updates.

Also prevents flashing root menu activity when
returning from plugins.

Change-Id: I7d761867027f2275c4ab8e16ada3107c7ba0be6e
This commit is contained in:
Christian Soffke 2022-12-12 03:49:06 +01:00
parent 0e2e9df991
commit 8ff2c81bde
6 changed files with 109 additions and 40 deletions

View file

@ -708,8 +708,11 @@ static inline int load_screen(int screen)
if (activity != ACTIVITY_UNKNOWN)
{
if (ret_val == GO_TO_WPS
|| ret_val == GO_TO_PREVIOUS_MUSIC)
if (ret_val == GO_TO_PLUGIN
|| ret_val == GO_TO_WPS
|| ret_val == GO_TO_PREVIOUS_MUSIC
|| ret_val == GO_TO_PREVIOUS_BROWSER
|| ret_val == GO_TO_FILEBROWSER)
{
pop_current_activity(ACTIVITY_REFRESH_DEFERRED);
}
@ -986,7 +989,10 @@ void root_menu(void)
}
}
next_screen = load_plugin_screen(key);
push_activity_without_refresh(ACTIVITY_UNKNOWN); /* prevent plugin_load */
next_screen = load_plugin_screen(key); /* from flashing root */
pop_current_activity(ACTIVITY_REFRESH_DEFERRED); /* menu activity */
if (next_screen == GO_TO_PREVIOUS)
{