Using style to factorize popup menus attributes, added hover effect (same as pressed) & improved some layouts

This commit is contained in:
Sylvain Berfini 2025-06-16 14:28:00 +02:00
parent 654e790a6d
commit a81973e4cf
51 changed files with 208 additions and 350 deletions

View file

@ -13,7 +13,9 @@ Group changes to describe their impact on the project, as follows:
## [6.1.0] - Unreleased
### Added
- Added hover effect when using a mouse (useful for tablets or devices with desktop mode)
- Added toggle speaker action in active call notification
- Added back increased text size for chat messages that only contains emoji(s)
- Added a vu meter for recording & playback volumes (disabled by default, must be enabled in CorePreferences)
- Added a setting for user to choose whether to sort contacts by first name or last name
- Added a setting to hide contacts that have neither a SIP address nor a phone number

View file

@ -2,5 +2,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="?attr/color_grey_300"/>
<item android:state_pressed="true" android:color="?attr/color_main1_500"/>
<item android:state_hovered="true" android:color="?attr/color_main1_500"/>
<item android:color="?attr/color_main2_500"/>
</selector>

View file

@ -2,5 +2,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="?attr/color_main2_200"/>
<item android:state_pressed="true" android:color="?attr/color_main2_500"/>
<item android:state_hovered="true" android:color="?attr/color_main2_500"/>
<item android:color="?attr/color_main1_500"/>
</selector>

View file

@ -2,5 +2,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/gray_700" />
<item android:state_pressed="true" android:color="@color/gray_main2_400" />
<item android:state_hovered="true" android:color="@color/gray_main2_400" />
<item android:color="@color/gray_500"/>
</selector>

View file

@ -2,6 +2,8 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="@color/bc_white" />
<item android:state_hovered="true"
android:color="@color/bc_white" />
<item
android:color="@color/transparent_color"/>
</selector>

View file

@ -2,5 +2,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/gray_400" />
<item android:state_pressed="true" android:color="@color/bc_white" />
<item android:state_hovered="true" android:color="@color/bc_white" />
<item android:color="@color/bc_white"/>
</selector>

View file

@ -4,6 +4,8 @@
android:color="?attr/color_on_main" />
<item android:state_pressed="true"
android:color="?attr/color_on_main" />
<item android:state_hovered="true"
android:color="?attr/color_on_main" />
<item
android:color="?attr/color_on_main"/>
</selector>

View file

@ -4,6 +4,8 @@
android:color="?attr/color_main1_500" />
<item android:state_pressed="true"
android:color="?attr/color_main2_000" />
<item android:state_hovered="true"
android:color="?attr/color_main2_000" />
<item
android:color="?attr/color_main1_500"/>
</selector>

View file

@ -2,5 +2,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/gray_400" />
<item android:state_pressed="true" android:color="?attr/color_main1_500" />
<item android:state_hovered="true" android:color="?attr/color_main1_500" />
<item android:color="?attr/color_main1_500"/>
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_main2_100_background_bottom" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_main2_100_background_bottom" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_main2_100_background_bottom" />
<item
android:drawable="@drawable/shape_squircle_white_background_bottom" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_main2_100_r15_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_main2_100_r15_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_main2_100_r15_background" />
<item
android:drawable="@drawable/shape_squircle_white_r15_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_rectangle_gray_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_rectangle_gray_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_rectangle_gray_background" />
<item
android:drawable="@drawable/shape_rectangle_white_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_main2_100_background_top" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_main2_100_background_top" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_main2_100_background_top" />
<item
android:drawable="@drawable/shape_squircle_white_background_top" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_circle_light_blue_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_circle_light_blue_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_circle_light_blue_pressed_background" />
<item
android:drawable="@drawable/shape_circle_light_blue_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_primary_button_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_circle_white_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_circle_white_pressed_background" />
<item
android:drawable="@drawable/shape_circle_white_call_background" />
</selector>

View file

