Merge changes If2c82082,I03532b80 into udc-dev

* changes:
  Update Lottie animations for gesture navigation tutorial to enable custom colors
  Update gesture tutorial colors
This commit is contained in:
Saumya Prakash
2023-05-18 22:01:49 +00:00
committed by Android (Google) Code Review
42 changed files with 505 additions and 120 deletions
@@ -19,5 +19,5 @@
android:viewportHeight="208">
<path
android:pathData="M24.53,169.2L32.09,165.56C77.7,143.55 77.7,64.45 32.09,42.35L24.53,38.71C14.55,33.95 6.06,25.56 0,14.92V193.08C6.06,182.44 14.55,174.05 24.53,169.2Z"
android:fillColor="#217500"/>
android:fillColor="?attr/onSurfaceBack"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="67">
<path
android:pathData="M180.9,0.6H51.1C22.9,0.6 0,23.4 0,51.7V67.6H232V51.7C232,23.4 209.1,0.6 180.9,0.6Z"
android:fillColor="#4B67AE"/>
android:fillColor="?attr/onSurfaceHome"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="94">
<path
android:pathData="M185.56,76.95C184.79,75.3 184.3,73.56 184.21,71.81L182.85,55.81C182.46,51.34 180.13,47.27 176.45,44.65L163.25,35.44C161.8,34.37 160.54,33.11 159.47,31.65L150.16,18.46C147.54,14.77 143.47,12.45 139,12.06L123,10.6C121.25,10.41 119.51,10.02 117.86,9.24L103.31,2.45C101.27,1.49 99.04,1 96.91,1C94.77,1 92.54,1.49 90.5,2.45L75.95,9.24C74.31,10.02 72.56,10.51 70.81,10.6L54.81,11.96C50.35,12.35 46.27,14.68 43.65,18.36L34.44,31.56C33.37,33.01 32.11,34.27 30.66,35.34L17.27,44.65C13.58,47.27 11.26,51.34 10.87,55.81L9.41,71.81C9.22,73.56 8.83,75.3 8.05,76.95L1.26,91.5C0.78,92.67 0.39,93.83 0.1,94.99H193.52C193.32,93.83 192.94,92.57 192.35,91.5L185.56,76.95Z"
android:fillColor="#7E44AD"/>
android:fillColor="?attr/onSurfaceOverview"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="303">
<path
android:pathData="M35.65,245.9L46.63,240.61C112.92,208.62 112.92,93.67 46.63,61.54L35.65,56.26C21.15,49.34 8.81,37.14 0,21.69V280.6C8.81,265.15 21.15,252.95 35.65,245.9Z"
android:fillColor="#217500"/>
android:fillColor="?attr/onSurfaceBack"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="73">
<path
android:pathData="M282.3,0H79.7C38,0 3.7,32.1 0.3,73H361.7C358.3,32.1 324,0 282.3,0Z"
android:fillColor="#4B67AE"/>
android:fillColor="?attr/onSurfaceHome"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="144">
<path
android:pathData="M284.38,116.48C283.19,113.95 282.45,111.28 282.3,108.61L280.22,84.1C279.63,77.27 276.06,71.03 270.42,67.03L250.22,52.92C247.99,51.28 246.06,49.35 244.43,47.13L230.18,26.93C226.16,21.29 219.93,17.72 213.1,17.13L188.6,14.9C185.92,14.6 183.25,14.01 180.72,12.82L158.45,2.43C155.33,0.94 151.91,0.2 148.65,0.2C145.38,0.2 141.97,0.94 138.85,2.43L116.57,12.82C114.05,14.01 111.38,14.75 108.7,14.9L84.2,16.98C77.37,17.57 71.13,21.14 67.12,26.78L53.01,46.98C51.38,49.21 49.45,51.14 47.22,52.77L26.73,67.03C21.09,71.03 17.52,77.27 16.93,84.1L14.7,108.61C14.4,111.28 13.81,113.95 12.62,116.48L2.23,138.75C1.48,140.53 0.89,142.32 0.45,144.1H296.55C296.26,142.32 295.66,140.38 294.77,138.75L284.38,116.48Z"
android:fillColor="#7E44AD"/>
android:fillColor="?attr/onSurfaceOverview"/>
</vector>
@@ -16,5 +16,4 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="?android:attr/dialogCornerRadius"/>
<solid android:color="?android:attr/colorAccent"/>
</shape>
@@ -13,7 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
<item>
<shape
android:id="@android:id/mask"
@@ -25,7 +26,7 @@
<shape
android:shape="rectangle">
<corners android:radius="50dp"/>
<solid android:color="?android:attr/colorAccent"/>
<solid android:color="@android:color/white"/>
</shape>
</item>
</layer-list>
@@ -19,5 +19,5 @@
android:viewportHeight="208">
<path
android:pathData="M23.53,169.2L31.09,165.56C76.7,143.55 76.7,64.45 31.09,42.35L23.53,38.71C13.55,33.95 5.06,25.56 -1,14.92V193.08C5.06,182.44 13.55,174.05 23.53,169.2Z"
android:fillColor="#217500"/>
android:fillColor="?attr/onSurfaceBack"/>
</vector>
@@ -19,5 +19,5 @@
android:viewportHeight="66">
<path
android:pathData="M283.8,0H80.2C40.7,0 8,28.5 1.3,66H362.8C356,28.5 323.3,0 283.8,0Z"
android:fillColor="#4B67AE"/>
android:fillColor="?attr/onSurfaceHome"/>
</vector>
@@ -15,5 +15,6 @@
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/surfaceBack" />
<corners android:radius="@dimen/gesture_tutorial_menu_button_radius" />
</shape>
@@ -0,0 +1,20 @@
<!-- Copyright (C) 2023 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.
-->
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/surfaceHome" />
<corners android:radius="@dimen/gesture_tutorial_menu_button_radius" />
</shape>
@@ -0,0 +1,20 @@
<!-- Copyright (C) 2023 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.
-->
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/surfaceOverview" />
<corners android:radius="@dimen/gesture_tutorial_menu_button_radius" />
</shape>
@@ -19,5 +19,5 @@
android:viewportHeight="76">
<path
android:pathData="M188.6,56.5C188.2,51.9 185.8,47.7 182,45L168.4,35.5C166.9,34.4 165.6,33.1 164.5,31.6L155,18C152.3,14.2 148.1,11.8 143.5,11.4L127,9.9C125.2,9.7 123.4,9.3 121.7,8.5L106.7,1.5C104.6,0.5 102.3,0 100.1,0C97.8,0 95.6,0.5 93.5,1.5L78.5,8.5C76.8,9.3 75,9.8 73.2,9.9L56.7,11.3C52.1,11.7 47.9,14.1 45.2,17.9L35.7,31.5C34.6,33 33.3,34.3 31.8,35.4L18,45C14.2,47.7 11.8,51.9 11.4,56.5L9.9,73C9.8,74 9.6,75 9.3,76H190.6C190.3,75 190.1,74 190,73L188.6,56.5Z"
android:fillColor="#7E44AD"/>
android:fillColor="?attr/onSurfaceOverview"/>
</vector>
+1 -1
View File
@@ -16,6 +16,6 @@
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/gesture_home_tutorial_background" />
<solid android:color="?attr/surfaceHome" />
<corners android:radius="@dimen/gesture_tutorial_hotseat_icon_corner_radius" />
</shape>
@@ -13,5 +13,5 @@
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/gesture_home_tutorial_background" />
<solid android:color="?attr/surfaceHome" />
</shape>
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2023 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.
-->
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="?attr/surfaceContainer" />
<corners android:radius="@dimen/gesture_tutorial_small_task_view_corner_radius" />
</shape>
@@ -15,13 +15,15 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="@style/GestureTutorialActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/gesture_tutorial_menu_padding_top"
android:paddingBottom="@dimen/gesture_tutorial_menu_padding_bottom"
android:paddingHorizontal="@dimen/gesture_tutorial_menu_padding_horizontal"
android:background="@color/gesture_tutorial_menu_background">
android:background="?androidprv:attr/materialColorSurfaceContainer">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/gesture_tutorial_menu_home_button"
@@ -29,9 +31,8 @@
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:layout_marginEnd="@dimen/gesture_tutorial_menu_button_spacing"
android:layout_marginBottom="24dp"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_home_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_home_tutorial_background"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/guideline"
@@ -50,7 +51,7 @@
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Home"
android:id="@+id/gesture_tutorial_menu_home_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -69,9 +70,8 @@
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:layout_marginEnd="@dimen/gesture_tutorial_menu_button_spacing"
android:layout_marginBottom="24dp"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_back_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_back_tutorial_exiting_app"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/guideline"
@@ -90,7 +90,7 @@
app:layout_constraintStart_toStartOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Back"
android:id="@+id/gesture_tutorial_menu_back_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -108,9 +108,8 @@
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:layout_marginBottom="24dp"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_overview_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_overview_tutorial_background"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/guideline"
@@ -129,7 +128,7 @@
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Overview"
android:id="@+id/gesture_tutorial_menu_overview_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -13,8 +13,9 @@
-->
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:theme="@style/GestureTutorialActivity"
android:id="@+id/overview_gesture_tutorial_shape"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:background="@color/gesture_overview_tutorial_background" />
android:background="?attr/onSurfaceOverview" />
@@ -15,22 +15,23 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:theme="@style/GestureTutorialActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/gesture_tutorial_menu_padding_top"
android:paddingBottom="@dimen/gesture_tutorial_menu_padding_bottom"
android:paddingHorizontal="@dimen/gesture_tutorial_menu_padding_horizontal"
android:background="@color/gesture_tutorial_menu_background"
android:background="?androidprv:attr/materialColorSurfaceContainer"
android:clipToPadding="false">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/gesture_tutorial_menu_home_button"
android:layout_width="match_parent"
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_home_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_home_tutorial_background"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="parent"
@@ -50,7 +51,7 @@
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Home"
android:id="@+id/gesture_tutorial_menu_home_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -68,9 +69,8 @@
android:layout_width="match_parent"
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:layout_marginTop="@dimen/gesture_tutorial_menu_button_spacing"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_back_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_back_tutorial_exiting_app"
app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_menu_home_button"
app:layout_constraintBottom_toTopOf="@id/gesture_tutorial_menu_overview_button"
@@ -89,7 +89,7 @@
app:layout_constraintStart_toStartOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Back"
android:id="@+id/gesture_tutorial_menu_back_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -107,9 +107,8 @@
android:layout_width="match_parent"
android:layout_height="@dimen/gesture_tutorial_menu_button_height"
android:layout_marginTop="@dimen/gesture_tutorial_menu_button_spacing"
android:background="@drawable/gesture_tutorial_menu_button_background"
android:background="@drawable/gesture_tutorial_menu_overview_button_background"
android:clipToOutline="true"
android:backgroundTint="@color/gesture_overview_tutorial_background"
app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_menu_back_button"
app:layout_constraintBottom_toTopOf="@id/guideline"
@@ -128,7 +127,7 @@
app:layout_constraintEnd_toEndOf="parent"/>
<TextView
style="@style/TextAppearance.GestureTutorial.MenuButton"
style="@style/TextAppearance.GestureTutorial.MenuButton.Overview"
android:id="@+id/gesture_tutorial_menu_overview_button_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -61,7 +61,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/gesture_tutorial_multi_row_task_view_spacing"
android:background="@drawable/top_task_view"
android:background="@drawable/redesigned_top_task_view"
android:clipToOutline="true"
android:visibility="invisible"
@@ -74,7 +74,7 @@
android:id="@+id/bottom_task_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@drawable/top_task_view"
android:background="@drawable/redesigned_top_task_view"
android:clipToOutline="true"
android:visibility="invisible"
@@ -121,7 +121,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:background="@color/gesture_back_tutorial_exiting_app"
android:visibility="gone" />
<RelativeLayout
@@ -216,7 +215,6 @@
<Button
android:id="@+id/gesture_tutorial_fragment_action_button"
style="@style/TextAppearance.GestureTutorial.ButtonLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/gesture_tutorial_action_button_background"
@@ -13,7 +13,8 @@
-->
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:theme="@style/GestureTutorialActivity"
android:id="@+id/swipe_up_gesture_tutorial_shape"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gesture_home_tutorial_background" />
android:background="?attr/surfaceHome" />
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+56 -1
View File
@@ -14,7 +14,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<resources>
<resources
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
<style name="AllSetTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar">
<item name="android:navigationBarColor">@android:color/transparent</item>
@@ -24,4 +25,58 @@
<item name="android:windowBackground">@android:color/transparent</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Home"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/onSurfaceHome</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Back"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/onSurfaceBack</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Overview"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/onSurfaceOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Home"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/secondaryHome</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Back"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/secondaryBack</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Overview"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/secondaryOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Home"
parent="TextAppearance.GestureTutorial.MainTitle.Home" />
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Back"
parent="TextAppearance.GestureTutorial.MainTitle.Back" />
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Overview"
parent="TextAppearance.GestureTutorial.MainTitle.Overview" />
<style name="GestureTutorialActivity" parent="@style/AppTheme">
<item name="background">@android:color/transparent</item>
<item name="tutorialSubtitle">@android:color/white</item>
<item name="surfaceContainer">?androidprv:attr/materialColorSurfaceContainer</item>
<item name="onSurfaceHome">?androidprv:attr/materialColorPrimaryFixedDim</item>
<item name="surfaceHome">?androidprv:attr/materialColorOnPrimaryFixedVariant</item>
<item name="secondaryHome">?androidprv:attr/materialColorOnPrimaryFixed</item>
<item name="onSurfaceBack">?androidprv:attr/materialColorTertiaryFixedDim</item>
<item name="surfaceBack">?androidprv:attr/materialColorOnTertiaryFixedVariant</item>
<item name="secondaryBack">?androidprv:attr/materialColorOnTertiaryFixed</item>
<item name="onSurfaceOverview">?androidprv:attr/materialColorPrimaryFixed</item>
<item name="surfaceOverview">?androidprv:attr/materialColorOnSecondaryFixedVariant</item>
<item name="secondaryOverview">?androidprv:attr/materialColorOnSecondaryFixed</item>
</style>
</resources>
+18
View File
@@ -28,4 +28,22 @@
<!-- Border color for a keyboard quick switch task views -->
<attr name="borderColor" format="color" />
</declare-styleable>
<!--
Gesture nav edu specific attributes. These attributes are used to customize Gesture nav edu
view lottie animation colors in XML files.
-->
<declare-styleable name="RootSandboxLayout">
<attr name="tutorialSubtitle" format="color" />
<attr name="surfaceContainer" format="color" />
<attr name="onSurfaceHome" format="color" />
<attr name="surfaceHome" format="color" />
<attr name="secondaryHome" format="color" />
<attr name="onSurfaceBack" format="color" />
<attr name="surfaceBack" format="color" />
<attr name="secondaryBack" format="color" />
<attr name="onSurfaceOverview" format="color" />
<attr name="surfaceOverview" format="color" />
<attr name="secondaryOverview" format="color" />
</declare-styleable>
</resources>
-11
View File
@@ -42,17 +42,6 @@
<color name="gesture_tutorial_fake_previous_task_view_color">#3C4043</color> <!-- Gray -->
<color name="gesture_tutorial_taskbar_color">#E8EAED</color>
<!-- Redesigned gesture navigation tutorial -->
<color name="gesture_home_tutorial_background">#FFAD91</color> <!-- Light Orange -->
<color name="gesture_tutorial_workspace_background">#4B64AE</color> <!-- Indigo Blue -->
<color name="gesture_home_tutorial_arrow">#DBF59E</color> <!-- Lime Green -->
<color name="gesture_back_tutorial_exiting_app">#F9A2B9</color> <!-- Pink -->
<color name="gesture_back_tutorial_instructional_shape">#217500</color> <!-- Green -->
<color name="gesture_overview_tutorial_background">#DFF3AF</color> <!-- Light Green -->
<color name="gesture_overview_tutorial_swipe_rect">#7E44AD</color> <!-- Purple -->
<color name="gesture_overview_background">#CABCD6</color> <!-- Light Purple -->
<color name="gesture_tutorial_menu_background">#1C1B1F</color> <!-- Black -->
<!-- Mock hotseat -->
<color name="mock_app_icon">#BDC1C6</color>
<color name="mock_search_bar">#3C4043</color>
+76 -18
View File
@@ -18,10 +18,10 @@
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
<style name="TextAppearance.GestureTutorial"
parent="android:TextAppearance.Material.Body1" />
parent="@android:style/Theme.DeviceDefault.DayNight" />
<style name="TextAppearance.GestureTutorial.CallToAction"
parent="android:TextAppearance.Material.Body2" />
parent="@android:style/Theme.DeviceDefault.DayNight" />
<style name="TextAppearance.GestureTutorial.Title"
parent="TextAppearance.GestureTutorial">
@@ -51,10 +51,24 @@
<style name="TextAppearance.GestureTutorial.MenuButton"
parent="TextAppearance.GestureTutorial.Feedback.Title">
<item name="android:gravity">center</item>
<item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
<item name="fontWeight">400</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Home"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/secondaryHome</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Back"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/secondaryBack</item>
</style>
<style name="TextAppearance.GestureTutorial.MenuButton.Overview"
parent="TextAppearance.GestureTutorial.MenuButton">
<item name="android:textColor">?attr/secondaryOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.Feedback.Title.AllSet"
parent="TextAppearance.GestureTutorial.Feedback.Title">
<item name="android:letterSpacing">0.03</item>
@@ -110,13 +124,28 @@
<style name="TextAppearance.GestureTutorial.ButtonLabel"
parent="TextAppearance.GestureTutorial.CallToAction">
<item name="android:gravity">center</item>
<item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
<item name="android:textColor">?androidprv:attr/materialColorOnPrimary</item>
<item name="android:letterSpacing">0.02</item>
<item name="android:textSize">16sp</item>
<item name="android:textAllCaps">false</item>
<item name="android:fontFamily">google-sans-text-medium</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Home"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/onSurfaceHome</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Back"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/onSurfaceBack</item>
</style>
<style name="TextAppearance.GestureTutorial.ButtonLabel.Overview"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?attr/onSurfaceOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.CancelButtonLabel"
parent="TextAppearance.GestureTutorial.ButtonLabel">
<item name="android:textColor">?android:attr/colorAccent</item>
@@ -135,26 +164,45 @@
<style name="TextAppearance.GestureTutorial.MainTitle"
parent="TextAppearance.GestureTutorial">
<item name="android:textSize">36sp</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:fontFamily">google-sans</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Home"
parent="TextAppearance.GestureTutorial.MainTitle">
<item name="android:textColor">?attr/onSurfaceHome</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Back"
parent="TextAppearance.GestureTutorial.MainTitle">
<item name="android:textColor">?attr/onSurfaceBack</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Overview"
parent="TextAppearance.GestureTutorial.MainTitle">
<item name="android:textColor">?attr/onSurfaceOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Home"
parent="TextAppearance.GestureTutorial.MainTitle.Home">
<item name="android:textColor">?attr/secondaryHome</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Back"
parent="TextAppearance.GestureTutorial.MainTitle.Back">
<item name="android:textColor">?attr/secondaryBack</item>
</style>
<style name="TextAppearance.GestureTutorial.MainTitle.Success.Overview"
parent="TextAppearance.GestureTutorial.MainTitle.Overview">
<item name="android:textColor">?attr/secondaryOverview</item>
</style>
<style name="TextAppearance.GestureTutorial.MainSubtitle"
parent="TextAppearance.GestureTutorial.Subtitle">
<item name="android:textSize">16sp</item>
<item name="android:letterSpacing">0.02</item>
<item name="android:textColor">@android:color/black</item>
<item name="android:fontFamily">google-sans-text</item>
</style>
<style name="TextAppearance.GestureTutorial.SuccessTitle"
parent="TextAppearance.GestureTutorial.MainTitle">
<item name="android:textColor">@android:color/white</item>
</style>
<style name="TextAppearance.GestureTutorial.SuccessSubtitle"
parent="TextAppearance.GestureTutorial.MainSubtitle">
<item name="android:textColor">@android:color/white</item>
<item name="android:textColor">?attr/tutorialSubtitle</item>
</style>
<style name="AllSetTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
@@ -226,8 +274,18 @@
<item name="android:textColor">?androidprv:attr/materialColorOnSurfaceInverse</item>
</style>
<style name="GestureTutorialActivity"
parent="@style/AppTheme">
<style name="GestureTutorialActivity" parent="@style/AppTheme">
<item name="background">@android:color/transparent</item>
<item name="tutorialSubtitle">@android:color/black</item>
<item name="surfaceContainer">?androidprv:attr/materialColorSurfaceContainer</item>
<item name="onSurfaceHome">?androidprv:attr/materialColorPrimaryFixed</item>
<item name="surfaceHome">@android:color/system_accent1_300</item>
<item name="secondaryHome">?androidprv:attr/materialColorOnPrimaryFixedVariant</item>
<item name="onSurfaceBack">?androidprv:attr/materialColorTertiaryFixed</item>
<item name="surfaceBack">@android:color/system_accent3_300</item>
<item name="secondaryBack">?androidprv:attr/materialColorOnTertiaryFixedVariant</item>
<item name="onSurfaceOverview">?androidprv:attr/materialColorPrimaryFixed</item>
<item name="surfaceOverview">@android:color/system_accent2_300</item>
<item name="secondaryOverview">?androidprv:attr/materialColorOnSecondaryFixedVariant</item>
</style>
</resources>
@@ -28,6 +28,9 @@ import com.android.launcher3.Utilities;
import com.android.launcher3.anim.Interpolators;
import com.android.quickstep.interaction.EdgeBackGestureHandler.BackGestureResult;
import com.android.quickstep.interaction.NavBarGestureHandler.NavBarGestureResult;
import com.android.quickstep.util.LottieAnimationColorUtils;
import java.util.Map;
/** A {@link TutorialController} for the Back tutorial. */
final class BackGestureTutorialController extends TutorialController {
@@ -36,6 +39,22 @@ final class BackGestureTutorialController extends TutorialController {
BackGestureTutorialController(BackGestureTutorialFragment fragment, TutorialType tutorialType) {
super(fragment, tutorialType);
// Set the Lottie animation colors specifically for the Back gesture
if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
LottieAnimationColorUtils.updateColors(
mAnimatedGestureDemonstration,
Map.of(".onSurfaceBack", fragment.mRootView.mColorOnSurfaceBack,
".surfaceBack", fragment.mRootView.mColorSurfaceBack,
".secondaryBack", fragment.mRootView.mColorSecondaryBack));
LottieAnimationColorUtils.updateColors(
mCheckmarkAnimation,
Map.of(".checkmark",
Utilities.isDarkTheme(mContext)
? fragment.mRootView.mColorOnSurfaceBack
: fragment.mRootView.mColorSecondaryBack,
".checkmarkBackground", fragment.mRootView.mColorSurfaceBack));
}
}
@Override
@@ -62,6 +81,28 @@ final class BackGestureTutorialController extends TutorialController {
: R.string.back_gesture_feedback_complete_with_overview_follow_up;
}
@Override
public int getTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Back;
}
@Override
public int getSuccessTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Success_Back;
}
@Override
public int getDoneButtonTextAppearance() {
return R.style.TextAppearance_GestureTutorial_ButtonLabel_Back;
}
@Override
public int getDoneButtonColor() {
return Utilities.isDarkTheme(mContext)
? mTutorialFragment.mRootView.mColorOnSurfaceBack
: mTutorialFragment.mRootView.mColorSecondaryBack;
}
@Override
protected int getMockAppTaskLayoutResId() {
return getMockAppTaskCurrentPageLayoutResId();
@@ -95,8 +136,13 @@ final class BackGestureTutorialController extends TutorialController {
}
@Override
protected int getSwipeActionColorResId() {
return R.color.gesture_tutorial_workspace_background;
protected int getSwipeActionColor() {
return mTutorialFragment.mRootView.mColorSurfaceContainer;
}
@Override
protected int getExitingAppColor() {
return mTutorialFragment.mRootView.mColorSurfaceBack;
}
@Override
@@ -22,6 +22,7 @@ import android.graphics.PointF;
import android.os.Build;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.quickstep.interaction.EdgeBackGestureHandler.BackGestureResult;
import com.android.quickstep.interaction.NavBarGestureHandler.NavBarGestureResult;
import com.android.quickstep.util.LottieAnimationColorUtils;
@@ -34,13 +35,22 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll
HomeGestureTutorialController(HomeGestureTutorialFragment fragment, TutorialType tutorialType) {
super(fragment, tutorialType);
// Set the Lottie animation colors specifically for the Home gesture
if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
LottieAnimationColorUtils.updateColors(
mAnimatedGestureDemonstration,
Map.of(".onSurfaceHome", R.color.gesture_tutorial_workspace_background,
".surfaceHome", R.color.gesture_home_tutorial_background,
".arrow", R.color.gesture_home_tutorial_arrow),
mContext.getTheme());
Map.of(".onSurfaceHome", fragment.mRootView.mColorOnSurfaceHome,
".surfaceHome", fragment.mRootView.mColorSurfaceHome,
".secondaryHome", fragment.mRootView.mColorSecondaryHome));
LottieAnimationColorUtils.updateColors(
mCheckmarkAnimation,
Map.of(".checkmark",
Utilities.isDarkTheme(mContext)
? fragment.mRootView.mColorOnSurfaceHome
: fragment.mRootView.mColorSecondaryHome,
".checkmarkBackground", fragment.mRootView.mColorSurfaceHome));
}
}
@@ -70,6 +80,28 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll
: R.string.home_gesture_feedback_complete_with_follow_up;
}
@Override
public int getTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Home;
}
@Override
public int getSuccessTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Success_Home;
}
@Override
public int getDoneButtonTextAppearance() {
return R.style.TextAppearance_GestureTutorial_ButtonLabel_Home;
}
@Override
public int getDoneButtonColor() {
return Utilities.isDarkTheme(mContext)
? mTutorialFragment.mRootView.mColorOnSurfaceHome
: mTutorialFragment.mRootView.mColorSecondaryHome;
}
@Override
protected int getMockAppTaskLayoutResId() {
return ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()
@@ -89,8 +121,13 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll
}
@Override
protected int getSwipeActionColorResId() {
return R.color.gesture_tutorial_workspace_background;
protected int getSwipeActionColor() {
return mTutorialFragment.mRootView.mColorSurfaceContainer;
}
@Override
protected int getExitingAppColor() {
return mTutorialFragment.mRootView.mColorSurfaceHome;
}
@Override
@@ -28,13 +28,16 @@ import android.os.Handler;
import android.view.View;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatedFloat;
import com.android.launcher3.anim.PendingAnimation;
import com.android.quickstep.SwipeUpAnimationLogic;
import com.android.quickstep.interaction.EdgeBackGestureHandler.BackGestureResult;
import com.android.quickstep.interaction.NavBarGestureHandler.NavBarGestureResult;
import com.android.quickstep.util.LottieAnimationColorUtils;
import java.util.ArrayList;
import java.util.Map;
/** A {@link TutorialController} for the Overview tutorial. */
@TargetApi(Build.VERSION_CODES.R)
@@ -43,6 +46,23 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
OverviewGestureTutorialController(OverviewGestureTutorialFragment fragment,
TutorialType tutorialType) {
super(fragment, tutorialType);
// Set the Lottie animation colors specifically for the Overview gesture
if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
LottieAnimationColorUtils.updateColors(
mAnimatedGestureDemonstration,
Map.of(".onSurfaceOverview", fragment.mRootView.mColorOnSurfaceOverview,
".surfaceOverview", fragment.mRootView.mColorSurfaceOverview,
".secondaryOverview", fragment.mRootView.mColorSecondaryOverview));
LottieAnimationColorUtils.updateColors(
mCheckmarkAnimation,
Map.of(".checkmark",
Utilities.isDarkTheme(mContext)
? fragment.mRootView.mColorOnSurfaceOverview
: fragment.mRootView.mColorSecondaryOverview,
".checkmarkBackground", fragment.mRootView.mColorSurfaceOverview));
}
}
@Override
public int getIntroductionTitle() {
@@ -68,6 +88,28 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
: R.string.overview_gesture_feedback_complete_without_follow_up;
}
@Override
public int getTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Overview;
}
@Override
public int getSuccessTitleTextAppearance() {
return R.style.TextAppearance_GestureTutorial_MainTitle_Success_Overview;
}
@Override
public int getDoneButtonTextAppearance() {
return R.style.TextAppearance_GestureTutorial_ButtonLabel_Overview;
}
@Override
public int getDoneButtonColor() {
return Utilities.isDarkTheme(mContext)
? mTutorialFragment.mRootView.mColorOnSurfaceOverview
: mTutorialFragment.mRootView.mColorSecondaryOverview;
}
@Override
protected int getMockAppTaskLayoutResId() {
return ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()
@@ -87,15 +129,21 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
}
@Override
protected int getSwipeActionColorResId() {
return R.color.gesture_overview_background;
protected int getSwipeActionColor() {
return mTutorialFragment.mRootView.mColorSurfaceOverview;
}
@Override
protected int getMockPreviousAppTaskThumbnailColorResId() {
protected int getExitingAppColor() {
return mTutorialFragment.mRootView.mColorOnSurfaceOverview;
}
@Override
protected int getMockPreviousAppTaskThumbnailColor() {
return ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()
? R.color.gesture_overview_tutorial_swipe_rect
: R.color.gesture_tutorial_fake_previous_task_view_color;
? mTutorialFragment.mRootView.mColorSurfaceContainer
: mContext.getResources().getColor(
R.color.gesture_tutorial_fake_previous_task_view_color);
}
@Override
@@ -213,7 +261,7 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
}
private void onSuccessAnimationComplete() {
setLauncherViewColor(R.color.gesture_overview_tutorial_swipe_rect);
mFakeLauncherView.setBackgroundColor(getMockPreviousAppTaskThumbnailColor());
showSuccessFeedback();
}
}
@@ -18,6 +18,8 @@ package com.android.quickstep.interaction;
import static com.android.launcher3.config.FeatureFlags.ENABLE_NEW_GESTURE_NAV_TUTORIAL;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.Insets;
import android.graphics.Rect;
import android.util.AttributeSet;
@@ -26,7 +28,9 @@ import android.view.View;
import android.view.WindowInsets;
import android.widget.RelativeLayout;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentManager;
import com.android.launcher3.R;
@@ -39,21 +43,70 @@ public class RootSandboxLayout extends RelativeLayout {
private final Rect mTempInclusionBounds = new Rect();
private final Rect mTempExclusionBounds = new Rect();
@ColorInt final int mColorSurfaceContainer;
@ColorInt final int mColorOnSurfaceHome;
@ColorInt final int mColorSurfaceHome;
@ColorInt final int mColorSecondaryHome;
@ColorInt final int mColorOnSurfaceBack;
@ColorInt final int mColorSurfaceBack;
@ColorInt final int mColorSecondaryBack;
@ColorInt final int mColorOnSurfaceOverview;
@ColorInt final int mColorSurfaceOverview;
@ColorInt final int mColorSecondaryOverview;
private View mFeedbackView;
private View mTutorialStepView;
private View mSkipButton;
private View mDoneButton;
public RootSandboxLayout(Context context) {
super(context);
this(context, null);
}
public RootSandboxLayout(Context context, AttributeSet attrs) {
super(context, attrs);
this(context, attrs, 0);
}
public RootSandboxLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this(context, attrs, defStyleAttr, 0);
}
public RootSandboxLayout(
@NonNull Context context,
@Nullable AttributeSet attrs,
int defStyleAttr,
int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
TypedArray ta = context.obtainStyledAttributes(
attrs,
R.styleable.RootSandboxLayout,
defStyleAttr,
defStyleRes);
boolean isDarkTheme = Utilities.isDarkTheme(context);
int colorSurface = isDarkTheme ? Color.BLACK : Color.WHITE;
int colorOnSurface = isDarkTheme ? Color.WHITE : Color.BLACK;
int colorSecondary = Color.GRAY;
mColorSurfaceContainer = ta.getColor(
R.styleable.RootSandboxLayout_surfaceContainer, colorSurface);
mColorOnSurfaceHome = ta.getColor(
R.styleable.RootSandboxLayout_onSurfaceHome, colorOnSurface);
mColorSurfaceHome = ta.getColor(R.styleable.RootSandboxLayout_surfaceHome, colorSurface);
mColorSecondaryHome = ta.getColor(
R.styleable.RootSandboxLayout_secondaryHome, colorSecondary);
mColorOnSurfaceBack = ta.getColor(
R.styleable.RootSandboxLayout_onSurfaceBack, colorOnSurface);
mColorSurfaceBack = ta.getColor(R.styleable.RootSandboxLayout_surfaceBack, colorSurface);
mColorSecondaryBack = ta.getColor(
R.styleable.RootSandboxLayout_secondaryBack, colorSecondary);
mColorOnSurfaceOverview = ta.getColor(
R.styleable.RootSandboxLayout_onSurfaceOverview, colorOnSurface);
mColorSurfaceOverview = ta.getColor(
R.styleable.RootSandboxLayout_surfaceOverview, colorSurface);
mColorSecondaryOverview = ta.getColor(
R.styleable.RootSandboxLayout_secondaryOverview, colorSecondary);
ta.recycle();
}
@Override
@@ -26,7 +26,6 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.ColorRes;
import android.annotation.RawRes;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -47,11 +46,13 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.CallSuper;
import androidx.annotation.ColorInt;
import androidx.annotation.DrawableRes;
import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.annotation.StyleRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.content.res.AppCompatResources;
@@ -119,7 +120,7 @@ abstract class TutorialController implements BackGestureAttemptCallback,
private boolean mGestureCompleted = false;
protected LottieAnimationView mAnimatedGestureDemonstration;
private LottieAnimationView mCheckmarkAnimation;
protected LottieAnimationView mCheckmarkAnimation;
private RelativeLayout mFullGestureDemonstration;
// These runnables should be used when posting callbacks to their views and cleared from their
@@ -258,15 +259,17 @@ abstract class TutorialController implements BackGestureAttemptCallback,
return NO_ID;
}
@ColorRes
protected int getMockPreviousAppTaskThumbnailColorResId() {
return R.color.gesture_tutorial_fake_previous_task_view_color;
@ColorInt
protected int getMockPreviousAppTaskThumbnailColor() {
return mContext.getResources().getColor(
R.color.gesture_tutorial_fake_previous_task_view_color);
}
@ColorRes
protected int getSwipeActionColorResId() {
return NO_ID;
}
@ColorInt
protected abstract int getSwipeActionColor();
@ColorInt
protected abstract int getExitingAppColor();
@DrawableRes
public int getMockAppIconResId() {
@@ -304,6 +307,24 @@ abstract class TutorialController implements BackGestureAttemptCallback,
return NO_ID;
}
@StyleRes
public int getTitleTextAppearance() {
return NO_ID;
}
@StyleRes
public int getSuccessTitleTextAppearance() {
return NO_ID;
}
@StyleRes
public int getDoneButtonTextAppearance() {
return NO_ID;
}
@ColorInt
public abstract int getDoneButtonColor();
void showFeedback() {
if (mGestureCompleted) {
mFeedbackView.setTranslationY(0);
@@ -417,9 +438,7 @@ abstract class TutorialController implements BackGestureAttemptCallback,
private void showSuccessPage() {
mCheckmarkAnimation.setVisibility(View.VISIBLE);
mCheckmarkAnimation.playAnimation();
mFeedbackTitleView.setTextAppearance(R.style.TextAppearance_GestureTutorial_SuccessTitle);
mFeedbackSubtitleView.setTextAppearance(
R.style.TextAppearance_GestureTutorial_SuccessSubtitle);
mFeedbackTitleView.setTextAppearance(mContext, getSuccessTitleTextAppearance());
}
public boolean isGestureCompleted() {
@@ -536,6 +555,9 @@ abstract class TutorialController implements BackGestureAttemptCallback,
updateLayout();
if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
mFeedbackTitleView.setTextAppearance(mContext, getTitleTextAppearance());
mDoneButton.setTextAppearance(mContext, getDoneButtonTextAppearance());
mDoneButton.getBackground().setTint(getDoneButtonColor());
mCheckmarkAnimation.setAnimation(mTutorialFragment.isAtFinalStep()
? R.raw.checkmark_animation_end
: R.raw.checkmark_animation_in_progress);
@@ -560,8 +582,7 @@ abstract class TutorialController implements BackGestureAttemptCallback,
protected void resetViewsForBackGesture() {
mFakeTaskView.setVisibility(View.VISIBLE);
mFakeTaskView.setBackgroundColor(
mContext.getColor(R.color.gesture_tutorial_workspace_background));
mFakeTaskView.setBackgroundColor(getSwipeActionColor());
mExitingAppView.setVisibility(View.VISIBLE);
// reset the exiting app's dimensions
@@ -649,26 +670,26 @@ abstract class TutorialController implements BackGestureAttemptCallback,
}
}
void setLauncherViewColor(@ColorRes int backgroundColorRes) {
mFakeLauncherView.setBackgroundColor(mContext.getColor(backgroundColorRes));
}
private void updateDrawables() {
if (mContext != null) {
mTutorialFragment.getRootView().setBackground(AppCompatResources.getDrawable(
mContext, getMockWallpaperResId()));
mTutorialFragment.updateFeedbackAnimation();
setLauncherViewColor(ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()
? getSwipeActionColorResId() : R.color.gesture_tutorial_fake_wallpaper_color);
mFakeLauncherView.setBackgroundColor(ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()
? getSwipeActionColor()
: mContext.getColor(R.color.gesture_tutorial_fake_wallpaper_color));
updateFakeViewLayout(mFakeHotseatView, getMockHotseatResId());
mHotseatIconView = mFakeHotseatView.findViewById(R.id.hotseat_icon_1);
updateFakeViewLayout(mFakeTaskView, getMockAppTaskLayoutResId());
mFakeTaskView.animate().alpha(1).setListener(
AnimatorListeners.forSuccessCallback(() -> mFakeTaskView.animate().cancel()));
mFakePreviousTaskView.setFakeTaskViewFillColor(mContext.getResources().getColor(
getMockPreviousAppTaskThumbnailColorResId()));
mFakePreviousTaskView.setFakeTaskViewFillColor(getMockPreviousAppTaskThumbnailColor());
mFakeIconView.setBackground(AppCompatResources.getDrawable(
mContext, getMockAppIconResId()));
if (ENABLE_NEW_GESTURE_NAV_TUTORIAL.get()) {
mExitingAppView.setBackgroundColor(getExitingAppColor());
}
}
}