<?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. --> <!-- keep split_shade_status_bar height constant to avoid requestLayout calls on each frame when animating QS <-> QQS transition --> <com.android.systemui.util.NoRemeasureMotionLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/split_shade_status_bar" android:layout_width="match_parent" android:layout_height="@dimen/qs_header_height" android:minHeight="@dimen/large_screen_shade_header_min_height" android:clickable="false" android:focusable="true" android:paddingLeft="@dimen/qs_panel_padding" android:paddingRight="@dimen/qs_panel_padding" android:visibility="gone" android:theme="@style/Theme.SystemUI.QuickSettings.Header" app:layoutDescription="@xml/combined_qs_header_scene"> <androidx.constraintlayout.widget.Guideline android:id="@+id/qqs_header_bottom_guideline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_begin="@dimen/large_screen_shade_header_min_height" /> <androidx.constraintlayout.widget.Guideline android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/begin_guide" android:orientation="vertical" app:layout_constraintGuide_begin="0dp"/> <androidx.constraintlayout.widget.Guideline android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/end_guide" android:orientation="vertical" app:layout_constraintGuide_end="0dp" /> <androidx.constraintlayout.widget.Guideline android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/center_left" android:orientation="vertical" /> <androidx.constraintlayout.widget.Guideline android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/center_right" android:orientation="vertical" /> <androidx.constraintlayout.widget.Barrier android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/barrier" app:barrierDirection="start" app:constraint_referenced_ids="shade_header_system_icons,privacy_container" /> <com.android.systemui.statusbar.policy.Clock android:id="@+id/clock" android:layout_width="wrap_content" android:layout_height="0dp" android:gravity="start|center_vertical" android:paddingStart="@dimen/status_bar_left_clock_starting_padding" android:paddingEnd="@dimen/status_bar_left_clock_end_padding" android:singleLine="true" android:textDirection="locale" android:textAppearance="@style/TextAppearance.QS.Status" android:transformPivotX="0dp" android:transformPivotY="24dp" android:scaleX="1" android:scaleY="1" /> <com.android.systemui.statusbar.policy.VariableDateView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_gravity="start|center_vertical" android:gravity="center_vertical" android:singleLine="true" android:textDirection="locale" android:textAppearance="@style/TextAppearance.QS.Status" app:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm" app:shortDatePattern="@string/abbrev_month_day_no_year" /> <include android:id="@+id/carrier_group" layout="@layout/shade_carrier_group" android:layout_width="0dp" android:layout_height="0dp" android:layout_gravity="end|center_vertical" android:layout_marginStart="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/shade_header_system_icons" app:layout_constraintHorizontal_bias="1" app:layout_constraintStart_toEndOf="@id/date" app:layout_constraintTop_toTopOf="@id/clock" /> <FrameLayout android:id="@+id/shade_header_system_icons" android:layout_width="wrap_content" android:layout_height="@dimen/shade_header_system_icons_height" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@id/privacy_container" app:layout_constraintTop_toTopOf="@id/clock"> <LinearLayout android:id="@+id/hover_system_icons_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="end|center_vertical" android:gravity="center_vertical" android:paddingStart="@dimen/hover_system_icons_container_padding_start" android:paddingEnd="@dimen/hover_system_icons_container_padding_end" android:paddingTop="@dimen/hover_system_icons_container_padding_top" android:paddingBottom="@dimen/hover_system_icons_container_padding_bottom"> <com.android.systemui.statusbar.phone.StatusIconContainer android:id="@+id/statusIcons" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:paddingEnd="@dimen/signal_cluster_battery_padding" /> <com.android.systemui.battery.BatteryMeterView android:id="@+id/batteryRemainingIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" app:textAppearance="@style/TextAppearance.QS.Status" /> </LinearLayout> </FrameLayout> <FrameLayout android:id="@+id/privacy_container" android:layout_width="wrap_content" android:layout_height="@dimen/large_screen_shade_header_min_height" android:gravity="center" app:layout_constraintBottom_toBottomOf="@id/date" app:layout_constraintEnd_toEndOf="@id/end_guide" app:layout_constraintTop_toTopOf="@id/date"> <com.android.systemui.privacy.OngoingPrivacyChip android:layout_width="wrap_content" android:layout_height="match_parent" /> </FrameLayout> </com.android.systemui.util.NoRemeasureMotionLayout>