summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2022-12-30 16:27:55 +0100
committerChristian Soffke <christian.soffke@gmail.com>2023-01-06 12:50:18 -0500
commit5750eb3181de4923a8d3141066f4631df3b7d70c (patch)
tree16ad2dfb1cc9302a7fd39475d228e7aa10ee9a0e
parent8366b8511d485727d2ee0882ebc27115bee2e608 (diff)
downloadrockbox-5750eb3181.tar.gz
rockbox-5750eb3181.zip
browse_id3: Only push activity when called from WPS
The Properties plugin and playlist viewer have each started using the existing Track Info screen. In both cases, it may not be necessary to push a new activity. Which eliminates the need to perform an additional skin refresh. I've also noticed at least one theme in the wild that assumes ACTIVITY_ID3SCREEN will only ever display info for the currently playing track (as it did previously) and adjusts the skin specifically for that purpose. Change-Id: Ic436d0d4e075a865225839a524387ff2b9058428
-rw-r--r--apps/screens.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/screens.c b/apps/screens.c
index db24e534c1..4fd6c2c2e2 100644
--- a/apps/screens.c
+++ b/apps/screens.c
@@ -699,7 +699,10 @@ bool browse_id3(struct mp3entry *id3, int playlist_display_index, int playlist_a
info.playlist_display_index = playlist_display_index;
info.playlist_amount = playlist_amount;
bool ret = false;
- push_current_activity(ACTIVITY_ID3SCREEN);
+ int curr_activity = get_current_activity();
+ if (curr_activity != ACTIVITY_PLUGIN &&
+ curr_activity != ACTIVITY_PLAYLISTVIEWER)
+ push_current_activity(ACTIVITY_ID3SCREEN);
for (i = 0; i < ARRAYLEN(id3_headers); i++)
{
char temp[8];
@@ -732,8 +735,9 @@ bool browse_id3(struct mp3entry *id3, int playlist_display_index, int playlist_a
}
}
}
-
- pop_current_activity();
+ if (curr_activity != ACTIVITY_PLUGIN &&
+ curr_activity != ACTIVITY_PLAYLISTVIEWER)
+ pop_current_activity();
return ret;
}