@ -6,6 +6,8 @@
android:drawable="@drawable/shape_round_in_call_selected_green_button_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item
android:drawable="@drawable/shape_round_in_call_button_background" />
</selector>

View file

@ -6,6 +6,8 @@
android:drawable="@drawable/shape_round_in_call_selected_red_button_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item
android:drawable="@drawable/shape_round_in_call_button_background" />
</selector>

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:drawable="@drawable/shape_round_in_call_disabled_button_background" />
<item android:state_selected="true"
android:drawable="@drawable/shape_round_in_call_selected_red_button_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_round_in_call_pressed_button_background" />
<item
android:drawable="@drawable/shape_round_transparent_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_rectangle_gray_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_rectangle_gray_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_rectangle_gray_background" />
<item
android:drawable="@drawable/shape_menu_item_background" />
</selector>

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/shape_round_popup_menu_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_round_popup_menu_pressed_background" />
<item
android:drawable="@drawable/shape_round_popup_menu_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_primary_button_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_primary_button_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_primary_button_pressed_background" />
<item
android:drawable="@drawable/shape_primary_button_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/color_main2_100" />
<item android:state_pressed="true"
android:drawable="@drawable/color_main2_100" />
<item android:state_hovered="true"
android:drawable="@drawable/color_main2_100" />
<item
android:drawable="@drawable/color_main2_000" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/color_main2_100" />
<item android:state_pressed="true"
android:drawable="@drawable/color_main2_100" />
<item android:state_hovered="true"
android:drawable="@drawable/color_main2_100" />
<item
android:drawable="@drawable/color_background_contrast" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_gray_main2_100_r10_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_gray_main2_100_r10_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_gray_main2_100_r10_background" />
<item
android:drawable="@drawable/shape_squircle_white_r10_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_secondary_button_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_secondary_button_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_secondary_button_pressed_background" />
<item
android:drawable="@drawable/shape_secondary_button_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/color_main2_100" />
<item android:state_pressed="true"
android:drawable="@drawable/color_main2_100" />
<item android:state_hovered="true"
android:drawable="@drawable/color_main2_100" />
<item
android:drawable="@color/transparent_color" />
</selector>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="16dp" />
<solid android:color="?attr/color_main2_100"/>
</shape>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<size android:width="55dp" android:height="55dp" />
<solid android:color="@color/transparent_color"/>
</shape>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_green_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_green_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_green_pressed_background" />
<item
android:drawable="@drawable/shape_squircle_green_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_squircle_red_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_squircle_red_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_squircle_red_pressed_background" />
<item
android:drawable="@drawable/shape_squircle_red_background" />
</selector>

View file

@ -4,6 +4,8 @@
android:drawable="@drawable/shape_tertiary_button_disabled_background" />
<item android:state_pressed="true"
android:drawable="@drawable/shape_tertiary_button_pressed_background" />
<item android:state_hovered="true"
android:drawable="@drawable/shape_tertiary_button_pressed_background" />
<item
android:drawable="@drawable/shape_tertiary_button_background" />
</selector>

View file

@ -16,18 +16,16 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/manage_profile"
android:onClick="@{manageProfileClickListener}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/popup_menu_padding"
android:layout_marginBottom="@dimen/popup_menu_padding"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:text="@string/drawer_menu_manage_account"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawableStart="@drawable/user_circle_gear"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"

View file

