Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8ca8c7b4 authored by Jordan Demeulenaere's avatar Jordan Demeulenaere
Browse files

Fix the new QS footer buttons animation

This CL fixes the animation triggered when opening an app/dialog from
one of the new QS buttons.

Before this CL, the background of those buttons was oval and therefore
can't animate its radius.

This CL changes the oval shape by a rounded rectangle so that it can
properly animate the radius of the background.

Bug: 217196619
Test: Manual
Change-Id: I77ebbb9be62b3457844e06803ab3ce7b9af5d594
parent 1c92783e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -298,6 +298,9 @@ class ActivityLaunchAnimator(
             *
             * Important: The view must be attached to a [ViewGroup] when calling this function and
             * during the animation. For safety, this method will return null when it is not.
             *
             * Note: The background of [view] should be a (rounded) rectangle so that it can be
             * properly animated.
             */
            @JvmStatic
            fun fromView(view: View, cujType: Int? = null): Controller? {
+6 −0
Original line number Diff line number Diff line
@@ -79,6 +79,9 @@ class DialogLaunchAnimator @JvmOverloads constructor(
     * If [animateBackgroundBoundsChange] is true, then the background of the dialog will be
     * animated when the dialog bounds change.
     *
     * Note: The background of [view] should be a (rounded) rectangle so that it can be properly
     * animated.
     *
     * Caveats: When calling this function and [dialog] is not a fullscreen dialog, then it will be
     * made fullscreen and 2 views will be inserted between the dialog DecorView and its children.
     */
@@ -153,6 +156,9 @@ class DialogLaunchAnimator @JvmOverloads constructor(
     * activity started, when the dialog to app animation is done (or when it is cancelled). If this
     * method returns null, then the dialog won't be dismissed.
     *
     * Note: The background of [view] should be a (rounded) rectangle so that it can be properly
     * animated.
     *
     * @param view any view inside the dialog to animate.
     */
    @JvmOverloads
+6 −2
Original line number Diff line number Diff line
@@ -19,13 +19,17 @@
    <ripple
        android:color="?android:attr/colorControlHighlight">
        <item android:id="@android:id/mask">
            <shape android:shape="oval">
            <!-- We make this shape a rounded rectangle instead of a oval so that it can animate -->
            <!-- properly into an app/dialog. -->
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius"/>
            </shape>
        </item>
        <item>
            <shape android:shape="oval">
            <shape android:shape="rectangle">
                <solid android:color="?attr/offStateColor"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius"/>
            </shape>
        </item>

+6 −2
Original line number Diff line number Diff line
@@ -19,13 +19,17 @@
    <ripple
        android:color="?android:attr/colorControlHighlight">
        <item android:id="@android:id/mask">
            <shape android:shape="oval">
            <!-- We make this shape a rounded rectangle instead of a oval so that it can animate -->
            <!-- properly into an app/dialog. -->
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius"/>
            </shape>
        </item>
        <item>
            <shape android:shape="oval">
            <shape android:shape="rectangle">
                <solid android:color="?android:attr/colorAccent"/>
                <corners android:radius="@dimen/qs_footer_action_corner_radius"/>
            </shape>
        </item>