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

Commit fd79b4df authored by Saumya Prakash's avatar Saumya Prakash
Browse files

Redesign the gesture tutorial for the Back gesture

This change adds in a new animation and layout to change the existing back tutorial as part of the effort to redesign gesture navigation education for users. This temporarily uses placeholder animations for the overview gesture. Large screen animations are also added for Home and Back tutorial.

Flag: ENABLE_NEW_GESTURE_NAV_TUTORIAL
Bug: 241813570
Bug: 253521922
Bug: 253520701
Test: Manual
Change-Id: Ied18b88a83a3b673a7cf40fd33b6013f24998e44
parent f22345ea
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@
        <activity android:name="com.android.quickstep.interaction.GestureSandboxActivity"
            android:autoRemoveFromRecents="true"
            android:excludeFromRecents="true"
            android:theme="@style/GestureTutorialActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="com.android.quickstep.action.GESTURE_SANDBOX"/>
+70 −0
Original line number Diff line number Diff line
<?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.
-->
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:paddingVertical="26dp"
    android:paddingHorizontal="56dp">

    <View
        android:id="@+id/hotseat_icon_1"
        android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
        android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
        android:background="@drawable/hotseat_icon_home"
        android:clipToOutline="true"

        app:layout_constraintBottom_toTopOf="@id/hotseat_icon_2"
        app:layout_constraintVertical_chainStyle="spread_inside"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <View
        android:id="@+id/hotseat_icon_2"
        android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
        android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
        android:background="@drawable/hotseat_icon_home"
        android:clipToOutline="true"

        app:layout_constraintBottom_toTopOf="@id/hotseat_icon_3"
        app:layout_constraintTop_toBottomOf="@id/hotseat_icon_1"
        app:layout_constraintStart_toStartOf="parent" />

    <View
        android:id="@+id/hotseat_icon_3"
        android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
        android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
        android:background="@drawable/hotseat_icon_home"
        android:clipToOutline="true"

        app:layout_constraintBottom_toTopOf="@id/hotseat_icon_4"
        app:layout_constraintTop_toBottomOf="@id/hotseat_icon_2"
        app:layout_constraintStart_toStartOf="parent" />

    <View
        android:id="@+id/hotseat_icon_4"
        android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
        android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
        android:background="@drawable/hotseat_icon_home"
        android:clipToOutline="true"

        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/hotseat_icon_3"
        app:layout_constraintBottom_toBottomOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
 No newline at end of file
+18 −0
Original line number Diff line number Diff line
<?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.
-->
<View
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back_gesture_tutorial_background"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
+18 −20
Original line number Diff line number Diff line
@@ -118,6 +118,14 @@
        android:scaleType="fitXY"
        android:visibility="gone" />

    <View
        android:id="@+id/exiting_app_back"
        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
        android:id="@+id/full_gesture_demonstration"
        android:layout_width="match_parent"
@@ -193,43 +201,33 @@
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle" />

        <ImageView
            android:id="@+id/gesture_tutorial_checkbox_bg"
        <com.airbnb.lottie.LottieAnimationView
            android:id="@+id/checkmark_animation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="48dp"
            android:layout_marginTop="100dp"
            android:background="@drawable/gesture_tutorial_complete_checkmark_bg"
            android:gravity="center"
            android:scaleType="centerCrop"
            app:lottie_loop="false"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="@id/gesture_tutorial_fragment_action_button"

            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle" />

        <ImageView
            android:id="@+id/gesture_tutorial_checkbox"
            android:layout_width="124dp"
            android:layout_height="124dp"
            android:background="@drawable/gesture_tutorial_complete_checkmark"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="@id/gesture_tutorial_checkbox_bg"
            app:layout_constraintEnd_toEndOf="@id/gesture_tutorial_checkbox_bg"
            app:layout_constraintStart_toStartOf="@id/gesture_tutorial_checkbox_bg"
            app:layout_constraintTop_toTopOf="@id/gesture_tutorial_checkbox_bg" />

        <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:layout_marginTop="48dp"
            android:background="@drawable/gesture_tutorial_action_button_background"
            android:stateListAnimator="@null"
            android:text="@string/gesture_tutorial_action_button_label"
            android:visibility="gone"
            android:visibility="invisible"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_checkbox_bg" />
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toBottomOf="@id/checkmark_animation" />

    </androidx.constraintlayout.widget.ConstraintLayout>

+1 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading