1<?xml version="1.0" encoding="utf-8"?>
2<!--
3  ~ Copyright (C) 2021 The Android Open Source Project
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~      http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  -->
17
18<com.android.car.ui.uxr.DrawableStateConstraintLayout
19    xmlns:android="http://schemas.android.com/apk/res/android"
20    xmlns:app="http://schemas.android.com/apk/res-auto"
21    android:layout_width="match_parent"
22    android:layout_height="wrap_content"
23    android:layout_centerVertical="true"
24    android:layout_marginVertical="@dimen/qc_row_margin_vertical"
25    android:clipToPadding="false"
26    android:minHeight="@dimen/qc_row_min_height"
27    android:paddingEnd="@dimen/qc_row_padding_end"
28    android:paddingStart="@dimen/qc_row_padding_start">
29
30    <LinearLayout
31        android:id="@+id/qc_row_start_items"
32        android:layout_width="wrap_content"
33        android:layout_height="wrap_content"
34        android:layout_marginEnd="@dimen/qc_action_items_horizontal_margin"
35        android:orientation="horizontal"
36        android:divider="@drawable/qc_row_action_divider"
37        android:showDividers="middle"
38        app:layout_constraintStart_toStartOf="parent"
39        app:layout_constraintTop_toTopOf="parent"
40        app:layout_constraintBottom_toBottomOf="parent"
41        app:layout_constraintEnd_toStartOf="@+id/qc_row_content"
42        app:layout_constraintHorizontal_chainStyle="spread_inside"/>
43
44    <com.android.car.ui.uxr.DrawableStateConstraintLayout
45        android:id="@+id/qc_row_content"
46        android:layout_width="0dp"
47        android:layout_height="0dp"
48        android:background="?android:attr/selectableItemBackground"
49        app:layout_constraintStart_toEndOf="@+id/qc_row_start_items"
50        app:layout_constraintEnd_toStartOf="@+id/qc_row_end_items"
51        app:layout_constraintTop_toTopOf="parent"
52        app:layout_constraintBottom_toBottomOf="parent"
53        app:layout_constraintHeight_default="wrap"
54        app:layout_constraintHeight_min="@dimen/qc_row_min_height">
55
56        <com.android.car.ui.uxr.DrawableStateImageView
57            android:id="@+id/qc_icon"
58            android:layout_width="@dimen/qc_row_icon_size"
59            android:layout_height="@dimen/qc_row_icon_size"
60            android:layout_marginEnd="@dimen/qc_row_icon_margin_end"
61            android:scaleType="fitCenter"
62            app:layout_constraintStart_toStartOf="parent"
63            app:layout_constraintEnd_toStartOf="@+id/barrier1"
64            app:layout_constraintTop_toTopOf="parent"
65            app:layout_constraintBottom_toTopOf="@+id/barrier2"/>
66
67        <androidx.constraintlayout.widget.Barrier
68            android:id="@+id/barrier1"
69            android:layout_width="wrap_content"
70            android:layout_height="wrap_content"
71            app:barrierDirection="end"
72            app:constraint_referenced_ids="qc_icon"
73            app:barrierAllowsGoneWidgets="false"/>
74
75        <com.android.car.ui.uxr.DrawableStateTextView
76            android:id="@+id/qc_title"
77            android:layout_width="0dp"
78            android:layout_height="wrap_content"
79            android:layout_centerVertical="true"
80            android:singleLine="true"
81            android:textAppearance="@style/TextAppearance.QC.Title"
82            app:layout_constraintStart_toEndOf="@+id/barrier1"
83            app:layout_constraintTop_toTopOf="parent"
84            app:layout_constraintBottom_toTopOf="@+id/qc_summary"
85            app:layout_constraintEnd_toEndOf="parent"
86            app:layout_constraintVertical_chainStyle="packed"/>
87
88        <com.android.car.ui.uxr.DrawableStateTextView
89            android:id="@+id/qc_summary"
90            android:layout_width="0dp"
91            android:layout_height="wrap_content"
92            android:layout_centerVertical="true"
93            android:textAppearance="@style/TextAppearance.QC.Subtitle"
94            app:layout_constraintStart_toEndOf="@+id/barrier1"
95            app:layout_constraintEnd_toEndOf="parent"
96            app:layout_constraintTop_toBottomOf="@+id/qc_title"
97            app:layout_constraintBottom_toTopOf="@+id/barrier2"/>
98
99        <androidx.constraintlayout.widget.Barrier
100            android:id="@+id/barrier2"
101            android:layout_width="wrap_content"
102            android:layout_height="wrap_content"
103            app:barrierDirection="top"
104            app:constraint_referenced_ids="qc_seekbar_wrapper"
105            app:barrierAllowsGoneWidgets="false"/>
106
107        <androidx.preference.UnPressableLinearLayout
108            android:id="@+id/qc_seekbar_wrapper"
109            android:layout_width="0dp"
110            android:layout_height="wrap_content"
111            android:paddingTop="@dimen/qc_seekbar_padding_top"
112            android:focusable="true"
113            android:background="@drawable/qc_seekbar_wrapper_background"
114            android:clipChildren="false"
115            android:clipToPadding="false"
116            android:layout_centerVertical="true"
117            android:orientation="vertical"
118            android:visibility="gone"
119            app:layout_constraintStart_toEndOf="@+id/barrier1"
120            app:layout_constraintEnd_toEndOf="parent"
121            app:layout_constraintTop_toBottomOf="@+id/barrier2"
122            app:layout_constraintBottom_toBottomOf="parent">
123            <com.android.car.qc.view.QCSeekBarView
124                android:id="@+id/seekbar"
125                android:layout_width="match_parent"
126                android:layout_height="wrap_content"
127                style="@style/Widget.QC.SeekBar"/>
128        </androidx.preference.UnPressableLinearLayout>
129
130    </com.android.car.ui.uxr.DrawableStateConstraintLayout>
131
132    <LinearLayout
133        android:id="@+id/qc_row_end_items"
134        android:layout_width="wrap_content"
135        android:layout_height="wrap_content"
136        android:layout_marginStart="@dimen/qc_action_items_horizontal_margin"
137        android:orientation="horizontal"
138        android:divider="@drawable/qc_row_action_divider"
139        android:showDividers="middle"
140        app:layout_constraintStart_toEndOf="@+id/qc_row_content"
141        app:layout_constraintEnd_toEndOf="parent"
142        app:layout_constraintTop_toTopOf="parent"
143        app:layout_constraintBottom_toBottomOf="parent"/>
144
145</com.android.car.ui.uxr.DrawableStateConstraintLayout>
146