@ -77,27 +77,16 @@
app:layout_constraintStart_toStartOf="@id/toggle_video"
app:layout_constraintEnd_toEndOf="@id/toggle_video"/>
<ImageView
android:id="@+id/toggle_mute_mic_background"
android:layout_width="0dp"
android:layout_height="0dp"
android:selected="@{viewModel.isMicrophoneMuted}"
android:background="@drawable/in_call_button_background_red"
android:contentDescription="@null"
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
app:layout_constraintBottom_toBottomOf="@id/toggle_mute_mic"
app:layout_constraintStart_toStartOf="@id/toggle_mute_mic"
app:layout_constraintEnd_toEndOf="@id/toggle_mute_mic" />
<org.linphone.ui.call.view.VuMeterView
android:id="@+id/record_volume_vu_meter"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/in_call_button_background_red"
vuMeterPercentage="@{viewModel.microphoneRecordingVolume}"
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic_background"
app:layout_constraintBottom_toBottomOf="@id/toggle_mute_mic_background"
app:layout_constraintStart_toStartOf="@id/toggle_mute_mic_background"
app:layout_constraintEnd_toEndOf="@id/toggle_mute_mic_background" />
app:layout_constraintTop_toTopOf="@id/toggle_mute_mic"
app:layout_constraintBottom_toBottomOf="@id/toggle_mute_mic"
app:layout_constraintStart_toStartOf="@id/toggle_mute_mic"
app:layout_constraintEnd_toEndOf="@id/toggle_mute_mic" />
<ImageView
android:onClick="@{() -> viewModel.toggleMuteMicrophone()}"
@ -108,32 +97,23 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isMicrophoneMuted ? @drawable/microphone_slash : @drawable/microphone, default=@drawable/microphone}"
android:contentDescription="@string/content_description_toggle_microphone"
android:background="@drawable/in_call_button_background_transparent"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintTop_toBottomOf="@id/call_actions_handle"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/toggle_video"
app:layout_constraintEnd_toStartOf="@id/change_audio_output" />
<ImageView
android:id="@+id/change_audio_output_background"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/in_call_button_background_red"
android:contentDescription="@null"
app:layout_constraintTop_toTopOf="@id/change_audio_output"
app:layout_constraintBottom_toBottomOf="@id/change_audio_output"
app:layout_constraintStart_toStartOf="@id/change_audio_output"
app:layout_constraintEnd_toEndOf="@id/change_audio_output" />
<org.linphone.ui.call.view.VuMeterView
android:id="@+id/playback_volume_vu_meter"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@drawable/in_call_button_background_red"
vuMeterPercentage="@{viewModel.playbackVolume}"
app:layout_constraintTop_toTopOf="@id/change_audio_output_background"
app:layout_constraintBottom_toBottomOf="@id/change_audio_output_background"
app:layout_constraintStart_toStartOf="@id/change_audio_output_background"
app:layout_constraintEnd_toEndOf="@id/change_audio_output_background" />
app:layout_constraintTop_toTopOf="@id/change_audio_output"
app:layout_constraintBottom_toBottomOf="@id/change_audio_output"
app:layout_constraintStart_toStartOf="@id/change_audio_output"
app:layout_constraintEnd_toEndOf="@id/change_audio_output" />
<ImageView
android:onClick="@{() -> viewModel.changeAudioOutputDevice()}"
@ -144,6 +124,7 @@
android:padding="@dimen/call_button_icon_padding"
android:src="@{viewModel.isHearingAidEnabled ? @drawable/ear : viewModel.isHeadsetEnabled ? @drawable/headset : viewModel.isBluetoothEnabled ? @drawable/bluetooth : viewModel.isSpeakerEnabled ? @drawable/speaker_high : @drawable/speaker_slash, default=@drawable/speaker_slash}"
android:contentDescription="@string/content_description_change_output_audio_device"
android:background="@drawable/in_call_button_background_transparent"
app:tint="@color/in_call_button_tint_color"
app:layout_constraintTop_toBottomOf="@id/call_actions_handle"
app:layout_constraintBottom_toBottomOf="parent"

View file

@ -18,20 +18,13 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/share_invitation"
android:onClick="@{shareInvitationClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conference_share_link_title"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawablePadding="5dp"
android:drawableStart="@drawable/share_network"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -41,7 +34,7 @@
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -14,18 +14,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:onClick="@{() -> model.onDigitClicked(digit)}"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size">
<ImageView
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@null"
android:src="@drawable/in_call_button_background_red"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
android:layout_height="@dimen/call_dtmf_button_size"
android:background="@drawable/in_call_button_background_red">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"

