Update gesture navigation tutorial with new specs for foldable devices.

- Added new layout files for mock screens.
- Added new mock hotseat

Bug: 198434693
Test: launched and completed tutorial on regular phone and foldable device.
Change-Id: I1ad04f9e8e3a012528d6fd8fbaa0366687c65d06
This commit is contained in:
Schneider Victor-tulias 2021-09-30 13:56:46 -07:00
parent 22762d91cd
commit 97b85ee6cb
18 changed files with 1296 additions and 150 deletions

View File

@ -1,21 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="360dp"
android:height="146dp"
android:viewportWidth="360"
android:viewportHeight="146">
<path
android:pathData="M25,96L335,96A25,25 0,0 1,360 121L360,121A25,25 0,0 1,335 146L25,146A25,25 0,0 1,0 121L0,121A25,25 0,0 1,25 96z"
android:fillColor="#3C4043"/>
<path
android:pathData="M30,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0"
android:fillColor="#8AB4F8"/>
<path
android:pathData="M130,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0"
android:fillColor="#F28B82"/>
<path
android:pathData="M230,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0"
android:fillColor="#FDD663"/>
<path
android:pathData="M330,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0"
android:fillColor="#81C995"/>
</vector>

View File

@ -0,0 +1,239 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="101dp"
android:background="@color/mock_conversation_top_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="43dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="126dp"
android:layout_marginEnd="548dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_conversation_top_bar_item"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="43dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="300dp"
android:layout_marginEnd="16dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_conversation_top_bar_item"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/top_bar_button"/>
<androidx.cardview.widget.CardView
android:id="@+id/top_bar_button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="43dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="300dp"
android:layout_marginEnd="126dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_conversation_top_bar_item"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/mock_conversation_background"
android:paddingBottom="80dp"
app:layout_constraintTop_toBottomOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingBottom="@dimen/gesture_tutorial_message_input_margin_top"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/message_bar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:id="@+id/message_1"
android:layout_width="0dp"
android:layout_height="112dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="445dp"
android:layout_marginEnd="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_sent_message"
app:layout_constraintBottom_toTopOf="@id/reply_icon_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/reply_icon_1"
android:layout_width="@dimen/gesture_tutorial_message_icon_size"
android:layout_height="@dimen/gesture_tutorial_message_icon_size"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_message_icon_corner_radius"
app:cardBackgroundColor="@color/mock_conversation_profile_icon"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toTopOf="@id/message_2"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginStart="17dp"
android:layout_marginEnd="441dp"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_received_message"
app:layout_constraintTop_toTopOf="@id/reply_icon_1"
app:layout_constraintBottom_toBottomOf="@id/reply_icon_1"
app:layout_constraintStart_toEndOf="@id/reply_icon_1"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/message_2"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_small_margin_bottom"
android:layout_marginStart="601dp"
android:layout_marginEnd="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_sent_message"
app:layout_constraintBottom_toTopOf="@id/message_3"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/message_3"
android:layout_width="0dp"
android:layout_height="74dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="445dp"
android:layout_marginEnd="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_sent_message"
app:layout_constraintBottom_toTopOf="@id/reply_icon_2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/reply_icon_2"
android:layout_width="@dimen/gesture_tutorial_message_icon_size"
android:layout_height="@dimen/gesture_tutorial_message_icon_size"
android:layout_marginBottom="32dp"
android:layout_marginStart="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_message_icon_corner_radius"
app:cardBackgroundColor="@color/mock_conversation_profile_icon"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toTopOf="@id/message_4"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginStart="17dp"
android:layout_marginEnd="473dp"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_received_message"
app:layout_constraintTop_toTopOf="@id/reply_icon_2"
app:layout_constraintBottom_toBottomOf="@id/reply_icon_2"
app:layout_constraintStart_toEndOf="@id/reply_icon_2"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/message_4"
android:layout_width="0dp"
android:layout_height="74dp"
android:layout_marginStart="445dp"
android:layout_marginEnd="@dimen/gesture_tutorial_foldable_message_padding_start_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
app:cardBackgroundColor="@color/mock_conversation_sent_message"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:id="@+id/message_bar"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginTop="36dp"
android:layout_marginBottom="24dp"
android:layout_marginStart="134dp"
android:layout_marginEnd="126dp"
app:cardElevation="0dp"
app:cardCornerRadius="164dp"
app:cardBackgroundColor="@color/mock_conversation_message_input"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,396 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="101dp"
android:background="@color/mock_list_top_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="43dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="126dp"
android:layout_marginEnd="126dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_top_bar_item"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/mock_list_background"
android:paddingBottom="80dp"
app:layout_constraintTop_toBottomOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:paddingTop="@dimen/gesture_tutorial_conversation_list_padding_top"
android:paddingStart="126dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/mock_button">
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_1"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_1"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="270dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_1"
app:layout_constraintStart_toEndOf="@id/conversation_icon_1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_2"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_2"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="110dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_1"
app:layout_constraintStart_toEndOf="@id/conversation_icon_1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_1"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_2"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_1"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_3"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="243dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_2"
app:layout_constraintStart_toEndOf="@id/conversation_icon_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_4"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_4"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="154dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_3"
app:layout_constraintStart_toEndOf="@id/conversation_icon_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_2"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_3"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_2"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_5"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="251dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_3"
app:layout_constraintStart_toEndOf="@id/conversation_icon_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_6"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_6"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="15dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_5"
app:layout_constraintStart_toEndOf="@id/conversation_icon_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_3"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_4"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_3"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_7"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="227dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_4"
app:layout_constraintStart_toEndOf="@id/conversation_icon_4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_8"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_8"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="72dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_7"
app:layout_constraintStart_toEndOf="@id/conversation_icon_4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_4"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_5"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_4"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_9"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="297dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_5"
app:layout_constraintStart_toEndOf="@id/conversation_icon_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_10"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_10"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="111dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_9"
app:layout_constraintStart_toEndOf="@id/conversation_icon_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_5"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_6"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_5"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_11"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="230dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_6"
app:layout_constraintStart_toEndOf="@id/conversation_icon_6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_12"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_12"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="72dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_11"
app:layout_constraintStart_toEndOf="@id/conversation_icon_6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_6"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_7"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_6"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_13"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="242dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintTop_toTopOf="@id/conversation_icon_7"
app:layout_constraintStart_toEndOf="@id/conversation_icon_7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/conversation_line_14"/>
<androidx.cardview.widget.CardView
android:id="@+id/conversation_line_14"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="219dp"
android:layout_marginTop="4dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardBackgroundColor="@color/mock_list_preview_message"
app:layout_constraintTop_toBottomOf="@id/conversation_line_13"
app:layout_constraintStart_toEndOf="@id/conversation_icon_7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="@id/conversation_icon_7"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.cardview.widget.CardView
android:id="@+id/mock_button"
android:layout_width="149dp"
android:layout_height="56dp"
android:layout_marginEnd="126dp"
android:layout_marginBottom="24dp"
app:cardElevation="0dp"
app:cardCornerRadius="164dp"
app:cardBackgroundColor="@color/mock_list_button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="32dp"
android:paddingStart="170dp"
android:paddingEnd="170dp">
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_search_bar"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_hotseat_search_height"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_search_corner_radius"
app:cardBackgroundColor="@color/mock_search_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
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:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_1"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_2"/>
<androidx.cardview.widget.CardView
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:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_2"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_1"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_3"/>
<androidx.cardview.widget.CardView
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:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_3"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_2"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_4"/>
<androidx.cardview.widget.CardView
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:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_1"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_3"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_5"/>
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_5"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_4"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_4"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_6"/>
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_6"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_2"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toBottomOf="@id/hotseat_search_bar"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_5"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,275 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 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="match_parent"
android:layout_height="match_parent"
android:background="@color/mock_webpage_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/url_bar"
android:layout_width="match_parent"
android:layout_height="101dp"
android:background="@color/mock_webpage_url_bar"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="48dp"
android:layout_marginBottom="16dp"
android:layout_marginStart="100dp"
android:layout_marginEnd="100dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardBackgroundColor="@color/mock_webpage_url_bar_item"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/top_bar"
android:layout_width="match_parent"
android:layout_height="88dp"
android:layout_marginStart="100dp"
android:layout_marginEnd="100dp"
android:background="@color/mock_webpage_top_bar"
app:layout_constraintTop_toBottomOf="@id/url_bar"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:id="@+id/top_bar_button"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="22dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="24dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardBackgroundColor="@color/mock_webpage_top_bar_item"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="28dp"
android:layout_marginBottom="28dp"
android:layout_marginStart="97dp"
android:layout_marginEnd="325dp"
app:cardElevation="0dp"
app:cardCornerRadius="2dp"
app:cardBackgroundColor="@color/mock_webpage_top_bar_item"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/mock_webpage_background"
android:paddingTop="@dimen/gesture_tutorial_webpage_padding_top"
android:paddingStart="124dp"
android:paddingEnd="100dp"
app:layout_constraintTop_toBottomOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_1"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginEnd="126dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_2"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="64dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_3"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="151dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_button"
android:layout_width="47dp"
android:layout_height="12dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_3"
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="47dp"
android:layout_height="12dp"
android:background="@color/mock_webpage_page_text"
android:layout_marginStart="11dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_3"
app:layout_constraintStart_toEndOf="@id/mock_button"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_block"
android:layout_width="0dp"
android:layout_height="240dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="24dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_large_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_4"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="52dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_block"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_5"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="41dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_6"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="71dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_7"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="198dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_8"
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="64dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_7"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="71dp"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_8"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -25,13 +25,12 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
<FrameLayout
android:id="@+id/gesture_tutorial_fake_hotseat_view"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="70dp"/>
android:layout_alignParentBottom="true"/>
</RelativeLayout>
@ -128,8 +127,6 @@
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginStart="@dimen/gesture_tutorial_feedback_margin_start_end"
android:layout_marginEnd="@dimen/gesture_tutorial_feedback_margin_start_end"
android:layout_marginTop="24dp"
android:paddingTop="24dp"
android:paddingBottom="16dp"

