Adrien Béraud | fb6341f | 2016-03-07 16:18:54 -0500 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?><!-- |
| 2 | Copyright (C) 2004-2016 Savoir-faire Linux Inc. |
| 3 | |
| 4 | Author: Adrien Beraud <adrien.beraud@savoirfairelinux.com> |
| 5 | |
| 6 | This program is free software; you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 3 of the License, or |
| 9 | (at your option) any later version. |
| 10 | |
| 11 | This program is distributed in the hope that it will be useful, |
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | GNU General Public License for more details. |
| 15 | |
| 16 | You should have received a copy of the GNU General Public License |
| 17 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 18 | --> |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 19 | <layout xmlns:android="http://schemas.android.com/apk/res/android" |
Adrien Béraud | da712a4 | 2015-11-22 23:45:26 -0500 | [diff] [blame] | 20 | xmlns:app="http://schemas.android.com/apk/res-auto" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 21 | xmlns:tools="http://schemas.android.com/tools"> |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 22 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 23 | <data> |
Adrien Béraud | 04d822c | 2015-04-02 17:44:36 -0400 | [diff] [blame] | 24 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 25 | <variable |
| 26 | name="presenter" |
| 27 | type="cx.ring.fragments.CallFragment" /> |
| 28 | </data> |
Adrien Béraud | fb6341f | 2016-03-07 16:18:54 -0500 | [diff] [blame] | 29 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 30 | <FrameLayout |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 31 | android:layout_width="match_parent" |
| 32 | android:layout_height="match_parent" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 33 | android:keepScreenOn="true" |
| 34 | tools:context=".client.CallActivity"> |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 35 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 36 | <RelativeLayout |
Hadrien De Sousa | ccc947d | 2017-04-12 14:26:52 -0400 | [diff] [blame] | 37 | android:layout_width="match_parent" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 38 | android:layout_height="match_parent"> |
Hadrien De Sousa | ccc947d | 2017-04-12 14:26:52 -0400 | [diff] [blame] | 39 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 40 | <SurfaceView |
| 41 | android:id="@+id/video_surface" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 42 | android:layout_width="match_parent" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 43 | android:layout_height="32dp" |
| 44 | android:layout_centerInParent="true" |
| 45 | android:layout_gravity="center" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 46 | android:visibility="gone" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 47 | tools:visibility="visible" /> |
| 48 | |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 49 | <androidx.cardview.widget.CardView |
Adrien Béraud | 76dec1d | 2018-12-14 18:58:19 -0500 | [diff] [blame] | 50 | android:id="@+id/preview_container" |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 51 | android:layout_width="wrap_content" |
| 52 | android:layout_height="wrap_content" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 53 | android:layout_alignParentEnd="true" |
| 54 | android:layout_alignParentBottom="true" |
| 55 | android:layout_margin="12dp" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 56 | android:visibility="gone" |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 57 | app:cardCornerRadius="16dp" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 58 | app:cardPreventCornerOverlap="false"> |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 59 | |
| 60 | <cx.ring.views.AutoFitTextureView |
| 61 | android:id="@+id/preview_surface" |
| 62 | android:layout_width="wrap_content" |
| 63 | android:layout_height="wrap_content" |
| 64 | android:visibility="visible" |
| 65 | tools:visibility="visible" /> |
| 66 | </androidx.cardview.widget.CardView> |
| 67 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 68 | </RelativeLayout> |
| 69 | |
| 70 | <RelativeLayout |
| 71 | android:layout_width="match_parent" |
| 72 | android:layout_height="match_parent" |
| 73 | android:animateLayoutChanges="true" |
| 74 | android:clipToPadding="false" |
| 75 | android:fitsSystemWindows="true"> |
| 76 | |
| 77 | <LinearLayout |
| 78 | android:id="@+id/contact_bubble_layout" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 79 | android:layout_width="match_parent" |
| 80 | android:layout_height="wrap_content" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 81 | android:layout_centerInParent="true" |
| 82 | android:gravity="center" |
| 83 | android:orientation="vertical" |
| 84 | android:visibility="invisible"> |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 85 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 86 | <RelativeLayout |
| 87 | android:layout_width="match_parent" |
| 88 | android:layout_height="230dp"> |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 89 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 90 | <com.rodolfonavalon.shaperipplelibrary.ShapeRipple |
| 91 | android:id="@+id/shape_ripple" |
| 92 | android:layout_width="match_parent" |
| 93 | android:layout_height="match_parent" |
| 94 | app:enable_color_transition="true" |
| 95 | app:ripple_color="@color/white" |
| 96 | app:ripple_count="3" |
| 97 | app:ripple_duration="5000" |
| 98 | app:ripple_stroke_width="15dp" /> |
| 99 | |
| 100 | <ImageView |
| 101 | android:id="@+id/contact_bubble" |
| 102 | android:layout_width="160dp" |
| 103 | android:layout_height="160dp" |
| 104 | android:layout_centerInParent="true" |
| 105 | tools:src="@drawable/ic_contact_picture_fallback" /> |
| 106 | </RelativeLayout> |
| 107 | |
| 108 | <TextView |
| 109 | android:id="@+id/contact_bubble_txt" |
| 110 | android:layout_width="match_parent" |
| 111 | android:layout_height="wrap_content" |
| 112 | android:ellipsize="middle" |
| 113 | android:gravity="center_horizontal" |
| 114 | android:paddingStart="32dp" |
| 115 | android:paddingEnd="32dp" |
| 116 | android:singleLine="true" |
| 117 | android:textAppearance="?android:attr/textAppearanceLarge" |
| 118 | android:textColor="@color/text_color_primary_dark" |
| 119 | tools:text="Contact Name" /> |
| 120 | |
| 121 | <TextView |
| 122 | android:id="@+id/contact_bubble_num_txt" |
| 123 | android:layout_width="match_parent" |
| 124 | android:layout_height="wrap_content" |
| 125 | android:ellipsize="middle" |
| 126 | android:gravity="center_horizontal" |
| 127 | android:paddingStart="32dp" |
| 128 | android:paddingEnd="32dp" |
| 129 | android:singleLine="true" |
| 130 | android:textAppearance="?android:attr/textAppearanceMedium" |
| 131 | android:textColor="@color/text_color_secondary_dark" |
| 132 | android:visibility="gone" |
| 133 | tools:text="ring:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" |
| 134 | tools:visibility="visible" /> |
| 135 | |
| 136 | <TextView |
| 137 | android:id="@+id/call_status_txt" |
| 138 | android:layout_width="match_parent" |
| 139 | android:layout_height="wrap_content" |
| 140 | android:gravity="center_horizontal" |
| 141 | android:paddingStart="32dp" |
| 142 | android:paddingEnd="32dp" |
| 143 | android:textColor="@color/text_color_primary_dark" |
| 144 | android:textSize="16sp" |
| 145 | tools:text="Connecting" /> |
| 146 | </LinearLayout> |
| 147 | |
| 148 | <LinearLayout |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 149 | android:layout_width="wrap_content" |
| 150 | android:layout_height="wrap_content" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 151 | android:layout_below="@+id/contact_bubble_layout" |
| 152 | android:layout_centerHorizontal="true" |
| 153 | android:orientation="horizontal" |
| 154 | tools:visibility="gone"> |
| 155 | |
| 156 | <com.google.android.material.floatingactionbutton.FloatingActionButton |
| 157 | android:id="@+id/call_refuse_btn" |
| 158 | android:layout_width="wrap_content" |
| 159 | android:layout_height="wrap_content" |
| 160 | android:layout_margin="16dp" |
| 161 | android:contentDescription="@string/action_call_decline" |
| 162 | android:onClick="@{() -> presenter.refuseClicked()}" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 163 | android:tint="@color/white" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 164 | app:backgroundTint="@color/error_red" |
| 165 | app:elevation="6dp" |
| 166 | app:fabSize="normal" |
| 167 | app:pressedTranslationZ="12dp" |
| 168 | app:rippleColor="@android:color/white" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 169 | app:srcCompat="@drawable/baseline_call_end_24" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 170 | app:useCompatPadding="true" /> |
| 171 | |
| 172 | <com.google.android.material.floatingactionbutton.FloatingActionButton |
| 173 | android:id="@+id/call_accept_btn" |
| 174 | android:layout_width="wrap_content" |
| 175 | android:layout_height="wrap_content" |
| 176 | android:layout_margin="16dp" |
| 177 | android:contentDescription="@string/action_call_accept" |
| 178 | android:onClick="@{() -> presenter.acceptClicked()}" |
| 179 | app:backgroundTint="#4caf50" |
| 180 | app:elevation="6dp" |
| 181 | app:fabSize="normal" |
| 182 | app:pressedTranslationZ="12dp" |
| 183 | app:rippleColor="@android:color/white" |
| 184 | app:srcCompat="@drawable/ic_call_white" |
| 185 | app:useCompatPadding="true" /> |
| 186 | |
| 187 | </LinearLayout> |
| 188 | |
| 189 | <LinearLayout |
| 190 | android:id="@+id/call_control_group" |
| 191 | android:layout_width="wrap_content" |
| 192 | android:layout_height="wrap_content" |
| 193 | android:layout_alignParentStart="true" |
| 194 | android:layout_alignParentBottom="true" |
| 195 | android:layout_marginStart="16dp" |
| 196 | android:layout_marginBottom="16dp" |
| 197 | android:gravity="center" |
| 198 | android:orientation="vertical" |
| 199 | android:visibility="gone" |
| 200 | tools:visibility="visible"> |
| 201 | |
| 202 | <ImageButton |
| 203 | android:id="@+id/call_camera_flip_btn" |
| 204 | android:layout_width="wrap_content" |
| 205 | android:layout_height="wrap_content" |
| 206 | android:layout_margin="12dp" |
| 207 | android:background="@drawable/call_button_background" |
| 208 | android:contentDescription="@string/ab_action_flipcamera" |
| 209 | android:onClick="@{() -> presenter.cameraFlip()}" |
| 210 | android:padding="16dp" |
| 211 | android:tint="@color/white" |
| 212 | app:srcCompat="@drawable/ic_camera_front_white" /> |
| 213 | |
| 214 | <cx.ring.views.CheckableImageButton |
| 215 | android:id="@+id/call_mic_btn" |
| 216 | android:layout_width="wrap_content" |
| 217 | android:layout_height="wrap_content" |
| 218 | android:layout_margin="12dp" |
| 219 | android:background="@drawable/call_button_background" |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 220 | android:contentDescription="@string/action_call_mic_mute" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 221 | android:onClick="@{() -> presenter.micClicked()}" |
| 222 | android:padding="16dp" |
| 223 | android:tint="@color/white" |
| 224 | app:srcCompat="@drawable/baseline_mic_off_24" |
| 225 | tools:visibility="visible" /> |
| 226 | |
| 227 | <cx.ring.views.CheckableImageButton |
| 228 | android:id="@+id/call_speaker_btn" |
| 229 | android:layout_width="wrap_content" |
| 230 | android:layout_height="wrap_content" |
| 231 | android:layout_margin="12dp" |
| 232 | android:background="@drawable/call_button_background" |
| 233 | android:contentDescription="@string/ab_action_speakerphone" |
| 234 | android:onClick="@{() -> presenter.speakerClicked()}" |
| 235 | android:padding="16dp" |
| 236 | android:tint="@color/white" |
| 237 | app:srcCompat="@drawable/baseline_volume_up_24" /> |
| 238 | |
| 239 | </LinearLayout> |
| 240 | |
| 241 | <EditText |
| 242 | android:id="@+id/dialpad_edit_text" |
Adrien Béraud | bcbb4d4 | 2018-12-08 16:06:39 -0500 | [diff] [blame] | 243 | android:layout_width="1dp" |
| 244 | android:layout_height="1dp" |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 245 | android:ems="10" |
| 246 | android:inputType="phone" |
| 247 | android:visibility="visible" /> |
| 248 | |
| 249 | <com.google.android.material.floatingactionbutton.FloatingActionButton |
| 250 | android:id="@+id/call_hangup_btn" |
| 251 | android:layout_width="wrap_content" |
| 252 | android:layout_height="wrap_content" |
| 253 | android:layout_alignParentBottom="true" |
| 254 | android:layout_centerHorizontal="true" |
| 255 | android:layout_marginBottom="4dp" |
| 256 | android:contentDescription="@string/action_call_hangup" |
Adrien Béraud | de0d452 | 2018-12-12 12:11:02 -0500 | [diff] [blame] | 257 | android:onClick="@{() -> presenter.hangUpClicked()}" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 258 | android:tint="@color/white" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 259 | app:backgroundTint="@color/error_red" |
| 260 | app:elevation="6dp" |
| 261 | app:fabSize="normal" |
| 262 | app:pressedTranslationZ="12dp" |
| 263 | app:rippleColor="@android:color/white" |
Adrien Béraud | 7775840 | 2019-01-30 16:38:31 -0500 | [diff] [blame] | 264 | app:srcCompat="@drawable/baseline_call_end_24" |
Adrien Béraud | bc0898e | 2018-08-23 14:31:11 -0400 | [diff] [blame] | 265 | app:useCompatPadding="true" /> |
| 266 | |
Adrien Béraud | 86a1e37 | 2018-11-23 23:24:30 -0500 | [diff] [blame] | 267 | </RelativeLayout> |
| 268 | </FrameLayout> |
| 269 | </layout> |