Skip to main content

3.0 Work in Progress 9: Shuffle and Notifications

The last update I showed off the new queue ui which did involve a complete rewrite of the underlying queue backend code.  Due to that and switching to the new data model (Room-based), I ended up taking the plunge and rewriting the MusicService.  It seemed like a waste to try to hack it up to use all the new stuff I added when I eventually planned on rewriting it anyway.  Due to that I dont have too much to show UI wise, but I did make some queue improvements and redid how shuffle works.

One of the largest complaints I've gotten over the years was the inability to skip back/forward while shuffled and get a consistent track order.  Once you skipped back, the next track would be chosen at random.  My response was always that I understood the frustration but without rewriting shuffle / music service entirely there was not much i could do.  Since I am rewriting the music service and queue, this seemed like the perfect opportunity to fix this issue.

In the video below, it shows off the new shuffle queue.  It essentially works like the "randomize" option in the queue.  Turning it on will put your current playing song at position 1 and shuffle the order of the rest.  Pressing next track will simply just go to the next track in the queue.  This allows you to go back and forth and maintain the same order.  This also greatly simplifies the code on the backend.  Next track doesnt care if its in shuffle or not.. it just goes to the next track listed in the queue.  When shuffle is turned off it will return to the previous order.  Any new tracks added while in shuffle will just be placed at the end when shuffle is turned off.  Note: For this video and testing i added a shuffle button to the min player at the bottom.  This was just so i could keep the queue up and change the mode back and forth.



Notifications were managed by the MusicService, so I gave them a rewrite as well.  Google has added a lot API since I originally created these notifications, so this time around I will just leverage what they provide instead of doing a custom view for it.  These newer notification apis will also allow album art to play on your lockscreen on devices that it didnt work before (most phones would already show the album art on the lockscreen but a select few would not). 

Plans for the notifications will be 5 customizable button slots (most likely just the common actions like next / prev / play/pause / exit / toggle shuffle) and 2 (maybe 3?) metadata lines that are customizable like the other metadata views I've shown in previous updates.  The images below just show off the standard next play/pause and prev buttons.

Lineage OS 7.1.2
Lineage OS 7.1.2
Galaxy S5 running 6.0.1

Popular posts from this blog

3.4.5 Release / Preview of 3.5

3.4.5 was just uploaded to google play and should be rolling out over the next few days. Changelog: 3.4.5 (2023-08-29): Added Dutch translation Fixed crash editing rules in rule groups Disable IAP donation options if Full Version Unlock has not been purchased to prevent confusion Other changes since 3.4.0: Added Finnish translation and updated other translations Added donation options to the purchase settings area Fixed crash when trying to bookmark / unbookmark currently playing song Fixed Finnish not showing up in the language select Fixed other various crashes Fixed issue where rating or editing tags could potentially split the album Fixed some of the lists/grids not refreshing after changes 3.5 Preview I've been working on some new UI options planned for 3.5.  So far I've finished a new gradient background option for now playing.  There are 2 different styles (linear / radial) with 2 different color sources for each.  One source will take from the theme colors, the ot...

3.4.9

More fixes.  Check out discord for info on the 3.5 alpha. 3.4.9 (2024-02-14): Fixed tab navigation returning to the wrong view on screen orientation change Fixed queue not being focused on the playing track sometimes while using tab navigation 3.4.8 (2023-12-21): Fixed backup/restore intent receiver not working with IAP unlock Fixed crash sorting playlist contents

3.4.14

Google really messed with alarms and timers for android 14, so 3.4.14 should fix the sleep timer.  You will notice an alarm will show up in your alarms menu when the sleep timer is turned on.  This is the only way to actually get the sleep timer to reliably stop playback on time when your screen is off / phone locked. 3.4.14 (2024-05-17): Sleep timer should now be more reliable on android 14+ 3.4.13 (2024-04-29) Fixed metadata view incorrect sizing in now playing layout 1 3.4.12 (2024-04-23) Updated translations Fixed issues with left and right metadata alignment when no album art Multi artist/genre/composers should now be separated by a comma and space throughout GMMP 3.4.11 (2024-04-16) Added ability to choose whether to crop album art to 1:1 aspect ratio in now playing layout 2 (customize -> album art -> crop to fit) Fixed now playing tab 1:1 aspect ratio album art getting cropped Album art preview pop up should no longer crop art 3.4.10 (2024-03-31) Fixed auto bookma...