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

Commit ad2577e1 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

LockIcon fixes

Gather state inisitally, then consolidate it on a pre-draw listener.
Before we were deciding when to change the icon based on various
variables, now I'm centralizing the decision on getState(), to avoid
cancelling animations.

Test: At AOD2, lock animates in
Test: When locked, press power button: lock icon animates in
Test: Press power button: lock icon animates in scanning and unlocks
Test: Unlock without bypassing, let device sleep, go to AOD2
Test: Long press padlock when it's open
Test: Look at padlock from SIM PIN screen
Test: Look at padlock when lock screen is not secure (no pin/pwd)
Fixes: 135587352
Fixes: 135960400
Change-Id: I85260b6c373d675bd6076046e33519816221157f
parent 0aa57fe0
Loading
Loading
Loading
Loading
+0 −227
Original line number Diff line number Diff line
<!-- Copyright (C) 2019 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
                 xmlns:aapt="http://schemas.android.com/aapt">
    <aapt:attr name="android:drawable">
        <vector android:height="42dp" android:width="32dp" android:viewportHeight="42"
                android:viewportWidth="32">
            <group android:name="_R_G">
                <group android:name="_R_G_L_2_G" android:translateX="1.6669999999999998"
                       android:translateY="11.992999999999999" android:pivotX="14.333"
                       android:pivotY="13" android:scaleX="0" android:scaleY="0">
                    <path android:name="_R_G_L_2_G_D_0_P_0" android:strokeColor="#ffffff"
                          android:strokeLineCap="round" android:strokeLineJoin="round"
                          android:strokeWidth="2" android:strokeAlpha="1"
                          android:pathData=" M22.33 21 C22.33,21 6.33,21 6.33,21 C5.6,21 5,20.4 5,19.67 C5,19.67 5,6.33 5,6.33 C5,5.6 5.6,5 6.33,5 C6.33,5 22.33,5 22.33,5 C23.07,5 23.67,5.6 23.67,6.33 C23.67,6.33 23.67,19.67 23.67,19.67 C23.67,20.4 23.07,21 22.33,21c "/>
                </group>
                <group android:name="_R_G_L_1_G_N_4_T_0" android:translateX="1.6669999999999998"
                       android:translateY="11.992999999999999" android:pivotX="14.333"
                       android:pivotY="13" android:scaleX="0" android:scaleY="0">
                    <group android:name="_R_G_L_1_G" android:translateX="11.583"
                           android:translateY="10.257">
                        <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#ffffff"
                              android:fillAlpha="1" android:fillType="nonZero"
                              android:pathData=" M2.75 0.25 C4.13,0.25 5.25,1.37 5.25,2.75 C5.25,4.13 4.13,5.25 2.75,5.25 C1.37,5.25 0.25,4.13 0.25,2.75 C0.25,1.37 1.37,0.25 2.75,0.25c "/>
                    </group>
                </group>
                <group android:name="_R_G_L_0_G_N_4_T_0" android:translateX="1.6669999999999998"
                       android:translateY="11.992999999999999" android:pivotX="14.333"
                       android:pivotY="13" android:scaleX="0" android:scaleY="0">
                    <group android:name="_R_G_L_0_G_T_1" android:translateX="14.333"
                           android:translateY="3.172">
                        <group android:name="_R_G_L_0_G" android:translateX="-9.667"
                               android:translateY="-9.667">
                            <path android:name="_R_G_L_0_G_D_0_P_0" android:strokeColor="#ffffff"
                                  android:strokeLineCap="round" android:strokeLineJoin="round"
                                  android:strokeWidth="2" android:strokeAlpha="1"
                                  android:trimPathStart="0.14" android:trimPathEnd="0.89"
                                  android:trimPathOffset="0"
                                  android:pathData=" M14.33 14.33 C14.33,14.33 14.33,9.67 14.33,9.67 C14.33,7.09 12.24,5 9.67,5 C7.09,5 5,7.09 5,9.67 C5,9.67 5,14.33 5,14.33 "/>
                        </group>
                    </group>
                </group>
            </group>
            <group android:name="time_group"/>
        </vector>
    </aapt:attr>
    <target android:name="_R_G_L_2_G">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="scaleX" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleX" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_1_G_N_4_T_0">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="scaleX" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleX" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_D_0_P_0">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="trimPathStart" android:duration="50"
                                android:startOffset="0" android:valueFrom="0.14"
                                android:valueTo="0.14" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator
                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="trimPathStart" android:duration="67"
                                android:startOffset="50" android:valueFrom="0.14"
                                android:valueTo="0" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator
                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_D_0_P_0">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="trimPathEnd" android:duration="50"
                                android:startOffset="0" android:valueFrom="0.89"
                                android:valueTo="0.89" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator
                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="trimPathEnd" android:duration="67"
                                android:startOffset="50" android:valueFrom="0.89"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator
                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_T_1">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="translateY" android:duration="150"
                                android:startOffset="0" android:valueFrom="3.172"
                                android:valueTo="0.34" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.23,-0.46 0.2,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_N_4_T_0">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="scaleX" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="233"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1.02"
                                android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.438,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleX" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator android:propertyName="scaleY" android:duration="117"
                                android:startOffset="233" android:valueFrom="1.02"
                                android:valueTo="1" android:valueType="floatType">
                    <aapt:attr name="android:interpolator">
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.565,1 1.0,1.0"/>
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="time_group">
        <aapt:attr name="android:animation">
            <set android:ordering="together">
                <objectAnimator android:propertyName="translateX" android:duration="717"
                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
                                android:valueType="floatType"/>
            </set>
        </aapt:attr>
    </target>
