d734953b54
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. |
||
---|---|---|
.gitlab/issue_templates | ||
app | ||
buildSrc/build | ||
changes | ||
dist | ||
docker | ||
fastlane/metadata/android/en-US | ||
gradle/wrapper | ||
metadata | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
.sdkmanrc | ||
.tool-versions | ||
CHANGELOG | ||
LICENSE | ||
README.md | ||
build.gradle.kts | ||
fdroidversion.txt | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
renovate.json | ||
settings.gradle.kts | ||
towncrier.toml |
README.md
Funkwhale for Android™
This is the official Android music player for Funkwhale, native to both Android (developed in Kotlin) and to Funkwhale (uses its native API instead of Subsonic). It is based on the amazing Otter made by apognu and would not be possible without his groundwork!
You can get help and discuss Funkwhale on Matrix on #funkwhale-android:matrix.org.
Installation
Currently you can install a preview version of Funkwhale for Android™ through a selfhosted F-Droid repository. You'll have to add this repository to your F-Droid client, please visit the link above for further instructions. Once you added the repository, you can use F-Droid as usual and search for "Funkwhale".
State
Funkwhale for Android™ is work in Progress. Please bear with us, there will be bugs, there will be crashes and there will be performance and UX issues.
Here is the list of Funkwhale for Android™'s features:
- Basic collection browsing (artists, albums and tracks)
- Playlists listing
- Favorites management (listing and add/remove)
- Track search
- Queue management
- Caching of played tracks (played tracks work offline)
- Download tracks for offline playback
- Radios playback
- Dark mode! 🎉
Funkwhale for Android™ will try to behave as you would expect a mobile music player to. That means it integrates with the OS's media controls (including headset controls) or pause on incoming calls. If there is anything you would like it to do, please open an issue.
Screenshots
Translation
Funkwhale for Android™ is being translated by the community through Weblate. If you would like to contribute to its localization or add a new language, you can help out there.