View File

@ -94,7 +94,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingBottom="36dp"
android:paddingBottom="@dimen/gesture_tutorial_message_input_margin_top"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/message_bar"
@ -105,9 +105,9 @@
android:id="@+id/message_1"
android:layout_width="0dp"
android:layout_height="112dp"
android:layout_marginBottom="32dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="124dp"
android:layout_marginEnd="18dp"
android:layout_marginEnd="@dimen/gesture_tutorial_message_padding_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
@ -118,13 +118,13 @@
<androidx.cardview.widget.CardView
android:id="@+id/reply_icon_1"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginBottom="32dp"
android:layout_marginStart="26dp"
android:layout_width="@dimen/gesture_tutorial_message_icon_size"
android:layout_height="@dimen/gesture_tutorial_message_icon_size"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="@dimen/gesture_tutorial_message_padding_start"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_message_icon_corner_radius"
app:cardBackgroundColor="@color/mock_conversation_profile_icon"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toTopOf="@id/message_2"
@ -148,9 +148,9 @@
android:id="@+id/message_2"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginBottom="4dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_small_margin_bottom"
android:layout_marginStart="280dp"
android:layout_marginEnd="18dp"
android:layout_marginEnd="@dimen/gesture_tutorial_message_padding_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
@ -163,9 +163,9 @@
android:id="@+id/message_3"
android:layout_width="0dp"
android:layout_height="74dp"
android:layout_marginBottom="32dp"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="124dp"
android:layout_marginEnd="18dp"
android:layout_marginEnd="@dimen/gesture_tutorial_message_padding_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"
@ -176,13 +176,13 @@
<androidx.cardview.widget.CardView
android:id="@+id/reply_icon_2"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginBottom="32dp"
android:layout_marginStart="26dp"
android:layout_width="@dimen/gesture_tutorial_message_icon_size"
android:layout_height="@dimen/gesture_tutorial_message_icon_size"
android:layout_marginBottom="@dimen/gesture_tutorial_message_large_margin_bottom"
android:layout_marginStart="@dimen/gesture_tutorial_message_padding_start"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_message_icon_corner_radius"
app:cardBackgroundColor="@color/mock_conversation_profile_icon"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintBottom_toTopOf="@id/message_4"
@ -207,7 +207,7 @@
android:layout_width="0dp"
android:layout_height="74dp"
android:layout_marginStart="124dp"
android:layout_marginEnd="18dp"
android:layout_marginEnd="@dimen/gesture_tutorial_message_padding_end"
app:cardElevation="0dp"
app:cardCornerRadius="18dp"

