From cde3a99f4d283a28a46ac11a726b51825c91e0f1 Mon Sep 17 00:00:00 2001 From: OxygenCobalt Date: Sat, 27 Nov 2021 11:49:06 -0700 Subject: [PATCH] playback: fade out content as view slides Re-add the ability for content to fade out as the playback or queue view slides up. This also migrates the queue slide animation to also fade out content, which allows for the stylistic cohesion I desire. --- app/src/main/java/org/oxycblt/auxio/coil/CoilUtils.kt | 2 +- .../java/org/oxycblt/auxio/playback/PlaybackLayout.kt | 5 ++++- app/src/main/res/anim/anim_stationary.xml | 11 +++++------ ...anim_nav_slide_up.xml => nav_slide_enter_anim.xml} | 0 app/src/main/res/anim/nav_slide_exit_anim.xml | 9 +++++++++ app/src/main/res/anim/nav_slide_pop_enter_anim.xml | 9 +++++++++ ...nav_slide_down.xml => nav_slide_pop_exit_anim.xml} | 0 app/src/main/res/navigation/nav_main.xml | 8 ++++---- app/src/main/res/values/strings.xml | 4 ++-- 9 files changed, 34 insertions(+), 14 deletions(-) rename app/src/main/res/anim/{anim_nav_slide_up.xml => nav_slide_enter_anim.xml} (100%) create mode 100644 app/src/main/res/anim/nav_slide_exit_anim.xml create mode 100644 app/src/main/res/anim/nav_slide_pop_enter_anim.xml rename app/src/main/res/anim/{anim_nav_slide_down.xml => nav_slide_pop_exit_anim.xml} (100%) diff --git a/app/src/main/java/org/oxycblt/auxio/coil/CoilUtils.kt b/app/src/main/java/org/oxycblt/auxio/coil/CoilUtils.kt index 8e0b0c7d9..eab96984b 100644 --- a/app/src/main/java/org/oxycblt/auxio/coil/CoilUtils.kt +++ b/app/src/main/java/org/oxycblt/auxio/coil/CoilUtils.kt @@ -68,7 +68,7 @@ fun ImageView.load(music: T?, @DrawableRes error: Int) { dispose() load(music) { - // Round out the corners if it's enabled + // Round out the corners if enabled // We don't do this by default because it's ugly and desecrates album artwork. val settingsManager = SettingsManager.getInstance() diff --git a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackLayout.kt b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackLayout.kt index 5afb8eca1..fa53f73c2 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/PlaybackLayout.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/PlaybackLayout.kt @@ -543,7 +543,10 @@ class PlaybackLayout @JvmOverloads constructor( val halfInRatio = max(ratio - 0.5f, 0f) / 0.5f // Optimize out drawing for this view completely - contentView.isInvisible = outRatio == 0f + contentView.apply { + alpha = outRatio + isInvisible = alpha == 0f + } // Slowly reduce the elevation of the container as we slide up, eventually resulting in a // neutral color instead of an elevated one when fully expanded. diff --git a/app/src/main/res/anim/anim_stationary.xml b/app/src/main/res/anim/anim_stationary.xml index 2f2b8501a..5859dd2a9 100644 --- a/app/src/main/res/anim/anim_stationary.xml +++ b/app/src/main/res/anim/anim_stationary.xml @@ -2,9 +2,8 @@ This is part of a stopgap animation used by QueueFragment until it's fully integrated into PlaybackLayout. --> - - - + diff --git a/app/src/main/res/anim/anim_nav_slide_up.xml b/app/src/main/res/anim/nav_slide_enter_anim.xml similarity index 100% rename from app/src/main/res/anim/anim_nav_slide_up.xml rename to app/src/main/res/anim/nav_slide_enter_anim.xml diff --git a/app/src/main/res/anim/nav_slide_exit_anim.xml b/app/src/main/res/anim/nav_slide_exit_anim.xml new file mode 100644 index 000000000..5859dd2a9 --- /dev/null +++ b/app/src/main/res/anim/nav_slide_exit_anim.xml @@ -0,0 +1,9 @@ + + diff --git a/app/src/main/res/anim/nav_slide_pop_enter_anim.xml b/app/src/main/res/anim/nav_slide_pop_enter_anim.xml new file mode 100644 index 000000000..0282d5b94 --- /dev/null +++ b/app/src/main/res/anim/nav_slide_pop_enter_anim.xml @@ -0,0 +1,9 @@ + + diff --git a/app/src/main/res/anim/anim_nav_slide_down.xml b/app/src/main/res/anim/nav_slide_pop_exit_anim.xml similarity index 100% rename from app/src/main/res/anim/anim_nav_slide_down.xml rename to app/src/main/res/anim/nav_slide_pop_exit_anim.xml diff --git a/app/src/main/res/navigation/nav_main.xml b/app/src/main/res/navigation/nav_main.xml index 0a73949c1..04d9dd63c 100644 --- a/app/src/main/res/navigation/nav_main.xml +++ b/app/src/main/res/navigation/nav_main.xml @@ -11,10 +11,10 @@ + app:enterAnim="@anim/nav_slide_enter_anim" + app:exitAnim="@anim/nav_slide_exit_anim" + app:popEnterAnim="@anim/nav_slide_pop_enter_anim" + app:popExitAnim="@anim/nav_slide_pop_exit_anim" /> Turn off to save memory usage Ignore MediaStore covers Increases album cover quality, but results in longer loading times and higher memory usage - Round album covers - Use gaudy rounded album covers + Rounded album covers + Use album covers with rounded corners Use alternate notification action Prefer repeat mode action Prefer shuffle action