Reworked layouts to use ConstraintLayout properly
This commit is contained in:
parent
6044ed07f8
commit
6559cc24ec
15 changed files with 941 additions and 893 deletions
|
@ -18,136 +18,117 @@
|
|||
|
||||
<ImageView
|
||||
android:id="@+id/hangup"
|
||||
android:onClick="@{() -> controlsViewModel.hangUp()}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_call_terminate_background"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
android:padding="5dp"
|
||||
android:contentDescription="@string/content_description_terminate_call"
|
||||
android:onClick="@{() -> controlsViewModel.hangUp()}"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/hangup"
|
||||
app:layout_constraintEnd_toStartOf="@id/more">
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> controlsViewModel.toggleMuteMicrophone()}"
|
||||
android:selected="@{controlsViewModel.isMicrophoneMuted}"
|
||||
android:enabled="@{controlsViewModel.isMuteMicrophoneEnabled}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:src="@drawable/icon_toggle_mic"
|
||||
android:padding="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:contentDescription="@{controlsViewModel.isMicrophoneMuted ? @string/content_description_disable_mic_mute : @string/content_description_enable_mic_mute}"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/speaker"/>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/speaker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> controlsViewModel.toggleSpeaker()}"
|
||||
android:selected="@{controlsViewModel.isSpeakerSelected}"
|
||||
android:visibility="@{controlsViewModel.audioRoutesEnabled ? View.GONE : View.VISIBLE}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:src="@drawable/icon_toggle_speaker"
|
||||
android:padding="5dp"
|
||||
android:contentDescription="@{controlsViewModel.isSpeakerSelected ? @string/content_description_disable_speaker : @string/content_description_enable_speaker}"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> controlsViewModel.toggleRoutesMenu()}"
|
||||
android:selected="@{controlsViewModel.audioRoutesSelected}"
|
||||
android:visibility="@{controlsViewModel.audioRoutesEnabled ? View.VISIBLE : View.GONE, default=gone}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_toggle_background_reverse"
|
||||
android:src="@drawable/icon_audio_routes"
|
||||
android:padding="5dp"
|
||||
android:contentDescription="@string/content_description_toggle_audio_menu"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/video"
|
||||
android:onClick="@{() -> controlsViewModel.toggleVideo()}"
|
||||
android:selected="@{controlsViewModel.isVideoEnabled && controlsViewModel.isVideoSendReceive}"
|
||||
android:enabled="@{controlsViewModel.isVideoAvailable && !controlsViewModel.isVideoUpdateInProgress}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:src="@drawable/icon_toggle_camera"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:contentDescription="@{controlsViewModel.isVideoEnabled && controlsViewModel.isVideoSendReceive ? @string/content_description_disable_video : @string/content_description_enable_video}"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/speaker"/>
|
||||
|
||||
<ProgressBar
|
||||
android:visibility="@{controlsViewModel.isVideoUpdateInProgress ? View.VISIBLE : View.GONE, default=gone}"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/video"
|
||||
app:layout_constraintEnd_toEndOf="@id/video" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/more"
|
||||
android:onClick="@{() -> controlsViewModel.showExtraButtons()}"
|
||||
<ImageView
|
||||
android:id="@+id/microphone"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:contentDescription="@{controlsViewModel.isMicrophoneMuted ? @string/content_description_disable_mic_mute : @string/content_description_enable_mic_mute}"
|
||||
android:enabled="@{controlsViewModel.isMuteMicrophoneEnabled}"
|
||||
android:onClick="@{() -> controlsViewModel.toggleMuteMicrophone()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.isMicrophoneMuted}"
|
||||
android:src="@drawable/icon_toggle_mic"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/speaker"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toEndOf="@id/hangup" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_background"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_more"
|
||||
android:contentDescription="@string/content_description_call_context_menu"/>
|
||||
<ImageView
|
||||
android:id="@+id/speaker"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:contentDescription="@{controlsViewModel.isSpeakerSelected ? @string/content_description_disable_speaker : @string/content_description_enable_speaker}"
|
||||
android:onClick="@{() -> controlsViewModel.toggleSpeaker()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.isSpeakerSelected}"
|
||||
android:src="@drawable/icon_toggle_speaker"
|
||||
android:visibility="@{controlsViewModel.audioRoutesEnabled ? View.GONE : View.VISIBLE}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/audio_routes"
|
||||
app:layout_constraintStart_toEndOf="@id/microphone" />
|
||||
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:text="@{String.valueOf(callsViewModel.chatAndCallsCount), default=2}"
|
||||
android:visibility="@{callsViewModel.chatAndCallsCount == 0 ? View.GONE : View.VISIBLE}" />
|
||||
<ImageView
|
||||
android:id="@+id/audio_routes"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_toggle_background_reverse"
|
||||
android:contentDescription="@string/content_description_toggle_audio_menu"
|
||||
android:onClick="@{() -> controlsViewModel.toggleRoutesMenu()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.audioRoutesSelected}"
|
||||
android:src="@drawable/icon_audio_routes"
|
||||
android:visibility="@{controlsViewModel.audioRoutesEnabled ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/video"
|
||||
app:layout_constraintStart_toEndOf="@id/speaker" />
|
||||
|
||||
</RelativeLayout>
|
||||
<ImageView
|
||||
android:id="@+id/video"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:contentDescription="@{controlsViewModel.isVideoEnabled && controlsViewModel.isVideoSendReceive ? @string/content_description_disable_video : @string/content_description_enable_video}"
|
||||
android:enabled="@{controlsViewModel.isVideoAvailable && !controlsViewModel.isVideoUpdateInProgress}"
|
||||
android:onClick="@{() -> controlsViewModel.toggleVideo()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.isVideoEnabled && controlsViewModel.isVideoSendReceive}"
|
||||
android:src="@drawable/icon_toggle_camera"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/more"
|
||||
app:layout_constraintStart_toEndOf="@id/audio_routes" />
|
||||
|
||||
<ProgressBar
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="@{controlsViewModel.isVideoUpdateInProgress ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="@id/video"
|
||||
app:layout_constraintStart_toStartOf="@id/video" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/more"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_background"
|
||||
android:contentDescription="@string/content_description_call_context_menu"
|
||||
android:onClick="@{() -> controlsViewModel.showExtraButtons()}"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_more"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:text="@{String.valueOf(callsViewModel.chatAndCallsCount), default=2}"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:visibility="@{callsViewModel.chatAndCallsCount == 0 ? View.GONE : View.VISIBLE}"
|
||||
app:layout_constraintEnd_toEndOf="@id/more"
|
||||
app:layout_constraintTop_toTopOf="@id/more"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
@ -15,165 +16,175 @@
|
|||
type="org.linphone.activities.voip.viewmodels.ConferenceViewModel" />
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/voip_call_extra_buttons_height"
|
||||
android:gravity="center"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/shape_extra_buttons_background"
|
||||
android:orientation="vertical">
|
||||
android:gravity="center">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/numpad"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.showNumpad()}"
|
||||
android:text="@string/call_action_numpad"
|
||||
app:drawableTopCompat="@drawable/icon_call_numpad"
|
||||
app:layout_constraintBottom_toBottomOf="@id/chat"
|
||||
app:layout_constraintEnd_toStartOf="@id/call_stats"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/chat"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.showNumpad()}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
app:drawableTopCompat="@drawable/icon_call_numpad"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_numpad"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.showCallStats(false)}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
app:drawableTopCompat="@drawable/icon_call_stats"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_statistics"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/chat"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToChat()}"
|
||||
android:text="@string/call_action_chat"
|
||||
app:drawableTopCompat="@drawable/icon_call_chat" />
|
||||
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toEndOf="@id/chat"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:text="@{String.valueOf(callsViewModel.currentCallUnreadChatMessageCount), default=1}"
|
||||
android:visibility="@{callsViewModel.currentCallUnreadChatMessageCount == 0 ? View.GONE : View.VISIBLE}" />
|
||||
|
||||
<ProgressBar
|
||||
android:visibility="@{controlsViewModel.chatRoomCreationInProgress ? View.VISIBLE : View.GONE, default=gone}"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/call_stats"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.showCallStats(false)}"
|
||||
android:text="@string/call_action_statistics"
|
||||
app:drawableTopCompat="@drawable/icon_call_stats"
|
||||
app:layout_constraintBottom_toBottomOf="@id/chat"
|
||||
app:layout_constraintEnd_toStartOf="@id/chat"
|
||||
app:layout_constraintStart_toEndOf="@id/numpad"
|
||||
app:layout_constraintTop_toTopOf="@id/chat" />
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.goToDialerForCallTransfer()}"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.GONE : View.VISIBLE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="20dp"
|
||||
app:drawableTopCompat="@drawable/icon_call_forward"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_transfer_call"/>
|
||||
<TextView
|
||||
android:id="@+id/chat"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToChat()}"
|
||||
android:text="@string/call_action_chat"
|
||||
app:drawableTopCompat="@drawable/icon_call_chat"
|
||||
app:layout_constraintBottom_toTopOf="@id/calls"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/call_stats"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="spread" />
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.goToConferenceParticipantsList()}"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.VISIBLE : View.GONE, default=gone}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="20dp"
|
||||
app:drawableTopCompat="@drawable/icon_call_participants"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_participants_list"/>
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="60dp"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:text="@{String.valueOf(callsViewModel.currentCallUnreadChatMessageCount), default=1}"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:visibility="@{callsViewModel.currentCallUnreadChatMessageCount == 0 ? View.GONE : View.VISIBLE}"
|
||||
app:layout_constraintEnd_toEndOf="@id/chat"
|
||||
app:layout_constraintStart_toStartOf="@id/chat"
|
||||
app:layout_constraintTop_toTopOf="@id/chat" />
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.goToDialerForNewCall()}"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.GONE : View.VISIBLE}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="20dp"
|
||||
app:drawableTopCompat="@drawable/icon_call_add"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_add_call"/>
|
||||
<ProgressBar
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="@{controlsViewModel.chatRoomCreationInProgress ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="@id/chat"
|
||||
app:layout_constraintEnd_toEndOf="@id/chat"
|
||||
app:layout_constraintStart_toStartOf="@id/chat"
|
||||
app:layout_constraintTop_toTopOf="@id/chat"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> controlsViewModel.goToConferenceLayout()}"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.VISIBLE : View.GONE, default=gone}"
|
||||
android:enabled="@{conferenceViewModel.isVideoConference}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="20dp"
|
||||
android:drawableTop="@{conferenceViewModel.conferenceActiveSpeakerDisplayMode ? @drawable/icon_conference_layout_active_speaker : conferenceViewModel.conferenceAudioOnlyDisplayMode ? @drawable/icon_conference_layout_audio_only : @drawable/icon_conference_layout_grid, default=@drawable/icon_conference_layout_grid}"
|
||||
android:gravity="center"
|
||||
style="@style/call_options_font"
|
||||
android:text="@string/call_action_change_conf_layout"/>
|
||||
<TextView
|
||||
android:id="@+id/transfer_call"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToDialerForCallTransfer()}"
|
||||
android:text="@string/call_action_transfer_call"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.GONE : View.VISIBLE, default=gone}"
|
||||
app:drawableTopCompat="@drawable/icon_call_forward"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/conference_participants"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/numpad"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginTop="20dp">
|
||||
<TextView
|
||||
android:id="@+id/conference_participants"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToConferenceParticipantsList()}"
|
||||
android:text="@string/call_action_participants_list"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.VISIBLE : View.GONE}"
|
||||
app:drawableTopCompat="@drawable/icon_call_participants"
|
||||
app:layout_constraintBottom_toBottomOf="@id/calls"
|
||||
app:layout_constraintEnd_toStartOf="@id/add_call"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toEndOf="@id/transfer_call"
|
||||
app:layout_constraintTop_toTopOf="@id/calls"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/calls"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToCallsList()}"
|
||||
android:text="@string/call_action_calls_list"
|
||||
app:drawableTopCompat="@drawable/icon_calls_list" />
|
||||
<TextView
|
||||
android:id="@+id/add_call"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToDialerForNewCall()}"
|
||||
android:text="@string/call_action_add_call"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.GONE : View.VISIBLE, default=gone}"
|
||||
app:drawableTopCompat="@drawable/icon_call_add"
|
||||
app:layout_constraintBottom_toBottomOf="@id/calls"
|
||||
app:layout_constraintEnd_toStartOf="@id/conference_layout"
|
||||
app:layout_constraintStart_toEndOf="@id/conference_participants"
|
||||
app:layout_constraintTop_toTopOf="@id/calls"/>
|
||||
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toEndOf="@id/calls"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:text="@{String.valueOf(callsViewModel.inactiveCallsCount), default=1}"
|
||||
android:visibility="@{callsViewModel.inactiveCallsCount == 0 ? View.GONE : View.VISIBLE}" />
|
||||
<TextView
|
||||
android:id="@+id/conference_layout"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableTop="@{conferenceViewModel.conferenceActiveSpeakerDisplayMode ? @drawable/icon_conference_layout_active_speaker : conferenceViewModel.conferenceAudioOnlyDisplayMode ? @drawable/icon_conference_layout_audio_only : @drawable/icon_conference_layout_grid, default=@drawable/icon_conference_layout_grid}"
|
||||
android:enabled="@{conferenceViewModel.isVideoConference}"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToConferenceLayout()}"
|
||||
android:text="@string/call_action_change_conf_layout"
|
||||
android:visibility="@{conferenceViewModel.conferenceExists ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintBottom_toBottomOf="@id/calls"
|
||||
app:layout_constraintEnd_toStartOf="@id/calls"
|
||||
app:layout_constraintStart_toEndOf="@id/add_call"
|
||||
app:layout_constraintTop_toTopOf="@id/calls"
|
||||
tools:ignore="UseCompatTextViewDrawableXml" />
|
||||
|
||||
</RelativeLayout>
|
||||
<TextView
|
||||
android:id="@+id/calls"
|
||||
style="@style/call_options_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> controlsViewModel.goToCallsList()}"
|
||||
android:text="@string/call_action_calls_list"
|
||||
app:drawableTopCompat="@drawable/icon_calls_list"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/conference_layout"
|
||||
app:layout_constraintTop_toBottomOf="@id/chat" />
|
||||
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
style="@style/unread_count_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="60dp"
|
||||
android:background="@drawable/unread_message_count_bg"
|
||||
android:gravity="center"
|
||||
android:text="@{String.valueOf(callsViewModel.inactiveCallsCount), default=1}"
|
||||
android:translationY="@{controlsViewModel.bouncyCounterTranslateY}"
|
||||
android:visibility="@{callsViewModel.inactiveCallsCount == 0 ? View.GONE : View.VISIBLE}"
|
||||
app:layout_constraintEnd_toEndOf="@id/calls"
|
||||
app:layout_constraintStart_toStartOf="@id/calls"
|
||||
app:layout_constraintTop_toTopOf="@id/calls" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -11,50 +11,38 @@
|
|||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
android:layout_margin="10dp">
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
<ImageView
|
||||
android:id="@+id/hangup"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/button_call_terminate_background"
|
||||
android:contentDescription="@string/content_description_terminate_call"
|
||||
android:onClick="@{() -> viewModel.hangUp()}"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/answer"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/middle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> viewModel.hangUp()}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_call_terminate_background"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
android:padding="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:contentDescription="@string/content_description_terminate_call"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/middle"/>
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> viewModel.answer()}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_call_answer_background"
|
||||
android:src="@drawable/icon_call_answer"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:contentDescription="@string/content_description_answer_call"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/middle"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<ImageView
|
||||
android:id="@+id/answer"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/button_call_answer_background"
|
||||
android:contentDescription="@string/content_description_answer_call"
|
||||
android:onClick="@{() -> viewModel.answer()}"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_answer"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/hangup" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -11,87 +11,68 @@
|
|||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
android:layout_margin="10dp">
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hangup"
|
||||
android:onClick="@{() -> controlsViewModel.hangUp()}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_call_terminate_background"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
android:padding="5dp"
|
||||
android:contentDescription="@string/content_description_terminate_call"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
android:onClick="@{() -> controlsViewModel.hangUp()}"
|
||||
android:padding="5dp"
|
||||
android:src="@drawable/icon_call_hangup"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1.26:1"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/hangup"
|
||||
app:layout_constraintEnd_toStartOf="@id/numpad">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/middle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.5" />
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> controlsViewModel.toggleMuteMicrophone()}"
|
||||
android:selected="@{controlsViewModel.isMicrophoneMuted}"
|
||||
android:enabled="@{controlsViewModel.isMuteMicrophoneEnabled}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:src="@drawable/icon_toggle_mic"
|
||||
android:padding="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:contentDescription="@{controlsViewModel.isMicrophoneMuted ? @string/content_description_disable_mic_mute : @string/content_description_enable_mic_mute}"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/middle"/>
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> controlsViewModel.toggleSpeaker()}"
|
||||
android:selected="@{controlsViewModel.isSpeakerSelected}"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="0dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:src="@drawable/icon_toggle_speaker"
|
||||
android:padding="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:contentDescription="@{controlsViewModel.isSpeakerSelected ? @string/content_description_disable_speaker : @string/content_description_enable_speaker}"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/middle"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/numpad"
|
||||
android:visibility="@{controlsViewModel.isOutgoingEarlyMedia ? View.VISIBLE : View.INVISIBLE, default=invisible}"
|
||||
android:onClick="@{() -> controlsViewModel.showNumpad()}"
|
||||
<ImageView
|
||||
android:id="@+id/microphone"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:contentDescription="@{controlsViewModel.isMicrophoneMuted ? @string/content_description_disable_mic_mute : @string/content_description_enable_mic_mute}"
|
||||
android:enabled="@{controlsViewModel.isMuteMicrophoneEnabled}"
|
||||
android:onClick="@{() -> controlsViewModel.toggleMuteMicrophone()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.isMicrophoneMuted}"
|
||||
android:src="@drawable/icon_toggle_mic"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/speaker"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintStart_toStartOf="@id/hangup"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_background"
|
||||
android:padding="10dp"
|
||||
android:src="@drawable/icon_call_numpad"
|
||||
android:contentDescription="@string/content_description_show_numpad"/>
|
||||
<ImageView
|
||||
android:id="@+id/speaker"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="5dp"
|
||||
android:background="@drawable/button_background_reverse"
|
||||
android:contentDescription="@{controlsViewModel.isSpeakerSelected ? @string/content_description_disable_speaker : @string/content_description_enable_speaker}"
|
||||
android:onClick="@{() -> controlsViewModel.toggleSpeaker()}"
|
||||
android:padding="5dp"
|
||||
android:selected="@{controlsViewModel.isSpeakerSelected}"
|
||||
android:src="@drawable/icon_toggle_speaker"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toEndOf="@id/numpad"
|
||||
app:layout_constraintStart_toEndOf="@id/microphone"/>
|
||||
|
||||
</RelativeLayout>
|
||||
<ImageView
|
||||
android:id="@+id/numpad"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/button_background"
|
||||
android:contentDescription="@string/content_description_show_numpad"
|
||||
android:onClick="@{() -> controlsViewModel.showNumpad()}"
|
||||
android:padding="10dp"
|
||||
android:src="@drawable/icon_call_numpad"
|
||||
android:visibility="@{controlsViewModel.isOutgoingEarlyMedia ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="W,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
type="org.linphone.activities.voip.viewmodels.ControlsViewModel" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/voipBackgroundColor">
|
||||
|
@ -22,100 +22,93 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top_info"
|
||||
android:layout_width="match_parent"
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/icon_spinner_rotating"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
style="@style/call_header_title"
|
||||
android:text="@string/call_incoming_title"/>
|
||||
|
||||
<Chronometer
|
||||
android:id="@+id/incoming_call_timer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
style="@style/call_header_title" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/buttons"
|
||||
android:layout_below="@id/top_info"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/icon_spinner_rotating"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<include
|
||||
android:id="@+id/avatar"
|
||||
layout="@layout/voip_contact_avatar_alt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
app:data="@{callsViewModel.currentCallData}" />
|
||||
|
||||
<TextView
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@{callsViewModel.currentCallData.contact.fullName ?? callsViewModel.currentCallData.displayName, default=`Bilbo Baggins`}" />
|
||||
|
||||
<TextView
|
||||
style="@style/call_header_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@{callsViewModel.currentCallData.address, default=`sip:bilbo.baggins@sip.linphone.org`}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/buttons"
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/incoming_call_title"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="10dp">
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/call_incoming_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progress" />
|
||||
|
||||
<include
|
||||
layout="@layout/voip_buttons_incoming"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_buttons_max_width"
|
||||
app:viewModel="@{controlsViewModel}" />
|
||||
<Chronometer
|
||||
android:id="@+id/incoming_call_timer"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/incoming_call_title" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<include
|
||||
android:id="@+id/avatar"
|
||||
layout="@layout/voip_contact_avatar_alt"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="10dp"
|
||||
app:data="@{callsViewModel.currentCallData}"
|
||||
app:layout_constraintBottom_toTopOf="@id/caller_name"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHeight_max="@dimen/voip_contact_avatar_max_height"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/incoming_call_timer"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
</RelativeLayout>
|
||||
<TextView
|
||||
android:id="@+id/caller_name"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:text="@{callsViewModel.currentCallData.contact.fullName ?? callsViewModel.currentCallData.displayName, default=`Bilbo Baggins`}"
|
||||
app:layout_constraintBottom_toTopOf="@id/textView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/avatar" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
style="@style/call_header_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@{callsViewModel.currentCallData.address, default=`sip:bilbo.baggins@sip.linphone.org`}"
|
||||
app:layout_constraintBottom_toTopOf="@id/buttons"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/caller_name" />
|
||||
|
||||
<include
|
||||
android:id="@+id/buttons"
|
||||
layout="@layout/voip_buttons_incoming"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
android:layout_margin="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_buttons_max_width"
|
||||
app:viewModel="@{controlsViewModel}" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -12,115 +12,108 @@
|
|||
type="org.linphone.activities.voip.viewmodels.ControlsViewModel" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/voipBackgroundColor">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/top_info"
|
||||
android:layout_width="match_parent"
|
||||
<ProgressBar
|
||||
android:id="@+id/progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/icon_spinner_rotating"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
style="@style/call_header_title"
|
||||
android:text="@string/call_outgoing_title"/>
|
||||
|
||||
<Chronometer
|
||||
android:id="@+id/outgoing_call_timer"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
style="@style/call_header_title" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/buttons"
|
||||
android:layout_below="@id/top_info"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/icon_spinner_rotating"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<include
|
||||
android:id="@+id/avatar"
|
||||
layout="@layout/voip_contact_avatar_alt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
app:data="@{callsViewModel.currentCallData}"
|
||||
app:isConferenceCall="@{callsViewModel.currentCallData.remoteConferenceSubject.length > 0}" />
|
||||
|
||||
<TextView
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@{callsViewModel.currentCallData.remoteConferenceSubject ?? callsViewModel.currentCallData.contact.fullName ?? callsViewModel.currentCallData.displayName, default=`Bilbo Baggins`}" />
|
||||
|
||||
<TextView
|
||||
style="@style/call_header_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="@{callsViewModel.currentCallData.remoteConferenceSubject.length > 0 ? @string/conference : callsViewModel.currentCallData.address, default=`sip:bilbo.baggins@sip.linphone.org`}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/buttons"
|
||||
android:layout_width="match_parent"
|
||||
<TextView
|
||||
android:id="@+id/outgoing_call_title"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="10dp">
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/call_outgoing_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progress" />
|
||||
|
||||
<include
|
||||
layout="@layout/voip_buttons_outgoing"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintWidth_max="350dp"
|
||||
app:controlsViewModel="@{controlsViewModel}" />
|
||||
<Chronometer
|
||||
android:id="@+id/outgoing_call_timer"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/outgoing_call_title" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<include
|
||||
android:id="@+id/avatar"
|
||||
layout="@layout/voip_contact_avatar_alt"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="10dp"
|
||||
app:data="@{callsViewModel.currentCallData}"
|
||||
app:isConferenceCall="@{callsViewModel.currentCallData.remoteConferenceSubject.length > 0}"
|
||||
app:layout_constraintBottom_toTopOf="@id/callee_name"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHeight_max="@dimen/voip_contact_avatar_max_height"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/outgoing_call_timer"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/callee_name"
|
||||
style="@style/call_header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:text="@{callsViewModel.currentCallData.remoteConferenceSubject ?? callsViewModel.currentCallData.contact.fullName ?? callsViewModel.currentCallData.displayName, default=`Bilbo Baggins`}"
|
||||
app:layout_constraintBottom_toTopOf="@id/callee_address"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/avatar" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/callee_address"
|
||||
style="@style/call_header_subtitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:text="@{callsViewModel.currentCallData.remoteConferenceSubject.length > 0 ? @string/conference : callsViewModel.currentCallData.address, default=`sip:bilbo.baggins@sip.linphone.org`}"
|
||||
app:layout_constraintBottom_toTopOf="@id/buttons"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/callee_name" />
|
||||
|
||||
<include
|
||||
android:id="@+id/buttons"
|
||||
layout="@layout/voip_buttons_outgoing"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/voip_buttons_fragment_size"
|
||||
android:layout_margin="10dp"
|
||||
app:controlsViewModel="@{controlsViewModel}"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintWidth_max="350dp" />
|
||||
|
||||
<ViewStub
|
||||
android:id="@+id/stub_numpad"
|
||||
android:layout="@layout/voip_numpad"
|
||||
android:visibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:inflatedVisibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE}"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:controlsViewModel="@{controlsViewModel}"/>
|
||||
android:layout="@layout/voip_numpad"
|
||||
android:visibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE, default=gone}"
|
||||
app:controlsViewModel="@{controlsViewModel}"
|
||||
app:inflatedVisibility="@{controlsViewModel.numpadVisible ? View.VISIBLE : View.GONE}" />
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
@ -11,47 +12,54 @@
|
|||
type="Integer" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="@{inflatedVisibility}"
|
||||
android:focusable="true"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:focusable="true"
|
||||
android:visibility="@{inflatedVisibility}">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
<ImageView
|
||||
android:id="@+id/resume_call"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:background="@drawable/shape_orange_circle"
|
||||
android:contentDescription="@null"
|
||||
android:onClick="@{() -> data.resume()}"
|
||||
android:padding="40dp"
|
||||
android:src="@drawable/voip_conference_play_big"
|
||||
app:layout_constraintBottom_toTopOf="@id/paused_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/paused_title"
|
||||
style="@style/conference_paused_title_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
android:text="@string/call_locally_paused_title"
|
||||
app:layout_constraintBottom_toTopOf="@id/paused_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/resume_call" />
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> data.resume()}"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:padding="40dp"
|
||||
android:background="@drawable/shape_orange_circle"
|
||||
android:src="@drawable/voip_conference_play_big"
|
||||
android:contentDescription="@null"/>
|
||||
<TextView
|
||||
android:id="@+id/paused_subtitle"
|
||||
style="@style/conference_paused_subtitle_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/call_locally_paused_subtitle"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/paused_title" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
style="@style/conference_paused_title_font"
|
||||
android:text="@string/call_locally_paused_title"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
style="@style/conference_paused_subtitle_font"
|
||||
android:text="@string/call_locally_paused_subtitle"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
@ -8,34 +9,41 @@
|
|||
type="Integer" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="@{inflatedVisibility}"
|
||||
android:focusable="true"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:focusable="true"
|
||||
android:visibility="@{inflatedVisibility}">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/paused_icon"
|
||||
android:id="@+id/paused_call"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:layout_centerInParent="true"
|
||||
android:background="@drawable/shape_orange_circle"
|
||||
android:contentDescription="@null"
|
||||
android:padding="40dp"
|
||||
android:src="@drawable/voip_conference_paused_big" />
|
||||
android:src="@drawable/voip_conference_paused_big"
|
||||
app:layout_constraintBottom_toTopOf="@id/paused_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/paused_title"
|
||||
style="@style/conference_paused_title_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/paused_icon"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/call_remotely_paused_title" />
|
||||
android:text="@string/call_remotely_paused_title"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/paused_call" />
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -18,49 +18,52 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:visibility="@{inflatedVisibility}"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:visibility="@{inflatedVisibility}">
|
||||
|
||||
<RelativeLayout
|
||||
<View
|
||||
android:id="@+id/background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="80dp"
|
||||
android:layout_marginBottom="70dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="80dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginBottom="70dp"
|
||||
android:background="@drawable/shape_call_popup_background"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_views_max_width"
|
||||
android:background="@drawable/shape_call_popup_background">
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_views_max_width" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hide_stats"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_margin="10dp"
|
||||
android:onClick="@{() -> controlsViewModel.hideCallStats()}"
|
||||
android:src="@drawable/icon_cancel_alt"
|
||||
android:contentDescription="@string/content_description_hide_statistics"/>
|
||||
<ImageView
|
||||
android:id="@+id/hide_stats"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_margin="10dp"
|
||||
android:contentDescription="@string/content_description_hide_statistics"
|
||||
android:onClick="@{() -> controlsViewModel.hideCallStats()}"
|
||||
android:src="@drawable/icon_cancel_alt"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintTop_toTopOf="@id/background" />
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_below="@id/hide_stats"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/hide_stats"
|
||||
app:layout_constraintBottom_toBottomOf="@id/background"
|
||||
android:layout_marginBottom="10dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/hide_stats"
|
||||
android:layout_marginBottom="10dp">
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:entries="@{statsViewModel.callStatsList}"
|
||||
app:layout="@{@layout/voip_call_stats_cell}" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
app:entries="@{statsViewModel.callStatsList}"
|
||||
app:layout="@{@layout/voip_call_stats_cell}" />
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
|
@ -11,47 +12,54 @@
|
|||
type="Integer" />
|
||||
</data>
|
||||
|
||||
<RelativeLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="@{inflatedVisibility}"
|
||||
android:focusable="true"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:focusable="true"
|
||||
android:visibility="@{inflatedVisibility}">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
<ImageView
|
||||
android:id="@+id/resume_conference"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:background="@drawable/shape_orange_circle"
|
||||
android:contentDescription="@null"
|
||||
android:onClick="@{() -> conferenceViewModel.resumeConference()}"
|
||||
android:padding="40dp"
|
||||
android:src="@drawable/voip_conference_play_big"
|
||||
app:layout_constraintBottom_toTopOf="@id/out_of_conf_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/out_of_conf_title"
|
||||
style="@style/conference_paused_title_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
android:text="@string/conference_paused_title"
|
||||
app:layout_constraintBottom_toTopOf="@id/out_of_conf_subtitle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/resume_conference" />
|
||||
|
||||
<ImageView
|
||||
android:onClick="@{() -> conferenceViewModel.resumeConference()}"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:padding="40dp"
|
||||
android:background="@drawable/shape_orange_circle"
|
||||
android:src="@drawable/voip_conference_play_big"
|
||||
android:contentDescription="@null"/>
|
||||
<TextView
|
||||
android:id="@+id/out_of_conf_subtitle"
|
||||
style="@style/conference_paused_subtitle_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/conference_paused_subtitle"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/out_of_conf_title" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
style="@style/conference_paused_title_font"
|
||||
android:text="@string/conference_paused_title"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
style="@style/conference_paused_subtitle_font"
|
||||
android:text="@string/conference_paused_subtitle"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -15,7 +15,7 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:maxHeight="200dp">
|
||||
android:maxHeight="@dimen/voip_contact_avatar_max_height">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -9,85 +9,106 @@
|
|||
type="org.linphone.activities.main.viewmodels.DialogViewModel" />
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:focusable="true"
|
||||
android:clickable="true">
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<LinearLayout
|
||||
<View
|
||||
android:id="@+id/background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@drawable/shape_dialog_background"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_message"
|
||||
app:layout_constraintBottom_toBottomOf="@id/bottom_barrier"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/cancel_button"
|
||||
style="@style/big_orange_button_font"
|
||||
android:layout_width="0dp"
|
||||
app:layout_constraintWidth_max="@dimen/voip_dialog_button_max_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:background="@drawable/shape_rect_gray_button"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> viewModel.onCancelClicked()}"
|
||||
android:padding="10dp"
|
||||
android:text="@{viewModel.cancelLabel, default=Cancel}"
|
||||
android:visibility="@{viewModel.showCancel ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintEnd_toStartOf="@id/delete_button"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/delete_button"
|
||||
style="@style/big_orange_button_font"
|
||||
android:layout_width="0dp"
|
||||
app:layout_constraintWidth_max="@dimen/voip_dialog_button_max_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/shape_rect_orange_button"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> viewModel.onDeleteClicked()}"
|
||||
android:padding="10dp"
|
||||
android:text="@{viewModel.deleteLabel, default=Delete}"
|
||||
android:visibility="@{viewModel.showDelete ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintEnd_toStartOf="@id/ok_button"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/cancel_button" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/ok_button"
|
||||
style="@style/big_orange_button_font"
|
||||
android:layout_width="0dp"
|
||||
app:layout_constraintWidth_max="@dimen/voip_dialog_button_max_width"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@drawable/shape_rect_green_button"
|
||||
android:gravity="center"
|
||||
android:onClick="@{() -> viewModel.onOkClicked()}"
|
||||
android:padding="10dp"
|
||||
android:text="@{viewModel.okLabel, default=OK}"
|
||||
android:visibility="@{viewModel.showOk ? View.VISIBLE : View.GONE}"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/delete_button" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/top_barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="top"
|
||||
app:barrierMargin="-10dp"
|
||||
app:constraint_referenced_ids="ok_button,delete_button,cancel_button"/>
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/bottom_barrier"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="bottom"
|
||||
app:barrierMargin="20dp"
|
||||
app:constraint_referenced_ids="ok_button,delete_button,cancel_button"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialog_message"
|
||||
style="@style/dialog_message_font"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/shape_dialog_background">
|
||||
android:padding="10dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:gravity="center"
|
||||
android:text="@{viewModel.message, default=Message}"
|
||||
app:layout_constraintBottom_toTopOf="@id/top_barrier"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
style="@style/dialog_message_font"
|
||||
android:text="@{viewModel.message, default=Message}"/>
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
app:flexWrap="nowrap"
|
||||
app:alignItems="center"
|
||||
app:justifyContent="space_around">
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> viewModel.onCancelClicked()}"
|
||||
android:layout_width="137dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:padding="10dp"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/shape_rect_gray_button"
|
||||
android:visibility="@{viewModel.showCancel ? View.VISIBLE : View.GONE}"
|
||||
android:text="@{viewModel.cancelLabel, default=Cancel}"
|
||||
style="@style/big_orange_button_font"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> viewModel.onDeleteClicked()}"
|
||||
android:layout_width="137dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:padding="10dp"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/shape_rect_orange_button"
|
||||
android:visibility="@{viewModel.showDelete ? View.VISIBLE : View.GONE}"
|
||||
android:text="@{viewModel.deleteLabel, default=Delete}"
|
||||
style="@style/big_orange_button_font"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{() -> viewModel.onOkClicked()}"
|
||||
android:layout_width="137dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:padding="10dp"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/shape_rect_green_button"
|
||||
android:visibility="@{viewModel.showOk ? View.VISIBLE : View.GONE}"
|
||||
android:text="@{viewModel.okLabel, default=OK}"
|
||||
style="@style/big_orange_button_font"/>
|
||||
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View"/>
|
||||
|
@ -11,49 +12,59 @@
|
|||
type="android.view.View.OnClickListener" />
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:focusable="true"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:focusable="true">
|
||||
|
||||
<LinearLayout
|
||||
<View
|
||||
android:id="@+id/background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="-20dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="-20dp"
|
||||
android:background="@drawable/shape_dialog_background"
|
||||
app:layout_constraintBottom_toBottomOf="@id/ok_button"
|
||||
app:layout_constraintTop_toTopOf="@id/dialog_message"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialog_message"
|
||||
style="@style/dialog_message_font"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/shape_dialog_background">
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:gravity="center"
|
||||
android:text="@{dialogMessage}"
|
||||
app:layout_constraintBottom_toTopOf="@id/ok_button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
style="@style/dialog_message_font"
|
||||
android:text="@{dialogMessage}"/>
|
||||
<TextView
|
||||
android:id="@+id/ok_button"
|
||||
style="@style/big_orange_button_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/shape_rect_orange_button"
|
||||
android:onClick="@{dismissClickListener}"
|
||||
android:paddingLeft="40dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingRight="40dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:text="@string/dialog_ok"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:onClick="@{dismissClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="40dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingRight="40dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/shape_rect_orange_button"
|
||||
android:text="@string/dialog_ok"
|
||||
style="@style/big_orange_button_font"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
|
@ -15,144 +15,184 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/voip_translucent_popup_background"
|
||||
android:clickable="true"
|
||||
android:visibility="@{inflatedVisibility}"
|
||||
android:background="@color/voip_translucent_popup_background">
|
||||
android:visibility="@{inflatedVisibility}">
|
||||
|
||||
<RelativeLayout
|
||||
<View
|
||||
android:id="@+id/background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="80dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="70dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:background="@drawable/shape_call_popup_background"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_views_max_width"
|
||||
android:background="@drawable/shape_call_popup_background">
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintWidth_max="@dimen/voip_views_max_width" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/hide_numpad"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:contentDescription="@string/content_description_hide_numpad"
|
||||
android:onClick="@{() -> controlsViewModel.hideNumpad()}"
|
||||
android:src="@drawable/icon_cancel_alt" />
|
||||
<ImageView
|
||||
android:id="@+id/hide_numpad"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_margin="10dp"
|
||||
android:contentDescription="@string/content_description_hide_numpad"
|
||||
android:onClick="@{() -> controlsViewModel.hideNumpad()}"
|
||||
android:src="@drawable/icon_cancel_alt"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintTop_toTopOf="@id/background" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/entered_dtmfs"
|
||||
style="@style/call_dtmf_history_font"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/hide_numpad"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="@{controlsViewModel.dtmfHistory}"/>
|
||||
<TextView
|
||||
android:id="@+id/entered_dtmfs"
|
||||
style="@style/call_dtmf_history_font"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="10dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@{controlsViewModel.dtmfHistory, default=`0123456`}"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/hide_numpad" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/entered_dtmfs">
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_1"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_1"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('1')}"
|
||||
android:src="@drawable/voip_numpad_1"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_4"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_2"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/entered_dtmfs"
|
||||
app:layout_constraintVertical_chainStyle="spread" />
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:alignContent="space_around"
|
||||
app:alignItems="center"
|
||||
app:flexWrap="wrap"
|
||||
app:justifyContent="space_around"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintHeight_max="350dp"
|
||||
app:layout_constraintWidth_max="250dp">
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_2"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_2"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('2')}"
|
||||
android:src="@drawable/voip_numpad_2"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_5"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_3"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_1"
|
||||
app:layout_constraintTop_toBottomOf="@id/entered_dtmfs"
|
||||
app:layout_constraintVertical_chainStyle="spread" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_1"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('1')}"
|
||||
android:src="@drawable/voip_numpad_1" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_3"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_3"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('3')}"
|
||||
android:src="@drawable/voip_numpad_3"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_6"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_2"
|
||||
app:layout_constraintTop_toBottomOf="@id/entered_dtmfs"
|
||||
app:layout_constraintVertical_chainStyle="spread" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_2"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('2')}"
|
||||
android:src="@drawable/voip_numpad_2" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_4"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_4"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('4')}"
|
||||
android:src="@drawable/voip_numpad_4"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_7"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_5"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_1" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_3"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('3')}"
|
||||
android:src="@drawable/voip_numpad_3" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_5"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_5"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('5')}"
|
||||
android:src="@drawable/voip_numpad_5"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_8"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_6"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_4"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_2" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_4"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('4')}"
|
||||
android:src="@drawable/voip_numpad_4"
|
||||
app:layout_wrapBefore="true" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_6"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_6"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('6')}"
|
||||
android:src="@drawable/voip_numpad_6"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_9"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_5"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_3" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_5"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('5')}"
|
||||
android:src="@drawable/voip_numpad_5" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_7"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_7"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('7')}"
|
||||
android:src="@drawable/voip_numpad_7"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_star"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_8"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_4" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_6"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('6')}"
|
||||
android:src="@drawable/voip_numpad_6" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_8"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_8"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('8')}"
|
||||
android:src="@drawable/voip_numpad_8"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_0"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_9"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_7"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_5" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_7"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('7')}"
|
||||
android:src="@drawable/voip_numpad_7"
|
||||
app:layout_wrapBefore="true" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_9"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_9"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('9')}"
|
||||
android:src="@drawable/voip_numpad_9"
|
||||
app:layout_constraintBottom_toTopOf="@id/dtmf_sharp"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_8"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_6" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_8"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('8')}"
|
||||
android:src="@drawable/voip_numpad_8" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_star"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_star"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('*')}"
|
||||
android:src="@drawable/voip_numpad_star"
|
||||
app:layout_constraintBottom_toBottomOf="@id/background"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_0"
|
||||
app:layout_constraintHorizontal_chainStyle="spread"
|
||||
app:layout_constraintStart_toStartOf="@id/background"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_7" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_9"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('9')}"
|
||||
android:src="@drawable/voip_numpad_9" />
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_0"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_0"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('0')}"
|
||||
android:src="@drawable/voip_numpad_0"
|
||||
app:layout_constraintBottom_toBottomOf="@id/background"
|
||||
app:layout_constraintEnd_toStartOf="@id/dtmf_sharp"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_star"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_8" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_star"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('*')}"
|
||||
android:src="@drawable/voip_numpad_star"
|
||||
app:layout_wrapBefore="true" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_0"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('0')}"
|
||||
android:src="@drawable/voip_numpad_0" />
|
||||
|
||||
<ImageView
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_sharp"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('#')}"
|
||||
android:src="@drawable/voip_numpad_hash" />
|
||||
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
<ImageView
|
||||
android:id="@+id/dtmf_sharp"
|
||||
style="@style/call_numpad_digit"
|
||||
android:contentDescription="@string/content_description_numpad_sharp"
|
||||
android:onClick="@{() -> controlsViewModel.handleDtmfClick('#')}"
|
||||
android:src="@drawable/voip_numpad_hash"
|
||||
app:layout_constraintBottom_toBottomOf="@id/background"
|
||||
app:layout_constraintEnd_toEndOf="@id/background"
|
||||
app:layout_constraintStart_toEndOf="@id/dtmf_0"
|
||||
app:layout_constraintTop_toBottomOf="@id/dtmf_9" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
@ -57,4 +57,6 @@
|
|||
<dimen name="voip_call_header_height">60dp</dimen>
|
||||
<dimen name="voip_conference_active_speaker_miniature_avatar_size">50dp</dimen>
|
||||
<dimen name="voip_conference_participant_mic_muted_icon_size">30dp</dimen>
|
||||
<dimen name="voip_dialog_button_max_width">137dp</dimen>
|
||||
<dimen name="voip_contact_avatar_max_height">200dp</dimen>
|
||||
</resources>
|
Loading…
Reference in a new issue