View File

@ -61,7 +61,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingTop="28dp"
android:paddingTop="@dimen/gesture_tutorial_conversation_list_padding_top"
android:paddingStart="26dp"
android:paddingBottom="14dp"
@ -70,11 +70,11 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_1"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
@ -83,7 +83,7 @@
android:id="@+id/conversation_line_1"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="217dp"
app:cardElevation="0dp"
@ -99,7 +99,7 @@
android:id="@+id/conversation_line_2"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="142dp"
android:layout_marginTop="4dp"
@ -113,12 +113,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_2"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_1"
app:layout_constraintStart_toStartOf="parent"/>
@ -127,7 +127,7 @@
android:id="@+id/conversation_line_3"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="190dp"
app:cardElevation="0dp"
@ -143,7 +143,7 @@
android:id="@+id/conversation_line_4"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="171dp"
android:layout_marginTop="4dp"
@ -157,12 +157,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_3"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_2"
app:layout_constraintStart_toStartOf="parent"/>
@ -171,7 +171,7 @@
android:id="@+id/conversation_line_5"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="198dp"
app:cardElevation="0dp"
@ -187,7 +187,7 @@
android:id="@+id/conversation_line_6"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="79dp"
android:layout_marginTop="4dp"
@ -201,12 +201,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_4"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_3"
app:layout_constraintStart_toStartOf="parent"/>
@ -215,7 +215,7 @@
android:id="@+id/conversation_line_7"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="174dp"
app:cardElevation="0dp"
@ -231,7 +231,7 @@
android:id="@+id/conversation_line_8"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="117dp"
android:layout_marginTop="4dp"
@ -245,12 +245,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_5"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_4"
app:layout_constraintStart_toStartOf="parent"/>
@ -259,7 +259,7 @@
android:id="@+id/conversation_line_9"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="244dp"
app:cardElevation="0dp"
@ -275,7 +275,7 @@
android:id="@+id/conversation_line_10"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="143dp"
android:layout_marginTop="4dp"
@ -289,12 +289,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_6"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_5"
app:layout_constraintStart_toStartOf="parent"/>
@ -303,7 +303,7 @@
android:id="@+id/conversation_line_11"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="177dp"
app:cardElevation="0dp"
@ -319,7 +319,7 @@
android:id="@+id/conversation_line_12"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="117dp"
android:layout_marginTop="4dp"
@ -333,12 +333,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/conversation_icon_7"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_width="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_height="@dimen/gesture_tutorial_conversation_icon_size"
android:layout_marginTop="32dp"
app:cardElevation="0dp"
app:cardCornerRadius="100dp"
app:cardCornerRadius="@dimen/gesture_tutorial_conversation_icon_corner_radius"
app:cardBackgroundColor="@color/mock_list_profile_icon"
app:layout_constraintTop_toBottomOf="@id/conversation_icon_6"
app:layout_constraintStart_toStartOf="parent"/>
@ -347,7 +347,7 @@
android:id="@+id/conversation_line_13"
android:layout_width="0dp"
android:layout_height="18dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="189dp"
app:cardElevation="0dp"
@ -363,7 +363,7 @@
android:id="@+id/conversation_line_14"
android:layout_width="0dp"
android:layout_height="16dp"
android:layout_marginStart="20dp"
android:layout_marginStart="@dimen/gesture_tutorial_conversation_line_padding_start"
android:layout_marginEnd="166dp"
android:layout_marginTop="4dp"

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="70dp"
android:paddingStart="26dp"
android:paddingEnd="26dp">
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_1"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_1"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_2"/>
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_2"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_2"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_1"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_3"/>
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_3"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_3"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_2"
app:layout_constraintEnd_toStartOf="@id/hotseat_icon_4"/>
<androidx.cardview.widget.CardView
android:id="@+id/hotseat_icon_4"
android:layout_width="@dimen/gesture_tutorial_hotseat_icon_size"
android:layout_height="@dimen/gesture_tutorial_hotseat_icon_size"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_icon_corner_radius"
app:cardBackgroundColor="@color/mock_app_icon_4"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toEndOf="@id/hotseat_icon_3"
app:layout_constraintEnd_toEndOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="@dimen/gesture_tutorial_hotseat_search_height"
android:layout_marginTop="@dimen/gesture_tutorial_hotseat_icon_search_margin"
app:cardElevation="0dp"
app:cardCornerRadius="@dimen/gesture_tutorial_hotseat_search_corner_radius"
app:cardBackgroundColor="@color/mock_search_bar"
app:layout_constraintTop_toBottomOf="@id/hotseat_icon_1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -64,7 +64,6 @@
android:layout_marginTop="22dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="24dp"
android:layout_marginEnd="344dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
@ -72,8 +71,7 @@
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
app:layout_constraintStart_toStartOf="parent"/>
<androidx.cardview.widget.CardView
android:layout_width="0dp"
@ -97,9 +95,8 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/mock_webpage_background"
android:paddingTop="32dp"
android:paddingTop="@dimen/gesture_tutorial_webpage_padding_top"
android:paddingStart="24dp"
android:paddingBottom="50dp"
app:layout_constraintTop_toBottomOf="@id/top_bar"
app:layout_constraintBottom_toBottomOf="parent"
@ -109,11 +106,11 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_1"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginEnd="126dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -122,12 +119,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_2"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="64dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_1"
app:layout_constraintStart_toStartOf="parent"
@ -136,12 +133,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_3"
android:layout_width="0dp"
android:layout_height="36dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_large_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="151dp"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_2"
app:layout_constraintStart_toStartOf="parent"
@ -151,10 +148,10 @@
android:id="@+id/mock_button"
android:layout_width="47dp"
android:layout_height="12dp"
android:layout_marginTop="8dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_3"
app:layout_constraintStart_toStartOf="parent"/>
@ -164,10 +161,10 @@
android:layout_height="12dp"
android:background="@color/mock_webpage_page_text"
android:layout_marginStart="11dp"
android:layout_marginTop="8dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
app:cardElevation="0dp"
app:cardCornerRadius="4dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_small_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_3"
app:layout_constraintStart_toEndOf="@id/mock_button"/>
@ -176,11 +173,11 @@
android:id="@+id/mock_block"
android:layout_width="0dp"
android:layout_height="240dp"
android:layout_marginTop="24dp"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="24dp"
app:cardElevation="0dp"
app:cardCornerRadius="22dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_large_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_button"
app:layout_constraintStart_toStartOf="parent"
@ -189,12 +186,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_4"
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="24dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="52dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_block"
app:layout_constraintStart_toStartOf="parent"
@ -203,12 +200,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_5"
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="41dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_4"
app:layout_constraintStart_toStartOf="parent"
@ -217,12 +214,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_6"
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="71dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_5"
app:layout_constraintStart_toStartOf="parent"
@ -231,12 +228,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_7"
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="198dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_6"
app:layout_constraintStart_toStartOf="parent"
@ -245,12 +242,12 @@
<androidx.cardview.widget.CardView
android:id="@+id/mock_line_8"
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="24dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_large_margin_top"
android:layout_marginEnd="64dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_7"
app:layout_constraintStart_toStartOf="parent"
@ -258,12 +255,12 @@
<androidx.cardview.widget.CardView
android:layout_width="0dp"
android:layout_height="22dp"
android:layout_marginTop="8dp"
android:layout_height="@dimen/gesture_tutorial_webpage_small_line_height"
android:layout_marginTop="@dimen/gesture_tutorial_webpage_small_margin_top"
android:layout_marginEnd="71dp"
app:cardElevation="0dp"
app:cardCornerRadius="8dp"
app:cardCornerRadius="@dimen/gesture_tutorial_webpage_medium_corner_radius"
app:cardBackgroundColor="@color/mock_webpage_page_text"
app:layout_constraintTop_toBottomOf="@id/mock_line_8"
app:layout_constraintStart_toStartOf="parent"

