mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Updated layout & flow for group conversation creation + all floating action buttons are now on orange background
This commit is contained in:
parent
d82eac6175
commit
615185deb9
17 changed files with 118 additions and 121 deletions
|
|
@ -38,7 +38,7 @@ import org.linphone.databinding.ChatInfoFragmentBinding
|
|||
import org.linphone.databinding.ChatParticipantAdminPopupMenuBinding
|
||||
import org.linphone.ui.main.MainActivity
|
||||
import org.linphone.ui.main.chat.adapter.ConversationParticipantsAdapter
|
||||
import org.linphone.ui.main.chat.model.ConversationEditSubjectDialogModel
|
||||
import org.linphone.ui.main.chat.model.ConversationSetOrEditSubjectDialogModel
|
||||
import org.linphone.ui.main.chat.model.ParticipantModel
|
||||
import org.linphone.ui.main.chat.viewmodel.ConversationInfoViewModel
|
||||
import org.linphone.ui.main.fragment.SlidingPaneChildFragment
|
||||
|
|
@ -216,9 +216,9 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
|
|||
|
||||
binding.setEditSubjectClickListener {
|
||||
val currentSubject = viewModel.subject.value.orEmpty()
|
||||
val model = ConversationEditSubjectDialogModel(currentSubject)
|
||||
val model = ConversationSetOrEditSubjectDialogModel(currentSubject)
|
||||
|
||||
val dialog = DialogUtils.getEditConversationSubjectDialog(
|
||||
val dialog = DialogUtils.getSetOrEditConversationSubjectDialog(
|
||||
requireContext(),
|
||||
model
|
||||
)
|
||||
|
|
|
|||
|
|
@ -33,9 +33,12 @@ import org.linphone.core.Friend
|
|||
import org.linphone.core.tools.Log
|
||||
import org.linphone.databinding.StartChatFragmentBinding
|
||||
import org.linphone.ui.main.MainActivity
|
||||
import org.linphone.ui.main.chat.model.ConversationSetOrEditSubjectDialogModel
|
||||
import org.linphone.ui.main.chat.viewmodel.StartConversationViewModel
|
||||
import org.linphone.ui.main.fragment.GenericAddressPickerFragment
|
||||
import org.linphone.utils.DialogUtils
|
||||
import org.linphone.utils.Event
|
||||
import org.linphone.utils.hideKeyboard
|
||||
|
||||
@UiThread
|
||||
class StartConversationFragment : GenericAddressPickerFragment() {
|
||||
|
|
@ -70,6 +73,10 @@ class StartConversationFragment : GenericAddressPickerFragment() {
|
|||
goBack()
|
||||
}
|
||||
|
||||
binding.setAskForGroupConversationSubjectClickListener {
|
||||
showGroupConversationSubjectDialog()
|
||||
}
|
||||
|
||||
setupRecyclerView(binding.contactsList)
|
||||
|
||||
viewModel.contactsAndSuggestionsList.observe(
|
||||
|
|
@ -113,4 +120,40 @@ class StartConversationFragment : GenericAddressPickerFragment() {
|
|||
override fun onSingleAddressSelected(address: Address, friend: Friend) {
|
||||
viewModel.createOneToOneChatRoomWith(address)
|
||||
}
|
||||
|
||||
private fun showGroupConversationSubjectDialog() {
|
||||
val model = ConversationSetOrEditSubjectDialogModel("")
|
||||
|
||||
val dialog = DialogUtils.getSetOrEditConversationSubjectDialog(
|
||||
requireContext(),
|
||||
model
|
||||
)
|
||||
|
||||
model.dismissEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
Log.i("$TAG Set conversation subject cancelled")
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
model.confirmEvent.observe(viewLifecycleOwner) {
|
||||
it.consume { newSubject ->
|
||||
if (newSubject.isNotEmpty()) {
|
||||
Log.i(
|
||||
"$TAG Conversation subject has been set to [$newSubject]"
|
||||
)
|
||||
viewModel.subject.value = newSubject
|
||||
viewModel.createGroupChatRoom()
|
||||
|
||||
dialog.currentFocus?.hideKeyboard()
|
||||
dialog.dismiss()
|
||||
} else {
|
||||
// TODO: show error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Log.i("$TAG Showing dialog to set conversation subject")
|
||||
dialog.show()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,9 @@ import androidx.annotation.UiThread
|
|||
import androidx.lifecycle.MutableLiveData
|
||||
import org.linphone.utils.Event
|
||||
|
||||
class ConversationEditSubjectDialogModel @UiThread constructor(initialSubject: String) {
|
||||
class ConversationSetOrEditSubjectDialogModel @UiThread constructor(initialSubject: String) {
|
||||
val isEdit = initialSubject.isNotEmpty()
|
||||
|
||||
val subject = MutableLiveData<String>()
|
||||
|
||||
val dismissEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
|
@ -89,14 +89,7 @@ class StartConversationViewModel @UiThread constructor() : AddressSelectionViewM
|
|||
init {
|
||||
groupChatRoomCreateButtonEnabled.postValue(false)
|
||||
groupChatRoomCreateButtonEnabled.addSource(selection) {
|
||||
groupChatRoomCreateButtonEnabled.postValue(
|
||||
subject.value.orEmpty().isNotEmpty() && selection.value.orEmpty().isNotEmpty()
|
||||
)
|
||||
}
|
||||
groupChatRoomCreateButtonEnabled.addSource(subject) {
|
||||
groupChatRoomCreateButtonEnabled.postValue(
|
||||
subject.value.orEmpty().isNotEmpty() && selection.value.orEmpty().isNotEmpty()
|
||||
)
|
||||
groupChatRoomCreateButtonEnabled.postValue(it.isNotEmpty())
|
||||
}
|
||||
|
||||
updateGroupChatButtonVisibility()
|
||||
|
|
|
|||
|
|
@ -39,17 +39,17 @@ import org.linphone.databinding.DialogConfirmZrtpSasBinding
|
|||
import org.linphone.databinding.DialogContactConfirmTrustCallBinding
|
||||
import org.linphone.databinding.DialogContactTrustProcessBinding
|
||||
import org.linphone.databinding.DialogDeleteContactBinding
|
||||
import org.linphone.databinding.DialogEditGroupConversationSubjectBinding
|
||||
import org.linphone.databinding.DialogManageAccountInternationalPrefixHelpBinding
|
||||
import org.linphone.databinding.DialogPickNumberOrAddressBinding
|
||||
import org.linphone.databinding.DialogRemoveAccountBinding
|
||||
import org.linphone.databinding.DialogRemoveAllCallLogsBinding
|
||||
import org.linphone.databinding.DialogRemoveCallLogsBinding
|
||||
import org.linphone.databinding.DialogSetOrEditGroupConversationSubjectBindingImpl
|
||||
import org.linphone.databinding.DialogUpdateAvailableBinding
|
||||
import org.linphone.ui.assistant.model.AcceptConditionsAndPolicyDialogModel
|
||||
import org.linphone.ui.assistant.model.ConfirmPhoneNumberDialogModel
|
||||
import org.linphone.ui.call.model.ZrtpSasConfirmationDialogModel
|
||||
import org.linphone.ui.main.chat.model.ConversationEditSubjectDialogModel
|
||||
import org.linphone.ui.main.chat.model.ConversationSetOrEditSubjectDialogModel
|
||||
import org.linphone.ui.main.contacts.model.NumberOrAddressPickerDialogModel
|
||||
import org.linphone.ui.main.contacts.model.TrustCallDialogModel
|
||||
import org.linphone.ui.main.history.model.ConfirmationDialogModel
|
||||
|
|
@ -268,13 +268,13 @@ class DialogUtils {
|
|||
}
|
||||
|
||||
@UiThread
|
||||
fun getEditConversationSubjectDialog(
|
||||
fun getSetOrEditConversationSubjectDialog(
|
||||
context: Context,
|
||||
viewModel: ConversationEditSubjectDialogModel
|
||||
viewModel: ConversationSetOrEditSubjectDialogModel
|
||||
): Dialog {
|
||||
val binding: DialogEditGroupConversationSubjectBinding = DataBindingUtil.inflate(
|
||||
val binding: DialogSetOrEditGroupConversationSubjectBindingImpl = DataBindingUtil.inflate(
|
||||
LayoutInflater.from(context),
|
||||
R.layout.dialog_edit_group_conversation_subject,
|
||||
R.layout.dialog_set_or_edit_group_conversation_subject,
|
||||
null,
|
||||
false
|
||||
)
|
||||
|
|
@ -323,16 +323,20 @@ class DialogUtils {
|
|||
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
|
||||
dialog.setContentView(binding.root)
|
||||
|
||||
dialog.window
|
||||
?.setLayout(
|
||||
dialog.window?.apply {
|
||||
setLayout(
|
||||
WindowManager.LayoutParams.MATCH_PARENT,
|
||||
WindowManager.LayoutParams.MATCH_PARENT
|
||||
)
|
||||
val d: Drawable = ColorDrawable(
|
||||
context.getColor(R.color.black)
|
||||
)
|
||||
d.alpha = 153 // 60%
|
||||
dialog.window?.setBackgroundDrawable(d)
|
||||
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
|
||||
|
||||
val d: Drawable = ColorDrawable(
|
||||
context.getColor(R.color.black)
|
||||
)
|
||||
d.alpha = 153 // 60%
|
||||
setBackgroundDrawable(d)
|
||||
}
|
||||
|
||||
return dialog
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,8 +106,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/plus_circle"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
|
|
|||
|
|
@ -154,8 +154,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/user_plus"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
|
|
|||
|
|
@ -125,8 +125,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/phone_plus"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
|
|
|||
|
|
@ -122,8 +122,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/plus_circle"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
|
|
|||
|
|
@ -252,8 +252,8 @@
|
|||
android:layout_margin="16dp"
|
||||
android:src="@drawable/caret_double_down"
|
||||
android:visibility="@{viewModel.isUserScrollingUp ? View.VISIBLE : View.GONE}"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/send_area" />
|
||||
|
|
|
|||
|
|
@ -107,8 +107,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/plus_circle"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
|
||||
|
|
|
|||
|
|
@ -156,8 +156,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/user_plus"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<import type="android.graphics.Typeface" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.chat.model.ConversationEditSubjectDialogModel" />
|
||||
type="org.linphone.ui.main.chat.model.ConversationSetOrEditSubjectDialogModel" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:paddingTop="@dimen/dialog_top_bottom_margin"
|
||||
android:text="@string/dialog_group_conversation_edit_subject"
|
||||
android:text="@{viewModel.isEdit ? @string/dialog_group_conversation_edit_subject : @string/dialog_group_conversation_set_subject, default=@string/dialog_group_conversation_set_subject}"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:layout_constraintBottom_toTopOf="@id/subject"
|
||||
app:layout_constraintStart_toStartOf="@id/dialog_background"
|
||||
|
|
@ -54,6 +54,7 @@
|
|||
android:layout_marginTop="5dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:hint="@string/dialog_group_conversation_subject_hint"
|
||||
android:text="@={viewModel.subject, default=`Lorem Ipsum`}"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?attr/color_main2_600"
|
||||
|
|
@ -86,7 +87,6 @@
|
|||
android:onClick="@{() -> viewModel.confirm()}"
|
||||
style="@style/primary_button_label_style"
|
||||
android:id="@+id/confirm"
|
||||
android:enabled="@{viewModel.subject.length() > 0}"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
|
|
@ -126,8 +126,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/phone_plus"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
|
||||
|
|
|
|||
|
|
@ -123,8 +123,8 @@
|
|||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:src="@drawable/plus_circle"
|
||||
app:tint="?attr/color_main2_700"
|
||||
app:backgroundTint="?attr/color_main2_000"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/bottom_nav_bar" />
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
<variable
|
||||
name="backClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="askForGroupConversationSubjectClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.chat.viewmodel.StartConversationViewModel" />
|
||||
|
|
@ -26,29 +29,29 @@
|
|||
android:id="@+id/multiple_selection_group"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="group_name_title, group_name, required_label, create_group, multiple_selection, multiple_selection_count"
|
||||
app:constraint_referenced_ids="multiple_selection, multiple_selection_count"
|
||||
android:visibility="@{viewModel.multipleSelectionMode ? View.VISIBLE : View.GONE, default=gone}" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_height="@dimen/top_bar_height"
|
||||
android:adjustViewBounds="true"
|
||||
android:onClick="@{backClickListener}"
|
||||
android:padding="15dp"
|
||||
android:src="@drawable/caret_left"
|
||||
app:tint="?attr/color_main1_500"
|
||||
app:layout_constraintBottom_toBottomOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/title" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/main_page_title_style"
|
||||
android:id="@+id/title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/top_bar_height"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@string/new_conversation_title"
|
||||
android:text="@{viewModel.multipleSelectionMode ? @string/new_group_conversation_title : @string/new_conversation_title, default=@string/new_conversation_title}"
|
||||
app:layout_constraintBottom_toBottomOf="@id/back"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/back"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
|
@ -60,65 +63,19 @@
|
|||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/header_style"
|
||||
android:id="@+id/group_name_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/new_conversation_group_name_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/background" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_300"
|
||||
android:id="@+id/required_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="@string/required"
|
||||
android:textSize="12sp"
|
||||
android:textColor="?attr/color_main2_600"
|
||||
app:layout_constraintEnd_toEndOf="@id/group_name"
|
||||
app:layout_constraintTop_toTopOf="@id/background" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatEditText
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/group_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:text="@={viewModel.subject, default=`Dummy subject`}"
|
||||
android:hint="@string/new_conversation_group_name_title"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?attr/color_main2_600"
|
||||
android:maxLines="1"
|
||||
android:background="@drawable/edit_text_background"
|
||||
android:inputType="text|textCapSentences"
|
||||
app:layout_constraintWidth_max="@dimen/text_input_max_width"
|
||||
app:layout_constraintTop_toBottomOf="@id/group_name_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
app:layout_constraintTop_toBottomOf="@id/back" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style_300"
|
||||
android:id="@+id/multiple_selection_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="32dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@{viewModel.selectionCount, default=`0 selected`}"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/group_name" />
|
||||
app:layout_constraintStart_toStartOf="@id/title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/title" />
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/multiple_selection"
|
||||
|
|
@ -263,27 +220,22 @@
|
|||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/group_chat_icon"
|
||||
app:layout_constraintBottom_toTopOf="@id/create_group" />
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/primary_button_label_style"
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/create_group"
|
||||
android:onClick="@{() -> viewModel.createGroupChatRoom()}"
|
||||
android:layout_width="0dp"
|
||||
android:onClick="@{askForGroupConversationSubjectClickListener}"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:text="@string/dialog_continue"
|
||||
android:enabled="@{viewModel.groupChatRoomCreateButtonEnabled}"
|
||||
app:layout_constraintWidth_max="@dimen/button_max_width"
|
||||
app:layout_constraintTop_toBottomOf="@id/contacts_list"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="16dp"
|
||||
android:visibility="@{viewModel.multipleSelectionMode && viewModel.groupChatRoomCreateButtonEnabled ? View.VISIBLE : View.GONE, default=gone}"
|
||||
android:src="@drawable/check"
|
||||
app:tint="?attr/color_main2_000"
|
||||
app:backgroundTint="?attr/color_main1_500"
|
||||
app:shapeAppearanceOverlay="@style/rounded"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
|||
|
|
@ -119,7 +119,9 @@
|
|||
<string name="dialog_update_available_message">A new version %s is available. Do you want to update?</string>
|
||||
<string name="dialog_account_international_prefix_help_title">Why do we need it?</string>
|
||||
<string name="dialog_account_international_prefix_help_message">Blah blah blah</string>
|
||||
<string name="dialog_group_conversation_set_subject">Set conversation subject</string>
|
||||
<string name="dialog_group_conversation_edit_subject">Edit conversation subject</string>
|
||||
<string name="dialog_group_conversation_subject_hint">Conversation subject</string>
|
||||
<string name="dialog_group_conversation_edit_subject_confirm_button">Confirm</string>
|
||||
|
||||
<string name="toast_assistant_qr_code_invalid">Invalid QR code!</string>
|
||||
|
|
@ -396,6 +398,7 @@
|
|||
<string name="conversation_ephemeral_messages_duration_three_days">3 days</string>
|
||||
<string name="conversation_ephemeral_messages_duration_one_week">1 week</string>
|
||||
<string name="new_conversation_title">New conversation</string>
|
||||
<string name="new_group_conversation_title">New group conversation</string>
|
||||
<string name="new_conversation_search_bar_filter_hint">Search contact</string>
|
||||
<string name="new_conversation_create_group">Create a group conversation</string>
|
||||
<string name="new_conversation_no_contact">No contact and no suggestion for the moment…</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue