Commit graph

112 commits

Author SHA1 Message Date
OxygenCobalt
97459fdcca
widgets: improve preview
Use a 5x5 instead of a 4x5 preview for the widget so that it lines up
better with most default launcher configurations.
2021-08-08 15:09:28 -06:00
OxygenCobalt
64c9a4a4a7
all: add license boilerplate
Actually bother to add license boilerplate. Even though I've written
the entirety of Auxio, the boilerplate will be under "Auxio Project"
instead, as I don't want to share my real name.
2021-08-07 17:00:28 -06:00
OxygenCobalt
49db7e0741
widgets: add widget layout preview
Add a layout preview to the Android 12 widget metadata. I'm holding off
on implementing a drawable until the widgets are completely finalized.
2021-08-03 10:33:07 -06:00
OxygenCobalt
58bea1dda5
sort: fix sort bug with same-year album songs
Fix a problem where given two albums with the same year, like this:

Album 1 [2018]
- Song 1
- Song 2

Album 2 [2018]
- Song 3
- Song 4

getSortedArtistSongs would incorrectly drop songs that came from
any albums that came after Album 1, resulting in this:

Song 1 [Album 1]
Song 2 [Album 1]

This was caused by a quirk in toSortedMap that would drop any
map entries that corresponded to a previous sorted entry. We now
get and sort the entries directly instead, which fixes the issue.
2021-07-30 19:59:18 -06:00
OxygenCobalt
1a0ff53d67
about: prevent ui from being clipped in landscape
Fix an accidental regression in the about UI that caused it to be cut
off it landscape. It will now scroll.
2021-07-29 17:06:30 -06:00
OxygenCobalt
6d9c9f65c2
recycler: improve fast-scroller truncation
Make fast-scroller truncation more aggressive, mostly because on my new
ROM it seems like display calculations become a little wonky and cause
slight indicator cutoff. May as well add padding then so that
indicators [and the thumb by extension] actually fit and won't get
clipped.
2021-07-29 11:31:21 -06:00
OxygenCobalt
7b5e817d3b
all: cleanup code
Cleanup the codebase in general:
- Remove useless resources
- Upgrade kotlin to 1.5.2
- Upgrade coil to 1.2.2
2021-06-26 19:53:57 -06:00
OxygenCobalt
d82952d88d
md: update project information
Update the README to update the current state of Auxio, uodate the
ADDITIONS document to reflect which features have been rejected,
and remove the black mode question from the FAQ.
2021-06-23 09:37:33 -06:00
OxygenCobalt
e25c91b49c
library: remove default sort option
Remove the default [a.k.a SortMode.NONE] option from the library view.
It was effectively useless in every single library mode and was
functionally equivelent to SortMode.ALPHA_DOWN. Other SortModes might
come to take it's place, but likely only for albums.
2021-06-19 10:10:28 -06:00
OxygenCobalt
2f29950725
recycler: use article sort everywhere
Use the native MediaStore sort of using the characters after an article
[if present] everywhere when sorting is done. Yes, this is still dumb
and non-local, but if I want to add fast-scrolling to the library view
I will have to keep consistency across each sort.
2021-06-18 14:55:01 -06:00
OxygenCobalt
a849d00248
Cleanup code
Clean up the formatting/structure of the codebase.
2021-05-02 18:49:16 -06:00
OxygenCobalt
e63122ce3e
Cleanup artist songs implementation
Clean up the artist song code to not rely so heavily on a hacky ActionHeader implementation and instead just use it's own viewholder.
2021-04-26 17:22:01 -06:00
OxygenCobalt
b9506bcbc3
Add artist songs list
Add a list of artist songs to ArtistDetailFragment. This moves the artist sort functionality to the song list instead of the album list.
2021-04-26 16:54:49 -06:00
OxygenCobalt
cc72ebc251
Update action header structure
Create a seperate ActionHeader object for headers with actions attached alongside a new viewholder to accompany it.
This allows action headers to be created easier without creating your own viewholder.
2021-04-25 17:15:20 -06:00
OxygenCobalt
2b047f0d2c
Cleanup settings code
Do some post-setting refactor cleanup:
- Make some extension functions for SettingsManager for convienence
- Remove dead code from before the int migration
- Update semantics here and there
2021-04-03 11:43:23 -06:00
OxygenCobalt
0305eb0beb
Standardize settings entirely
Update the structure of the settings system to do several things:
- Finally use int preferences everywhere instead of the mix of strings & ints from before
- Create a new preference named `IntListPreference` that enables the use of integers in list preferences
- Actually centralize array values and default values into a single integers xml
- Isolate all the new migration code into a single file
- Refreshed the int tables used by data objects [DB version has been updated, will not update when other changes]

