Commit graph

1416 commits

Author SHA1 Message Date
OxygenCobalt
9eef57144b
strings: remove broken translations
Remove broken and unused translations.
2022-08-10 15:12:50 -06:00
OxygenCobalt
fc5274ebeb
info: update
Update information in preparation for 2.6.1.
2022-08-10 14:31:16 -06:00
Weblate (bot)
6e60399d45
Translations update from Hosted Weblate (#209)
* Translated using Weblate (Czech)

Currently translated at 100.0% (218 of 218 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (German)

Currently translated at 100.0% (218 of 218 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Russian)

Currently translated at 99.0% (216 of 218 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (218 of 218 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Czech)

Currently translated at 100.0% (21 of 21 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/cs/

* Translated using Weblate (Russian)

Currently translated at 99.0% (217 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/ru/

* Translated using Weblate (Greek)

Currently translated at 43.8% (96 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/el/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (219 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/zh_Hans/

* Translated using Weblate (Spanish)

Currently translated at 99.0% (217 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Greek)

Currently translated at 55.2% (121 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/el/

* Translated using Weblate (Czech)

Currently translated at 100.0% (219 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (219 of 219 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

Co-authored-by: Fjuro <fjuro@seznam.cz>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Co-authored-by: Clyde Johanson <johnson.hu95@gmail.com>
Co-authored-by: lunand <paulefstathiou2009@gmail.com>
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Alexander Capehart <oxycblt@abstractr.net>
2022-08-10 19:33:39 +00:00
OxygenCobalt
68ca9973df
ui: add basic bar actions [#108]
Add the ability to customize the bar action to the repeat mode or
shuffle state.

This is a much smaller implementation than what I planned, mostly
because other options did not make much sense (queue) or were
superceded by better options (clear state).

Resolves #108.
2022-08-10 13:14:19 -06:00
OxygenCobalt
ce2e950a9b
playback: add audioeffect integration [#211]
Add support for external AudioEffect implementers, like Wavelet.

Doing this involves doing a weird broadcast dance with AudioEffect
Intents at special points to indicate a valid audio session that
can be manipulated. Still has some issues, such as a null name
showing up in wavelet. As far as I am aware, this is the best
possible system I can do, and allows me to delegate an equalizer
implementation to other apps instead of making my own.

Resolves #211.
2022-08-09 16:26:14 -06:00
OxygenCobalt
deffe065d5
queue: do not scroll to next-up range
Do not scroll to the current index + 1 (i.e the next up range) when the
index signifigantly changees.

RecyclerView quirks result in a mix of next-up and next-up + playing
item scrolling, just unify it under the latter.
2022-08-09 09:11:17 -06:00
OxygenCobalt
83d1e4eae4
ui: refactor shadow management
Make the shadow disabling workaround an XML style.

Doing it this way is more elegant than disabling it in-code.
2022-08-09 09:10:19 -06:00
OxygenCobalt
bcc16fb88c
music: improve field management
Cache some music fields and make other fields more coherent given
recent changes.
2022-08-09 08:57:24 -06:00
OxygenCobalt
75e80a7253
home: add indicator to date added sorting
Add a fast-scroll indicator for date added sorting.

Forgot to add this initially.
2022-08-09 08:47:57 -06:00
OxygenCobalt
3c3b9ac7cc
queue: make sheet corner radius sharp
Make the corner radius of the queue sheet also sharp.

This is to ensure consistency with the playback sheet as it currently
stands. As soon as I can do only-inset content behavior and can thus
round the playback bar, I'll also re-round the queue bar.
2022-08-08 22:21:10 -06:00
OxygenCobalt
fe38c70d34
ui: don't re-inset content only
Revert the changes I made in 0474940ee3
and return to the hybrid layout + inset system.

The big issue is edge effects and touch events. I need to properly
clamp edge effects to the padding, but that also requires me to use
stretch edge effects everywhere to prevent weird visual isuses. This
may happen in the future in RecyclerView 1.3.0, but development on such
has been minimal. Meanwhile, touch events will be intercepted by the
now overlapping view if one clicks the wrong portion of the bar.
Nothing I can do given how touch events are intercepted by the bottom
sheet, at least right now.

More feasible to keep the current system and mitigate whatever issues
are present there.
2022-08-08 16:22:03 -06:00
OxygenCobalt
46473ceff9
ui: update transitions
Update transitions in the home fragment to X-axis.

I noticed a visual issue in the detail transition in the existing
version stemming from how the main fragment's drawing is clipped by
the bottom sheet, resulting in a less-than-ideal Z-axis transition.

While I wanted to fix this by attempting to switch to inset based
bottom sheet management, I still need to wait for more changes in
order to successfully pull that off, and hence I'll be reverting it
soon.

Moving these transitions to X-axis prevents this visual issue while
still being roughly semantically similar.
2022-08-08 16:17:46 -06:00
OxygenCobalt
0cef51fa97
detail: add item type
Add an item type indicator to the top of the detail header.

This is primarily for release type functionality, but also makes it
more clear the item one is looking at.
2022-08-06 14:53:06 -06:00
OxygenCobalt
7b3490d5d3
ui: improve bottom sheet backgrounds
Try to improve the efficiency/management of bottom sheet bakcgrounds
somewhat.
2022-08-06 13:19:58 -06:00
OxygenCobalt
0474940ee3
ui: switch to inset-based bottom sheet content
Do not do a measure + inset method with BottomSheetContentBehavior,
instead, try to re-apply window insets to adapt with the bar instead.

This fixes a lot of view clipping issues that made motion transitions
non-ideal and prevented a rounded playback bar. Only remaining issue is
RecyclerView instances, which need to be further reworked to resolve
scroll issues and edge effect problems.
2022-08-06 09:21:20 -06:00
OxygenCobalt
913db88fde
ui: fix incorrect queue text style
Fix an accidental usage of Material3 text styles instead of Auxio.

Left-over from the testing app I did for the new bottom sheets. Stuck
around through some means.
2022-08-05 20:47:00 -06:00
OxygenCobalt
daaa8d7f7e
Version 2.6.0
Ready for version 2.6.0 of Auxio.
2022-08-05 18:43:54 -06:00
OxygenCobalt
5a829112da
meta: update shots
Upgrade screenshots for 2.6.0.
2022-08-05 17:40:58 -06:00
OxygenCobalt
5978e124d2
ui: fix lollipop bugs
Fix more lollipop bugs, as I usually do. Except for the drawing
issues I may or may not have produced. Don't really care enough to
fix them though.
2022-08-05 11:47:26 -06:00
OxygenCobalt
e12c7cb419
ui: rework resource distribution
Try to remove the weird config file and replace it with more
conventional resource files in other places.
2022-08-05 09:58:20 -06:00
OxygenCobalt
7d04aad9b7
util: clean up context utils
Clean up the context utils to be more appropriately designed and
efficient.
2022-08-04 20:11:25 -06:00
OxygenCobalt
96be8cb6b7
ui: remove textSafe
Remove the textSafe method, as it is functionally useless.

textSafe relied on a dumb 1.0.0 thing where I used wrap_content on
text views. Now it just causes relayouts for no good reason.
2022-08-04 17:27:50 -06:00
OxygenCobalt
c888035cbd
queue: remove no position check
Remove the check for NO_POSITION when doing scrolling.

An empty list implies that we should probably scroll to the proper
item when we add data.
2022-08-04 16:23:20 -06:00
OxygenCobalt
fa06732e94
strings: remove weird capitalization
Remove strange capitalization choices in an attempt to make the app
more consistent.
2022-08-04 15:28:35 -06:00
OxygenCobalt
4b61d1b6e7
meta: remove spanish changelogs
Remove the useless spanish changelogs (We don't translate them as they
become outdated quickly)
2022-08-04 14:45:11 -06:00
Weblate (bot)
6809274441
Translations update from Hosted Weblate (#198)
* Added translation using Weblate (Filipino)

* Translated using Weblate (Spanish)

Currently translated at 99.0% (215 of 217 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (217 of 217 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (20 of 20 strings)

Translation: Auxio/Metadata
Translate-URL: https://hosted.weblate.org/projects/auxio/metadata/es/

* Translated using Weblate (Lithuanian)

Currently translated at 63.5% (138 of 217 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/lt/

* Translated using Weblate (Filipino)

Currently translated at 50.2% (109 of 217 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/fil/

* Update translation files

Updated by "Remove blank strings" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

* Translated using Weblate (German)

Currently translated at 100.0% (220 of 220 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/de/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (220 of 220 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Croatian)

Currently translated at 100.0% (222 of 222 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/hr/

* Translated using Weblate (Czech)

Currently translated at 100.0% (222 of 222 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Translated using Weblate (Czech)

Currently translated at 100.0% (223 of 223 strings)

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/cs/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

* Update translation files

Updated by "Cleanup translation files" hook in Weblate.

Translation: Auxio/Strings
Translate-URL: https://hosted.weblate.org/projects/auxio/strings/

Co-authored-by: martx <johnmartyncadampog@gmail.com>
Co-authored-by: Iago <translate@delthia.com>
Co-authored-by: Vaclovas lntas <vaclovas1999@gmail.com>
Co-authored-by: qwerty287 <ndev@web.de>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Fjuro <fjuro@seznam.cz>
2022-08-04 20:44:12 +00:00
OxygenCobalt
f27b798e33
ui: remove coordinatorlayout workarounds
Remove EdgeCoordinatorLayout in favor of using fitsSystemWindows when
needed.

EdgeCoordinatorLayout was derived from a misunderstanding about how
window insets worked. Remove it.
2022-08-04 14:30:33 -06:00
OxygenCobalt
4af45031b0
all: fix lints
Fix lints that have accumulated over time.

Apparently Android Studio just...stopped using lints. For no reason. I
had to upgrade to the beta version to actually get lints.
2022-08-04 13:14:21 -06:00
OxygenCobalt
f6429a878a
build: upgrade deps
Upgrade dependencies

AGP -> 7.2.2
Activity -> 2.5.1
Fragment -> 2.5.1
Lifecycle -> 2.5.1
Navigation -> 2.5.1
2022-08-04 11:52:57 -06:00
OxygenCobalt
85eb4cad6c
playback: use height for playback layouts
Leverage min heights for the playback layouts instead of the land
modifier.

This prevents an issue where some split-screen displays won't use the
correct "compact" layout.
2022-08-04 10:16:26 -06:00
OxygenCobalt
a9515e19c0
all: cleanup
Clean up the slightly rushed changes I made as I worked on the split
UI.
2022-08-03 19:54:14 -06:00
OxygenCobalt
7543f1defc
playback: add split ui in landscape
Add a split playback UI in landscape mode.

Apparently the mere act of doing this also fixes the infurating
window inset issue I previously did either. Odd.
2022-08-03 16:00:18 -06:00
OxygenCobalt
772fe7df3b
ui: make bottom sheets request insets on layout
Make bottom sheets request window insets when they are laid out.

For some insane reason, bottom sheets are just not given window insets
when the device is rotated in the detail view. Appaently requesting them
fixes it all of a sudden.
2022-08-03 15:42:37 -06:00
OxygenCobalt
79637f7603
playback: check for init before applying state
Check if the playback state still has not been initialized once we
restore.

This prevents one from playing a song while the restore task is
on-going and then having it overwritten by the restored state.
2022-08-03 14:02:45 -06:00
OxygenCobalt
304fccf0f9
home: disable collapse when one tab
Disable the collapsing toolbar when there is only one tab.

The TabLayout is hidden when there is one tab, so collapsing it does
not make much sense.
2022-08-03 10:30:19 -06:00
OxygenCobalt
4f3cb80a77
ui: rework transitions
Use MaterialFadeThrough in the search transition and a Z-axis
transition in the detail views.

This is more semantically correct than the previous transitions.
2022-08-02 15:05:08 -06:00
OxygenCobalt
de3cc7958f
ui: rework bottom sheet state management
Try to make the bottom sheet states more coherent, especially regarding
when playback ends.
2022-08-02 11:13:12 -06:00
OxygenCobalt
35cfea78df
recycler: remove useless header ids
Remove useless id fields from Headers, replacing them with vlaues
related to their string resource.

String resources and disc numbers are more or less garunteed to be
unique in Auxio's context.
2022-08-01 10:38:24 -06:00
OxygenCobalt
257516643f
queue: indicate playing item in list
Indicate the currently playing item in the queue list.

The item is still disabled, however it's also simultaniously activated
now, which allows it to indicate that it is playing.
2022-07-31 17:21:10 -06:00
OxygenCobalt
f5542c65ba
queue: rework previous items
Rework previous items to be based off of adapter state.

This improves the transitions between active and previous items and
their overall efficiency.
2022-07-31 16:50:47 -06:00
OxygenCobalt
b42dfd0b53
all: misc changes
Miscellanious changes that accumulated over time.
2022-07-31 15:51:12 -06:00
OxygenCobalt
170cdf80ef
widgets: fix insanity
Fix two issues where Auxio's widget could not be resized to a single
cell, and another where covers would not load into the widget.

The first is caused by a random, subtle change that completely changed
up the minHeight size calculation regarding widgets. Thus, we need to
lower it for android to recognize it still as 1 cell. I cannot believe
we can't just specify the specific minimum grid size that our widget
takes up, like you know, iOS did, nearly a decade after widgets were
first added in Android.

The second is an absurd race condition stemming from me hitting the
RemoteViews memory limit. Turns out my cover bitmaps were simply too
big. Getting them below the limit requires me to resize them to a puny
~500 pixels. Why can't we just render our own views into our widget?
You know, like iOS did, nearly a decade after widgets were first added
to Android.

Nah, screw modernizing the broken widget API. Let's just vaguely copy
iOS widgets because we have to while not fixing a single issue plaguing
widget development on this OS. That way some google engineer can get
promoted faster.
2022-07-30 20:41:24 -06:00
OxygenCobalt
c3d8509069
ui: optimize bottom sheets
Desperately try to minimize the amount of layouts my bottom sheet code
is producing.

It still relayouts twice in one pass. I hate android.
2022-07-30 16:06:17 -06:00
OxygenCobalt
54be8dc2dc
queue: add ability to see previous items
Add the ability to see (but not edit) previous items.

This completes the new playback UI I've been working on for about 2
weeks now. I pray that there is no insane unfixable bug with this,
please please please please please
2022-07-30 10:06:58 -06:00
OxygenCobalt
7467d89a45
ui: misc bottom sheet changes
Tweak parts of the bottom sheet system for UI consistency.
2022-07-30 09:15:38 -06:00
OxygenCobalt
ed2f836280
ui: fix more bottom sheet issues
Fix more bottom sheet issues regarding the queue sheet.

Guess I brought it upon myself for nesting bottom sheets like this in a
way that I doubt the behavior expects.
2022-07-29 15:39:38 -06:00
OxygenCobalt
5536dd48df
ui: fix bottom sheet initialization
Fix an issue on some devices where bottom sheet transitions would not
initialize correctly.

Turns out I can't try to do transitions using the callback and simply
initalizing them on startup. Apparently on some devices,
CoordinatorLayout will simply not lay out until some arbitrary point
past onResume. This breaks our transitions.

Fix it by using a pre-draw listener instead. I cannot believe I have to
do this.
2022-07-29 15:00:06 -06:00
OxygenCobalt
a4fa8a84fa
queue: reimplement with bottom sheet
Re-implement the queue, now leveraging a bottom sheet too.

This makes the queue much easier to open, and actually plays along with
the new transition system. I really hope this doesn't have a stupid
gotcha that ruins the UX. Please. Please. Please.
2022-07-29 14:40:58 -06:00
OxygenCobalt
cc3cb343b0
playback: use bottomsheetbehavior
Use BottomSheetBehavior with the playback sheet.

This is the result of two weeks of painful hacking to get a working
implementation that did not immediately have a brain aneursym. It
also requires me to still vendor BottomSheetBehavior for the time
being. However, this greatly reduces technical issues on my end and
allows the addition of new playback UI concepts, while still
retaining the UI fluidity of prior.
2022-07-29 12:21:06 -06:00
OxygenCobalt
62ae5e5cb2
build: update build scripts
Update/Modernize build scripts.
2022-07-29 11:03:22 -06:00