blob: b9ca29276cf00bd816dd980cf1746875acdd8956 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2020 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
-->
<com.android.internal.widget.ConversationLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/status_bar_latest_event_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:tag="conversation"
android:theme="@style/Theme.DeviceDefault.Notification"
>
<FrameLayout
android:id="@+id/conversation_icon_container"
android:layout_width="@dimen/conversation_content_start"
android:layout_height="wrap_content"
android:gravity="start|top"
android:clipChildren="false"
android:clipToPadding="false"
android:paddingTop="12dp"
android:paddingBottom="12dp"
>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|center_horizontal"
>
<!-- Big icon: 52x52, 12dp padding left + top, 16dp padding right -->
<com.android.internal.widget.CachingIconView
android:id="@+id/conversation_icon"
android:layout_width="@dimen/conversation_avatar_size"
android:layout_height="@dimen/conversation_avatar_size"
android:scaleType="centerCrop"
android:importantForAccessibility="no"
/>
<ViewStub
android:layout="@layout/conversation_face_pile_layout"
android:layout_width="@dimen/conversation_avatar_size"
android:layout_height="@dimen/conversation_avatar_size"
android:id="@+id/conversation_face_pile"
/>
<FrameLayout
android:id="@+id/conversation_icon_badge"
android:layout_width="@dimen/conversation_icon_size_badged"
android:layout_height="@dimen/conversation_icon_size_badged"
android:layout_marginLeft="@dimen/conversation_badge_side_margin"
android:layout_marginTop="@dimen/conversation_badge_side_margin"
>
<com.android.internal.widget.CachingIconView
android:id="@+id/conversation_icon_badge_bg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/conversation_badge_background"
android:forceHasOverlappingRendering="false"
/>
<com.android.internal.widget.CachingIconView
android:id="@+id/icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:layout_gravity="center"
android:forceHasOverlappingRendering="false"
/>
<com.android.internal.widget.CachingIconView
android:id="@+id/conversation_icon_badge_ring"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/conversation_badge_ring"
android:visibility="gone"
android:forceHasOverlappingRendering="false"
/>
</FrameLayout>
</FrameLayout>
</FrameLayout>
<!-- Wraps entire "expandable" notification -->
<com.android.internal.widget.RemeasuringLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:clipToPadding="false"
android:clipChildren="false"
android:orientation="vertical"
>
<!-- LinearLayout for Expand Button-->
<com.android.internal.widget.RemeasuringLinearLayout
android:id="@+id/expand_button_and_content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="start|top"
android:orientation="horizontal"
android:clipChildren="false"
android:clipToPadding="false">
<!--TODO: move this into a separate layout and share logic with the header to bring back app opps etc-->
<com.android.internal.widget.RemeasuringLinearLayout
android:id="@+id/notification_action_list_margin_target"
android:layout_width="0dp"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_weight="1">
<!-- Header -->
<LinearLayout
android:id="@+id/conversation_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="16dp"
android:layout_marginBottom="2dp"
android:paddingStart="@dimen/conversation_content_start"
>
<TextView
android:id="@+id/conversation_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/notification_header_separating_margin"
android:textAppearance="@style/TextAppearance.DeviceDefault.Notification.Title"
android:textSize="16sp"
android:singleLine="true"
android:layout_weight="1"
/>
<TextView
android:id="@+id/time_divider"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?attr/notificationHeaderTextAppearance"
android:layout_marginStart="@dimen/notification_header_separating_margin"
android:layout_marginEnd="@dimen/notification_header_separating_margin"
android:text="@string/notification_header_divider_symbol"
android:layout_gravity="center"
android:paddingTop="1sp"
android:singleLine="true"
android:visibility="gone"
/>
<DateTimeView
android:id="@+id/time"
android:textAppearance="@style/TextAppearance.Material.Notification.Time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/notification_header_separating_margin"
android:paddingTop="1sp"
android:showRelative="true"
android:singleLine="true"
android:visibility="gone"
/>
<ImageView
android:id="@+id/alerted_icon"
android:layout_width="@dimen/notification_alerted_size"
android:layout_height="@dimen/notification_alerted_size"
android:layout_gravity="center"
android:layout_marginStart="4dp"
android:paddingTop="2dp"
android:scaleType="fitCenter"
android:visibility="gone"
android:contentDescription="@string/notification_alerted_content_description"
android:src="@drawable/ic_notifications_alerted"/>
<ImageView
android:id="@+id/profile_badge"
android:layout_width="@dimen/notification_badge_size"
android:layout_height="@dimen/notification_badge_size"
android:layout_gravity="center"
android:layout_marginStart="4dp"
android:paddingTop="2dp"
android:scaleType="fitCenter"
android:visibility="gone"
android:contentDescription="@string/notification_work_profile_content_description"
/>
<LinearLayout
android:id="@+id/app_ops"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingTop="3dp"
android:layout_marginStart="2dp"
android:orientation="horizontal" >
<ImageButton
android:layout_marginStart="4dp"
android:id="@+id/camera"
android:layout_width="?attr/notificationHeaderIconSize"
android:layout_height="?attr/notificationHeaderIconSize"
android:src="@drawable/ic_camera"
android:background="?android:selectableItemBackgroundBorderless"
android:visibility="gone"
android:contentDescription="@string/notification_appops_camera_active"
/>
<ImageButton
android:id="@+id/mic"
android:layout_width="?attr/notificationHeaderIconSize"
android:layout_height="?attr/notificationHeaderIconSize"
android:src="@drawable/ic_mic"
android:background="?android:selectableItemBackgroundBorderless"
android:layout_marginStart="4dp"
android:visibility="gone"
android:contentDescription="@string/notification_appops_microphone_active"
/>
<ImageButton
android:id="@+id/overlay"
android:layout_width="?attr/notificationHeaderIconSize"
android:layout_height="?attr/notificationHeaderIconSize"
android:src="@drawable/ic_alert_window_layer"
android:background="?android:selectableItemBackgroundBorderless"
android:layout_marginStart="4dp"
android:visibility="gone"
android:contentDescription="@string/notification_appops_overlay_active"
/>
</LinearLayout>
</LinearLayout>
<!-- App Name -->
<com.android.internal.widget.ObservableTextView
android:id="@+id/app_name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/conversation_content_start"
android:textSize="12sp"
android:layout_marginBottom="16dp"
android:textAppearance="@style/TextAppearance.DeviceDefault.Notification"
/>
<!-- Messages -->
<com.android.internal.widget.MessagingLinearLayout
android:id="@+id/notification_messaging"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:spacing="@dimen/notification_messaging_spacing"
android:clipToPadding="false"
android:clipChildren="false"
/>
</com.android.internal.widget.RemeasuringLinearLayout>
<!-- This is where the expand button container will be placed when collapsed-->
</com.android.internal.widget.RemeasuringLinearLayout>
<include layout="@layout/notification_template_smart_reply_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/notification_content_margin"
android:layout_marginStart="@dimen/conversation_content_start"
android:layout_marginEnd="@dimen/notification_content_margin_end" />
<include layout="@layout/notification_material_action_list" />
</com.android.internal.widget.RemeasuringLinearLayout>
<!--This is dynamically placed between here and at the end of the layout-->
<LinearLayout
android:id="@+id/expand_button_container"
android:layout_width="wrap_content"
android:layout_height="@dimen/conversation_expand_button_size"
android:layout_gravity="end|top"
android:paddingStart="16dp"
android:orientation="horizontal"
android:paddingEnd="@dimen/notification_content_margin_end"
android:clipToPadding="false"
android:clipChildren="false"
>
<!-- Images -->
<com.android.internal.widget.MessagingLinearLayout
android:id="@+id/conversation_image_message_container"
android:forceHasOverlappingRendering="false"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginEnd="11dp"
android:spacing="0dp"
android:layout_gravity="center"
android:clipToPadding="false"
android:clipChildren="false"
/>
<!-- Unread Count -->
<TextView
android:id="@+id/conversation_unread_count"
android:layout_width="33sp"
android:layout_height="wrap_content"
android:layout_marginEnd="11dp"
android:layout_gravity="center"
android:gravity="center"
android:padding="2dp"
android:visibility="gone"
android:textAppearance="@style/TextAppearance.DeviceDefault.Notification"
android:textColor="#FFFFFF"
android:textSize="12sp"
android:background="@drawable/conversation_unread_bg"
/>
<com.android.internal.widget.NotificationExpandButton
android:id="@+id/expand_button"
android:layout_width="@dimen/notification_header_expand_icon_size"
android:layout_height="@dimen/notification_header_expand_icon_size"
android:layout_gravity="center"
android:drawable="@drawable/ic_expand_notification"
android:clickable="false"
android:importantForAccessibility="no"
/>
</LinearLayout>
</com.android.internal.widget.ConversationLayout>