</animated-vector>
 No newline at end of file
+0 −327

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −190
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:aapt="http://schemas.android.com/aapt"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <aapt:attr name="android:drawable" >
        <vector
            android:height="32dp"
            android:viewportHeight="32"
            android:viewportWidth="32"
            android:width="32dp" >
            <group android:name="_R_G" >
                <group
                    android:name="_R_G_L_1_G"
                    android:pivotX="10.917"
                    android:pivotY="9.583"
                    android:scaleX="0"
                    android:scaleY="0"
                    android:translateX="5.083"
                    android:translateY="10.417" >
                    <path
                        android:name="_R_G_L_1_G_D_0_P_0"
                        android:fillAlpha="1"
                        android:fillColor="#ffffff"
                        android:fillType="nonZero"
                        android:pathData=" M18.92 0.25 C18.92,0.25 2.92,0.25 2.92,0.25 C1.45,0.25 0.25,1.45 0.25,2.92 C0.25,2.92 0.25,16.25 0.25,16.25 C0.25,17.72 1.45,18.92 2.92,18.92 C2.92,18.92 18.92,18.92 18.92,18.92 C20.38,18.92 21.58,17.72 21.58,16.25 C21.58,16.25 21.58,2.92 21.58,2.92 C21.58,1.45 20.38,0.25 18.92,0.25c  M10.92 12.25 C9.45,12.25 8.25,11.05 8.25,9.58 C8.25,8.12 9.45,6.92 10.92,6.92 C12.38,6.92 13.58,8.12 13.58,9.58 C13.58,11.05 12.38,12.25 10.92,12.25c " />
                </group>
                <group
                    android:name="_R_G_L_0_G_N_2_T_0"
                    android:pivotX="10.917"
                    android:pivotY="9.583"
                    android:scaleX="0"
                    android:scaleY="0"
                    android:translateX="5.083"
                    android:translateY="10.417" >
                    <group
                        android:name="_R_G_L_0_G_T_1"
                        android:translateX="10.917"
                        android:translateY="0.579" >
                        <group
                            android:name="_R_G_L_0_G"
                            android:translateX="-9"
                            android:translateY="-9" >
                            <path
                                android:name="_R_G_L_0_G_D_0_P_0"
                                android:pathData=" M13 13 C13,13 13,9 13,9 C13,6.79 11.21,5 9,5 C6.79,5 5,6.79 5,9 C5,9 5,13 5,13 "
                                android:strokeAlpha="1"
                                android:strokeColor="#ffffff"
                                android:strokeLineCap="round"
                                android:strokeLineJoin="round"
                                android:strokeWidth="2" />
                        </group>
                    </group>
                </group>
            </group>
            <group android:name="time_group" />
        </vector>
    </aapt:attr>

    <target android:name="_R_G_L_1_G" >
        <aapt:attr name="android:animation" >
            <set android:ordering="together" >
                <objectAnimator
                    android:duration="233"
                    android:propertyName="scaleX"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="1.025"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="233"
                    android:propertyName="scaleY"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="1.025"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="117"
                    android:propertyName="scaleX"
                    android:startOffset="233"
                    android:valueFrom="1.025"
                    android:valueTo="1"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="117"
                    android:propertyName="scaleY"
                    android:startOffset="233"
                    android:valueFrom="1.025"
                    android:valueTo="1"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_T_1" >
        <aapt:attr name="android:animation" >
            <set android:ordering="together" >
                <objectAnimator
                    android:duration="150"
                    android:pathData="M 10.917,0.579C 10.917,-0.14248990631104008 10.917,-3.02851009368896 10.917,-3.75"
                    android:propertyName="translateXY"
                    android:propertyXName="translateX"
                    android:propertyYName="translateY"
                    android:startOffset="0" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="_R_G_L_0_G_N_2_T_0" >
        <aapt:attr name="android:animation" >
            <set android:ordering="together" >
                <objectAnimator
                    android:duration="233"
                    android:propertyName="scaleX"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="1.025"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="233"
                    android:propertyName="scaleY"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="1.025"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.277 0.44,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="117"
                    android:propertyName="scaleX"
                    android:startOffset="233"
                    android:valueFrom="1.025"
                    android:valueTo="1"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
                <objectAnimator
                    android:duration="117"
                    android:propertyName="scaleY"
                    android:startOffset="233"
                    android:valueFrom="1.025"
                    android:valueTo="1"
                    android:valueType="floatType" >
                    <aapt:attr name="android:interpolator" >
                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
                    </aapt:attr>
                </objectAnimator>
            </set>
        </aapt:attr>
    </target>
    <target android:name="time_group" >
        <aapt:attr name="android:animation" >
            <set android:ordering="together" >
                <objectAnimator
                    android:duration="717"
                    android:propertyName="translateX"
                    android:startOffset="0"
                    android:valueFrom="0"
                    android:valueTo="1"
                    android:valueType="floatType" />
            </set>
        </aapt:attr>
    </target>

</animated-vector>
 No newline at end of file
+0 −336

File deleted.

Preview size limit exceeded, changes collapsed.

+88 −89

File changed.

Preview size limit exceeded, changes collapsed.

Loading