1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2017 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License 16 --> 17<RelativeLayout 18 xmlns:android="http://schemas.android.com/apk/res/android" 19 xmlns:app="http://schemas.android.com/apk/res-auto" 20 xmlns:tools="http://schemas.android.com/tools" 21 android:id="@+id/videocall_video_controls_container" 22 android:fitsSystemWindows="true" 23 android:layout_width="match_parent" 24 android:layout_height="match_parent" 25 android:orientation="vertical"> 26 27 <include 28 android:id="@+id/incall_contact_grid" 29 layout="@layout/video_contact_grid" 30 android:layout_width="match_parent" 31 android:layout_height="wrap_content" 32 android:layout_marginTop="16dp" 33 android:layout_marginStart="24dp" 34 android:layout_marginEnd="24dp"/> 35 36 <!-- This placeholder matches the position of the preview UI and is used to 37 anchor video buttons. This is needed in greenscreen mode when the 38 preview is fullscreen but we want the controls to be positioned as 39 normal. --> 40 <Space 41 android:id="@+id/videocall_video_preview_placeholder" 42 android:layout_width="@dimen/videocall_preview_width" 43 android:layout_height="@dimen/videocall_preview_long" 44 android:layout_marginBottom="@dimen/videocall_preview_margin_bottom" 45 android:layout_marginStart="@dimen/videocall_preview_margin_start" 46 android:layout_alignParentBottom="true" 47 android:layout_alignParentStart="true" 48 android:visibility="invisible"/> 49 50 <LinearLayout 51 android:id="@+id/videocall_video_controls" 52 android:layout_width="wrap_content" 53 android:layout_height="wrap_content" 54 android:layout_above="@+id/videocall_video_preview_placeholder" 55 android:layout_alignEnd="@+id/videocall_video_preview_placeholder" 56 android:layout_alignStart="@+id/videocall_video_preview_placeholder" 57 android:gravity="center_horizontal" 58 android:orientation="vertical" 59 android:visibility="invisible" 60 tools:visibility="visible"> 61 <com.android.incallui.video.impl.CheckableImageButton 62 android:id="@+id/videocall_speaker_button" 63 style="@style/Incall.Button.VideoCall" 64 android:layout_marginBottom="@dimen/videocall_button_spacing" 65 android:checked="true" 66 android:src="@drawable/quantum_ic_volume_up_vd_theme_24" 67 app:contentDescriptionChecked="@string/incall_content_description_speaker" 68 app:contentDescriptionUnchecked="@string/incall_content_description_earpiece" 69 /> 70 <com.android.incallui.video.impl.CheckableImageButton 71 android:id="@+id/videocall_mute_button" 72 style="@style/Incall.Button.VideoCall" 73 android:layout_marginBottom="@dimen/videocall_button_spacing" 74 android:src="@drawable/quantum_ic_mic_off_vd_theme_24" 75 app:contentDescriptionChecked="@string/incall_content_description_muted" 76 app:contentDescriptionUnchecked="@string/incall_content_description_unmuted" 77 /> 78 <com.android.incallui.video.impl.CheckableImageButton 79 android:id="@+id/videocall_mute_video" 80 style="@style/Incall.Button.VideoCall" 81 android:layout_marginBottom="@dimen/videocall_button_spacing" 82 android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" 83 app:contentDescriptionChecked="@string/incall_content_description_video_off" 84 app:contentDescriptionUnchecked="@string/incall_content_description_video_on" 85 /> 86 <include 87 layout="@layout/switch_camera_button" 88 android:layout_width="@dimen/videocall_button_size" 89 android:layout_height="@dimen/videocall_button_size" 90 android:layout_marginBottom="@dimen/videocall_button_spacing"/> 91 </LinearLayout> 92 93 <FrameLayout 94 android:id="@+id/videocall_switch_controls" 95 android:layout_width="wrap_content" 96 android:layout_height="wrap_content" 97 android:layout_marginBottom="36dp" 98 android:layout_marginEnd="24dp" 99 android:layout_alignParentBottom="true" 100 android:layout_alignParentEnd="true"> 101 <ImageButton 102 android:id="@+id/videocall_switch_on_hold" 103 style="@style/Incall.Button.VideoCall" 104 android:layout_width="@dimen/videocall_button_size" 105 android:layout_height="@dimen/videocall_button_size" 106 android:contentDescription="@string/incall_content_description_swap_calls" 107 android:src="@drawable/quantum_ic_swap_calls_vd_theme_24" 108 android:visibility="gone" 109 tools:visibility="visible" 110 /> 111 </FrameLayout> 112 113 <ImageButton 114 android:id="@+id/videocall_end_call" 115 style="@style/Incall.Button.End" 116 android:layout_marginBottom="36dp" 117 android:layout_alignParentBottom="true" 118 android:layout_centerHorizontal="true" 119 android:contentDescription="@string/incall_content_description_end_call" 120 android:visibility="visible"/> 121 122</RelativeLayout> 123