mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
Merge "Update gesture nav colors and animation for dark/light theming" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d50d21b602
@@ -13,8 +13,19 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="50dp"/>
|
||||
<solid android:color="@color/gesture_tutorial_primary_color"/>
|
||||
</shape>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape
|
||||
android:id="@android:id/mask"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="50dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="50dp"/>
|
||||
<solid android:color="@color/gesture_tutorial_primary_color"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -922,7 +922,7 @@
|
||||
<path
|
||||
android:name="_R_G_L_3_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="@color/fake_wallpaper_color_dark_mode"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206 -446 C206,-446 206,446 206,446 C206,446 -206,446 -206,446 C-206,446 -206,-446 -206,-446 C-206,-446 206,-446 206,-446c " />
|
||||
</group>
|
||||
1254
quickstep/res/drawable/gesture_tutorial_motion_home_light_mode.xml
Normal file
1254
quickstep/res/drawable/gesture_tutorial_motion_home_light_mode.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -860,7 +860,7 @@
|
||||
<path
|
||||
android:name="_R_G_L_5_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="@color/fake_wallpaper_color_dark_mode"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206 -446 C206,-446 206,446 206,446 C206,446 -206,446 -206,446 C-206,446 -206,-446 -206,-446 C-206,-446 206,-446 206,-446c " />
|
||||
</group>
|
||||
@@ -1600,7 +1600,7 @@
|
||||
<path
|
||||
android:name="_R_G_L_1_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#3c4043"
|
||||
android:fillColor="@color/gesture_tutorial_fake_previous_task_view_color"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M135 -301 C135,-301 135,311 135,311 C135,319.28 128.28,326 120,326 C120,326 -120,326 -120,326 C-128.28,326 -135,319.28 -135,311 C-135,311 -135,-301 -135,-301 C-135,-309.28 -128.28,-316 -120,-316 C-120,-316 120,-316 120,-316 C128.28,-316 135,-309.28 135,-301c " />
|
||||
</group>
|
||||
263
quickstep/res/drawable/mock_webpage_light_mode.xml
Normal file
263
quickstep/res/drawable/mock_webpage_light_mode.xml
Normal file
@@ -0,0 +1,263 @@
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<target android:name="time_group">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="83"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="0"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:width="412dp"
|
||||
android:height="892dp"
|
||||
android:viewportHeight="892"
|
||||
android:viewportWidth="412">
|
||||
<group android:name="_R_G">
|
||||
<group android:name="_R_G_L_0_G">
|
||||
<group android:name="_R_G_L_0_G_L_4_G">
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_11_G"
|
||||
android:scaleX="0.87473"
|
||||
android:scaleY="0.98643"
|
||||
android:translateX="206"
|
||||
android:translateY="472.769">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_11_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#dadce0"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M235.5 -407 C235.5,-407 235.5,407 235.5,407 C235.5,416.93 227.43,425 217.5,425 C217.5,425 -217.5,425 -217.5,425 C-227.43,425 -235.5,416.93 -235.5,407 C-235.5,407 -235.5,-407 -235.5,-407 C-235.5,-416.93 -227.43,-425 -217.5,-425 C-217.5,-425 217.5,-425 217.5,-425 C227.43,-425 235.5,-416.93 235.5,-407c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_10_G"
|
||||
android:translateX="182.5"
|
||||
android:translateY="831">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_10_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M158.5 -3 C158.5,-3 158.5,3 158.5,3 C158.5,7.42 154.92,11 150.5,11 C150.5,11 -150.5,11 -150.5,11 C-154.92,11 -158.5,7.42 -158.5,3 C-158.5,3 -158.5,-3 -158.5,-3 C-158.5,-7.42 -154.92,-11 -150.5,-11 C-150.5,-11 150.5,-11 150.5,-11 C154.92,-11 158.5,-7.42 158.5,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_9_G"
|
||||
android:translateX="186"
|
||||
android:translateY="801">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_9_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M162 -3 C162,-3 162,3 162,3 C162,7.42 158.42,11 154,11 C154,11 -154,11 -154,11 C-158.42,11 -162,7.42 -162,3 C-162,3 -162,-3 -162,-3 C-162,-7.42 -158.42,-11 -154,-11 C-154,-11 154,-11 154,-11 C158.42,-11 162,-7.42 162,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_8_G"
|
||||
android:translateX="119"
|
||||
android:translateY="755">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_8_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M95 -3 C95,-3 95,3 95,3 C95,7.42 91.42,11 87,11 C87,11 -87,11 -87,11 C-91.42,11 -95,7.42 -95,3 C-95,3 -95,-3 -95,-3 C-95,-7.42 -91.42,-11 -87,-11 C-87,-11 87,-11 87,-11 C91.42,-11 95,-7.42 95,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_7_G"
|
||||
android:translateX="182.5"
|
||||
android:translateY="725">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_7_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M158.5 -3 C158.5,-3 158.5,3 158.5,3 C158.5,7.42 154.92,11 150.5,11 C150.5,11 -150.5,11 -150.5,11 C-154.92,11 -158.5,7.42 -158.5,3 C-158.5,3 -158.5,-3 -158.5,-3 C-158.5,-7.42 -154.92,-11 -150.5,-11 C-150.5,-11 150.5,-11 150.5,-11 C154.92,-11 158.5,-7.42 158.5,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_6_G"
|
||||
android:translateX="197.5"
|
||||
android:translateY="695">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_6_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M173.5 -3 C173.5,-3 173.5,3 173.5,3 C173.5,7.42 169.92,11 165.5,11 C165.5,11 -165.5,11 -165.5,11 C-169.92,11 -173.5,7.42 -173.5,3 C-173.5,3 -173.5,-3 -173.5,-3 C-173.5,-7.42 -169.92,-11 -165.5,-11 C-165.5,-11 165.5,-11 165.5,-11 C169.92,-11 173.5,-7.42 173.5,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_5_G"
|
||||
android:translateX="192"
|
||||
android:translateY="665">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_5_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M168 -3 C168,-3 168,3 168,3 C168,7.42 164.42,11 160,11 C160,11 -160,11 -160,11 C-164.42,11 -168,7.42 -168,3 C-168,3 -168,-3 -168,-3 C-168,-7.42 -164.42,-11 -160,-11 C-160,-11 160,-11 160,-11 C164.42,-11 168,-7.42 168,-3c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_4_G"
|
||||
android:translateX="105.5"
|
||||
android:translateY="360">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_4_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M23.5 -2 C23.5,-2 23.5,2 23.5,2 C23.5,4.21 21.71,6 19.5,6 C19.5,6 -19.5,6 -19.5,6 C-21.71,6 -23.5,4.21 -23.5,2 C-23.5,2 -23.5,-2 -23.5,-2 C-23.5,-4.21 -21.71,-6 -19.5,-6 C-19.5,-6 19.5,-6 19.5,-6 C21.71,-6 23.5,-4.21 23.5,-2c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_3_G"
|
||||
android:translateX="47.5"
|
||||
android:translateY="360">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_3_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M23.5 -2 C23.5,-2 23.5,2 23.5,2 C23.5,4.21 21.71,6 19.5,6 C19.5,6 -19.5,6 -19.5,6 C-21.71,6 -23.5,4.21 -23.5,2 C-23.5,2 -23.5,-2 -23.5,-2 C-23.5,-4.21 -21.71,-6 -19.5,-6 C-19.5,-6 19.5,-6 19.5,-6 C21.71,-6 23.5,-4.21 23.5,-2c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_2_G"
|
||||
android:translateX="142.5"
|
||||
android:translateY="328">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_2_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M118.5 -10 C118.5,-10 118.5,10 118.5,10 C118.5,14.42 114.92,18 110.5,18 C110.5,18 -110.5,18 -110.5,18 C-114.92,18 -118.5,14.42 -118.5,10 C-118.5,10 -118.5,-10 -118.5,-10 C-118.5,-14.42 -114.92,-18 -110.5,-18 C-110.5,-18 110.5,-18 110.5,-18 C114.92,-18 118.5,-14.42 118.5,-10c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_1_G"
|
||||
android:translateX="186"
|
||||
android:translateY="284">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_1_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M162 -10 C162,-10 162,10 162,10 C162,14.42 158.42,18 154,18 C154,18 -154,18 -154,18 C-158.42,18 -162,14.42 -162,10 C-162,10 -162,-10 -162,-10 C-162,-14.42 -158.42,-18 -154,-18 C-154,-18 154,-18 154,-18 C158.42,-18 162,-14.42 162,-10c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_4_G_L_0_G"
|
||||
android:translateX="155"
|
||||
android:translateY="240">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_4_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M131 -10 C131,-10 131,10 131,10 C131,14.42 127.42,18 123,18 C123,18 -123,18 -123,18 C-127.42,18 -131,14.42 -131,10 C-131,10 -131,-10 -131,-10 C-131,-14.42 -127.42,-18 -123,-18 C-123,-18 123,-18 123,-18 C127.42,-18 131,-14.42 131,-10c " />
|
||||
</group>
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_3_G"
|
||||
android:translateX="24"
|
||||
android:translateY="390">
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_3_G_L_0_G"
|
||||
android:translateX="182"
|
||||
android:translateY="120">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_3_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bdc1c6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M182 -98 C182,-98 182,98 182,98 C182,110.14 172.14,120 160,120 C160,120 -160,120 -160,120 C-172.14,120 -182,110.14 -182,98 C-182,98 -182,-98 -182,-98 C-182,-110.14 -172.14,-120 -160,-120 C-160,-120 160,-120 160,-120 C172.14,-120 182,-110.14 182,-98c " />
|
||||
</group>
|
||||
</group>
|
||||
<group android:name="_R_G_L_0_G_L_2_G">
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_2_G_L_2_G"
|
||||
android:translateX="206"
|
||||
android:translateY="145">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_2_G_L_2_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#e8eaed"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206 -95.63 C206,-95.63 206,42.37 206,42.37 C206,43.47 205.1,44.37 204,44.37 C204,44.37 -204,44.37 -204,44.37 C-205.1,44.37 -206,43.47 -206,42.37 C-206,42.37 -206,-95.63 -206,-95.63 C-206,-96.73 -205.1,-97.63 -204,-97.63 C-204,-97.63 204,-97.63 204,-97.63 C205.1,-97.63 206,-96.73 206,-95.63c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_2_G_L_1_G"
|
||||
android:translateX="206"
|
||||
android:translateY="145">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_2_G_L_1_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#80868b"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M109 -14 C109,-14 109,14 109,14 C109,15.1 108.1,16 107,16 C107,16 -107,16 -107,16 C-108.1,16 -109,15.1 -109,14 C-109,14 -109,-14 -109,-14 C-109,-15.1 -108.1,-16 -107,-16 C-107,-16 107,-16 107,-16 C108.1,-16 109,-15.1 109,-14c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_2_G_L_0_G"
|
||||
android:translateX="46"
|
||||
android:translateY="145">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_2_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#80868b"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M22 -14 C22,-14 22,14 22,14 C22,18.42 18.42,22 14,22 C14,22 -14,22 -14,22 C-18.42,22 -22,18.42 -22,14 C-22,14 -22,-14 -22,-14 C-22,-18.42 -18.42,-22 -14,-22 C-14,-22 14,-22 14,-22 C18.42,-22 22,-18.42 22,-14c " />
|
||||
</group>
|
||||
</group>
|
||||
<group android:name="_R_G_L_0_G_L_1_G">
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_1_G_L_2_G"
|
||||
android:translateX="206"
|
||||
android:translateY="51">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_1_G_L_2_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#6e7175"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206 -0.27 C206,-0.27 206,49.73 206,49.73 C206,49.73 -206,49.73 -206,49.73 C-206,49.73 -206,-0.27 -206,-0.27 C-206,-0.27 206,-0.27 206,-0.27c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_1_G_L_1_G"
|
||||
android:translateX="206"
|
||||
android:translateY="50.5">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_1_G_L_1_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#6e7175"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206 -32.5 C206,-32.5 206,32.5 206,32.5 C206,42.43 197.93,50.5 188,50.5 C188,50.5 -188,50.5 -188,50.5 C-197.93,50.5 -206,42.43 -206,32.5 C-206,32.5 -206,-32.5 -206,-32.5 C-206,-42.43 -197.93,-50.5 -188,-50.5 C-188,-50.5 188,-50.5 188,-50.5 C197.93,-50.5 206,-42.43 206,-32.5c " />
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_1_G_L_0_G"
|
||||
android:translateX="206"
|
||||
android:translateY="66.5">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_1_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#9a9a9a"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M190 0 C190,0 190,0 190,0 C190,10.21 181.71,18.5 171.5,18.5 C171.5,18.5 -171.5,18.5 -171.5,18.5 C-181.71,18.5 -190,10.21 -190,0 C-190,0 -190,0 -190,0 C-190,-10.21 -181.71,-18.5 -171.5,-18.5 C-171.5,-18.5 171.5,-18.5 171.5,-18.5 C181.71,-18.5 190,-10.21 190,0c " />
|
||||
</group>
|
||||
</group>
|
||||
<group
|
||||
android:name="_R_G_L_0_G_L_0_G"
|
||||
android:scaleY="0"
|
||||
android:translateX="206"
|
||||
android:translateY="446">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#bac4d6"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M206.06 -430.06 C206.06,-430.06 206,431 206,431 C206,446 189.75,446 189.79,446 C189.79,446 -189.98,446 -189.98,446 C-189.94,446 -206,446 -206,431 C-206,431 -206,-430 -206,-430 C-206,-446 -189.97,-446 -190.01,-446 C-190.01,-446 188.98,-446.06 188.98,-446.06 C188.94,-446.06 206,-446 206.06,-430.06c " />
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<group android:name="time_group" />
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
</animated-vector>
|
||||
@@ -20,13 +20,20 @@
|
||||
android:layout_height="match_parent"
|
||||
android:clipChildren="false">
|
||||
|
||||
<ImageView
|
||||
<RelativeLayout
|
||||
android:id="@+id/gesture_tutorial_fake_launcher_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="70dp" />
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/gesture_tutorial_fake_hotseat_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="70dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.android.launcher3.views.ClipIconView
|
||||
android:id="@+id/gesture_tutorial_fake_icon_view"
|
||||
@@ -119,8 +126,6 @@
|
||||
app:layout_constraintTop_toTopOf="@id/gesture_tutorial_fragment_action_button"
|
||||
app:layout_constraintBottom_toBottomOf="@id/gesture_tutorial_fragment_action_button"/>
|
||||
|
||||
<!-- android:stateListAnimator="@null" removes shadow and normal on click behavior (increase
|
||||
of elevation and shadow) which is replaced by ripple effect in android:foreground -->
|
||||
<Button
|
||||
android:id="@+id/gesture_tutorial_fragment_action_button"
|
||||
style="@style/TextAppearance.GestureTutorial.ButtonLabel"
|
||||
@@ -133,7 +138,6 @@
|
||||
android:paddingEnd="16dp"
|
||||
android:text="@string/gesture_tutorial_action_button_label_next"
|
||||
android:background="@drawable/gesture_tutorial_action_button_background"
|
||||
android:foreground="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:stateListAnimator="@null"
|
||||
android:visibility="invisible"
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ final class BackGestureTutorialController extends TutorialController {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMockAppTaskThumbnailResId() {
|
||||
protected int getMockAppTaskThumbnailResId(boolean forDarkMode) {
|
||||
return R.drawable.mock_conversation;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,10 +27,14 @@ import com.android.quickstep.interaction.TutorialController.TutorialType;
|
||||
public class BackGestureTutorialFragment extends TutorialFragment {
|
||||
@Nullable
|
||||
@Override
|
||||
Integer getFeedbackVideoResId() {
|
||||
Integer getFeedbackVideoResId(boolean forDarkMode) {
|
||||
return mTutorialType == TutorialType.RIGHT_EDGE_BACK_NAVIGATION
|
||||
? R.drawable.gesture_tutorial_motion_back_right
|
||||
: R.drawable.gesture_tutorial_motion_back_left;
|
||||
? (forDarkMode
|
||||
? R.drawable.gesture_tutorial_motion_back_right_dark_mode
|
||||
: R.drawable.gesture_tutorial_motion_back_right_light_mode)
|
||||
: (forDarkMode
|
||||
? R.drawable.gesture_tutorial_motion_back_left_dark_mode
|
||||
: R.drawable.gesture_tutorial_motion_back_left_light_mode);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -42,8 +42,8 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMockAppTaskThumbnailResId() {
|
||||
return R.drawable.mock_webpage;
|
||||
protected int getMockAppTaskThumbnailResId(boolean forDarkMode) {
|
||||
return forDarkMode ? R.drawable.mock_webpage_dark_mode : R.drawable.mock_webpage_light_mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,8 +24,10 @@ import com.android.quickstep.interaction.TutorialController.TutorialType;
|
||||
public class HomeGestureTutorialFragment extends TutorialFragment {
|
||||
@Nullable
|
||||
@Override
|
||||
Integer getFeedbackVideoResId() {
|
||||
return R.drawable.gesture_tutorial_motion_home;
|
||||
Integer getFeedbackVideoResId(boolean forDarkMode) {
|
||||
return forDarkMode
|
||||
? R.drawable.gesture_tutorial_motion_home_dark_mode
|
||||
: R.drawable.gesture_tutorial_motion_home_light_mode;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -49,7 +49,7 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getMockAppTaskThumbnailResId() {
|
||||
protected int getMockAppTaskThumbnailResId(boolean forDarkMode) {
|
||||
return R.drawable.mock_conversations_list;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,8 +24,10 @@ import com.android.quickstep.interaction.TutorialController.TutorialType;
|
||||
public class OverviewGestureTutorialFragment extends TutorialFragment {
|
||||
@Nullable
|
||||
@Override
|
||||
Integer getFeedbackVideoResId() {
|
||||
return R.drawable.gesture_tutorial_motion_overview;
|
||||
Integer getFeedbackVideoResId(boolean forDarkMode) {
|
||||
return forDarkMode
|
||||
? R.drawable.gesture_tutorial_motion_overview_dark_mode
|
||||
: R.drawable.gesture_tutorial_motion_overview_light_mode;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -72,7 +72,7 @@ abstract class SwipeUpGestureTutorialController extends TutorialController {
|
||||
private AnimatorListenerAdapter mResetTaskView = new AnimatorListenerAdapter() {
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
mFakeLauncherView.setVisibility(View.INVISIBLE);
|
||||
mFakeHotseatView.setVisibility(View.INVISIBLE);
|
||||
mFakeIconView.setVisibility(View.INVISIBLE);
|
||||
if (mTutorialFragment.getActivity() != null) {
|
||||
DisplayMetrics displayMetrics =
|
||||
@@ -197,7 +197,7 @@ abstract class SwipeUpGestureTutorialController extends TutorialController {
|
||||
hideFeedback(true);
|
||||
cancelRunningAnimation();
|
||||
mFakePreviousTaskView.setVisibility(View.INVISIBLE);
|
||||
mFakeLauncherView.setVisibility(View.VISIBLE);
|
||||
mFakeHotseatView.setVisibility(View.VISIBLE);
|
||||
mShowPreviousTasks = false;
|
||||
RectFSpringAnim rectAnim =
|
||||
mTaskViewSwipeUpAnimation.handleSwipeUpToHome(finalVelocity);
|
||||
@@ -299,7 +299,7 @@ abstract class SwipeUpGestureTutorialController extends TutorialController {
|
||||
@Override
|
||||
public RectF getWindowTargetRect() {
|
||||
int fakeHomeIconSizePx = Utilities.dpToPx(60);
|
||||
int fakeHomeIconLeft = mFakeLauncherView.getLeft();
|
||||
int fakeHomeIconLeft = mFakeHotseatView.getLeft();
|
||||
int fakeHomeIconTop = mDp.heightPx - Utilities.dpToPx(216);
|
||||
return new RectF(fakeHomeIconLeft, fakeHomeIconTop,
|
||||
fakeHomeIconLeft + fakeHomeIconSizePx,
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.CallSuper;
|
||||
@@ -66,7 +67,8 @@ abstract class TutorialController implements BackGestureAttemptCallback,
|
||||
final ViewGroup mFeedbackView;
|
||||
final ImageView mFeedbackVideoView;
|
||||
final ImageView mGestureVideoView;
|
||||
final ImageView mFakeLauncherView;
|
||||
final RelativeLayout mFakeLauncherView;
|
||||
final ImageView mFakeHotseatView;
|
||||
final ClipIconView mFakeIconView;
|
||||
final View mFakeTaskView;
|
||||
final View mFakePreviousTaskView;
|
||||
@@ -90,6 +92,7 @@ abstract class TutorialController implements BackGestureAttemptCallback,
|
||||
mFeedbackVideoView = rootView.findViewById(R.id.gesture_tutorial_feedback_video);
|
||||
mGestureVideoView = rootView.findViewById(R.id.gesture_tutorial_gesture_video);
|
||||
mFakeLauncherView = rootView.findViewById(R.id.gesture_tutorial_fake_launcher_view);
|
||||
mFakeHotseatView = rootView.findViewById(R.id.gesture_tutorial_fake_hotseat_view);
|
||||
mFakeIconView = rootView.findViewById(R.id.gesture_tutorial_fake_icon_view);
|
||||
mFakeTaskView = rootView.findViewById(R.id.gesture_tutorial_fake_task_view);
|
||||
mFakePreviousTaskView =
|
||||
@@ -113,12 +116,12 @@ abstract class TutorialController implements BackGestureAttemptCallback,
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
protected int getMockLauncherResId() {
|
||||
protected int getMockHotseatResId() {
|
||||
return R.drawable.default_sandbox_mock_launcher;
|
||||
}
|
||||
|
||||
@DrawableRes
|
||||
protected int getMockAppTaskThumbnailResId() {
|
||||
protected int getMockAppTaskThumbnailResId(boolean forDarkMode) {
|
||||
return R.drawable.default_sandbox_app_task_thumbnail;
|
||||
}
|
||||
|
||||
@@ -312,8 +315,8 @@ abstract class TutorialController implements BackGestureAttemptCallback,
|
||||
updateDrawables();
|
||||
|
||||
mGestureCompleted = false;
|
||||
if (mFakeLauncherView != null) {
|
||||
mFakeLauncherView.setVisibility(View.INVISIBLE);
|
||||
if (mFakeHotseatView != null) {
|
||||
mFakeHotseatView.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,10 +347,14 @@ abstract class TutorialController implements BackGestureAttemptCallback,
|
||||
mTutorialFragment.getRootView().setBackground(AppCompatResources.getDrawable(
|
||||
mContext, getMockWallpaperResId()));
|
||||
mTutorialFragment.updateFeedbackVideo();
|
||||
mFakeLauncherView.setImageDrawable(AppCompatResources.getDrawable(
|
||||
mContext, getMockLauncherResId()));
|
||||
mFakeLauncherView.setBackgroundColor(
|
||||
mContext.getColor(Utilities.isDarkTheme(mContext)
|
||||
? R.color.fake_wallpaper_color_dark_mode
|
||||
: R.color.fake_wallpaper_color_light_mode));
|
||||
mFakeHotseatView.setImageDrawable(AppCompatResources.getDrawable(
|
||||
mContext, getMockHotseatResId()));
|
||||
mFakeTaskView.setBackground(AppCompatResources.getDrawable(
|
||||
mContext, getMockAppTaskThumbnailResId()));
|
||||
mContext, getMockAppTaskThumbnailResId(Utilities.isDarkTheme(mContext))));
|
||||
mFakeTaskView.animate().alpha(1).setListener(
|
||||
AnimatorListeners.forSuccessCallback(() -> mFakeTaskView.animate().cancel()));
|
||||
mFakePreviousTaskView.setBackground(AppCompatResources.getDrawable(
|
||||
|
||||
@@ -38,6 +38,7 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.quickstep.interaction.TutorialController.TutorialType;
|
||||
|
||||
abstract class TutorialFragment extends Fragment implements OnTouchListener {
|
||||
@@ -96,7 +97,7 @@ abstract class TutorialFragment extends Fragment implements OnTouchListener {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable Integer getFeedbackVideoResId() {
|
||||
@Nullable Integer getFeedbackVideoResId(boolean forDarkMode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -176,8 +177,12 @@ abstract class TutorialFragment extends Fragment implements OnTouchListener {
|
||||
}
|
||||
|
||||
boolean updateFeedbackVideo() {
|
||||
Integer feedbackVideoResId = getFeedbackVideoResId();
|
||||
if (feedbackVideoResId == null || getContext() == null || !updateGestureVideo()) {
|
||||
if (getContext() == null) {
|
||||
return false;
|
||||
}
|
||||
Integer feedbackVideoResId = getFeedbackVideoResId(Utilities.isDarkTheme(getContext()));
|
||||
|
||||
if (feedbackVideoResId == null || !updateGestureVideo()) {
|
||||
return false;
|
||||
}
|
||||
mTutorialAnimation = (AnimatedVectorDrawable) getContext().getDrawable(feedbackVideoResId);
|
||||
|
||||
1587
res/drawable/gesture_tutorial_motion_overview_light_mode.xml
Normal file
1587
res/drawable/gesture_tutorial_motion_overview_light_mode.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -38,6 +38,9 @@
|
||||
|
||||
<color name="gesture_tutorial_ripple_color">#A0C2F9</color> <!-- Light Blue -->
|
||||
<color name="gesture_tutorial_fake_task_view_color">#6DA1FF</color> <!-- Light Blue -->
|
||||
<color name="fake_wallpaper_color_dark_mode">#000000</color> <!-- Black -->
|
||||
<color name="fake_wallpaper_color_light_mode">#f9f9f9</color> <!-- White -->
|
||||
<!-- Must contrast fake_wallpaper_color_dark_mode and fake_wallpaper_color_light_mode -->
|
||||
<color name="gesture_tutorial_fake_previous_task_view_color">#3C4043</color> <!-- Gray -->
|
||||
<color name="gesture_tutorial_action_button_label_color">#FF000000</color>
|
||||
<color name="gesture_tutorial_primary_color">#B7F29F</color> <!-- Light Green -->
|
||||
|
||||
Reference in New Issue
Block a user