Auxio/app/src/main/java/org/oxycblt/auxio/widgets
Alexander Capehart e5d7cdc340
playback: migrate to reactive model
Migrate the playback system to a reactive model where internalPlayer
is now the complete source of truth for the playback state.

This removes the observer pattern for positions and instead introduces
a new State datatype that allows consumers to reactively calculate
where the position probably is.

This is actually really great for efficiency and state coherency, and
is really what I was trying to aim for with previous (failed) reworks
to the playback system. There's probably some bugs, but way less than
the ground-up rewrites I tried before.

This also lays the groundwork for gapless playback, as the internal
player framework is now completely capable of having more functionality
borged into it.
2022-09-06 11:45:23 -06:00
..
Forms.kt ui: animate play/pause button shape 2022-08-27 15:21:08 -06:00
WidgetComponent.kt playback: migrate to reactive model 2022-09-06 11:45:23 -06:00
WidgetProvider.kt widget: update preview 2022-08-28 11:59:22 -06:00