Skip to main content

3.0 Work in Progress 11: Bookmarks, Chrome OS, and Permissions

I recently picked up one of the new Google Pixelbooks and I will say it a pretty awesome development device.  It runs Chrome OS, Android, and Linux all at the same time and has pretty good specs (i5 cpu, 8 gb ram, 128 gb ssd) for running Android Studio.  I am able to code and deploy GMMP right on the same device which makes development really convenient when not at home.   Android apps also run in their own window which can be resized which makes UI testing on different size screens super easy.

Ignore the artifacts around the window containing GMMP.  It is a side effect of taking a screenshot i guess (it appears fine on the device)
In order to support the free form resizing of the app window, I updated the target SDK level to 27 (android 8.1).  GMMP 2.x was still on 21 (android 5.0).  The target SDK update should see some performance improvement in newer devices (although i do not know by how much).  I also added support for the android permission system they added back in 5.1.  GMMP should only ask for storage permission and possibly phone state permission (if you want to use the auto resume after a phone call finishes feature).


Anyway, the main focus of WIP 11 is bookmarks.  In the process of refactoring / rewriting the MusicService, I rewrote the Bookmarker and added a UI to show existing bookmarks.  All of the previous work I spent on creating common, reusable UI components is really paying off.  Adding a functional bookmark list UI only took roughly 15 to 30 minutes.  Similarly the Artist and Genre details UIs I showed in WIP 10 took about the same amount of time.  Since its so quick to add these UIs, I can see myself adding a bunch of optional views for some other fields like year or composer (and making 2 separate UIs for artist / album artist if the user wants to have both easily accessible)


The bookmark list will show all the currently bookmarked tracks and let you play them directly from the list (or delete them).  Like every other view i've shown in 3.0 so far, the metadata will be customizable.  For this post I just had the list items show song name and bookmarked time.  For the video below I set it up to just auto bookmark everything, but the previous bookmark settings will still be there in 3.0 (auto bookmark based of song length, m4b extension, or by folder). The video will show the song auto bookmarking when changing tracks, and then resuming at the same position when returning to the song.  It also shows the manual bookmarking and unbookmarking of the currently playing song.


My focus next will be creating a folder UI.  The folder UI is a bit more complex than the other UIs (besides maybe now playing) so I imagine its going to take awhile

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 other st

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.0

Plans for 3.4 changed a bit when google announced they will be hiding apps on newer versions of android if they dont target the newer sdks.  GMMP always tries to target one of the more recent versions of android, but the unlocker has no need for that since its essentially just a license key.  As of May 1st the unlocker will be hidden on newer versions of android to those who have not already purchased.  Because of this, the focus of 3.4 was to get in app purchases working to allow users to buy the full version after May 1st.  There is a new 'Purchase' section in the settings where the unlocker can now be purchased. One other change in 3.4 is the support for the Android 13+ media controls.  They changed around how to customize them, so that is reflected in a new 'Media Controls' section of the settings. The language can also be changed for just GMMP via the system settings The changelog itself is fairly small but I did a large update of all the libraries / dependencies t