Merge branch 'master' into dev

This commit is contained in:
Alexander Capehart 2024-10-14 20:19:23 -06:00
commit 3ff681b870
No known key found for this signature in database
GPG key ID: 37DBE3621FE9AD47
8 changed files with 30 additions and 12 deletions

View file

@ -16,6 +16,16 @@
- Excessive CPU no longer spent showing music loading process
- Fixed playback sheet flickering on warm start
## 3.6.1
#### What's Fixed
- Fixed possible crash from poor service initalization
- Fixed issue where it was impossible to edit playlists
- Fixed issue where playlist would revert to older version when re-edited
#### Dev/Meta
- Fixed service memory leaks
## 3.6.0
#### What's New

View file

@ -2,8 +2,8 @@
<h1 align="center"><b>Auxio</b></h1>
<h4 align="center">A simple, rational music player for android.</h4>
<p align="center">
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.6.0">
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.6.0&color=64B5F6&style=flat">
<a href="https://github.com/oxygencobalt/Auxio/releases/tag/v3.6.1">
<img alt="Latest Version" src="https://img.shields.io/static/v1?label=tag&message=v3.6.1&color=64B5F6&style=flat">
</a>
<a href="https://github.com/oxygencobalt/Auxio/releases/">
<img alt="Releases" src="https://img.shields.io/github/downloads/OxygenCobalt/Auxio/total.svg?color=4B95DE&style=flat">

View file

@ -21,8 +21,8 @@ android {
defaultConfig {
applicationId namespace
versionName "3.6.0"
versionCode 50
versionName "3.6.1"
versionCode 51
minSdk 24
targetSdk 35

View file

@ -51,8 +51,8 @@ class AuxioService :
override fun onCreate() {
super.onCreate()
playbackFragment = playbackFragmentFactory.create(this, this)
sessionToken = playbackFragment.attach()
musicFragment = musicFragmentFactory.create(this, this, this)
sessionToken = playbackFragment.attach()
musicFragment.attach()
}

View file

@ -35,6 +35,7 @@ import org.oxycblt.auxio.detail.list.EditHeader
import org.oxycblt.auxio.detail.list.SortHeader
import org.oxycblt.auxio.list.BasicHeader
import org.oxycblt.auxio.list.Divider
import org.oxycblt.auxio.list.Header
import org.oxycblt.auxio.list.Item
import org.oxycblt.auxio.list.ListSettings
import org.oxycblt.auxio.list.adapter.UpdateInstructions
@ -431,6 +432,7 @@ constructor(
// TODO: The user could probably press some kind of button if they were fast enough.
// Think of a better way to handle this state.
_editedPlaylist.value = null
refreshPlaylist(playlist.uid)
}
}
@ -523,12 +525,13 @@ constructor(
}
}
private fun <T : MusicParent> refreshDetail(
private inline fun <T : MusicParent> refreshDetail(
detail: Detail<T>?,
parent: MutableStateFlow<T?>,
list: MutableStateFlow<List<Item>>,
instructions: MutableEvent<UpdateInstructions>,
replace: Int?
replace: Int?,
songHeader: (Int) -> Header = { SortHeader(it) }
) {
if (detail == null) {
parent.value = null
@ -541,7 +544,7 @@ constructor(
when (section) {
is DetailSection.PlainSection<*> -> {
val header =
if (section is DetailSection.Songs) SortHeader(section.stringRes)
if (section is DetailSection.Songs) songHeader(section.stringRes)
else BasicHeader(section.stringRes)
if (newList.isNotEmpty()) {
newList.add(Divider(header))
@ -589,7 +592,9 @@ constructor(
if (edited == null) {
val playlist = detailGenerator.playlist(uid)
refreshDetail(
playlist, _currentPlaylist, _playlistSongList, _playlistSongInstructions, null)
playlist, _currentPlaylist, _playlistSongList, _playlistSongInstructions, null) {
EditHeader(it)
}
return
}
val list = mutableListOf<Item>()

View file

@ -113,9 +113,9 @@ private constructor(
*/
fun release() {
bitmapProvider.release()
playbackManager.removeListener(this)
playbackSettings.unregisterListener(this)
imageSettings.unregisterListener(this)
playbackManager.removeListener(this)
mediaSession.apply {
isActive = false
release()

View file

@ -107,11 +107,11 @@ private constructor(
fun release() {
waitJob.cancel()
playbackManager.removeListener(this)
systemReceiver.release()
widgetComponent.release()
context.unregisterReceiver(systemReceiver)
sessionHolder.release()
exoHolder.release()
playbackManager.removeListener(this)
}
override fun onSessionEnded() {

View file

@ -0,0 +1,3 @@
Auxio 3.6.0 improves support for android auto and fixes several small regressions.
This release fixes critical issues identified in the previous version.
For more information, see https://github.com/OxygenCobalt/Auxio/releases/tag/v3.6.0.