<?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>