The only preference not migrated is doAtEnd since that is being planned to be retired in a future LoopMode update.
2021-04-03 10:53:16 -06:00
OxygenCobalt
2c93e3f362
Update code style
Heavily tweak the code style across the app, doing things such as fixing returns and giving names to lambda values.
2021-03-05 12:56:04 -07:00
OxygenCobalt
abd5b3ca8d
Remove NoLeakThumbView
Remove the old NoLeakThumbView class, apparently I didnt remove it before?
2021-02-28 15:01:38 -07:00
OxygenCobalt
e9abee9f64
Update documentation
Completely update the documentation throughout the app.
2021-02-25 11:36:47 -07:00
OxygenCobalt
f04ffdb59b
Update codebase
Do a variety of small things across the codebase.
2021-02-23 13:22:09 -07:00
OxygenCobalt
b6ac897314
Add ko [Korean] translations
Add partial translations for korean.
2021-02-14 10:35:22 -07:00
OxygenCobalt
eb5292d083
Add architecture document
Add a document describing the high-level auxio architecture.
2021-02-07 16:07:16 -07:00
OxygenCobalt
cef4cb68da
Update BaseViewHolder
Change the name of BaseViewHolder to BaseHolder and make the click listener arguments optional.
2021-02-07 14:00:48 -07:00
OxygenCobalt
7fc0bcc56d
Update tablet detail layouts
Update the tablet detail layouts to look better.
2021-01-30 13:26:49 -07:00
OxygenCobalt
67c177ccf3
Create parent abstraction
Create a BaseModel variant for albums, artists, and genres to simplify on alot of code that should only run on those.
2021-01-30 11:18:29 -07:00
OxygenCobalt
0bbcff35eb
Fix compact playback visibility issues
For some reason the new system I implemented for compact playback visibility suddenly stopped working! Revert to the old system.
2021-01-19 14:39:09 -07:00
OxygenCobalt
627553344c
Update shuffling system
Finally collapse all usage of shuffle into setShuffling, instead of the mix of checks that used to be throughout PlaybackStateManager.
2021-01-18 16:53:10 -07:00
OxygenCobalt
c4bc86cb05
Completely refactor accents
Completely refactor the accent system to be much more understandable.
2021-01-18 09:28:31 -07:00
OxygenCobalt
fc33e01b89
Update ViewHolder long-click structure
Make a minor change to the viewholder long-click arguments.
2021-01-16 15:46:27 -07:00
OxygenCobalt
eab260a9c1
Add filtering to SearchFragment
Add the ability to filter items to SearchFragment
2021-01-12 16:15:46 -07:00
OxygenCobalt
8f5e6621ad
Create dedicated search tab
Move all searching to a tab of its own.
2021-01-11 20:17:22 -07:00
OxygenCobalt
6627de4b62
Add filtering to library search
Add filtering to the library search bar.
2021-01-07 10:40:10 -07:00
OxygenCobalt
406ba212f8
Update library searching
Reorder how library items are displayed when searching, no longer hiding genres/artists depending on the DisplayMode.
2021-01-07 09:25:58 -07:00
OxygenCobalt
fcc6a7e8d7
Update sorting
Make some changes to the sorting system.
2021-01-04 15:38:10 -07:00
OxygenCobalt
5b2e0dc0f4
Rewrite Audio Focus
Switch from the built-in exoplayer AudioFocus to a custom AudioFocus setup that supports ducking and auto-resumes after a short interuption.
2020-12-31 11:30:32 -07:00
OxygenCobalt
95c601bf02
Add playing indicators to SongsFragment
Add an indicator for the currently playing song to SongsFragment, as long as the current playback mode is ALL_SONGS.
2020-12-30 10:48:35 -07:00
OxygenCobalt
8a92108a4a
Update landscape functionality
Make some changes that differentiate how Auxio is displayed on phone vs. landscape devices.
2020-12-29 15:18:11 -07:00
OxygenCobalt
8fe0734ca1
Refactor menus
Heavily refactor how certain menus are used when it comes to songs.
2020-12-29 14:45:55 -07:00
OxygenCobalt
98320fcd8d
Update scrolling
Remove the viscous interpolator and replace it with a variant of the default smooth scroller, dont like it as much but its less buggy.
2020-12-29 10:59:01 -07:00
OxygenCobalt
966adf7704
Refreash viewholder item codes
Fix the viewholder item codes so they actually make sense.
2020-12-29 09:27:45 -07:00
OxygenCobalt
7ef4eb5fde
Update artist detail layout
Update the artist detail layout so that it also relies on a recyclerview entirely instead of a nestedscrollview.
2020-12-28 13:55:20 -07:00
OxygenCobalt
804db8b0d3
Update genre detail layout
Make GenreDetailFragment a full RecyclerView in order to fix issues with how NestedScrollView has to generate all ViewHolders in order on creation.
2020-12-28 10:48:50 -07:00
OxygenCobalt
600aa2d6f1
Move genre name code to genre objects
Instead of converting int-genres to normal genres during the music loader process, instead do it in the Genre object as a lazy initializer, so that the names remain [Probably] unique.
2020-12-25 21:19:35 -07:00
OxygenCobalt
940746f248
Make state restore use names instead of ids
Make it so that PlaybackStateDatabase stores the item data for PlaybackState/QueueItems as strings instead of ids, as ids are too volitaile if the music library changes.
2020-12-24 11:30:23 -07:00
OxygenCobalt
d4d40c97ad
Fix compat issues
Fix some issues on older versions.
2020-12-19 15:43:07 -07:00
OxygenCobalt
953e1291b6
Document code
Heavily document code that wasnt documented before.
2020-12-19 11:22:15 -07:00
OxygenCobalt
8085c25103 Minor fixes
Do some more landscape layout fixes and remove some redundant database code.
2020-12-14 14:48:43 -07:00
OxygenCobalt
7458588913 Move playback save button to SettingsListFragment
Move the ability to save the current playback state into a dedicated preference in SettingsListFragment.
2020-12-13 16:01:40 -07:00
OxygenCobalt
859391e69b Refactor library structure
Refactor LibraryFragment & LibraryViewModel so that LibraryViewModel only holds the data and LibraryFragment displays it.
2020-12-12 12:22:06 -07:00
OxygenCobalt
a49ad5ddad Add library item customization
Add the ability to customize library items.
2020-12-04 19:48:01 -07:00