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

Commit e1e5f29d authored by Jordan Demeulenaere's avatar Jordan Demeulenaere
Browse files

Improve animation from keyguard shortcut

This CL improves the activity launch animations from keyguard shortcuts
by changing their background to be a rounded rectangle instead of an
oval, so that it can be properly animated during the launch, and by
adding support for StateListDrawable in
GhostedViewLaunchAnimatorController.

See b/265280100#comment6 for a video.

Bug: 265280100
Test: Launch an activity from a keyguard shortcut
Change-Id: Id22045a64a062ebea5be5adebda667f4616f0597
parent 9758d71b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.graphics.drawable.Drawable
import android.graphics.drawable.GradientDrawable
import android.graphics.drawable.InsetDrawable
import android.graphics.drawable.LayerDrawable
import android.graphics.drawable.StateListDrawable
import android.util.Log
import android.view.GhostView
import android.view.View
@@ -341,6 +342,10 @@ open class GhostedViewLaunchAnimatorController @JvmOverloads constructor(
                }
            }

            if (drawable is StateListDrawable) {
                return findGradientDrawable(drawable.current)
            }

            return null
        }
    }
+14 −9
Original line number Diff line number Diff line
@@ -27,22 +27,26 @@
          android:top="3dp"
          android:right="3dp"
          android:bottom="3dp">
        <shape android:shape="oval">
        <!-- We make the shapes a rounded rectangle instead of an oval so that it can animate -->
        <!-- properly into an app/dialog. -->
        <shape android:shape="rectangle">
          <solid android:color="?androidprv:attr/colorSurface"/>
          <size
              android:width="@dimen/keyguard_affordance_width"
              android:height="@dimen/keyguard_affordance_height"/>
              android:width="@dimen/keyguard_affordance_fixed_width"
              android:height="@dimen/keyguard_affordance_fixed_height"/>
          <corners android:radius="@dimen/keyguard_affordance_fixed_radius"/>
        </shape>
      </item>

      <item>
        <shape android:shape="oval">
        <shape android:shape="rectangle">
          <stroke
              android:color="@color/control_primary_text"
              android:width="2dp"/>
          <size
              android:width="@dimen/keyguard_affordance_width"
              android:height="@dimen/keyguard_affordance_height"/>
              android:width="@dimen/keyguard_affordance_fixed_width"
              android:height="@dimen/keyguard_affordance_fixed_height"/>
          <corners android:radius="@dimen/keyguard_affordance_fixed_radius"/>
        </shape>
      </item>
    </layer-list>
@@ -55,11 +59,12 @@
          android:top="3dp"
          android:right="3dp"
          android:bottom="3dp">
        <shape android:shape="oval">
        <shape android:shape="rectangle">
          <solid android:color="?androidprv:attr/colorSurface"/>
          <size
              android:width="@dimen/keyguard_affordance_width"
              android:height="@dimen/keyguard_affordance_height"/>
              android:width="@dimen/keyguard_affordance_fixed_width"
              android:height="@dimen/keyguard_affordance_fixed_height"/>
          <corners android:radius="@dimen/keyguard_affordance_fixed_radius"/>
        </shape>
      </item>
    </layer-list>
+0 −4
Original line number Diff line number Diff line
@@ -30,10 +30,6 @@
    <!-- Margin on the left side of the carrier text on Keyguard -->
    <dimen name="keyguard_carrier_text_margin">24dp</dimen>

    <!-- The width/height of the phone/camera/unlock icon on keyguard. -->
    <dimen name="keyguard_affordance_height">80dp</dimen>
    <dimen name="keyguard_affordance_width">120dp</dimen>

    <!-- Screen pinning request width -->
    <dimen name="screen_pinning_request_width">400dp</dimen>
    <!-- Screen pinning request bottom button circle widths -->
+1 −3
Original line number Diff line number Diff line
@@ -762,12 +762,10 @@
    <dimen name="go_to_full_shade_appearing_translation">200dp</dimen>

    <!-- The width/height of the keyguard bottom area icon view on keyguard. -->
    <dimen name="keyguard_affordance_height">48dp</dimen>
    <dimen name="keyguard_affordance_width">48dp</dimen>

    <dimen name="keyguard_affordance_fixed_height">48dp</dimen>
    <dimen name="keyguard_affordance_fixed_width">48dp</dimen>
    <dimen name="keyguard_affordance_fixed_radius">24dp</dimen>

    <!-- Amount the button should shake when it's not long-pressed for long enough. -->
    <dimen name="keyguard_affordance_shake_amplitude">8dp</dimen>