<?xml version="1.0" encoding="utf-8"?>

<!--
  ~ Copyright (C) 2014 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true" >

    <LinearLayout
        android:id="@+id/primary_call_info_container"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:elevation="@dimen/primary_call_elevation"
        android:background="@drawable/rounded_call_card_background"
        android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:alpha="0.9"
        android:layout_margin="10dp">

        <include layout="@layout/primary_call_info" />

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent" >

            <fragment android:name="com.android.incallui.CallButtonFragment"
                android:id="@+id/callButtonFragment"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:layout_marginBottom="@dimen/call_buttons_bottom_margin" />
            <!-- Secondary "Call info" block, for the background ("on hold") call. -->
            <include layout="@layout/secondary_call_info"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom" />

        </FrameLayout>

    </LinearLayout>

    <FrameLayout
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        android:layout_below="@id/primary_call_info_container"
        android:id="@+id/call_card_content">

        <ImageView android:id="@+id/photo"
            android:layout_toEndOf="@id/primary_call_info_container"
            android:layout_width="match_parent"
            android:layout_gravity="start|center_vertical"
            android:layout_height="match_parent"
            android:gravity="start|center_vertical"
            android:scaleType="centerCrop"
            android:contentDescription="@string/contactPhoto"
            android:background="@android:color/white"
            android:src="@drawable/img_no_image_automirrored" />

    </FrameLayout>

    <include layout="@layout/manage_conference_call_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/photo" />

    <!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
    <FrameLayout
        android:id="@+id/progressSpinner"
        android:layout_toEndOf="@id/primary_call_info_container"
        android:background="#63000000"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:visibility="gone" >

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.Material.ProgressBar"
            android:layout_gravity="center"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:indeterminate="true" />

    </FrameLayout>

    <fragment android:name="com.android.incallui.VideoCallFragment"
        android:layout_alignParentStart="true"
        android:layout_gravity="start|center_vertical"
        android:id="@+id/videoCallFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- Placeholder for the dialpad which is replaced with the dialpad fragment when shown. -->
    <FrameLayout
        android:id="@+id/answer_and_dialpad_container"
        android:layout_toEndOf="@id/primary_call_info_container"
        android:layout_gravity="end|center_vertical"
        android:layout_alignParentEnd="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <FrameLayout
        android:id="@+id/floating_end_call_action_button_container"
        android:layout_width="@dimen/end_call_floating_action_button_diameter"
        android:layout_height="@dimen/end_call_floating_action_button_diameter"
        android:background="@drawable/fab_red"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="@dimen/end_call_button_margin_bottom"
        android:layout_alignParentBottom="true" >

        <ImageButton android:id="@+id/floating_end_call_action_button"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/end_call_background"
            android:src="@drawable/fab_ic_end_call"
            android:scaleType="center"
            android:contentDescription="@string/onscreenEndCallText" />

    </FrameLayout>

</RelativeLayout>