View file

@ -19,18 +19,8 @@
android:onClick="@{() -> model.onDigitClicked(digit)}"
android:onLongClick="@{() -> model.onDigitLongClicked(digit)}"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size">
<ImageView
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@null"
android:src="@drawable/in_call_button_background_red"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
android:layout_height="@dimen/call_dtmf_button_size"
android:background="@drawable/in_call_button_background_red">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"

View file

@ -17,18 +17,8 @@
android:onClick="@{() -> model.onDigitClicked(digit)}"
android:onLongClick="@{() -> model.onDigitLongClicked(digit)}"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size">
<ImageView
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@null"
android:src="@drawable/in_call_button_background_red"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
android:layout_height="@dimen/call_dtmf_button_size"
android:background="@drawable/in_call_button_background_red">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"

View file

@ -19,18 +19,8 @@
android:onClick="@{() -> model.onDigitClicked(digit)}"
android:onLongClick="@{() -> model.onVoicemailLongClicked()}"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size">
<ImageView
android:layout_width="0dp"
android:layout_height="0dp"
android:contentDescription="@null"
android:src="@drawable/in_call_button_background_red"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
android:layout_height="@dimen/call_dtmf_button_size"
android:background="@drawable/in_call_button_background_red">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"

View file

@ -89,7 +89,6 @@
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="@dimen/screen_bottom_margin"
android:background="@drawable/shape_squircle_white_background"
app:layout_constraintWidth_max="250dp"
app:layout_constraintHorizontal_bias="@{viewModel.horizontalBias, default=0}"
app:layout_constraintBottom_toBottomOf="parent"
@ -97,12 +96,13 @@
app:layout_constraintEnd_toEndOf="parent">
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_resend"
android:onClick="@{() -> viewModel.resend()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_resend_chat_message"
android:background="@drawable/action_background_top"
android:drawableEnd="@drawable/paper_plane_right"
android:visibility="@{viewModel.isMessageInError &amp;&amp; viewModel.isMessageOutgoing ? View.VISIBLE : View.GONE, default=gone}" />
@ -113,13 +113,14 @@
android:visibility="@{viewModel.isMessageInError &amp;&amp; viewModel.isMessageOutgoing ? View.VISIBLE : View.GONE, default=gone}"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_info"
android:onClick="@{() -> viewModel.showInfo()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_show_imdn"
android:drawableEnd="@drawable/info" />
android:background="@{viewModel.isMessageInError &amp;&amp; viewModel.isMessageOutgoing ? @drawable/action_background_middle : @drawable/action_background_top, default=@drawable/action_background_top}"
android:drawableEnd="@drawable/info"/>
<View
android:layout_width="match_parent"
@ -127,12 +128,13 @@
android:background="?attr/color_separator"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_reply"
android:onClick="@{() -> viewModel.reply()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_reply_to_chat_message"
android:background="@drawable/action_background_middle"
android:visibility="@{viewModel.isChatRoomReadOnly ? View.GONE : View.VISIBLE}"
android:drawableEnd="@drawable/reply" />
@ -143,12 +145,13 @@
android:visibility="@{viewModel.isChatRoomReadOnly ? View.GONE : View.VISIBLE}" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_copy"
android:onClick="@{() -> viewModel.copyClickListener()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_copy_chat_message"
android:background="@drawable/action_background_middle"
android:visibility="@{viewModel.hideCopyTextToClipboard ? View.GONE : View.VISIBLE}"
android:drawableEnd="@drawable/copy"/>
@ -159,12 +162,13 @@
android:visibility="@{viewModel.hideCopyTextToClipboard ? View.GONE : View.VISIBLE}"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_forward"
android:onClick="@{() -> viewModel.forwardClickListener()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_forward_chat_message"
android:background="@drawable/action_background_middle"
android:drawableEnd="@drawable/forward"
android:visibility="@{viewModel.hideForward ? View.GONE : View.VISIBLE}" />
@ -175,13 +179,16 @@
android:visibility="@{viewModel.hideForward ? View.GONE : View.VISIBLE}" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_danger_action_label_style"
style="@style/chat_bubble_popup_menu_style"
android:id="@+id/action_delete"
android:onClick="@{() -> viewModel.deleteClickListener()}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/menu_delete_selected_item"
android:drawableEnd="@drawable/trash_simple" />
android:textColor="?attr/color_danger_500"
android:background="@drawable/action_background_bottom"
android:drawableEnd="@drawable/trash_simple"
app:drawableTint="?attr/color_danger_500"/>
</LinearLayout>

