Skip to content

Add Android Widget - #1632

Open
call-me-maple wants to merge 322 commits into
finamp-app:redesignfrom
call-me-maple:redesign
Open

Add Android Widget#1632
call-me-maple wants to merge 322 commits into
finamp-app:redesignfrom
call-me-maple:redesign

Conversation

@call-me-maple

@call-me-maple call-me-maple commented May 31, 2026

Copy link
Copy Markdown

Changes

Adds 2 android widgets using the home_widget plugin.

I added some strings defined as xml resources for the widget descriptions, titles, and accessibility descriptions.

Todo before merging

The data save function is triggered multiple times by the stream listener unnecessarily and I'm not sure how to fix it. It works as it is but I think it might contribute to extra battery usage.

The widget preview is just static images but they could be dynamic with user data like this.

circular_widget_preview Screenshot_20260602-112206

Closes #156

Komodo5197 and others added 30 commits March 24, 2026 12:34
- quick actions already implemented, section presets not yet
- add adaptive grid for quick actions area
…row screens. Fix current track highlight drawing on headers.
…ders not sticky. Remove logo from single-tab music view. Allow long tap on section header to directly edit. Basic version of generic home screen collections.
…Attempt to increase unified usage of SortAndFilterConfigurations for filtering. Use sort and filter row for showing active genre filters in all scenarios. Save item name into collection sections. Add implementation of play specific item quick action. Allow editing quick actions with long click.
…lection section types loading offline. Add library selector to tab home sections.
…play of performing/album artist tabs if configured.
…with attribute subclassing vs just BaseItemDtos.
…l jellyfin collections. Use item-specific menu in music screen see-all instead of global menu. Fix home sections not resolving sort order.
…res in home screen sections - currently stored by overloading contentType.
Carlos Palacios and others added 5 commits July 2, 2026 06:03
Currently translated at 74.0% (662 of 894 strings)

Translation: Finamp/Finamp
Translate-URL: https://hosted.weblate.org/projects/finamp/finamp/es/
Currently translated at 88.0% (787 of 894 strings)

Translation: Finamp/Finamp
Translate-URL: https://hosted.weblate.org/projects/finamp/finamp/ca/
@Chaphasilor

Copy link
Copy Markdown
Member

@call-me-maple hey, so firstly thanks for implementing this, seems like you really know your stuff and generally made sensible choices here!
The only thing I'm wondering about is if we could re-use the existing playback state that is sent to Android, to power the widget, as opposed to manually syncing the state via an additional service? I think this would be sufficient for the current widget selection you added (other widgets might be a different story, although the media browser could potentially used for those.

And also, do you have time to fix the merge conflicts? I think we could include this in the next release, if all goes well.

@call-me-maple

Copy link
Copy Markdown
Author

I think I fixed the conflicts. Would changing how the data is saved complicate adding iOS support later on?

@Chaphasilor

Copy link
Copy Markdown
Member

Umm, something doesn't seem right with your latest changes 😅

Regarding iOS support, I don't know what the requirements for that will be. Worst case we'll have to add a dedicated message channel for the widgets then, but at this point we'll have a clearer picture of what data and functionality is actually needed. So I wouldn't worry about it too much for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.