Commit graph

63 commits

Author SHA1 Message Date
Alexander Capehart
82a64b5e17
music: accept zero positions with non-zero totals
Accept positions that are zeroed, but only if there are non-zero total
values as well.

Sometimes zeroed positions are deliberate, but other times they are
placeholders meant to indicate a lack of a position. To resolve this,
Auxio now considers zeroed track/disc numbers in the presence of
non-zero track/disc numbers to be valid.
2023-01-21 16:49:17 -07:00
Alexander Capehart
9bd78bc855
music: add uid and raw tests
Add tests for the relatively simple Music.UID and Raw data classes
(excluding Song.Raw).

This should make sure most of the grouping code works, making the
library tests theoretically much simpler.
2023-01-08 10:32:22 -07:00
Alexander Capehart
0199d2f343
playback: refactor queue persistence
Refactor the queue saved state system to make it easier to imlement in
the playback state database.
2023-01-08 09:52:56 -07:00
Alexander Capehart
bef4dca0ce
playback: fix queue moves
Fix moving items with the new queue system.

This took a bit of thinking, but I think this is the correct way to
implement this in a future-proof manner.
2023-01-07 12:01:43 -07:00
Alexander Capehart
5adc87550e
music: make package for auxillary music info
Like the library package, move out tag information (Date/Album.Type)
into a separate package.

Date never really made sense as base-package information.
2023-01-07 09:33:05 -07:00
Alexander Capehart
a2b51825e8
music: add tests for album types
Add tests for Album.Type.

Other tests for the music library will be done separately.
2023-01-07 09:21:15 -07:00
Alexander Capehart
ac9f50c0a0
settings: do not use sharedpreference listener
Switch back to using settings-specific listeners rather than the
SharedPreference listener.

Again, this is due to the need to decouple android code from settings.
It also allows us to fully obscure the details of what settings we are
actually working with.
2023-01-06 19:20:56 -07:00
Alexander Capehart
1b19b698a1
settings: decouple
Decouple the settings god object into feature-specific settings.

This should make testing settings-dependent code much easier, as it no
longer requires a context.
2023-01-06 16:17:57 -07:00
Alexander Capehart
3502af33e7
music: add support for date-encoding years
Add support for date-encoding years such as "YYYYMMDD".

This is a semi-common timestamp edge-case, it seems, primarily due to
taggers wanting to encode date information in older tag formats.
2023-01-06 13:47:18 -07:00
Alexander Capehart
a5ea4af5c4
music: finish parsing tests
Finish ParsingUtil tests.
2023-01-05 20:08:12 -07:00
Alexander Capehart
782b570b38
music: add texttags tests
Add tests for the TextTags processing wrapper.
2023-01-05 14:24:30 -07:00
Alexander Capehart
a5e78e614f
music: complete non-android date tests
Complete the date tests that don't require a context.
2023-01-05 12:55:15 -07:00
Alexander Capehart
78e3739a68
testing: add unit test framework
Add junit/espresso alongside a few basic tests.

I am nowhere near close to being "done" with this at all.
2023-01-05 12:27:37 -07:00