View file

@ -45,143 +45,94 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/info"
android:onClick="@{goToInfoClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_menu_go_to_info"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/info"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/search"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/search"
android:onClick="@{searchClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_menu_search_in_messages"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/magnifying_glass"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/info"
app:layout_constraintBottom_toTopOf="@id/mute"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/mute"
android:onClick="@{muteClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_action_mute"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/bell_simple_slash"
android:drawablePadding="5dp"
android:visibility="@{conversationMuted || readOnlyConversation ? View.GONE : View.VISIBLE}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/search"
app:layout_constraintBottom_toTopOf="@id/unmute"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/unmute"
android:onClick="@{unmuteClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_action_unmute"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/bell_simple"
android:drawablePadding="5dp"
android:visibility="@{conversationMuted &amp;&amp; !readOnlyConversation ? View.VISIBLE : View.GONE, default=gone}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/mute"
app:layout_constraintBottom_toTopOf="@id/ephemeral"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/ephemeral"
android:onClick="@{configureEphemeralMessagesClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_menu_configure_ephemeral_messages"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/clock_countdown"
android:drawablePadding="5dp"
android:visibility="@{ephemeralMessagesAvailable &amp;&amp; !readOnlyConversation ? View.VISIBLE : View.GONE}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/unmute"
app:layout_constraintBottom_toTopOf="@id/media"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/media"
android:onClick="@{mediaClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_menu_media_files"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/image"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/ephemeral"
app:layout_constraintBottom_toTopOf="@id/documents"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/documents"
android:onClick="@{documentsClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_menu_documents_files"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/file_pdf"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/media"
@ -191,7 +142,7 @@
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -42,21 +42,14 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/show_contact"
android:onClick="@{seeContactProfileClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:visibility="@{isParticipantContact ? View.VISIBLE : View.GONE}"
android:text="@string/conversation_info_menu_go_to_contact"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/address_book"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -64,21 +57,14 @@
app:layout_constraintBottom_toTopOf="@id/add_to_contacts"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/add_to_contacts"
android:onClick="@{addToContactsClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:visibility="@{isParticipantContact ? View.GONE : View.VISIBLE, default=gone}"
android:text="@string/conversation_info_menu_add_to_contacts"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/user_plus"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -86,21 +72,14 @@
app:layout_constraintBottom_toTopOf="@id/set_admin"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/set_admin"
android:onClick="@{setAdminClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:visibility="@{isParticipantAdmin || !isMeAdmin ? View.GONE : View.VISIBLE}"
android:text="@string/conversation_info_admin_menu_set_participant_admin"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/user_circle"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -108,21 +87,14 @@
app:layout_constraintBottom_toTopOf="@id/unset_admin"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/unset_admin"
android:onClick="@{unsetAdminClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:visibility="@{isParticipantAdmin &amp;&amp; isMeAdmin ? View.VISIBLE : View.GONE, default=gone}"
android:text="@string/conversation_info_admin_menu_unset_participant_admin"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/user_circle"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -130,20 +102,13 @@
app:layout_constraintBottom_toTopOf="@id/copy_sip_uri"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/copy_sip_uri"
android:onClick="@{copySipUriClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/menu_copy_sip_address"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:maxLines="1"
android:ellipsize="end"
android:drawableStart="@drawable/copy"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -154,7 +119,7 @@
android:id="@+id/separator"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:layout_marginTop="@dimen/popup_menu_padding"
android:background="?attr/color_main2_400"
android:visibility="@{isMeAdmin ? View.VISIBLE : View.GONE}"
app:layout_constraintStart_toStartOf="parent"
@ -163,20 +128,15 @@
app:layout_constraintBottom_toTopOf="@id/remove_participant" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/remove_participant"
android:onClick="@{removeParticipantClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/conversation_info_admin_menu_remove_participant"
android:textSize="14sp"
android:textColor="?attr/color_danger_500"
android:maxLines="1"
android:ellipsize="end"
android:visibility="@{isMeAdmin ? View.VISIBLE : View.GONE}"
android:drawableStart="@drawable/trash_simple"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_danger_500"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
@ -188,7 +148,7 @@
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -24,22 +24,11 @@
android:onLongClick="@{onLongClickListener}"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp">
<ImageView
android:id="@+id/background"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="5dp"
android:src="@drawable/primary_cell_background"
android:contentDescription="@null"
app:layout_constraintStart_toEndOf="@id/header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
android:background="@drawable/primary_cell_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_500"

