The inhibit dbus call to gnome sessionmanager expects flags as input.
Currently the flags are set to 4, which will "Inhibit the session being
marked as idle". This is insufficient to prevent the device from
suspending while playing.
We should also add 8 = "Inhibit suspending the session or computer".
Hence, the updated flags to 12.
This change was tested on phosh/phoc and it properly prevents the
system from suspending. The flags = 12 settings is also what gnome
music players like Lollypop are using (as checked through the gnome
sessionmanager dbus interface).
This enables the download method in Fetcher to resume in case a partial
download is already saved to disk.
For full implementation of download resumes, more changes are required,
because the current application will automatically clean up files that
don't match the expected size at startup.
When using a dark theme, the RSS icon will appear in (nearly) white on a
white background. Let's fix the icon colour to black to always get the
same fallback image.
The binding loop occured whenever the vertical scrollbar appears or
disappears. The GUI then gets stuck between solutions: one with a
certain amount of columns and another with one column less or more. It
then keeps alternating between these two until the app freezes the
machine and eventually crashes.
The fix is to calculate the number of columns based on the total width
of the Page itself, rather than the width of the content. By
subtracting enough space for the scrollbar, the cards on the page will
now rescale smoothly and properly.
The refresh buttons currently show up as main action buttons at the
bottom on desktop since they are placed inside SwipeViews/tabs. Move
these actions to the hierarchical parent ScrollablePages so they end up
in the header bar.