<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2018 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.
-->
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/inner_template_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.android.car.notification.template.CarNotificationHeaderView
        android:id="@+id/notification_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="@dimen/card_header_margin_bottom"
        android:layout_marginEnd="@dimen/card_end_margin"
        android:layout_marginStart="@dimen/card_start_margin"
        android:minHeight="@dimen/card_min_top_padding"/>

    <RelativeLayout
        android:id="@+id/message_title_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/notification_header"
        android:layout_marginEnd="@dimen/card_end_margin"
        android:layout_marginStart="@dimen/card_start_margin"
        android:layout_toStartOf="@id/notification_body_icon">

        <TextView
            android:id="@+id/notification_body_title"
            style="@style/NotificationBodyTitleText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"/>

        <DateTimeView
            android:id="@+id/in_group_time_stamp"
            style="@style/InGroupTimeStampText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginStart="@dimen/in_group_timestamp_start_margin"
            android:layout_toEndOf="@id/notification_body_title"/>
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/message_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/message_title_view"
        android:layout_marginStart="@dimen/card_start_margin"
        android:layout_toStartOf="@id/notification_body_icon">

        <TextView
            android:id="@+id/notification_body_content"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_marginBottom="@dimen/card_body_margin_bottom"
            android:layout_toStartOf="@id/message_count"
            style="@style/NotificationBodyContentText"/>

        <TextView
            android:id="@+id/message_count"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_marginBottom="@dimen/card_body_margin_bottom"
            android:layout_marginEnd="@dimen/unread_message_count_margin"
            android:layout_marginStart="@dimen/unread_message_count_margin"
            style="@style/NotificationBodyContentText"/>
    </RelativeLayout>

    <ImageView
        android:id="@+id/notification_body_icon"
        style="@style/NotificationBodyImageIcon"
        android:layout_width="@dimen/notification_touch_target_size"
        android:layout_height="@dimen/notification_touch_target_size"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:layout_marginBottom="@dimen/card_body_margin_bottom"
        android:layout_marginEnd="@dimen/card_end_margin"/>

    <com.android.car.notification.template.CarNotificationActionsView
        android:id="@+id/notification_actions"
        style="@style/NotificationActionViewLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/message_content"/>

    <include
        layout="@layout/dismiss_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</RelativeLayout>