Merge "Add schedule setting page for time-based modes." into main

This commit is contained in:
Yuri Lin
2024-06-10 20:50:57 +00:00
committed by Android (Google) Code Review
13 changed files with 1129 additions and 3 deletions

View File

@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2024 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.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/modes_set_schedule_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="fill_horizontal"
android:orientation="vertical"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:paddingTop="24dp"
android:paddingBottom="24dp">
<!-- Start time & end time row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="fill_horizontal"
android:orientation="horizontal">
<!-- Start time: title (non-clickable preference), time setter -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/start_time_label"
android:clickable="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
android:text="@string/zen_mode_start_time" />
<TextView
android:id="@+id/start_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
android:textColor="?android:attr/colorAccent"
android:textSize="40sp" />
</LinearLayout>
<!-- End time: title (non-clickable preference), time setter -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/end_time_label"
android:clickable="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Medium"
android:text="@string/zen_mode_end_time" />
<TextView
android:id="@+id/end_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Title"
android:textColor="?android:attr/colorAccent"
android:textSize="40sp" />
</LinearLayout>
</LinearLayout>
<!-- Schedule duration display row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="8dp"
android:paddingBottom="8dp">
<!-- left side line divider -->
<View
android:layout_width="0dp"
android:layout_height="1.5dp"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:background="?android:attr/dividerHorizontal" />
<!-- length of schedule -->
<TextView
android:id="@+id/schedule_duration"
android:clickable="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="8dp"
android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Small" />
<!-- right side line divider -->
<View
android:layout_width="0dp"
android:layout_height="1.5dp"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:background="?android:attr/dividerHorizontal" />
</LinearLayout>
<!-- Buttons for selecting days of the week -->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/days_of_week_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="10dp"
android:maxHeight="60dp"
android:orientation="horizontal">
<ToggleButton
android:id="@+id/day0"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintEnd_toStartOf="@+id/day1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day1"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/day0"
app:layout_constraintEnd_toStartOf="@+id/day2"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day2"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/day1"
app:layout_constraintEnd_toStartOf="@+id/day3"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day3"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/day2"
app:layout_constraintEnd_toStartOf="@+id/day4"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day4"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/day3"
app:layout_constraintEnd_toStartOf="@+id/day5"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day5"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintStart_toEndOf="@+id/day4"
app:layout_constraintEnd_toStartOf="@+id/day6"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/day6"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/modes_schedule_day_toggle"
android:textColor="@color/modes_set_schedule_text_color"
android:textSize="18sp"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/day5"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>