diff --git a/CHANGELOG.md b/CHANGELOG.md index 074f01388..c6724b966 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,6 @@ ## 3.0.0 #### What's New -- Auxio now has a more unique and modern icon design - Added multi-value tags support - Added support for multiple artists - Added support for multiple genres @@ -13,6 +12,8 @@ - Use the more unique MD5 hash of metadata when MBIDs can't be used - Added toggle to load non-music (Such as podcasts) - Music loader now caches parsed metadata for faster load times +- Redesigned icon + - Added animated splash screen on Android 12+ #### What's Improved - Sorting now takes accented characters into account @@ -20,6 +21,7 @@ - Album dates now start from the earliest date instead of latest date - Reshuffling the queue will no longer drop any songs you have added/removed - Allowed light/dark theme to be customized on Android 12+ +- All information now scrolls in the playback view #### What's Fixed - Fixed issue where the scroll popup would not display correctly in landscape mode [#230] diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 3d2bf0009..73e1b85ef 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -20,8 +20,5 @@ # hide the original source file name. #-renamesourcefileattribute SourceFile --keep class org.oxycblt.auxio.AuxioApp --keep class org.oxycblt.auxio.settings.prefs.SettingsListFragment - # Free software does not obsfucate. Also it's easier to debug stack traces. -dontobfuscate \ No newline at end of file diff --git a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt index a47778814..e4de4a462 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/DetailViewModel.kt @@ -335,7 +335,7 @@ class DetailViewModel(application: Application) : EPS(R.string.lbl_eps), SINGLES(R.string.lbl_singles), COMPILATIONS(R.string.lbl_compilations), - SOUNDTRACKS(R.string.lbl_compilations), + SOUNDTRACKS(R.string.lbl_soundtracks), MIXES(R.string.lbl_mixes), MIXTAPES(R.string.lbl_mixtapes), LIVE(R.string.lbl_live_group), diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt index a226cbf9c..40d4a4de6 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/MusicViewModel.kt @@ -21,6 +21,7 @@ import androidx.lifecycle.ViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import org.oxycblt.auxio.music.system.Indexer +import org.oxycblt.auxio.util.logD /** * A ViewModel representing the current indexing state. @@ -48,6 +49,7 @@ class MusicViewModel : ViewModel(), Indexer.Callback { } override fun onIndexerStateChanged(state: Indexer.State?) { + logD("New state: $state") _indexerState.value = state if (state is Indexer.State.Complete && state.response is Indexer.Response.Ok) { _libraryExists.value = true diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt index 6cc121b9f..b5ce1dc3f 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackPanelFragment.kt @@ -80,18 +80,25 @@ class PlaybackPanelFragment : setOnMenuItemClickListener(this@PlaybackPanelFragment) } + // Make sure we enable marquee on the song info + binding.playbackSong.apply { - // Make marquee of the song title work isSelected = true setOnClickListener { playbackModel.song.value?.let(navModel::exploreNavigateTo) } } - binding.playbackArtist.setOnClickListener { - playbackModel.song.value?.let { showCurrentArtist() } + binding.playbackArtist.apply { + isSelected = true + setOnClickListener { + playbackModel.song.value?.let { showCurrentArtist() } + } } - binding.playbackAlbum.setOnClickListener { - playbackModel.song.value?.let { showCurrentAlbum() } + binding.playbackAlbum.apply { + isSelected = true + setOnClickListener { + playbackModel.song.value?.let { showCurrentAlbum() } + } } binding.playbackSeekBar.callback = this @@ -114,7 +121,12 @@ class PlaybackPanelFragment : override fun onDestroyBinding(binding: FragmentPlaybackPanelBinding) { binding.playbackToolbar.setOnMenuItemClickListener(null) + + // Leaving marquee on will cause a leak binding.playbackSong.isSelected = false + binding.playbackArtist.isSelected = false + binding.playbackAlbum.isSelected = false + binding.playbackSeekBar.callback = null } diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml index 972927637..bfce2e528 100644 --- a/app/src/main/res/drawable/ic_launcher_foreground.xml +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -12,7 +12,7 @@ @style/TextAppearance.Auxio.TitleLarge - + + + +