1<?xml version="1.0" encoding="utf-8"?>
2<!--
3    Copyright 2017, 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.systemui.statusbar.notification.row.NotificationInfo
19    xmlns:android="http://schemas.android.com/apk/res/android"
20    android:id="@+id/notification_guts"
21    android:layout_width="match_parent"
22    android:layout_height="wrap_content"
23    android:focusable="true"
24    android:clipChildren="false"
25    android:clipToPadding="true"
26    android:orientation="vertical"
27    android:paddingStart="@dimen/notification_shade_content_margin_horizontal">
28
29    <!-- Package Info -->
30    <LinearLayout
31        android:id="@+id/header"
32        android:layout_width="match_parent"
33        android:layout_height="wrap_content"
34        android:gravity="center_vertical"
35        android:clipChildren="false"
36        android:paddingTop="@dimen/notification_guts_header_top_padding"
37        android:clipToPadding="true">
38        <ImageView
39            android:id="@+id/pkg_icon"
40            android:layout_width="@dimen/notification_guts_conversation_icon_size"
41            android:layout_height="@dimen/notification_guts_conversation_icon_size"
42            android:layout_centerVertical="true"
43            android:layout_alignParentStart="true"
44            android:layout_marginEnd="15dp" />
45        <LinearLayout
46            android:id="@+id/names"
47            android:layout_weight="1"
48            android:layout_width="0dp"
49            android:orientation="vertical"
50            android:layout_height="wrap_content"
51            android:minHeight="@dimen/notification_guts_conversation_icon_size"
52            android:layout_centerVertical="true"
53            android:gravity="center_vertical"
54            android:layout_alignEnd="@id/pkg_icon"
55            android:layout_toEndOf="@id/pkg_icon">
56            <TextView
57                android:id="@+id/channel_name"
58                android:layout_width="match_parent"
59                android:layout_height="wrap_content"
60                android:textDirection="locale"
61                style="@style/TextAppearance.NotificationImportanceChannel"/>
62            <TextView
63                android:id="@+id/group_name"
64                android:layout_width="match_parent"
65                android:layout_height="wrap_content"
66                android:textDirection="locale"
67                android:ellipsize="end"
68                style="@style/TextAppearance.NotificationImportanceChannelGroup"/>
69            <TextView
70                android:id="@+id/pkg_name"
71                android:layout_width="match_parent"
72                android:layout_height="wrap_content"
73                style="@style/TextAppearance.NotificationImportanceApp"
74                android:ellipsize="end"
75                android:textDirection="locale"
76                android:maxLines="1"/>
77            <TextView
78                android:id="@+id/delegate_name"
79                android:layout_width="match_parent"
80                android:layout_height="wrap_content"
81                android:layout_centerVertical="true"
82                style="@style/TextAppearance.NotificationImportanceHeader"
83                android:layout_marginStart="2dp"
84                android:layout_marginEnd="2dp"
85                android:ellipsize="end"
86                android:textDirection="locale"
87                android:text="@string/notification_delegate_header"
88                android:maxLines="1" />
89
90        </LinearLayout>
91
92        <!-- end aligned fields -->
93        <!-- Optional link to app. Only appears if the channel is not disabled and the app
94asked for it -->
95        <ImageButton
96            android:id="@+id/app_settings"
97            android:layout_width="@dimen/notification_importance_toggle_size"
98            android:layout_height="@dimen/notification_importance_toggle_size"
99            android:layout_centerVertical="true"
100            android:visibility="gone"
101            android:background="@drawable/ripple_drawable"
102            android:contentDescription="@string/notification_app_settings"
103            android:src="@drawable/ic_info"
104            android:layout_toStartOf="@id/info"
105            android:tint="@color/notification_guts_link_icon_tint"/>
106        <ImageButton
107            android:id="@+id/info"
108            android:layout_width="@dimen/notification_importance_toggle_size"
109            android:layout_height="@dimen/notification_importance_toggle_size"
110            android:layout_centerVertical="true"
111            android:background="@android:color/transparent"
112            android:contentDescription="@string/notification_more_settings"
113            android:src="@drawable/notif_settings_button"
114            android:layout_alignParentEnd="true"
115            android:tint="@color/notification_guts_link_icon_tint"/>
116
117    </LinearLayout>
118
119    <LinearLayout
120        android:id="@+id/inline_controls"
121        android:layout_width="match_parent"
122        android:layout_height="wrap_content"
123        android:paddingEnd="@dimen/notification_shade_content_margin_horizontal"
124        android:layout_marginTop="@dimen/notification_guts_option_vertical_padding"
125        android:clipChildren="false"
126        android:clipToPadding="false"
127        android:orientation="vertical">
128
129        <!-- Non configurable app/channel text. appears instead of @+id/interruptiveness_settings-->
130        <TextView
131            android:id="@+id/non_configurable_text"
132            android:text="@string/notification_unblockable_desc"
133            android:visibility="gone"
134            android:layout_width="match_parent"
135            android:layout_height="wrap_content"
136            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
137
138        <!-- Non configurable multichannel text. appears instead of @+id/interruptiveness_settings-->
139        <TextView
140            android:id="@+id/non_configurable_multichannel_text"
141            android:text="@string/notification_multichannel_desc"
142            android:visibility="gone"
143            android:layout_width="match_parent"
144            android:layout_height="wrap_content"
145            style="@*android:style/TextAppearance.DeviceDefault.Notification" />
146
147        <LinearLayout
148            android:id="@+id/interruptiveness_settings"
149            android:layout_width="match_parent"
150            android:layout_height="wrap_content"
151            android:gravity="center"
152            android:orientation="vertical">
153            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
154                android:id="@+id/automatic"
155                android:layout_width="match_parent"
156                android:layout_height="wrap_content"
157                android:layout_marginBottom="@dimen/notification_importance_button_separation"
158                android:padding="@dimen/notification_importance_button_padding"
159                android:clickable="true"
160                android:focusable="true"
161                android:background="@drawable/notification_guts_priority_button_bg"
162                android:orientation="vertical"
163                android:visibility="gone">
164                <LinearLayout
165                    android:layout_width="match_parent"
166                    android:layout_height="wrap_content"
167                    android:orientation="horizontal"
168                    android:gravity="center"
169                >
170                    <ImageView
171                        android:id="@+id/automatic_icon"
172                        android:layout_width="wrap_content"
173                        android:layout_height="wrap_content"
174                        android:src="@drawable/ic_notifications_automatic"
175                        android:background="@android:color/transparent"
176                        android:tint="@color/notification_guts_priority_contents"
177                        android:clickable="false"
178                        android:focusable="false"/>
179                    <TextView
180                        android:id="@+id/automatic_label"
181                        android:layout_width="0dp"
182                        android:layout_height="wrap_content"
183                        android:layout_marginStart="@dimen/notification_importance_drawable_padding"
184                        android:layout_weight="1"
185                        android:ellipsize="end"
186                        android:maxLines="1"
187                        android:clickable="false"
188                        android:focusable="false"
189                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
190                        android:text="@string/notification_automatic_title"/>
191                </LinearLayout>
192                <TextView
193                    android:id="@+id/automatic_summary"
194                    android:layout_width="match_parent"
195                    android:layout_height="wrap_content"
196                    android:layout_marginTop="@dimen/notification_importance_button_description_top_margin"
197                    android:visibility="gone"
198                    android:text="@string/notification_channel_summary_automatic"
199                    android:clickable="false"
200                    android:focusable="false"
201                    android:ellipsize="end"
202                    android:maxLines="2"
203                    android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
204            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
205
206            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
207                android:id="@+id/alert"
208                android:layout_width="match_parent"
209                android:layout_height="wrap_content"
210                android:padding="@dimen/notification_importance_button_padding"
211                android:clickable="true"
212                android:focusable="true"
213                android:background="@drawable/notification_guts_priority_button_bg"
214                android:orientation="vertical">
215                <LinearLayout
216                    android:layout_width="match_parent"
217                    android:layout_height="wrap_content"
218                    android:orientation="horizontal"
219                    android:gravity="center"
220                    >
221                    <ImageView
222                        android:id="@+id/alert_icon"
223                        android:layout_width="wrap_content"
224                        android:layout_height="wrap_content"
225                        android:src="@drawable/ic_notifications_alert"
226                        android:background="@android:color/transparent"
227                        android:tint="@color/notification_guts_priority_contents"
228                        android:clickable="false"
229                        android:focusable="false"/>
230                    <TextView
231                        android:id="@+id/alert_label"
232                        android:layout_width="0dp"
233                        android:layout_height="wrap_content"
234                        android:layout_marginStart="@dimen/notification_importance_drawable_padding"
235                        android:layout_weight="1"
236                        android:ellipsize="end"
237                        android:maxLines="1"
238                        android:clickable="false"
239                        android:focusable="false"
240                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
241                        android:text="@string/notification_alert_title"/>
242                </LinearLayout>
243                <TextView
244                    android:id="@+id/alert_summary"
245                    android:layout_width="match_parent"
246                    android:layout_height="wrap_content"
247                    android:layout_marginTop="@dimen/notification_importance_button_description_top_margin"
248                    android:visibility="gone"
249                    android:text="@string/notification_channel_summary_default"
250                    android:clickable="false"
251                    android:focusable="false"
252                    android:ellipsize="end"
253                    android:maxLines="2"
254                    android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
255            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
256
257            <com.android.systemui.statusbar.notification.row.ButtonLinearLayout
258                android:id="@+id/silence"
259                android:layout_width="match_parent"
260                android:layout_height="wrap_content"
261                android:layout_marginTop="@dimen/notification_importance_button_separation"
262                android:padding="@dimen/notification_importance_button_padding"
263                android:clickable="true"
264                android:focusable="true"
265                android:background="@drawable/notification_guts_priority_button_bg"
266                android:orientation="vertical">
267                <LinearLayout
268                    android:layout_width="match_parent"
269                    android:layout_height="wrap_content"
270                    android:orientation="horizontal"
271                    android:gravity="center"
272                    >
273                    <ImageView
274                        android:id="@+id/silence_icon"
275                        android:src="@drawable/ic_notifications_silence"
276                        android:background="@android:color/transparent"
277                        android:tint="@color/notification_guts_priority_contents"
278                        android:layout_gravity="center"
279                        android:layout_width="wrap_content"
280                        android:layout_height="wrap_content"
281                        android:clickable="false"
282                        android:focusable="false"/>
283                    <TextView
284                        android:id="@+id/silence_label"
285                        android:layout_width="match_parent"
286                        android:layout_height="wrap_content"
287                        android:ellipsize="end"
288                        android:maxLines="1"
289                        android:clickable="false"
290                        android:focusable="false"
291                        android:layout_toEndOf="@id/silence_icon"
292                        android:layout_marginStart="@dimen/notification_importance_drawable_padding"
293                        android:textAppearance="@style/TextAppearance.NotificationImportanceButton"
294                        android:text="@string/notification_silence_title"/>
295                </LinearLayout>
296                <TextView
297                    android:id="@+id/silence_summary"
298                    android:layout_width="match_parent"
299                    android:layout_height="wrap_content"
300                    android:layout_marginTop="@dimen/notification_importance_button_description_top_margin"
301                    android:visibility="gone"
302                    android:text="@string/notification_channel_summary_low"
303                    android:clickable="false"
304                    android:focusable="false"
305                    android:ellipsize="end"
306                    android:maxLines="2"
307                    android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"/>
308            </com.android.systemui.statusbar.notification.row.ButtonLinearLayout>
309
310        </LinearLayout>
311
312        <RelativeLayout
313            android:id="@+id/bottom_buttons"
314            android:layout_width="match_parent"
315            android:layout_height="60dp"
316            android:gravity="center_vertical"
317            android:paddingStart="4dp"
318            android:paddingEnd="4dp"
319            >
320            <TextView
321                android:id="@+id/turn_off_notifications"
322                android:text="@string/inline_turn_off_notifications"
323                android:layout_width="wrap_content"
324                android:layout_height="wrap_content"
325                android:layout_alignParentStart="true"
326                android:gravity="start|center_vertical"
327                android:minWidth="@dimen/notification_importance_toggle_size"
328                android:minHeight="@dimen/notification_importance_toggle_size"
329                android:maxWidth="200dp"
330                style="@style/TextAppearance.NotificationInfo.Button"/>
331            <TextView
332                android:id="@+id/done"
333                android:text="@string/inline_ok_button"
334                android:layout_width="wrap_content"
335                android:layout_height="wrap_content"
336                android:layout_alignParentEnd="true"
337                android:gravity="end|center_vertical"
338                android:minWidth="@dimen/notification_importance_toggle_size"
339                android:minHeight="@dimen/notification_importance_toggle_size"
340                android:maxWidth="125dp"
341                style="@style/TextAppearance.NotificationInfo.Button"/>
342        </RelativeLayout>
343    </LinearLayout>
344</com.android.systemui.statusbar.notification.row.NotificationInfo>
345