View file

@ -30,16 +30,12 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/no_filter"
android:onClick="@{noFilterClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/contacts_list_filter_popup_see_all"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawablePadding="5dp"
android:drawableEnd="@drawable/check"
android:drawableTint="@{seeAllSelected ? @color/green_success_500 : @color/transparent_color, default=@color/transparent_color}"
app:layout_constraintStart_toStartOf="parent"
@ -48,17 +44,13 @@
app:layout_constraintBottom_toTopOf="@id/linphone_filter"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/linphone_filter"
android:onClick="@{linphoneOnlyClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/contacts_list_filter_popup_see_linphone_only"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:visibility="@{showLinphoneFilter ? View.VISIBLE : View.GONE}"
android:drawablePadding="5dp"
android:drawableEnd="@drawable/check"
android:drawableTint="@{seeAllSelected ? @color/transparent_color : @color/green_success_500, default=@color/green_success_500}"
app:layout_constraintStart_toStartOf="parent"
@ -67,17 +59,13 @@
app:layout_constraintBottom_toTopOf="@id/sip_filter"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/sip_filter"
android:onClick="@{sipOnlyClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/contacts_list_filter_popup_see_sip_only"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:visibility="@{showLinphoneFilter ? View.GONE : View.VISIBLE}"
android:drawablePadding="5dp"
android:drawableEnd="@drawable/check"
android:drawableTint="@{seeAllSelected ? @color/transparent_color : @color/green_success_500, default=@color/green_success_500}"
app:layout_constraintStart_toStartOf="parent"
@ -89,7 +77,7 @@
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -23,19 +23,8 @@
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<ImageView
android:id="@+id/background"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="5dp"
android:src="@drawable/primary_cell_background"
android:contentDescription="@null"
app:layout_constraintStart_toEndOf="@id/header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
android:paddingBottom="5dp"
android:background="@drawable/primary_cell_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style_500"

View file

@ -20,19 +20,8 @@
android:layout_marginStart="4dp"
android:layout_marginEnd="16dp"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<ImageView
android:id="@+id/background"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="5dp"
android:src="@drawable/primary_cell_background"
android:contentDescription="@null"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
android:paddingBottom="5dp"
android:background="@drawable/primary_cell_background">
<include
android:id="@+id/avatar"

View file

