<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2016 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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- Primary "call card" block, for the foreground call. -->
<LinearLayout
android:id="@+id/primary_call_info_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="vertical"
android:elevation="@dimen/primary_call_elevation"
android:background="@color/incall_call_banner_background_color"
android:paddingTop="@dimen/call_banner_primary_call_container_top_padding"
android:clipChildren="false"
android:clipToPadding="false"
android:gravity="bottom">
<include layout="@layout/primary_call_info"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:minHeight="@dimen/call_banner_height"
android:animateLayoutChanges="true"
android:gravity="center" />
<fragment android:name="com.android.incallui.CallButtonFragment"
android:id="@+id/callButtonFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2">
<FrameLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/call_card_content">
<!-- Contact photo for primary call info -->
<ImageView android:id="@+id/photoLarge"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:importantForAccessibility="no"
android:background="@color/incall_photo_background_color"
android:src="@drawable/img_no_image_automirrored" />
<!-- Call context -->
<LinearLayout
android:id="@+id/contact_context"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:background="@color/incall_background_color"
android:visibility="gone">
<TextView android:id="@+id/contactContextTitle"
android:textSize="@dimen/contact_context_title_text_size"
android:textColor="@color/contact_context_title_text_color"
android:fontFamily="sans-serif-medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/contact_context_title_margin_bottom"/>
<ListView android:id="@+id/contactContextInfo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:dividerHeight="@dimen/contact_context_list_item_padding"/>
</LinearLayout>
</FrameLayout>
<fragment android:name="com.android.incallui.VideoCallFragment"
android:id="@+id/videoCallFragment"
android:layout_alignParentTop="true"
android:layout_gravity="top|center_horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Progress spinner, useful for indicating pending operations such as upgrade to video. -->
<FrameLayout
android:id="@+id/progressSpinner"
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>
<include layout="@layout/manage_conference_call_button"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!-- Placeholder for various fragments that are added dynamically underneath the caller info. -->
<FrameLayout
android:id="@+id/answer_and_dialpad_container"
android:layout_gravity="bottom|center_horizontal"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:elevation="@dimen/dialpad_elevation" />
<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_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/end_call_button_margin_bottom">
<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>
<TextView android:id="@+id/connectionServiceMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:visibility="gone"
android:padding="@dimen/call_banner_side_padding"
android:background="@android:color/white" />
</RelativeLayout>
</LinearLayout>
<!-- Secondary "Call info" block, for the background ("on hold") call. -->
<include layout="@layout/secondary_call_info" />
</RelativeLayout>