From e35b76d0f495ccbde8f748a0d008a1367db9d41b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 29 Sep 2023 16:26:02 +0200 Subject: [PATCH] Updated icons according to latest changes --- .../java/org/linphone/ui/call/CallActivity.kt | 30 ++++++++++++++----- .../ui/call/fragment/ActiveCallFragment.kt | 3 +- .../ui/call/viewmodel/CurrentCallViewModel.kt | 22 ++++++++++++-- .../main/java/org/linphone/utils/AppUtils.kt | 12 ++++++-- .../org/linphone/utils/DataBindingUtils.kt | 8 +++-- .../main/res/drawable/chat_teardrop_text.xml | 9 ++++++ app/src/main/res/drawable/check.xml | 9 ++++++ .../main/res/drawable/check_square_offset.xml | 9 ++++++ app/src/main/res/drawable/detective.xml | 9 ++++++ .../main/res/drawable/microphone_stage.xml | 9 ++++++ app/src/main/res/drawable/record_fill.xml | 12 ++++++++ .../shape_remote_recording_background.xml | 1 - .../main/res/drawable/user_circle_gear.xml | 9 ++++++ .../res/layout-land/call_extra_actions.xml | 4 +-- .../main/res/layout/account_popup_menu.xml | 2 +- .../res/layout/account_profile_fragment.xml | 2 +- .../main/res/layout/call_active_fragment.xml | 11 ++++--- .../main/res/layout/call_extra_actions.xml | 4 +-- app/src/main/res/layout/contact_fragment.xml | 3 +- .../layout/contact_new_or_edit_fragment.xml | 2 +- .../contacts_list_filter_popup_menu.xml | 4 +-- app/src/main/res/layout/drawer_menu.xml | 2 +- app/src/main/res/layout/help_fragment.xml | 4 +-- .../res/layout/history_contact_fragment.xml | 2 +- app/src/main/res/layout/toast.xml | 6 +++- 25 files changed, 150 insertions(+), 38 deletions(-) create mode 100644 app/src/main/res/drawable/chat_teardrop_text.xml create mode 100644 app/src/main/res/drawable/check.xml create mode 100644 app/src/main/res/drawable/check_square_offset.xml create mode 100644 app/src/main/res/drawable/detective.xml create mode 100644 app/src/main/res/drawable/microphone_stage.xml create mode 100644 app/src/main/res/drawable/record_fill.xml create mode 100644 app/src/main/res/drawable/user_circle_gear.xml diff --git a/app/src/main/java/org/linphone/ui/call/CallActivity.kt b/app/src/main/java/org/linphone/ui/call/CallActivity.kt index f8ea7436d..606d5a9a6 100644 --- a/app/src/main/java/org/linphone/ui/call/CallActivity.kt +++ b/app/src/main/java/org/linphone/ui/call/CallActivity.kt @@ -258,8 +258,8 @@ class CallActivity : AppCompatActivity() { } } - fun showBlueToast(message: String, @DrawableRes icon: Int) { - val blueToast = AppUtils.getBlueToast(this, binding.toastsArea, message, icon) + fun showBlueToast(message: String, @DrawableRes icon: Int, doNotTint: Boolean = false) { + val blueToast = AppUtils.getBlueToast(this, binding.toastsArea, message, icon, doNotTint) binding.toastsArea.addView(blueToast.root) blueToast.root.slideInToastFromTopForDuration( @@ -268,8 +268,13 @@ class CallActivity : AppCompatActivity() { ) } - private fun showRedToast(message: String, @DrawableRes icon: Int, duration: Long = 4000) { - val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon) + private fun showRedToast( + message: String, + @DrawableRes icon: Int, + duration: Long = 4000, + doNotTint: Boolean = false + ) { + val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon, doNotTint) binding.toastsArea.addView(redToast.root) redToast.root.slideInToastFromTopForDuration( @@ -279,8 +284,12 @@ class CallActivity : AppCompatActivity() { ) } - private fun showPersistentRedToast(message: String, @DrawableRes icon: Int) { - val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon) + private fun showPersistentRedToast( + message: String, + @DrawableRes icon: Int, + doNotTint: Boolean = false + ) { + val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon, doNotTint) redToast.root.tag = PERSISTENT_TOAST_TAG binding.toastsArea.addView(redToast.root) @@ -298,8 +307,13 @@ class CallActivity : AppCompatActivity() { } } - fun showGreenToast(message: String, @DrawableRes icon: Int, duration: Long = 4000) { - val greenToast = AppUtils.getGreenToast(this, binding.toastsArea, message, icon) + fun showGreenToast( + message: String, + @DrawableRes icon: Int, + duration: Long = 4000, + doNotTint: Boolean = false + ) { + val greenToast = AppUtils.getGreenToast(this, binding.toastsArea, message, icon, doNotTint) binding.toastsArea.addView(greenToast.root) greenToast.root.slideInToastFromTopForDuration( diff --git a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt index 9600f89cb..602ead36f 100644 --- a/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/call/fragment/ActiveCallFragment.kt @@ -162,7 +162,8 @@ class ActiveCallFragment : GenericCallFragment() { if (trusted) { (requireActivity() as CallActivity).showBlueToast( getString(R.string.toast_call_can_be_trusted), - R.drawable.trusted + R.drawable.trusted, + doNotTint = true ) binding.avatar.avatarBorderWidth = AppUtils.getDimension( R.dimen.avatar_trust_border_width diff --git a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt index 288d4c44d..bae3d3241 100644 --- a/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt +++ b/app/src/main/java/org/linphone/ui/call/viewmodel/CurrentCallViewModel.kt @@ -76,6 +76,8 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { val isRemoteRecording = MutableLiveData() + val remoteRecordingLabel = MutableLiveData() + val isMicrophoneMuted = MutableLiveData() val isSpeakerEnabled = MutableLiveData() @@ -156,6 +158,14 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { override fun onRemoteRecording(call: Call, recording: Boolean) { Log.i("$TAG Remote recording changed: $recording") isRemoteRecording.postValue(recording) + if (recording) { + remoteRecordingLabel.postValue( + AppUtils.getFormattedString( + R.string.call_remote_is_recording, + displayedName.value.orEmpty() + ) + ) + } } @WorkerThread @@ -637,9 +647,6 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { isOutgoing.postValue(call.dir == Call.Dir.Outgoing) - isRecording.postValue(call.params.isRecording) - isRemoteRecording.postValue(call.remoteParams?.isRecording) - val address = call.remoteAddress.clone() address.clean() displayedAddress.postValue(address.asStringUriOnly()) @@ -662,6 +669,15 @@ class CurrentCallViewModel @UiThread constructor() : ViewModel() { displayedName.postValue(fakeFriend.name) } + isRecording.postValue(call.params.isRecording) + isRemoteRecording.postValue(call.remoteParams?.isRecording) + remoteRecordingLabel.postValue( + AppUtils.getFormattedString( + R.string.call_remote_is_recording, + displayedName.value.orEmpty() + ) + ) + callDuration.postValue(call.duration) } diff --git a/app/src/main/java/org/linphone/utils/AppUtils.kt b/app/src/main/java/org/linphone/utils/AppUtils.kt index fe56060ed..97080e46c 100644 --- a/app/src/main/java/org/linphone/utils/AppUtils.kt +++ b/app/src/main/java/org/linphone/utils/AppUtils.kt @@ -189,7 +189,8 @@ class AppUtils { context: Context, parent: ViewGroup, message: String, - @DrawableRes icon: Int + @DrawableRes icon: Int, + doNotTint: Boolean = false ): ToastBinding { val redToast: ToastBinding = DataBindingUtil.inflate( LayoutInflater.from(context), @@ -197,6 +198,7 @@ class AppUtils { parent, false ) + redToast.doNotTint = doNotTint redToast.message = message redToast.icon = icon redToast.shadowColor = R.drawable.shape_toast_red_background @@ -210,7 +212,8 @@ class AppUtils { context: Context, parent: ViewGroup, message: String, - @DrawableRes icon: Int + @DrawableRes icon: Int, + doNotTint: Boolean = false ): ToastBinding { val greenToast: ToastBinding = DataBindingUtil.inflate( LayoutInflater.from(context), @@ -218,6 +221,7 @@ class AppUtils { parent, false ) + greenToast.doNotTint = doNotTint greenToast.message = message greenToast.icon = icon greenToast.shadowColor = R.drawable.shape_toast_green_background @@ -231,7 +235,8 @@ class AppUtils { context: Context, parent: ViewGroup, message: String, - @DrawableRes icon: Int + @DrawableRes icon: Int, + doNotTint: Boolean = false ): ToastBinding { val blueToast: ToastBinding = DataBindingUtil.inflate( LayoutInflater.from(context), @@ -239,6 +244,7 @@ class AppUtils { parent, false ) + blueToast.doNotTint = doNotTint blueToast.message = message blueToast.icon = icon blueToast.shadowColor = R.drawable.shape_toast_blue_background diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index 6f1031b6c..27cef575f 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -211,9 +211,11 @@ fun ImageView.setPresenceIcon(presence: ConsolidatedPresence?) { setImageResource(icon) } -@BindingAdapter("tint") -fun ImageView.setTintColor(@ColorRes color: Int) { - setColorFilter(AppUtils.getColor(color), PorterDuff.Mode.SRC_IN) +@BindingAdapter("tint", "disableTint") +fun ImageView.setTintColor(@ColorRes color: Int, disable: Boolean) { + if (!disable) { + setColorFilter(AppUtils.getColor(color), PorterDuff.Mode.SRC_IN) + } } @BindingAdapter("textColor") diff --git a/app/src/main/res/drawable/chat_teardrop_text.xml b/app/src/main/res/drawable/chat_teardrop_text.xml new file mode 100644 index 000000000..e5a5686bc --- /dev/null +++ b/app/src/main/res/drawable/chat_teardrop_text.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/check.xml b/app/src/main/res/drawable/check.xml new file mode 100644 index 000000000..0e85776bd --- /dev/null +++ b/app/src/main/res/drawable/check.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/check_square_offset.xml b/app/src/main/res/drawable/check_square_offset.xml new file mode 100644 index 000000000..320df28d9 --- /dev/null +++ b/app/src/main/res/drawable/check_square_offset.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/detective.xml b/app/src/main/res/drawable/detective.xml new file mode 100644 index 000000000..984954295 --- /dev/null +++ b/app/src/main/res/drawable/detective.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/microphone_stage.xml b/app/src/main/res/drawable/microphone_stage.xml new file mode 100644 index 000000000..fe79e7532 --- /dev/null +++ b/app/src/main/res/drawable/microphone_stage.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/record_fill.xml b/app/src/main/res/drawable/record_fill.xml new file mode 100644 index 000000000..79e51cd15 --- /dev/null +++ b/app/src/main/res/drawable/record_fill.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/shape_remote_recording_background.xml b/app/src/main/res/drawable/shape_remote_recording_background.xml index f46a6e1cc..1fd7a73de 100644 --- a/app/src/main/res/drawable/shape_remote_recording_background.xml +++ b/app/src/main/res/drawable/shape_remote_recording_background.xml @@ -1,6 +1,5 @@ - \ No newline at end of file diff --git a/app/src/main/res/drawable/user_circle_gear.xml b/app/src/main/res/drawable/user_circle_gear.xml new file mode 100644 index 000000000..71ce66763 --- /dev/null +++ b/app/src/main/res/drawable/user_circle_gear.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout-land/call_extra_actions.xml b/app/src/main/res/layout-land/call_extra_actions.xml index 7198a10b7..68a4d5efd 100644 --- a/app/src/main/res/layout-land/call_extra_actions.xml +++ b/app/src/main/res/layout-land/call_extra_actions.xml @@ -128,7 +128,7 @@ android:layout_marginTop="@dimen/call_extra_button_top_margin" android:background="@drawable/in_call_button_background" android:padding="@dimen/call_button_icon_padding" - android:src="@drawable/chat_dots" + android:src="@drawable/chat_teardrop_text" app:layout_constraintDimensionRatio="1:1" app:layout_constraintEnd_toEndOf="@id/chat_label" app:layout_constraintStart_toStartOf="@id/chat_label" @@ -157,7 +157,7 @@ android:layout_marginTop="@dimen/call_extra_button_top_margin" android:background="@drawable/in_call_button_background" android:padding="@dimen/call_button_icon_padding" - android:src="@drawable/record" + android:src="@drawable/record_fill" android:selected="@{viewModel.isRecording()}" app:layout_constraintDimensionRatio="1:1" app:layout_constraintEnd_toEndOf="@id/record_call_label" diff --git a/app/src/main/res/layout/account_popup_menu.xml b/app/src/main/res/layout/account_popup_menu.xml index 950a6d164..1e58b7b03 100644 --- a/app/src/main/res/layout/account_popup_menu.xml +++ b/app/src/main/res/layout/account_popup_menu.xml @@ -25,7 +25,7 @@ android:text="@string/drawer_menu_manage_account" android:textSize="14sp" android:textColor="@color/gray_main2_500" - android:drawableStart="@drawable/user_gear" + android:drawableStart="@drawable/user_circle_gear" android:drawablePadding="5dp" app:drawableTint="@color/gray_main2_700" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml index 408b615da..5425c8334 100644 --- a/app/src/main/res/layout/account_profile_fragment.xml +++ b/app/src/main/res/layout/account_profile_fragment.xml @@ -446,7 +446,7 @@ android:layout_marginEnd="17dp" android:background="@drawable/action_background" android:text="@string/manage_account_settings" - android:drawableStart="@drawable/user_gear" + android:drawableStart="@drawable/gear" app:layout_constraintTop_toTopOf="@id/actions_background" app:layout_constraintStart_toStartOf="@id/actions_background" app:layout_constraintEnd_toEndOf="@id/actions_background"/> diff --git a/app/src/main/res/layout/call_active_fragment.xml b/app/src/main/res/layout/call_active_fragment.xml index c8e0cd96a..fdf1da575 100644 --- a/app/src/main/res/layout/call_active_fragment.xml +++ b/app/src/main/res/layout/call_active_fragment.xml @@ -219,15 +219,18 @@ style="@style/default_text_style_300" android:id="@+id/remote_recording" android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/call_remote_is_recording" + android:layout_height="45dp" + android:paddingStart="10dp" + android:paddingEnd="10dp" + android:text="@{viewModel.remoteRecordingLabel, default=@string/call_remote_is_recording}" android:textSize="12sp" android:textColor="@color/gray_900" android:gravity="center_vertical" - android:drawableStart="@drawable/record" + android:drawableStart="@drawable/record_fill" android:drawablePadding="10dp" android:background="@drawable/shape_remote_recording_background" android:visibility="@{viewModel.isRemoteRecording ? View.VISIBLE : View.GONE}" + app:layout_constraintWidth_min="180dp" app:layout_constraintTop_toTopOf="@id/background" app:layout_constraintStart_toStartOf="@id/background" app:drawableTint="@color/red_danger_500" /> @@ -238,7 +241,7 @@ android:layout_height="@dimen/icon_size" android:layout_marginTop="10dp" android:layout_marginStart="10dp" - android:src="@drawable/record" + android:src="@drawable/record_fill" android:visibility="@{viewModel.isRecording ? View.VISIBLE : View.GONE, default=gone}" app:layout_constraintTop_toTopOf="@id/background" app:layout_constraintStart_toStartOf="@id/background" diff --git a/app/src/main/res/layout/call_extra_actions.xml b/app/src/main/res/layout/call_extra_actions.xml index 2224269e0..0c7fbe510 100644 --- a/app/src/main/res/layout/call_extra_actions.xml +++ b/app/src/main/res/layout/call_extra_actions.xml @@ -128,7 +128,7 @@ android:layout_marginTop="@dimen/call_extra_button_top_margin" android:padding="@dimen/call_button_icon_padding" android:background="@drawable/in_call_button_background" - android:src="@drawable/chat_dots" + android:src="@drawable/chat_teardrop_text" app:tint="@color/in_call_button_tint_color" app:layout_constraintDimensionRatio="1:1" app:layout_constraintTop_toBottomOf="@id/transfer_label" @@ -157,7 +157,7 @@ android:layout_marginTop="@dimen/call_extra_button_top_margin" android:padding="@dimen/call_button_icon_padding" android:background="@drawable/in_call_button_background" - android:src="@drawable/record" + android:src="@drawable/record_fill" android:selected="@{viewModel.isRecording()}" app:tint="@color/in_call_button_tint_color" app:layout_constraintDimensionRatio="1:1" diff --git a/app/src/main/res/layout/contact_fragment.xml b/app/src/main/res/layout/contact_fragment.xml index c339217cd..637b7a3f0 100644 --- a/app/src/main/res/layout/contact_fragment.xml +++ b/app/src/main/res/layout/contact_fragment.xml @@ -59,6 +59,7 @@ android:layout_marginEnd="10dp" android:padding="5dp" android:src="@drawable/pencil_simple" + app:tint="@color/orange_main_500" app:layout_constraintBottom_toBottomOf="@id/invisible_title" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/invisible_title" /> @@ -196,7 +197,7 @@ android:layout_marginTop="20dp" android:background="@drawable/circle_light_blue_button_background" android:padding="16dp" - android:src="@drawable/chat_dots" + android:src="@drawable/chat_teardrop_text" app:tint="@color/gray_main2_500" app:layout_constraintEnd_toStartOf="@id/video_call" app:layout_constraintStart_toEndOf="@id/call" diff --git a/app/src/main/res/layout/contact_new_or_edit_fragment.xml b/app/src/main/res/layout/contact_new_or_edit_fragment.xml index ef7e6ce50..76c4ab6b4 100644 --- a/app/src/main/res/layout/contact_new_or_edit_fragment.xml +++ b/app/src/main/res/layout/contact_new_or_edit_fragment.xml @@ -56,7 +56,7 @@ android:layout_height="35dp" android:layout_marginEnd="10dp" android:padding="5dp" - android:src="@drawable/check_fat_fill" + android:src="@drawable/check" android:enabled="@{viewModel.saveButtonEnabled}" app:tint="@color/primary_color_selector" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/contacts_list_filter_popup_menu.xml b/app/src/main/res/layout/contacts_list_filter_popup_menu.xml index 88f061660..fa117fdae 100644 --- a/app/src/main/res/layout/contacts_list_filter_popup_menu.xml +++ b/app/src/main/res/layout/contacts_list_filter_popup_menu.xml @@ -45,7 +45,7 @@ android:onClick="@{noFilterClickListener}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/check_fat_fill" + android:src="@drawable/check" android:visibility="@{seeAllSelected ? View.VISIBLE : View.INVISIBLE, default=invisible}" app:tint="@color/green_success_500" app:layout_constraintTop_toTopOf="@id/no_filter" @@ -76,7 +76,7 @@ android:layout_height="wrap_content" android:layout_marginStart="5dp" android:layout_marginEnd="20dp" - android:src="@drawable/check_fat_fill" + android:src="@drawable/check" android:visibility="@{seeAllSelected ? View.INVISIBLE : View.VISIBLE}" app:tint="@color/green_success_500" app:layout_constraintTop_toTopOf="@id/linphone_filter" diff --git a/app/src/main/res/layout/drawer_menu.xml b/app/src/main/res/layout/drawer_menu.xml index 88d300f66..129c17320 100644 --- a/app/src/main/res/layout/drawer_menu.xml +++ b/app/src/main/res/layout/drawer_menu.xml @@ -161,7 +161,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:text="@string/recordings_title" - android:drawableStart="@drawable/recordings" + android:drawableStart="@drawable/microphone_stage" android:drawableEnd="@drawable/caret_right" android:drawablePadding="8dp" app:drawableTint="@color/gray_main2_500" diff --git a/app/src/main/res/layout/help_fragment.xml b/app/src/main/res/layout/help_fragment.xml index 4161b26ab..2322ed2bb 100644 --- a/app/src/main/res/layout/help_fragment.xml +++ b/app/src/main/res/layout/help_fragment.xml @@ -79,7 +79,7 @@ android:layout_width="32dp" android:layout_height="32dp" android:layout_marginStart="16dp" - android:src="@drawable/file_text" + android:src="@drawable/detective" app:tint="@color/orange_main_500" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/privacy_policy_title" @@ -181,7 +181,7 @@ android:layout_width="32dp" android:layout_height="32dp" android:layout_marginStart="16dp" - android:src="@drawable/file_text" + android:src="@drawable/check_square_offset" app:tint="@color/orange_main_500" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/open_source_licenses_title" diff --git a/app/src/main/res/layout/history_contact_fragment.xml b/app/src/main/res/layout/history_contact_fragment.xml index dca0bce5d..095a25683 100644 --- a/app/src/main/res/layout/history_contact_fragment.xml +++ b/app/src/main/res/layout/history_contact_fragment.xml @@ -183,7 +183,7 @@ android:layout_marginTop="20dp" android:background="@drawable/circle_light_blue_button_background" android:padding="16dp" - android:src="@drawable/chat_dots" + android:src="@drawable/chat_teardrop_text" app:tint="@color/gray_main2_500" app:layout_constraintEnd_toStartOf="@id/video_call" app:layout_constraintStart_toEndOf="@id/call" diff --git a/app/src/main/res/layout/toast.xml b/app/src/main/res/layout/toast.xml index bbc03b833..e3c277e66 100644 --- a/app/src/main/res/layout/toast.xml +++ b/app/src/main/res/layout/toast.xml @@ -18,6 +18,9 @@ +