1<!--
2  ~ Copyright (C) 2021 The Android Open Source Project
3  ~
4  ~ Licensed under the Apache License, Version 2.0 (the "License");
5  ~ you may not use this file except in compliance with the License.
6  ~ You may obtain a copy of the License at
7  ~
8  ~      http://www.apache.org/licenses/LICENSE-2.0
9  ~
10  ~ Unless required by applicable law or agreed to in writing, software
11  ~ distributed under the License is distributed on an "AS IS" BASIS,
12  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  ~ See the License for the specific language governing permissions and
14  ~ limitations under the License.
15  -->
16
17<com.android.car.ui.FocusArea
18    xmlns:android="http://schemas.android.com/apk/res/android"
19    xmlns:app="http://schemas.android.com/apk/res-auto"
20    xmlns:systemui="http://schemas.android.com/apk/res-auto"
21    android:id="@+id/hvac_panel_container"
22    android:layout_width="match_parent"
23    android:layout_height="@dimen/hvac_panel_full_expanded_height"
24    android:layout_gravity="bottom">
25    <com.android.systemui.car.hvac.HvacPanelView
26        android:id="@+id/hvac_panel"
27        android:orientation="vertical"
28        android:layout_width="match_parent"
29        android:layout_height="@dimen/hvac_panel_full_expanded_height"
30        android:background="@color/hvac_background_color">
31        <androidx.constraintlayout.widget.Guideline
32            android:id="@+id/top_guideline"
33            android:layout_width="wrap_content"
34            android:layout_height="wrap_content"
35            android:orientation="horizontal"
36            app:layout_constraintGuide_begin="@dimen/hvac_panel_top_padding"/>
37        <androidx.constraintlayout.widget.Guideline
38            android:id="@+id/bottom_guideline"
39            android:layout_width="wrap_content"
40            android:layout_height="wrap_content"
41            android:orientation="horizontal"
42            app:layout_constraintGuide_end="@dimen/hvac_panel_bottom_padding"/>
43        <!--  NOTE: HVAC property ID's can be found in VehiclePropertyIds.java, and the area
44            ID's depend on each OEM's VHAL implementation. -->
45        <com.android.systemui.car.hvac.referenceui.BackgroundAdjustingTemperatureControlView
46            android:id="@+id/driver_hvac"
47            android:layout_width="wrap_content"
48            android:layout_height="wrap_content"
49            app:layout_constraintStart_toStartOf="parent"
50            app:layout_constraintTop_toTopOf="parent"
51            app:layout_constraintBottom_toBottomOf="parent"
52            systemui:hvacAreaId="49">
53            <include layout="@layout/hvac_temperature_bar_overlay"/>
54        </com.android.systemui.car.hvac.referenceui.BackgroundAdjustingTemperatureControlView>
55        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
56            android:id="@+id/recycle_air_button"
57            android:layout_width="@dimen/hvac_panel_button_dimen"
58            android:layout_height="@dimen/hvac_panel_group_height"
59            android:background="@drawable/hvac_panel_button_bg"
60            app:layout_constraintTop_toBottomOf="@+id/top_guideline"
61            app:layout_constraintStart_toEndOf="@+id/driver_hvac"
62            app:layout_constraintEnd_toStartOf="@+id/fan_control"
63            systemui:hvacAreaId="117"
64            systemui:hvacPropertyId="354419976"
65            systemui:hvacTurnOffIfAutoOn="true"
66            systemui:hvacToggleOnButtonDrawable="@drawable/ic_recycle_air_on"
67            systemui:hvacToggleOffButtonDrawable="@drawable/ic_recycle_air_off"/>
68        <LinearLayout
69            android:id="@+id/fan_control"
70            android:background="@drawable/hvac_panel_button_bg"
71            android:layout_width="@dimen/hvac_fan_speed_bar_width"
72            android:layout_height="@dimen/hvac_panel_group_height"
73            app:layout_constraintTop_toBottomOf="@+id/top_guideline"
74            app:layout_constraintStart_toStartOf="parent"
75            app:layout_constraintEnd_toEndOf="parent"
76            app:layout_constraintRight_toLeftOf="@+id/ac_button"
77            android:layout_centerVertical="true"
78            android:layout_centerHorizontal="true"
79            android:orientation="vertical">
80            <com.android.systemui.car.hvac.referenceui.FanSpeedBar
81                android:layout_weight="1"
82                android:layout_width="match_parent"
83                android:layout_height="0dp"/>
84            <com.android.systemui.car.hvac.referenceui.FanDirectionButtons
85                android:layout_weight="1"
86                android:layout_width="match_parent"
87                android:layout_height="0dp"
88                android:orientation="horizontal"/>
89        </LinearLayout>
90        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
91            android:id="@+id/ac_button"
92            android:layout_width="@dimen/hvac_panel_button_dimen"
93            android:layout_height="@dimen/hvac_panel_group_height"
94            android:background="@drawable/hvac_panel_button_bg"
95            app:layout_constraintTop_toBottomOf="@+id/top_guideline"
96            app:layout_constraintStart_toEndOf="@+id/fan_control"
97            app:layout_constraintEnd_toStartOf="@+id/passenger_hvac"
98            systemui:hvacAreaId="117"
99            systemui:hvacPropertyId="354419973"
100            systemui:hvacTurnOffIfAutoOn="true"
101            systemui:hvacToggleOnButtonDrawable="@drawable/ic_ac_on"
102            systemui:hvacToggleOffButtonDrawable="@drawable/ic_ac_off"/>
103        <com.android.systemui.car.hvac.referenceui.BackgroundAdjustingTemperatureControlView
104            android:id="@+id/passenger_hvac"
105            android:layout_width="wrap_content"
106            android:layout_height="wrap_content"
107            app:layout_constraintRight_toRightOf="parent"
108            app:layout_constraintTop_toTopOf="parent"
109            app:layout_constraintBottom_toBottomOf="parent"
110            systemui:hvacAreaId="68">
111            <include layout="@layout/hvac_temperature_bar_overlay"/>
112        </com.android.systemui.car.hvac.referenceui.BackgroundAdjustingTemperatureControlView>
113        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
114            android:id="@+id/ac_master_switch"
115            android:background="@drawable/hvac_panel_button_bg"
116            android:scaleType="center"
117            style="@style/HvacButton"
118            app:layout_constraintStart_toEndOf="@+id/driver_hvac"
119            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
120            systemui:hvacAreaId="117"
121            systemui:hvacPropertyId="354419984"
122            systemui:hvacTurnOffIfPowerOff="false"
123            systemui:hvacToggleOnButtonDrawable="@drawable/ac_master_switch_on"
124            systemui:hvacToggleOffButtonDrawable="@drawable/ac_master_switch_off"/>
125        <com.android.systemui.car.hvac.SeatTemperatureLevelButton
126            android:id="@+id/seat_heat_level_button_left"
127            android:background="@drawable/hvac_panel_button_bg"
128            style="@style/HvacButton"
129            app:layout_constraintStart_toEndOf="@+id/ac_master_switch"
130            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
131            systemui:hvacAreaId="1"
132            systemui:seatTemperatureType="heating"
133            systemui:seatTemperatureIconDrawableList="@array/hvac_heated_seat_default_icons"/>
134        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
135            android:id="@+id/defroster_button"
136            android:background="@drawable/hvac_panel_button_bg"
137            style="@style/HvacButton"
138            app:layout_constraintStart_toEndOf="@+id/seat_heat_level_button_left"
139            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
140            systemui:hvacAreaId="1"
141            systemui:hvacPropertyId="320865540"
142            systemui:hvacToggleOnButtonDrawable="@drawable/ic_front_defroster_on"
143            systemui:hvacToggleOffButtonDrawable="@drawable/ic_front_defroster_off"/>
144        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
145            android:id="@+id/auto_button"
146            android:background="@drawable/hvac_panel_button_bg"
147            systemui:hvacAreaId="117"
148            systemui:hvacPropertyId="354419978"
149            android:scaleType="center"
150            android:layout_gravity="center"
151            android:layout_width="0dp"
152            style="@style/HvacButton"
153            app:layout_constraintStart_toEndOf="@+id/defroster_button"
154            app:layout_constraintEnd_toStartOf="@+id/rear_defroster_button"
155            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
156            systemui:hvacToggleOnButtonDrawable="@drawable/ic_auto_on"
157            systemui:hvacToggleOffButtonDrawable="@drawable/ic_auto_off"/>
158        <com.android.systemui.car.hvac.toggle.HvacBooleanToggleButton
159            android:id="@+id/rear_defroster_button"
160            android:background="@drawable/hvac_panel_button_bg"
161            style="@style/HvacButton"
162            systemui:hvacAreaId="2"
163            systemui:hvacPropertyId="320865540"
164            app:layout_constraintEnd_toStartOf="@+id/seat_heat_level_button_right"
165            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
166            systemui:hvacToggleOnButtonDrawable="@drawable/ic_rear_defroster_on"
167            systemui:hvacToggleOffButtonDrawable="@drawable/ic_rear_defroster_off"/>
168        <com.android.systemui.car.hvac.SeatTemperatureLevelButton
169            android:id="@+id/seat_heat_level_button_right"
170            android:background="@drawable/hvac_panel_button_bg"
171            style="@style/HvacButton"
172            app:layout_constraintEnd_toStartOf="@+id/passenger_hvac"
173            app:layout_constraintBottom_toBottomOf="@+id/bottom_guideline"
174            systemui:hvacAreaId="4"
175            systemui:seatTemperatureType="heating"
176            systemui:seatTemperatureIconDrawableList="@array/hvac_heated_seat_default_icons"/>
177        <include
178            layout="@layout/hvac_panel_handle_bar"
179            app:layout_constraintTop_toTopOf="parent"/>
180    </com.android.systemui.car.hvac.HvacPanelView>
181</com.android.car.ui.FocusArea>