blob: b8e3a9589eac284981e8e4e9e09abb213d9f6280 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2004-2016 Savoir-faire Linux Inc.
Author: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".client.CallActivity">
<data>
<variable
name="presenter"
type="cx.ring.fragments.CallFragment" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
tools:background="@color/cardview_dark_background">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView
android:id="@+id/video_surface"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:visibility="gone"
tools:visibility="visible" />
<androidx.cardview.widget.CardView
android:id="@+id/preview_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="12dp"
android:visibility="gone"
app:cardCornerRadius="16dp"
app:cardPreventCornerOverlap="false"
tools:visibility="visible">
<cx.ring.views.AutoFitTextureView
android:id="@+id/preview_surface"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
tools:visibility="visible" />
</androidx.cardview.widget.CardView>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:clipToPadding="false"
android:fitsSystemWindows="true">
<com.google.android.flexbox.FlexboxLayout
android:id="@+id/contact_bubble_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:visibility="visible"
app:flexDirection="column"
app:flexWrap="wrap"
tools:visibility="visible">
<RelativeLayout
android:layout_width="230dp"
android:layout_height="230dp">
<com.rodolfonavalon.shaperipplelibrary.ShapeRipple
android:id="@+id/shape_ripple"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
app:enable_color_transition="true"
app:ripple_color="@color/white"
app:ripple_count="3"
app:ripple_duration="3000"
app:ripple_stroke_width="15dp" />
<ImageView
android:id="@+id/contact_bubble"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_centerInParent="true"
tools:src="@drawable/ic_contact_picture_fallback" />
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/contact_bubble_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:gravity="center_horizontal"
android:paddingStart="32dp"
android:paddingEnd="32dp"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:text="Contact Name" />
<TextView
android:id="@+id/contact_bubble_num_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:gravity="center_horizontal"
android:paddingStart="32dp"
android:paddingEnd="32dp"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:visibility="gone"
tools:text="ring:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
tools:visibility="visible" />
<TextView
android:id="@+id/call_status_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:paddingStart="32dp"
android:paddingEnd="32dp"
android:textSize="16sp"
tools:text="Connecting" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
tools:visibility="visible">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/call_refuse_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:contentDescription="@string/action_call_decline"
android:onClick="@{() -> presenter.refuseClicked()}"
android:tint="@color/white"
android:visibility="visible"
app:backgroundTint="@color/error_red"
app:elevation="6dp"
app:fabSize="normal"
app:pressedTranslationZ="12dp"
app:rippleColor="@android:color/white"
app:srcCompat="@drawable/baseline_call_end_24"
app:useCompatPadding="true" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/call_accept_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:contentDescription="@string/action_call_accept"
android:onClick="@{() -> presenter.acceptClicked()}"
android:visibility="visible"
app:backgroundTint="@color/green_500"
app:elevation="6dp"
app:fabSize="normal"
app:pressedTranslationZ="12dp"
app:rippleColor="@android:color/white"
app:srcCompat="@drawable/baseline_call_24"
app:useCompatPadding="true" />
</LinearLayout>
</LinearLayout>
</com.google.android.flexbox.FlexboxLayout>
<com.google.android.flexbox.FlexboxLayout
android:id="@+id/call_control_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="16dp"
android:layout_marginBottom="16dp"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
app:flexDirection="column_reverse"
app:flexWrap="wrap"
tools:visibility="visible">
<ImageButton
android:id="@+id/call_camera_flip_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:background="@drawable/call_button_background"
android:contentDescription="@string/ab_action_flipcamera"
android:onClick="@{() -> presenter.cameraFlip()}"
android:padding="16dp"
android:tint="@color/white"
app:srcCompat="@drawable/baseline_camera_front_24" />
<ImageButton
android:id="@+id/call_conference_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:background="@drawable/call_button_background"
android:onClick="@{() -> presenter.addParticipant()}"
android:padding="16dp"
android:tint="@color/white"
app:srcCompat="@drawable/baseline_person_add_24" />
<cx.ring.views.CheckableImageButton
android:id="@+id/call_mic_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:background="@drawable/call_button_background"
android:contentDescription="@string/action_call_mic_mute"
android:onClick="@{() -> presenter.micClicked()}"
android:padding="16dp"
android:tint="@color/white"
app:srcCompat="@drawable/baseline_mic_off_24"
tools:visibility="visible" />
<cx.ring.views.CheckableImageButton
android:id="@+id/call_speaker_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:background="@drawable/call_button_background"
android:contentDescription="@string/ab_action_speakerphone"
android:onClick="@{() -> presenter.speakerClicked()}"
android:padding="16dp"
android:tint="@color/white"
app:srcCompat="@drawable/baseline_volume_up_24" />
<cx.ring.views.CheckableImageButton
android:id="@+id/call_screenshare_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="12dp"
android:background="@drawable/call_button_background"
android:contentDescription="@string/ab_action_speakerphone"
android:onClick="@{(v) -> presenter.shareScreenClicked(((android.widget.Checkable)v).isChecked())}"
android:padding="16dp"
android:tint="@color/white"
app:srcCompat="@drawable/baseline_mobile_screen_share_24" />
</com.google.android.flexbox.FlexboxLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/conf_control_group"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_conference_participant"
tools:itemCount="4" />
<EditText
android:id="@+id/dialpad_edit_text"
android:layout_width="1dp"
android:layout_height="1dp"
android:ems="10"
android:inputType="phone"
android:visibility="visible" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/call_hangup_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="4dp"
android:contentDescription="@string/action_call_hangup"
android:onClick="@{() -> presenter.hangUpClicked()}"
android:tint="@color/white"
android:visibility="gone"
app:backgroundTint="@color/error_red"
app:elevation="6dp"
app:fabSize="normal"
app:pressedTranslationZ="12dp"
app:rippleColor="@android:color/white"
app:srcCompat="@drawable/baseline_call_end_24"
app:useCompatPadding="true" />
</RelativeLayout>
</FrameLayout>
</layout>