View File

@ -41,6 +41,13 @@
<color name="gesture_tutorial_action_button_label_color">#FF000000</color>
<color name="gesture_tutorial_primary_color">#B7F29F</color> <!-- Light Green -->
<!-- Mock hotseat -->
<color name="mock_app_icon_1">#8AB4F8</color>
<color name="mock_app_icon_2">#F28B82</color>
<color name="mock_app_icon_3">#FDD663</color>
<color name="mock_app_icon_4">#81C995</color>
<color name="mock_search_bar">#3C4043</color>
<!-- Mock conversation -->
<color name="mock_conversation_background">#f1f3f4</color>
<color name="mock_conversation_top_bar">#e8eaed</color>

View File

@ -117,13 +117,44 @@
<dimen name="gestures_overscroll_finish_threshold">136dp</dimen>
<!-- Tips Gesture Tutorial -->
<dimen name="gesture_tutorial_title_margin_start_end">40dp</dimen>
<dimen name="gesture_tutorial_subtitle_margin_start_end">16dp</dimen>
<dimen name="gesture_tutorial_feedback_margin_start_end">24dp</dimen>
<dimen name="gesture_tutorial_button_margin_start_end">18dp</dimen>
<dimen name="gesture_tutorial_foldable_feedback_margin_start_end">140dp</dimen>
<dimen name="gesture_tutorial_multi_row_task_view_spacing">72dp</dimen>
<dimen name="gesture_tutorial_small_task_view_corner_radius">18dp</dimen>
<!-- Gesture Tutorial mock conversations -->
<dimen name="gesture_tutorial_message_icon_size">44dp</dimen>
<dimen name="gesture_tutorial_message_icon_corner_radius">100dp</dimen>
<dimen name="gesture_tutorial_message_input_margin_top">36dp</dimen>
<dimen name="gesture_tutorial_message_large_margin_bottom">32dp</dimen>
<dimen name="gesture_tutorial_message_small_margin_bottom">4dp</dimen>
<dimen name="gesture_tutorial_message_padding_start">26dp</dimen>
<dimen name="gesture_tutorial_message_padding_end">18dp</dimen>
<dimen name="gesture_tutorial_foldable_message_padding_start_end">126dp</dimen>
<!-- Gesture Tutorial mock conversation lists -->
<dimen name="gesture_tutorial_conversation_icon_size">56dp</dimen>
<dimen name="gesture_tutorial_conversation_icon_corner_radius">100dp</dimen>
<dimen name="gesture_tutorial_conversation_list_padding_top">28dp</dimen>
<dimen name="gesture_tutorial_conversation_line_padding_start">20dp</dimen>
<!-- Gesture Tutorial mock hotseats -->
<dimen name="gesture_tutorial_hotseat_icon_size">60dp</dimen>
<dimen name="gesture_tutorial_hotseat_icon_corner_radius">100dp</dimen>
<dimen name="gesture_tutorial_hotseat_search_height">50dp</dimen>
<dimen name="gesture_tutorial_hotseat_search_corner_radius">100dp</dimen>
<dimen name="gesture_tutorial_hotseat_icon_search_margin">36dp</dimen>
<!-- Gesture Tutorial mock webpages -->
<dimen name="gesture_tutorial_webpage_padding_top">32dp</dimen>
<dimen name="gesture_tutorial_webpage_large_margin_top">24dp</dimen>
<dimen name="gesture_tutorial_webpage_small_margin_top">8dp</dimen>
<dimen name="gesture_tutorial_webpage_large_corner_radius">22dp</dimen>
<dimen name="gesture_tutorial_webpage_medium_corner_radius">8dp</dimen>
<dimen name="gesture_tutorial_webpage_small_corner_radius">4dp</dimen>
<dimen name="gesture_tutorial_webpage_large_line_height">36dp</dimen>
<dimen name="gesture_tutorial_webpage_small_line_height">22dp</dimen>
<!-- All Set page -->
<dimen name="allset_page_margin_horizontal">40dp</dimen>
<dimen name="allset_title_margin_top">24dp</dimen>

