From b3b7ed524c4a8bb65d7c3795655763aefb76ba4f Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Mon, 2 Jan 2023 18:36:49 -0700 Subject: [PATCH] release: bump to 3.0.1 Bump the version to 3.0.1 (25). --- CHANGELOG.md | 5 ++- README.md | 8 ++-- app/build.gradle | 4 +- .../org/oxycblt/auxio/home/HomeFragment.kt | 27 +++++-------- .../home/fastscroll/FastScrollRecyclerView.kt | 40 +++++++++---------- app/src/main/res/layout/item_music_dir.xml | 1 + .../metadata/android/en-US/changelogs/25.txt | 3 ++ .../android/en-US/full_description.txt | 2 +- 8 files changed, 45 insertions(+), 45 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/25.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index dc0f8d378..0cc15b708 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## dev +## 3.0.1 #### What's New - Added support for album date ranges (ex. 2010 - 2013) @@ -12,10 +12,11 @@ - Added reset button to ReplayGain pre-amp configuration dialog #### What's Changed -- R128 Gain tags are now only used when playing OPUS files +- R128 ReplayGain tags are now only used when playing OPUS files #### What's Fixed - Fixed mangled multi-value ID3v2 tags when UTF-16 is used +- Fixed crash when playing certain MP3 files ## 3.0.0 diff --git a/README.md b/README.md index d1b95cc36..6ade65990 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@

Auxio

A simple, rational music player for android.

