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<!--
19keep split_shade_status_bar height constant to avoid requestLayout calls on each
20frame when animating QS <-> QQS transition
21-->
22<com.android.systemui.util.NoRemeasureMotionLayout
23    xmlns:android="http://schemas.android.com/apk/res/android"
24    xmlns:app="http://schemas.android.com/apk/res-auto"
25    android:id="@+id/split_shade_status_bar"
26    android:layout_width="match_parent"
27    android:layout_height="@dimen/qs_header_height"
28    android:minHeight="@dimen/large_screen_shade_header_min_height"
29    android:clickable="false"
30    android:focusable="true"
31    android:paddingLeft="@dimen/qs_panel_padding"
32    android:paddingRight="@dimen/qs_panel_padding"
33    android:visibility="gone"
34    android:theme="@style/Theme.SystemUI.QuickSettings.Header"
35    app:layoutDescription="@xml/combined_qs_header_scene">
36
37    <androidx.constraintlayout.widget.Guideline
38        android:id="@+id/qqs_header_bottom_guideline"
39        android:layout_width="wrap_content"
40        android:layout_height="wrap_content"
41        android:orientation="horizontal"
42        app:layout_constraintGuide_begin="@dimen/large_screen_shade_header_min_height"
43        />
44
45    <androidx.constraintlayout.widget.Guideline
46        android:layout_width="wrap_content"
47        android:layout_height="wrap_content"
48        android:id="@+id/begin_guide"
49        android:orientation="vertical"
50        app:layout_constraintGuide_begin="0dp"/>
51
52    <androidx.constraintlayout.widget.Guideline
53        android:layout_width="wrap_content"
54        android:layout_height="wrap_content"
55        android:id="@+id/end_guide"
56        android:orientation="vertical"
57        app:layout_constraintGuide_end="0dp"
58        />
59
60    <androidx.constraintlayout.widget.Guideline
61        android:layout_width="wrap_content"
62        android:layout_height="wrap_content"
63        android:id="@+id/center_left"
64        android:orientation="vertical" />
65
66    <androidx.constraintlayout.widget.Guideline
67        android:layout_width="wrap_content"
68        android:layout_height="wrap_content"
69        android:id="@+id/center_right"
70        android:orientation="vertical" />
71
72    <androidx.constraintlayout.widget.Barrier
73        android:layout_width="wrap_content"
74        android:layout_height="wrap_content"
75        android:id="@+id/barrier"
76        app:barrierDirection="start"
77        app:constraint_referenced_ids="shade_header_system_icons,privacy_container" />
78
79    <com.android.systemui.statusbar.policy.Clock
80        android:id="@+id/clock"
81        android:layout_width="wrap_content"
82        android:layout_height="0dp"
83        android:gravity="start|center_vertical"
84        android:paddingStart="@dimen/status_bar_left_clock_starting_padding"
85        android:paddingEnd="@dimen/status_bar_left_clock_end_padding"
86        android:singleLine="true"
87        android:textDirection="locale"
88        android:textAppearance="@style/TextAppearance.QS.Status"
89        android:transformPivotX="0dp"
90        android:transformPivotY="24dp"
91        android:scaleX="1"
92        android:scaleY="1"
93    />
94
95    <com.android.systemui.statusbar.policy.VariableDateView
96        android:id="@+id/date"
97        android:layout_width="wrap_content"
98        android:layout_height="0dp"
99        android:layout_gravity="start|center_vertical"
100        android:gravity="center_vertical"
101        android:singleLine="true"
102        android:textDirection="locale"
103        android:textAppearance="@style/TextAppearance.QS.Status"
104        app:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm"
105        app:shortDatePattern="@string/abbrev_month_day_no_year"
106    />
107
108    <include
109        android:id="@+id/carrier_group"
110        layout="@layout/shade_carrier_group"
111        android:layout_width="0dp"
112        android:layout_height="0dp"
113        android:layout_gravity="end|center_vertical"
114        android:layout_marginStart="8dp"
115        app:layout_constraintBottom_toBottomOf="parent"
116        app:layout_constraintEnd_toStartOf="@id/shade_header_system_icons"
117        app:layout_constraintHorizontal_bias="1"
118        app:layout_constraintStart_toEndOf="@id/date"
119        app:layout_constraintTop_toTopOf="@id/clock" />
120
121    <FrameLayout
122        android:id="@+id/shade_header_system_icons"
123        android:layout_width="wrap_content"
124        android:layout_height="@dimen/shade_header_system_icons_height"
125        app:layout_constraintBottom_toBottomOf="parent"
126        app:layout_constraintEnd_toEndOf="@id/privacy_container"
127        app:layout_constraintTop_toTopOf="@id/clock">
128        <LinearLayout
129            android:id="@+id/hover_system_icons_container"
130            android:layout_width="wrap_content"
131            android:layout_height="match_parent"
132            android:layout_gravity="end|center_vertical"
133            android:gravity="center_vertical"
134            android:paddingStart="@dimen/hover_system_icons_container_padding_start"
135            android:paddingEnd="@dimen/hover_system_icons_container_padding_end"
136            android:paddingTop="@dimen/hover_system_icons_container_padding_top"
137            android:paddingBottom="@dimen/hover_system_icons_container_padding_bottom">
138
139            <com.android.systemui.statusbar.phone.StatusIconContainer
140                android:id="@+id/statusIcons"
141                android:layout_width="0dp"
142                android:layout_weight="1"
143                android:layout_height="wrap_content"
144                android:paddingEnd="@dimen/signal_cluster_battery_padding" />
145
146            <com.android.systemui.battery.BatteryMeterView
147                android:id="@+id/batteryRemainingIcon"
148                android:layout_width="wrap_content"
149                android:layout_height="wrap_content"
150                app:textAppearance="@style/TextAppearance.QS.Status" />
151        </LinearLayout>
152    </FrameLayout>
153
154    <FrameLayout
155        android:id="@+id/privacy_container"
156        android:layout_width="wrap_content"
157        android:layout_height="@dimen/large_screen_shade_header_min_height"
158        android:gravity="center"
159        app:layout_constraintBottom_toBottomOf="@id/date"
160        app:layout_constraintEnd_toEndOf="@id/end_guide"
161        app:layout_constraintTop_toTopOf="@id/date">
162
163        <com.android.systemui.privacy.OngoingPrivacyChip
164            android:layout_width="wrap_content"
165            android:layout_height="match_parent" />
166
167    </FrameLayout>
168
169</com.android.systemui.util.NoRemeasureMotionLayout>