<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 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.
-->

<view
    xmlns:android="http://schemas.android.com/apk/res/android"
    class="com.android.dialer.calllog.CallLogListItemView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/call_log_list_item"
    android:orientation="vertical"
    android:background="@drawable/bottom_border_background"
>
    <!--
        This layout may represent either a call log item or one of the
        headers in the call log.

        The former will make the @id/call_log_item visible and the
        @id/call_log_header gone.

        The latter will make the @id/call_log_header visible and the
        @id/call_log_item gone
    -->

        <LinearLayout
            android:id="@+id/primary_action_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:padding="@dimen/call_log_outer_margin"
            android:orientation="horizontal"
            android:gravity="center_vertical"
            android:background="?android:attr/selectableItemBackground"
            android:focusable="true"
            android:nextFocusRight="@+id/secondary_action_icon"
            android:nextFocusLeft="@+id/quick_contact_photo"
        >
            <QuickContactBadge
                android:id="@+id/quick_contact_photo"
                android:layout_width="@dimen/call_log_list_contact_photo_size"
                android:layout_height="@dimen/call_log_list_contact_photo_size"
                android:nextFocusRight="@id/primary_action_view"
                android:layout_alignParentStart="true"
                android:focusable="true"
            />
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:orientation="vertical"
                android:gravity="center_vertical"
                android:layout_marginStart="@dimen/call_log_inner_margin"
            >
                <TextView
                    android:id="@+id/name"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginEnd="@dimen/call_log_icon_margin"
                    android:textColor="?attr/call_log_primary_text_color"
                    android:textSize="16sp"
                    android:singleLine="true"
                />
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                >
                    <TextView
                        android:id="@+id/label"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                        android:textColor="?attr/call_log_secondary_text_color"
                        android:textSize="12sp"
                        android:singleLine="true"
                        android:ellipsize="marquee"
                        />
                    </LinearLayout>
                <LinearLayout
                    android:id="@+id/call_type"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                >
                    <view
                        class="com.android.dialer.calllog.CallTypeIconsView"
                        android:id="@+id/call_type_icons"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                        android:layout_gravity="center_vertical"
                    />
                    <TextView
                        android:id="@+id/call_count_and_date"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                        android:layout_gravity="center_vertical"
                        android:textColor="?attr/call_log_secondary_text_color"
                        android:textSize="12sp"
                        android:singleLine="true"
                    />
                </LinearLayout>
            </LinearLayout>
            <!-- Linear layout to house a vertical separator line and the
                 secondary action button.  Used as a convenience to hide both
                 the separator and action button at the same time. -->
            <LinearLayout
                android:id="@+id/secondary_action_view"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="horizontal"
                android:gravity="center_vertical"
                >
                <!-- Thin vertical divider to visually separate the secondary action button -->
                <View
                    android:id="@+id/vertical_divider"
                    android:layout_width="@dimen/call_log_list_item_vertical_divider_width"
                    android:layout_height="match_parent"
                    android:layout_marginTop="@dimen/call_log_list_item_vertical_divider_margin"
                    android:layout_marginBottom="@dimen/call_log_list_item_vertical_divider_margin"
                    android:background="?android:attr/dividerVertical"/>
                <!-- The secondary action button; either play voicemail or call details. -->
                <ImageButton
                    android:id="@+id/secondary_action_icon"
                    android:layout_width="@dimen/call_log_call_action_width"
                    android:layout_height="match_parent"
                    android:paddingStart="@dimen/call_log_inner_margin"
                    android:paddingTop="@dimen/call_log_inner_margin"
                    android:paddingBottom="@dimen/call_log_inner_margin"
                    android:paddingEnd="@dimen/call_log_inner_margin"
                    android:scaleType="center"
                    android:background="?android:attr/selectableItemBackground"
                    android:nextFocusLeft="@id/primary_action_view"
                />
            </LinearLayout>
        </LinearLayout>

    <TextView
        android:id="@+id/call_log_header"
        style="@style/ContactListSeparatorTextViewStyle"
        android:layout_marginStart="@dimen/call_log_outer_margin"
        android:layout_marginEnd="@dimen/call_log_outer_margin"
        android:paddingTop="@dimen/call_log_inner_margin"
        android:paddingBottom="@dimen/call_log_inner_margin" />

    <!-- Displays the extra link section -->
    <ViewStub android:id="@+id/link_stub"
              android:layout="@layout/call_log_list_item_extra"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"/>

</view>
