[Android Apps and Games] bubbleguuum:
EDIT July 25th: UPDATED to 4.0p2, fixing a crash on app startup on some installs.

The first beta of BubbleUPnP 4 is finally available (4.0p2) !

Download APK

It will be shortly available on Google Play to beta subscribers.

It is a large overhaul of the UI to Material Design 3.

Theming is entirely new and I went a bit overboard with customization, that can be found in More > Settings > Look and feel, and that I encourage to play with it. It leverages the functionality of the color library part of the material-components-android library in ways probably no other app is doing and sort of a showcase of that color library.

Here's the non-exhaustive changelog:

User Interface

- new Material Design 3 (MD3) based theming

- extensive new theming options in 'More > Settings > Look and Feel': Material You, preset color themes, generated custom color themes, monochrome, white or black themes, color schemes affecting generated theme colors and more

- Now Playing and Library album screens generate their own MD3 theme based on cover. Can be disabled in More > Settings > Look and Feel > Dynamic theme based on cover

- edge to edge design, rounded corners

- immersive grid mode (the top is edge to edge only if no banner ads are shown, which means using the licensed version)

- improved landscape mode, especially on phones. Uses lateral navigation rail instead of bottom tabs.

- modernized settings screens

- reworked 'Now Playing' tab

- reworked 'More' panel

- reworked Library album folders

- reworked section separators in search results

- many other UI tweaks that fit with the MD3 redesign

Other changes

- Android API 24 (Nougat) is the new minimum supported Android version

- added heart icon in Qobuz/TIDAL album folders in Library tab, for adding/removing to favorites

- fixed Android 13+ specific issue with the license app installed where media store local files fail to play due to a very obscure Android permission bug (despite the permission being granted). When this situation is detected, show to user a dialog instructing to reinstall BubbleUPnP, which is the permanent fix

- fixed on ChromeOS playing videos locally sometimes always being opened in Chrome

- fixed regression where hitting next/prev button while track is playing to OpenHome renderer with 'Shuffle' enabled not playing shuffle track but instead next track in Playlist

- increased max subtitle file size to 1MB

- fixed failure to connect to SMB server if a non standard port is part of the hostname

- fixed failure to download tracks from Kazoo Server

- fixed a few other super obscure issues

- updated many libraries used to build the app

/////

Some details on theming settings:

Theme

- Material You: Android 12+ only. use system wide Material theme. Does not take into account 'Color scheme' and 'Color contrast' preference

- Custom color: Android 11+ only. Allows to pick a custom color and generate a theme based on it taking into account 'Color scheme' and 'Color contrast' preferences. 'Select custom theme color' preference allows to change the color afterwards.

Not all colors give good results. 'Light theme mode' and 'Dark theme mode' can be useful to set background color to white or black if the generated background color is not ideal.

- Monochrome: a monochrome theme. Does not produce monochrome colors for 'Dynamic theme based on cover' setting

- App default: Android 12+ only. Default app theme. Currently: "Blue". 'Color scheme' and 'Color contrast' preferences are taken into account

- named theme with titles (usually colors): use a theme with the specified color seed, taking into account 'Color scheme' pref. On Android 11+ 'Color contrast' pref is taken into account as well, as the theme is generated dynamically.

The list of these named theme is not definitive as for now there is only "Blue" and "Bright blue".

Light theme mode

Tweak for light theme when active.

"Dark bars" notably produces a dark themed Now Playing tab and Library album folder headers.

"White backgrounds" can be useful if a color generated theme results in an unpleasant (too much tinted) window background color, or to make a fully white theme (particularly useful for e-ink displays).

Dark theme mode

Tweak for dark theme when active.

Has 'Black background' options for being able to make a black theme.

Color Scheme

For custom color theme and named themes, affects the set of generated colors from the base seed color of the theme. How a scheme affects generated colors is documented in each Scheme<Name>.java file there.

Some schemes such as 'Expressive' and 'Fruit Salad' do not include the seed color. When changing the color scheme, it might also a good idea to experiment with the 'Icons color' preference to check which of neutral, primary, secondary or tertiary theme color works best. The color scheme also affects colors generated for 'Dynamic theme based on cover' setting.

Color Contrast

Alter contrast of generated colors, from -10 to +10. 0 is default neutral contrast.

Icons color

Whether to use neutral, primary, secondary or tertiary app color theme for some icons. Some colors might be better than others depending on 'Color Scheme' setting.

Dynamic theme based on cover

Whether to generate a custom theme in Now Playing and/or Library album folders base on a seed color extracted from the cover. For consistency, uses the color scheme and contrast of the current theme (if applicable) or the 'Content' scheme and default contrast (0) for non dynamically generated app themes