1<!-- 2 ~ Copyright (C) 2023 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<FrameLayout 17 xmlns:android="http://schemas.android.com/apk/res/android" 18 xmlns:app="http://schemas.android.com/apk/res-auto" 19 xmlns:systemui="http://schemas.android.com/apk/res-auto" 20 android:layout_width="match_parent" 21 android:layout_height="wrap_content"> 22 <com.android.car.ui.FocusParkingView 23 android:layout_width="wrap_content" 24 android:layout_height="wrap_content"/> 25 <com.android.car.ui.FocusArea 26 android:layout_width="match_parent" 27 android:layout_height="wrap_content" 28 android:gravity="center" 29 android:orientation="vertical"> 30 <androidx.constraintlayout.widget.ConstraintLayout 31 android:layout_width="match_parent" 32 android:layout_height="wrap_content"> 33 <androidx.constraintlayout.widget.ConstraintLayout 34 android:id="@+id/header_container" 35 android:layout_width="match_parent" 36 android:layout_height="wrap_content" 37 android:layout_marginTop="@dimen/car_padding_1" 38 android:layout_marginBottom="@dimen/car_padding_2" 39 app:layout_constraintTop_toTopOf="parent" 40 app:layout_constraintStart_toStartOf="parent" 41 app:layout_constraintEnd_toEndOf="parent" 42 app:layout_constraintBottom_toTopOf="@+id/qc_scroll_container"> 43 <com.android.systemui.statusbar.policy.DateView 44 android:id="@+id/date" 45 android:layout_width="wrap_content" 46 android:layout_height="wrap_content" 47 android:layout_gravity="start|center_vertical" 48 android:gravity="center_vertical" 49 android:singleLine="true" 50 android:textSize="@dimen/car_body3_size" 51 android:textColor="@*android:color/car_body3" 52 android:layout_marginStart="@dimen/car_padding_4" 53 android:layout_marginEnd="@dimen/car_padding_4" 54 app:layout_constraintHorizontal_bias="0" 55 app:layout_constraintHorizontal_chainStyle="spread_inside" 56 app:layout_constraintTop_toTopOf="parent" 57 app:layout_constraintBottom_toBottomOf="parent" 58 app:layout_constraintStart_toStartOf="parent" 59 app:layout_constraintEnd_toStartOf="@id/read_only_status_icons_container" 60 systemui:datePattern="EEEMMMd" /> 61 <com.android.systemui.car.qc.QCHeaderReadOnlyIconsContainer 62 android:id="@+id/read_only_status_icons_container" 63 android:layout_width="wrap_content" 64 android:layout_height="wrap_content" 65 android:layout_gravity="end|center_vertical" 66 android:orientation="horizontal" 67 android:gravity="end|center_vertical" 68 android:layout_marginStart="@dimen/car_padding_4" 69 android:layout_marginEnd="@dimen/car_padding_4" 70 app:layout_constraintTop_toTopOf="parent" 71 app:layout_constraintBottom_toBottomOf="parent" 72 app:layout_constraintEnd_toEndOf="parent" 73 app:layout_constraintStart_toEndOf="@+id/date"/> 74 </androidx.constraintlayout.widget.ConstraintLayout> 75 76 <ScrollView 77 android:id="@+id/qc_scroll_container" 78 android:layout_width="match_parent" 79 android:layout_height="wrap_content" 80 android:layout_marginBottom="@dimen/car_padding_3" 81 app:layout_constraintStart_toStartOf="parent" 82 app:layout_constraintEnd_toEndOf="parent" 83 app:layout_constraintTop_toBottomOf="@+id/header_container" 84 app:layout_constraintBottom_toTopOf="@+id/footer_container"> 85 <LinearLayout 86 android:layout_width="match_parent" 87 android:layout_height="wrap_content" 88 android:orientation="vertical"> 89 <com.android.systemui.car.qc.SystemUIQCView 90 android:layout_width="match_parent" 91 android:layout_height="wrap_content" 92 android:gravity="center" 93 app:remoteQCProvider="content://com.android.car.settings.qc/hotspot_row"/> 94 <com.android.systemui.car.qc.SystemUIQCView 95 android:layout_width="match_parent" 96 android:layout_height="wrap_content" 97 android:gravity="center" 98 app:remoteQCProvider="content://com.android.car.settings.qc/brightness_slider"/> 99 <com.android.systemui.car.qc.SystemUIQCView 100 android:layout_width="match_parent" 101 android:layout_height="wrap_content" 102 android:gravity="center" 103 app:remoteQCProvider="content://com.android.car.settings.qc/media_volume_slider_without_icon"/> 104 </LinearLayout> 105 </ScrollView> 106 107 <androidx.constraintlayout.widget.ConstraintLayout 108 android:id="@+id/footer_container" 109 android:layout_width="match_parent" 110 android:layout_height="@dimen/car_quick_controls_panel_footer_button_view_height" 111 android:layout_marginBottom="@dimen/car_padding_2" 112 android:layout_marginStart="@dimen/car_padding_2" 113 android:layout_marginEnd="@dimen/car_padding_2" 114 android:orientation="horizontal" 115 app:layout_constraintBottom_toBottomOf="parent" 116 app:layout_constraintStart_toStartOf="parent" 117 app:layout_constraintEnd_toEndOf="parent"> 118 <com.android.systemui.car.qc.QCUserPickerButton 119 android:id="@+id/user_button" 120 android:layout_width="0dp" 121 android:layout_height="match_parent" 122 style="@style/QCFooterButtonViewStyle" 123 app:layout_constraintHorizontal_weight="9" 124 app:layout_constraintStart_toStartOf="parent" 125 app:layout_constraintEnd_toStartOf="@+id/settings_button"> 126 <ImageView 127 android:id="@+id/user_icon" 128 android:layout_width="0dp" 129 android:layout_height="match_parent" 130 android:background="@drawable/car_user_icon_circle_background" 131 android:layout_marginStart="@dimen/car_padding_1" 132 app:layout_constraintDimensionRatio="1:1" 133 app:layout_constraintStart_toStartOf="parent" 134 app:layout_constraintEnd_toStartOf="@+id/user_name_text"/> 135 <TextView 136 android:id="@+id/user_name_text" 137 android:layout_width="0dp" 138 android:layout_height="match_parent" 139 android:textAppearance="@style/TextAppearance.SystemBar.Username" 140 android:singleLine="true" 141 android:autoSizeTextType="uniform" 142 android:layout_marginStart="@dimen/car_padding_2" 143 android:layout_marginEnd="@dimen/car_padding_2" 144 app:layout_constraintHorizontal_weight="1" 145 app:layout_constraintStart_toEndOf="@id/user_icon" 146 app:layout_constraintEnd_toStartOf="@+id/chevron_right"/> 147 <ImageView 148 android:id="@+id/chevron_right" 149 android:layout_width="0dp" 150 android:layout_height="match_parent" 151 android:src="@drawable/car_ic_chevron_right" 152 android:scaleType="fitCenter" 153 android:layout_marginEnd="@dimen/car_padding_1" 154 app:layout_constraintDimensionRatio="1:1" 155 app:layout_constraintStart_toEndOf="@id/user_name_text" 156 app:layout_constraintEnd_toEndOf="parent"/> 157 </com.android.systemui.car.qc.QCUserPickerButton> 158 159 <com.android.systemui.car.qc.QCFooterButtonView 160 android:id="@+id/settings_button" 161 android:layout_width="0dp" 162 android:layout_height="match_parent" 163 app:layout_constraintHorizontal_weight="2" 164 app:layout_constraintStart_toEndOf="@id/user_button" 165 app:layout_constraintEnd_toStartOf="@+id/logout_button" 166 style="@style/QCFooterButtonViewStyle" 167 app:intent="intent:#Intent;component=com.android.car.settings/.common.CarSettingActivities$HomepageActivity;launchFlags=0x24000000;end"> 168 <ImageView 169 android:layout_width="match_parent" 170 android:layout_height="match_parent" 171 android:src="@drawable/car_ic_settings_icon" 172 android:scaleType="fitCenter"/> 173 </com.android.systemui.car.qc.QCFooterButtonView> 174 175 <com.android.systemui.car.qc.QCLogoutButton 176 android:id="@+id/logout_button" 177 android:layout_width="0dp" 178 android:layout_height="match_parent" 179 app:layout_constraintHorizontal_weight="2" 180 app:layout_constraintStart_toEndOf="@id/settings_button" 181 app:layout_constraintEnd_toStartOf="@+id/screen_off_button" 182 style="@style/QCFooterButtonViewStyle"> 183 <ImageView 184 android:layout_width="match_parent" 185 android:layout_height="match_parent" 186 android:src="@drawable/car_ic_logout" 187 android:scaleType="fitCenter"/> 188 </com.android.systemui.car.qc.QCLogoutButton> 189 190 <com.android.systemui.car.qc.QCScreenOffButton 191 android:id="@+id/screen_off_button" 192 android:layout_width="0dp" 193 android:layout_height="match_parent" 194 app:layout_constraintHorizontal_weight="2" 195 app:layout_constraintStart_toEndOf="@id/logout_button" 196 app:layout_constraintEnd_toEndOf="parent" 197 style="@style/QCFooterButtonViewStyle"> 198 <ImageView 199 android:layout_width="match_parent" 200 android:layout_height="match_parent" 201 android:src="@drawable/car_ic_power" 202 android:scaleType="fitCenter"/> 203 </com.android.systemui.car.qc.QCScreenOffButton> 204 </androidx.constraintlayout.widget.ConstraintLayout> 205 </androidx.constraintlayout.widget.ConstraintLayout> 206 </com.android.car.ui.FocusArea> 207</FrameLayout> 208