When reimporting an M3U file into a playlist, if the name differs, then
initiate a rename dialog so the user has a choice on whether they want
to use the new name or not.
This does kinda desecrate the "Rename" decision a bit, but it's still
to the user the same.
When you import a playlist, Auxio will now always display the
"New Playlist" dialog so you can change whatever name Auxio has picked
for the imported playlist.
This also prevents the creation of two playlists with the same names.
The context of the "New Playlist" dialog can differ depending on the
action performed, such as adding to a playlist or importing a playlist.
We need to make sure we're still showing the right message once this
is done.
Add a dialog that shows the stack trace of a music loading error.
This is an MVP that is only available to music loading to resolve some
immediate issues.
Resolves#527.
Make sure that we don't drop selections or playlist edits when we
navigate to dialogs, this time achieved through a more general
navigation listener implementation than prior.
* weather: introduce display precipitation
Introduce a new datatype called DisplayPrecipitation that optimizes the
precipitation level for UI display.
This is primarily meant to fix improper precipitation displays when
values lower than 0.1 in are shown, albiet that may need to change
eventually.
* Translated using Weblate (Hindi)
Currently translated at 100.0% (283 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hi/
* Translated using Weblate (Lithuanian)
Currently translated at 100.0% (283 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (283 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pa/
* Translated using Weblate (Punjabi)
Currently translated at 100.0% (36 of 36 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/pa/
* Translated using Weblate (Hindi)
Currently translated at 100.0% (36 of 36 strings)
Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/hi/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (283 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/
* Translated using Weblate (Polish)
Currently translated at 100.0% (283 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/pl/
* Translated using Weblate (Finnish)
Currently translated at 93.2% (264 of 283 strings)
Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fi/
---------
Co-authored-by: Alexander Capehart <alex@oxycblt.org>
Co-authored-by: ShareASmile <aapshergill@gmail.com>
Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Add play and shuffle options for all song menus.
These will override the shuffle state, unlike other song play
interactions.
This required a good bit of refactoring to menu, some of which
might be ported to other commands in future changes.
Use the new menu system in all applicable places.
More consideration is needed right now on whether the toolbars should
also have menu items, so they remain unchanged right now.
Add a dialog that shows menu information as a bottom sheet instead of as
a PopupMenu.
This did not take as much finessing of BottomSheetBehavior as the main
playback UI framework did, just some style redefinitions.
Flatten the navigation graph into a single "main" graph that links
home to both explore and preference fragments.
***This massively breaks the app in it's current state***. Further
changes and refactors are needed to get this back to working.
Add a real playlist naming dialog and UX flow.
This is a bit rough at the moment since theres a good amount of nuance
here. Should improve as the playlist implementation continues to grow
more fleshed out.
Unwind the picker abstraction into smaller dialog packages.
While this increases repetition, it will make the playlist dialog
implementations much less shoddy.
Refactor the weird picker god module into specific sub-impls in
playback and a new navigation package.
I cannot keep this unified. The needs are too different among each
picker. Better to keep it separate, especially in preparation for
the playlist dialogs.
Refactor the disjoint Library and Playlist setup into two new
DeviceLibrary and UserLibrary implementations.
This makes the API surface a bit less disjoint than prior.
Start injecting shared object instances.
This is not a 100% conversion, as certain portions of the code are not
really ready for 100% DI constructors just yet.
Manually use our own navigation graph in the new settings view.
This avoids a crash that occurs with the default preferences navigation
(on some devices) where the differing app IDs between debug and release
makes it so that the fragments cannot be found. Because you know.
Android.
Refactor the internal tag management portion of MetadataExtractor into a
new "Tags" object that can now be re-used in the ReplayGain system.
This also does a minor rework to the ReplayGain object to make it
totally self-sufficient.
Split off parsing-related components from extractor into a new parsing
module.
A lot of these methods are used in non-extractor code, so it makes more
sense for them to not be part of the extractors.
The code that is really extractor-specific can remain within the
extractor files.
Remove childish wording/diatribes from the codebase that were added
when I was younger.
I'm an adult now. I have to make this repository at least somewhat
professional.
Rework the music picker system to be a reactive, viewmodel-based system
instead of a janky UI system.
This should make it much easier to maintain and extend in the future.