This is part of an effort to resolve deprecation warnings. Most of this is simple refactoring of interfaces that change between the two Player implementations. There are a few other changes that deserve further explanation. Testing indicated that the play/pause button was being reset to pause in MainActivity:refreshCurrentTrack. In the past this was likely masked by the ordering of other callbacks. We have removed the nowPlayingToggle.icon update from MainActivity, leaving that UI update to PlayerService. One of the bigger refactorings in PlayerService was forced by the deprecation of Player.EventListener.onPlayerStateChanged. That forced separation of handling playWhenReady and playbackState transitions. In the SimpleExoPlayer implementations, where these transitions were combined, the module attempted to work out playing state from a combination of these two state variables. In addition to separating the reaction to these state changes, we have added a listener to onIsPlayingChanged, eliminating the need for some of the earlier logic in Player.EventListener.onPlayerStateChanged. This addition, along with the separation of state transition processing, seems to provide a simpler implementation. But it is, certainly, a possible source of bugs. |
||
---|---|---|
.. | ||
src | ||
.gitignore | ||
build.gradle.kts | ||
proguard-rules.pro |