@ -18,19 +18,15 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/delete"
android:onClick="@{deleteAllHistoryClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:text="@string/menu_delete_history"
android:textSize="14sp"
android:textColor="?attr/color_danger_500"
android:drawableStart="@drawable/trash_simple"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_danger_500"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -40,7 +36,7 @@
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -33,20 +33,14 @@
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_item"
android:id="@+id/add_to_contact"
android:onClick="@{addToContactsListener}"
android:visibility="@{contactExists || isConferenceCallLog ? View.GONE : View.VISIBLE, default=gone}"
style="@style/default_text_style"
android:id="@+id/add_to_contact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:gravity="start|center_vertical"
android:text="@string/menu_add_address_to_contacts"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawableStart="@drawable/plus_circle"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintVertical_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -54,68 +48,52 @@
app:layout_constraintBottom_toTopOf="@id/go_to_contact"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/popup_menu_item"
android:id="@+id/go_to_contact"
android:onClick="@{goToContactListener}"
android:visibility="@{contactExists &amp;&amp; !isConferenceCallLog ? View.VISIBLE : View.GONE}"
style="@style/default_text_style"
android:id="@+id/go_to_contact"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:gravity="start|center_vertical"
android:text="@string/menu_see_existing_contact"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawableStart="@drawable/user_circle"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/add_to_contact"
app:layout_constraintBottom_toTopOf="@id/copy_number"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{copyNumberClickListener}"
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/copy_number"
android:onClick="@{copyNumberClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="start|center_vertical"
android:text="@string/menu_copy_sip_address"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawableStart="@drawable/copy"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/go_to_contact"
app:layout_constraintBottom_toTopOf="@id/delete_history"/>
<androidx.appcompat.widget.AppCompatTextView
android:onClick="@{deleteAllHistoryClickListener}"
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/delete_history"
android:onClick="@{deleteAllHistoryClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/popup_menu_item_top_margin"
android:gravity="start|center_vertical"
android:text="@string/menu_delete_history"
android:textSize="14sp"
android:textColor="?attr/color_danger_500"
android:drawableStart="@drawable/trash_simple"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_danger_500"
app:layout_constraintWidth_min="170dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/copy_number"
app:layout_constraintBottom_toBottomOf="parent"/>
app:layout_constraintBottom_toTopOf="@id/bottom_anchor"/>
<View
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_item_top_margin"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View file

@ -19,23 +19,18 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingEnd="@dimen/popup_menu_padding"
android:paddingStart="@dimen/popup_menu_padding"
android:background="@drawable/shape_round_popup_menu_background">
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/export_as_calendar"
android:onClick="@{createCalendarEventListener}"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:text="@string/meeting_info_export_as_calendar_event"
android:textSize="14sp"
android:textColor="?attr/color_main2_500"
android:drawableStart="@drawable/calendar_blank"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_main2_500"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@ -43,26 +38,31 @@
app:layout_constraintBottom_toTopOf="@id/delete_meeting"/>
<androidx.appcompat.widget.AppCompatTextView
style="@style/default_text_style"
style="@style/popup_menu_item"
android:id="@+id/delete_meeting"
android:onClick="@{deleteClickListener}"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="20dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:text="@{cancelInsteadOfDelete ? @string/meeting_cancel_action_label : @string/meeting_delete_action_label, default=@string/meeting_delete_action_label}"
android:textSize="14sp"
android:textColor="?attr/color_danger_500"
android:drawableStart="@drawable/trash_simple"
android:drawablePadding="5dp"
app:drawableTint="?attr/color_danger_500"
app:layout_constraintHorizontal_bias="0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/export_as_calendar"
app:layout_constraintBottom_toBottomOf="parent"/>
app:layout_constraintBottom_toTopOf="@id/bottom_anchor"/>
<View
android:id="@+id/bottom_anchor"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/popup_menu_padding"
app:layout_constraintWidth_max="@dimen/popup_menu_width"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/delete_meeting"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -61,7 +61,7 @@
<include
android:id="@+id/digit_1"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_voicemail"
bind:digit="@{`1`}"
@ -71,7 +71,7 @@
<include
android:id="@+id/digit_2"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`2`}"
@ -82,7 +82,7 @@
<include
android:id="@+id/digit_3"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`3`}"
@ -93,7 +93,7 @@
<include
android:id="@+id/digit_4"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`4`}"
@ -104,7 +104,7 @@
<include
android:id="@+id/digit_5"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`5`}"
@ -115,7 +115,7 @@
<include
android:id="@+id/digit_6"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`6`}"
@ -126,7 +126,7 @@
<include
android:id="@+id/digit_7"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`7`}"
@ -137,7 +137,7 @@
<include
android:id="@+id/digit_8"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`8`}"
@ -148,7 +148,7 @@
<include
android:id="@+id/digit_9"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_letters"
bind:digit="@{`9`}"
@ -159,7 +159,7 @@
<include
android:id="@+id/digit_star"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit"
bind:digit="@{`*`}"
@ -169,7 +169,7 @@
<include
android:id="@+id/digit_0"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit_with_plus"
bind:digit="@{`0`}"
@ -179,7 +179,7 @@
<include
android:id="@+id/digit_sharp"
android:layout_width="0dp"
android:layout_width="@dimen/call_dtmf_button_size"
android:layout_height="@dimen/call_dtmf_button_size"
layout="@layout/call_numpad_digit"
bind:digit="@{`#`}"

