c1eb9d6b2a
With landscape view enabled (e.g. e06b2c7) in the app and auto rotation enabled on the phone, switching between portrait and landscape orientations leaks instances of MainActivity. This prevents garbage collection of not just the MainActivity object, but fragments and other objects referenced by the Activity. This is caused by repositories, the AppContext instance, the player service, and authentication code maintaining a reference to the context which with they are initialized. So rather than initialize these with an Activity context, pass them the Application context. Activities are torn down and rebuilt on screen rotation. The Application context is not. To enable instantiation of the FavoritedRepository with the Application context, delay that repository’s initialization until first use. This ensures the Application context is fully initialized. It is not fully initialized until the MainActivity has been fully initialized. |
||
---|---|---|
.gitlab/issue_templates | ||
app | ||
changes | ||
dist | ||
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
We have an official version available on F-Droid and the Google Play-Store, but you can also install a preview version of Funkwhale for Android™ through our 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.