- - Latest Version + + Latest Version Releases @@ -79,7 +79,9 @@ Auxio relies on a custom version of ExoPlayer that enables some extra features. Auxio accepts most contributions as long as they follow the [Contribution Guidelines](/.github/CONTRIBUTING.md). -However, feature additions and major UI changes are less likely to be accepted. See [Accepted Additions](/info/ADDITIONS.md) for more information. +However, feature additions and major UI changes are less likely to be accepted. See +[Why Are These Features Missing?](https://github.com/OxygenCobalt/Auxio/wiki/Why-Are-These-Features-Missing%3F) +for more information. ## License diff --git a/app/build.gradle b/app/build.gradle index ddeeaeb23..b0662424f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { defaultConfig { applicationId namespace - versionName "3.0.0" - versionCode 24 + versionName "3.0.1" + versionCode 25 minSdk 21 targetSdk 33 diff --git a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt index 36c138200..efa3d86f6 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/HomeFragment.kt @@ -295,7 +295,13 @@ class HomeFragment : // Update the scrolling view in AppBarLayout to align with the current tab's // scrolling state. This prevents the lift state from being confused as one // goes between different tabs. - requireBinding().homeAppbar.liftOnScrollTargetViewId = getTabRecyclerId(tabMode) + requireBinding().homeAppbar.liftOnScrollTargetViewId = + when (tabMode) { + MusicMode.SONGS -> R.id.home_song_recycler + MusicMode.ALBUMS -> R.id.home_album_recycler + MusicMode.ARTISTS -> R.id.home_artist_recycler + MusicMode.GENRES -> R.id.home_genre_recycler + } } private fun handleRecreate(recreate: Boolean) { @@ -313,6 +319,9 @@ class HomeFragment : } private fun updateIndexerState(state: Indexer.State?) { + // TODO: Make music loading experience a bit more pleasant + // 1. Loading placeholder for item lists + // 2. Rework the "No Music" case to not be an error and instead result in a placeholder val binding = requireBinding() when (state) { is Indexer.State.Complete -> setupCompleteState(binding, state.result) @@ -356,8 +365,6 @@ class HomeFragment : } is Indexer.NoMusicException -> { logD("Updating UI to no music state") - // TODO: Rework how empty libraries are treated to feel less jarring if - // there was a previously loaded library binding.homeIndexingStatus.text = context.getString(R.string.err_no_music) // Configure the action to act as a reload trigger. binding.homeIndexingAction.apply { @@ -453,20 +460,6 @@ class HomeFragment : reenterTransition = MaterialSharedAxis(axis, false) } - /** - * Get the ID of the RecyclerView contained by [ViewPager2] tab represented with the given - * [MusicMode]. - * @param tabMode The [MusicMode] of the tab. - * @return The ID of the RecyclerView contained by the given tab. - */ - private fun getTabRecyclerId(tabMode: MusicMode) = - when (tabMode) { - MusicMode.SONGS -> R.id.home_song_recycler - MusicMode.ALBUMS -> R.id.home_album_recycler - MusicMode.ARTISTS -> R.id.home_artist_recycler - MusicMode.GENRES -> R.id.home_genre_recycler - } - /** * [FragmentStateAdapter] implementation for the [HomeFragment]'s [ViewPager2] instance. * @param tabs The current tab configuration. This will define the [Fragment]s created. diff --git a/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt b/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt index 48fc32617..863d5b32a 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/fastscroll/FastScrollRecyclerView.kt @@ -71,26 +71,6 @@ class FastScrollRecyclerView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr: Int = 0) : AuxioRecyclerView(context, attrs, defStyleAttr) { - /** An interface to provide text to use in the popup when fast-scrolling. */ - interface PopupProvider { - /** - * Get text to use in the popup at the specified position. - * @param pos The position in the list. - * @return A [String] to use in the popup. Null if there is no applicable text for the popup - * at [pos]. - */ - fun getPopup(pos: Int): String? - } - - /** A listener for fast scroller interactions. */ - interface Listener { - /** - * Called when the fast scrolling state changes. - * @param isFastScrolling true if the user is currently fast scrolling, false otherwise. - */ - fun onFastScrollingChanged(isFastScrolling: Boolean) - } - // Thumb private val thumbView = View(context).apply { @@ -524,6 +504,26 @@ constructor(context: Context, attrs: AttributeSet? = null, @AttrRes defStyleAttr else -> 0 } + /** An interface to provide text to use in the popup when fast-scrolling. */ + interface PopupProvider { + /** + * Get text to use in the popup at the specified position. + * @param pos The position in the list. + * @return A [String] to use in the popup. Null if there is no applicable text for the popup + * at [pos]. + */ + fun getPopup(pos: Int): String? + } + + /** A listener for fast scroller interactions. */ + interface Listener { + /** + * Called when the fast scrolling state changes. + * @param isFastScrolling true if the user is currently fast scrolling, false otherwise. + */ + fun onFastScrollingChanged(isFastScrolling: Boolean) + } + private companion object { const val AUTO_HIDE_SCROLLBAR_DELAY_MILLIS = 1500 } diff --git a/app/src/main/res/layout/item_music_dir.xml b/app/src/main/res/layout/item_music_dir.xml index a68bf2fdc..f49006e95 100644 --- a/app/src/main/res/layout/item_music_dir.xml +++ b/app/src/main/res/layout/item_music_dir.xml @@ -25,6 +25,7 @@ style="@style/Widget.Auxio.Button.Icon.Small" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="center" android:layout_marginEnd="@dimen/spacing_mid_large" android:contentDescription="@string/desc_music_dir_delete" app:icon="@drawable/ic_delete_24" diff --git a/fastlane/metadata/android/en-US/changelogs/25.txt b/fastlane/metadata/android/en-US/changelogs/25.txt new file mode 100644 index 000000000..5cc3dcac2 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/25.txt @@ -0,0 +1,3 @@ +Auxio 3.0.0 massively improves the music library experience, with a new advanced music loader, a new unified artist model, and a new selection system that makes enqueueing music much simpler. +This release adds some additional functionality and fixes a few regressions. +For more information, see https://github.com/OxygenCobalt/Auxio/releases/tag/v3.0.1. \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 0d9401379..196da8418 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -1,4 +1,4 @@ -Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players. Built off of Exoplayer, Auxio has superior library support and listening quality compared to other apps that use outdated android functionality. In short, It plays music. +Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players. Built off of Exoplayer, Auxio has superior library support and listening quality compared to other apps that use outdated android functionality. In short, It plays music. Features