View file

@ -56,8 +56,7 @@
<dimen name="text_input_max_width">400dp</dimen>
<dimen name="emoji_list_max_width">400dp</dimen>
<dimen name="popup_menu_width">250dp</dimen>
<dimen name="popup_menu_padding">15dp</dimen>
<dimen name="popup_menu_item_top_margin">20dp</dimen>
<dimen name="popup_menu_padding">10dp</dimen>
<dimen name="call_remote_video_top_margin">70dp</dimen> <!-- Size of top text + top & bottom margins -->
<dimen name="call_main_actions_menu_height">110dp</dimen>

View file

@ -99,7 +99,7 @@
</style>
<style name="bottom_nav_bar_label_style">
<item name="android:fontFamily">@font/noto_sans</item>
<item name="android:textSize">@dimen/bottom_nav_bar_text_size</item>
<item name="android:textSize">11sp</item>
<item name="android:textColor">?attr/color_text</item>
<item name="android:gravity">center</item>
<item name="android:maxLines">1</item>
@ -123,7 +123,20 @@
<item name="android:drawableTint">?attr/color_danger_500</item>
<item name="android:drawablePadding">8dp</item>
</style>
<style name="popup_menu_action_label_style">
<style name="popup_menu_item">
<item name="android:fontFamily">@font/noto_sans</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">?attr/color_main2_500</item>
<item name="android:layout_marginTop">@dimen/popup_menu_padding</item>
<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>
<item name="android:padding">5dp</item>
<item name="android:background">@drawable/popup_menu_button_background</item>
<item name="android:drawablePadding">5dp</item>
<item name="drawableTint">?attr/color_main2_700</item>
<item name="android:gravity">start|center_vertical</item>
</style>
<style name="chat_bubble_popup_menu_style">
<item name="android:fontFamily">@font/noto_sans</item>
<item name="android:textSize">12sp</item>
<item name="android:textColor">?attr/color_main2_500</item>
@ -136,20 +149,6 @@
<item name="android:drawableTint">?attr/color_main2_500</item>
<item name="android:drawablePadding">8dp</item>
</style>
<style name="popup_menu_danger_action_label_style">
<item name="android:fontFamily">@font/noto_sans</item>
<item name="android:textSize">12sp</item>
<item name="android:textColor">?attr/color_danger_500</item>
<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>
<item name="android:paddingStart">15dp</item>
<item name="android:paddingEnd">15dp</item>
<item name="android:paddingTop">10dp</item>
<item name="android:paddingBottom">10dp</item>
<item name="android:drawableTint">?attr/color_danger_500</item>
<item name="android:drawablePadding">8dp</item>
</style>
<style name="message_reaction_style">
<item name="android:fontFamily">@font/noto_sans</item>
<item name="android:textColor">?attr/color_text</item>