View File

@ -49,12 +49,16 @@ final class BackGestureTutorialController extends TutorialController {
@LayoutRes
int getMockAppTaskCurrentPageLayoutResId() {
return R.layout.gesture_tutorial_mock_conversation;
return mTutorialFragment.isLargeScreen()
? R.layout.gesture_tutorial_foldable_mock_conversation
: R.layout.gesture_tutorial_mock_conversation;
}
@LayoutRes
int getMockAppTaskPreviousPageLayoutResId() {
return R.layout.gesture_tutorial_mock_conversation_list;
return mTutorialFragment.isLargeScreen()
? R.layout.gesture_tutorial_foldable_mock_conversation_list
: R.layout.gesture_tutorial_mock_conversation_list;
}
@Override

View File

@ -43,7 +43,9 @@ final class HomeGestureTutorialController extends SwipeUpGestureTutorialControll
@Override
protected int getMockAppTaskLayoutResId() {
return R.layout.gesture_tutorial_mock_webpage;
return mTutorialFragment.isLargeScreen()
? R.layout.gesture_tutorial_foldable_mock_webpage
: R.layout.gesture_tutorial_mock_webpage;
}
@Override

View File

@ -53,7 +53,9 @@ final class OverviewGestureTutorialController extends SwipeUpGestureTutorialCont
@Override
protected int getMockAppTaskLayoutResId() {
return R.layout.gesture_tutorial_mock_conversation_list;
return mTutorialFragment.isLargeScreen()
? R.layout.gesture_tutorial_foldable_mock_conversation_list
: R.layout.gesture_tutorial_mock_conversation_list;
}
@Override

View File

@ -57,17 +57,6 @@ public class OverviewGestureTutorialFragment extends TutorialFragment {
}
});
Animator swipeAnimator =
controller.createFingerDotOverviewSwipeAnimator(fingerDotStartTranslationY);
swipeAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
mFakePreviousTaskView.setVisibility(View.VISIBLE);
controller.onMotionPaused(true /*arbitrary value*/);
}
});
AnimatorSet fingerDotDisappearanceAnimator =
controller.createFingerDotDisappearanceAnimatorSet();
fingerDotDisappearanceAnimator.addListener(new AnimatorListenerAdapter() {
@ -89,7 +78,7 @@ public class OverviewGestureTutorialFragment extends TutorialFragment {
ArrayList<Animator> animators = new ArrayList<>();
animators.add(fingerDotAppearanceAnimator);
animators.add(swipeAnimator);
animators.add(controller.createFingerDotOverviewSwipeAnimator(fingerDotStartTranslationY));
animators.add(controller.createAnimationPause());
animators.add(fingerDotDisappearanceAnimator);
animators.add(animationPause);

View File

@ -320,8 +320,8 @@ abstract class SwipeUpGestureTutorialController extends TutorialController {
@Override
public RectF getWindowTargetRect() {
int fakeHomeIconSizePx = Utilities.dpToPx(60);
int fakeHomeIconLeft = mFakeHotseatView.getLeft();
int fakeHomeIconTop = mFakeHotseatView.getTop();
int fakeHomeIconLeft = getHotseatIconLeft();
int fakeHomeIconTop = getHotseatIconTop();
return new RectF(fakeHomeIconLeft, fakeHomeIconTop,
fakeHomeIconLeft + fakeHomeIconSizePx,
fakeHomeIconTop + fakeHomeIconSizePx);
@ -374,8 +374,19 @@ abstract class SwipeUpGestureTutorialController extends TutorialController {
}
protected Animator createFingerDotOverviewSwipeAnimator(float fingerDotStartTranslationY) {
return createFingerDotSwipeUpAnimator(fingerDotStartTranslationY)
Animator overviewSwipeAnimator = createFingerDotSwipeUpAnimator(fingerDotStartTranslationY)
.setDuration(OVERVIEW_SWIPE_ANIMATION_DURATION_MILLIS);
overviewSwipeAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
mFakePreviousTaskView.setVisibility(View.VISIBLE);
onMotionPaused(true /*arbitrary value*/);
}
});
return overviewSwipeAnimator;
}

View File

@ -85,7 +85,8 @@ abstract class TutorialController implements BackGestureAttemptCallback,
final TextView mFeedbackTitleView;
final ImageView mEdgeGestureVideoView;
final RelativeLayout mFakeLauncherView;
final ImageView mFakeHotseatView;
final FrameLayout mFakeHotseatView;
@Nullable View mHotseatIconView;
final ClipIconView mFakeIconView;
final FrameLayout mFakeTaskView;
final AnimatedTaskView mFakePreviousTaskView;
@ -164,13 +165,25 @@ abstract class TutorialController implements BackGestureAttemptCallback,
}
}
public int getHotseatIconTop() {
return mHotseatIconView == null
? 0 : mFakeHotseatView.getTop() + mHotseatIconView.getTop();
}
public int getHotseatIconLeft() {
return mHotseatIconView == null
? 0 : mFakeHotseatView.getLeft() + mHotseatIconView.getLeft();
}
void setTutorialType(TutorialType tutorialType) {
mTutorialType = tutorialType;
}
@DrawableRes
@LayoutRes
protected int getMockHotseatResId() {
return R.drawable.default_sandbox_mock_launcher;
return mTutorialFragment.isLargeScreen()
? R.layout.gesture_tutorial_foldable_mock_hotseat
: R.layout.gesture_tutorial_mock_hotseat;
}
@LayoutRes
@ -384,6 +397,7 @@ abstract class TutorialController implements BackGestureAttemptCallback,
hideActionButton();
updateSubtext();
updateDrawables();
updateLayout();
mGestureCompleted = false;
if (mFakeHotseatView != null) {
@ -416,10 +430,14 @@ abstract class TutorialController implements BackGestureAttemptCallback,
}
void updateFakeAppTaskViewLayout(@LayoutRes int mockAppTaskLayoutResId) {
mFakeTaskView.removeAllViews();
if (mockAppTaskLayoutResId != NO_ID) {
mFakeTaskView.addView(
inflate(mContext, mockAppTaskLayoutResId, null),
updateFakeViewLayout(mFakeTaskView, mockAppTaskLayoutResId);
}
void updateFakeViewLayout(ViewGroup view, @LayoutRes int mockLayoutResId) {
view.removeAllViews();
if (mockLayoutResId != NO_ID) {
view.addView(
inflate(mContext, mockLayoutResId, null),
new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
@ -438,9 +456,9 @@ abstract class TutorialController implements BackGestureAttemptCallback,
mTutorialFragment.updateFeedbackAnimation();
mFakeLauncherView.setBackgroundColor(
mContext.getColor(R.color.gesture_tutorial_fake_wallpaper_color));
mFakeHotseatView.setImageDrawable(AppCompatResources.getDrawable(
mContext, getMockHotseatResId()));
updateFakeAppTaskViewLayout(getMockAppTaskLayoutResId());
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(
@ -450,6 +468,21 @@ abstract class TutorialController implements BackGestureAttemptCallback,
}
}
private void updateLayout() {
if (mContext != null) {
RelativeLayout.LayoutParams feedbackLayoutParams =
(RelativeLayout.LayoutParams) mFeedbackView.getLayoutParams();
feedbackLayoutParams.setMarginStart(mContext.getResources().getDimensionPixelSize(
mTutorialFragment.isLargeScreen()
? R.dimen.gesture_tutorial_foldable_feedback_margin_start_end
: R.dimen.gesture_tutorial_feedback_margin_start_end));
feedbackLayoutParams.setMarginEnd(mContext.getResources().getDimensionPixelSize(
mTutorialFragment.isLargeScreen()
? R.dimen.gesture_tutorial_foldable_feedback_margin_start_end
: R.dimen.gesture_tutorial_feedback_margin_start_end));
}
}
private AlertDialog createSkipTutorialDialog() {
if (mContext instanceof GestureSandboxActivity) {
GestureSandboxActivity sandboxActivity = (GestureSandboxActivity) mContext;