diff --git a/app/src/main/java/org/linphone/compatibility/Compatibility.kt b/app/src/main/java/org/linphone/compatibility/Compatibility.kt index 5cc6739ff..a29e5ecf9 100644 --- a/app/src/main/java/org/linphone/compatibility/Compatibility.kt +++ b/app/src/main/java/org/linphone/compatibility/Compatibility.kt @@ -29,9 +29,8 @@ class Compatibility { companion object { private const val TAG = "[Compatibility]" - const val FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4 // Matches ServiceInfo.FOREGROUND_SERVICE_TYPE_PHONE_CALL - const val FOREGROUND_SERVICE_TYPE_CAMERA = 64// Matches ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA + const val FOREGROUND_SERVICE_TYPE_CAMERA = 64 // Matches ServiceInfo.FOREGROUND_SERVICE_TYPE_CAMERA const val FOREGROUND_SERVICE_TYPE_MICROPHONE = 128 // ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE fun startServiceForeground( diff --git a/app/src/main/java/org/linphone/contacts/AbstractAvatarModel.kt b/app/src/main/java/org/linphone/contacts/AbstractAvatarModel.kt index a5164c888..c20ea64a1 100644 --- a/app/src/main/java/org/linphone/contacts/AbstractAvatarModel.kt +++ b/app/src/main/java/org/linphone/contacts/AbstractAvatarModel.kt @@ -12,8 +12,12 @@ abstract class AbstractAvatarModel { val images = MutableLiveData>() + val forceConversationIcon = MutableLiveData() + val forceConferenceIcon = MutableLiveData() + val defaultToConversationIcon = MutableLiveData() + val defaultToConferenceIcon = MutableLiveData() val skipInitials = MutableLiveData() diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt index 6ee6bea90..cffd8e450 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.kt +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.kt @@ -28,7 +28,6 @@ import android.app.Service.STOP_FOREGROUND_REMOVE import android.content.Context import android.content.Intent import android.content.pm.PackageManager -import android.content.pm.ServiceInfo import android.graphics.Bitmap import android.net.Uri import android.os.Bundle diff --git a/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt b/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt index cedbf4f13..a95a7b235 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt @@ -170,7 +170,7 @@ class ConversationModel @WorkerThread constructor(val chatRoom: ChatRoom) { if (isGroup) { val fakeFriend = coreContext.core.createFriend() val model = ContactAvatarModel(fakeFriend) - model.defaultToConferenceIcon.postValue(true) + model.defaultToConversationIcon.postValue(true) model.setPicturesFromFriends(friends) avatarModel.postValue(model) } else { diff --git a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationInfoViewModel.kt b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationInfoViewModel.kt index da26e8603..acb2e41eb 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationInfoViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationInfoViewModel.kt @@ -466,7 +466,7 @@ class ConversationInfoViewModel @UiThread constructor() : ViewModel() { val avatar = if (groupChatRoom) { val fakeFriend = coreContext.core.createFriend() val model = ContactAvatarModel(fakeFriend) - model.defaultToConferenceIcon.postValue(true) + model.defaultToConversationIcon.postValue(true) model.setPicturesFromFriends(friends) model } else { diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index 749f130d0..00c82a55e 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -360,6 +360,9 @@ private fun loadContactPictureWithCoil( if (model.forceConferenceIcon.value == true) { imageView.load(R.drawable.inset_meeting) return + } else if (model.forceConversationIcon.value == true) { + imageView.load(R.drawable.inset_users_three) + return } if (!skipTrust) { @@ -427,6 +430,8 @@ private fun getErrorImageLoader( return if (initials.isEmpty() || initials == "+" || model.skipInitials.value == true) { if (model.defaultToConferenceIcon.value == true) { R.drawable.inset_meeting + } else if (model.defaultToConversationIcon.value == true) { + R.drawable.inset_users_three } else { R.drawable.inset_user_circle } diff --git a/app/src/main/res/drawable/inset_users_three.xml b/app/src/main/res/drawable/inset_users_three.xml new file mode 100644 index 000000000..274eb8524 --- /dev/null +++ b/app/src/main/res/drawable/inset_users_three.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file 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 a6c2f70d9..475f38439 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 @@ -22,7 +22,7 @@ + android:background="@color/gray_100"> - - + app:layout_constraintBottom_toTopOf="@id/save"> + + \ No newline at end of file diff --git a/app/src/main/res/layout/generic_add_participants_fragment.xml b/app/src/main/res/layout/generic_add_participants_fragment.xml index e7f2530e9..e2341d076 100644 --- a/app/src/main/res/layout/generic_add_participants_fragment.xml +++ b/app/src/main/res/layout/generic_add_participants_fragment.xml @@ -42,24 +42,10 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:text="@string/conversation_add_participants_title" - app:layout_constraintEnd_toStartOf="@id/add_participants" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/back" app:layout_constraintTop_toTopOf="parent" /> - - + app:layout_constraintBottom_toTopOf="@id/add_participants" /> + app:layout_constraintBottom_toTopOf="@id/add_participants" /> + + diff --git a/app/src/main/res/layout/meeting_schedule_fragment.xml b/app/src/main/res/layout/meeting_schedule_fragment.xml index fb960f8fa..d45bd6174 100644 --- a/app/src/main/res/layout/meeting_schedule_fragment.xml +++ b/app/src/main/res/layout/meeting_schedule_fragment.xml @@ -58,32 +58,20 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:text="@string/meeting_schedule_title" - app:layout_constraintEnd_toStartOf="@id/schedule" + app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/back" app:layout_constraintTop_toTopOf="parent"/> - - + app:layout_constraintBottom_toTopOf="@id/schedule"> + + - - @@ -255,7 +240,7 @@ app:layout_constraintVertical_bias="0.3" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/group_chat_icon" - app:layout_constraintBottom_toBottomOf="parent" /> + app:layout_constraintBottom_toTopOf="@id/create_group" /> + app:layout_constraintBottom_toTopOf="@id/create_group" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ea292cbc0..c4ec44f7f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -326,6 +326,7 @@ Failed to save changes! Contact was successfully created Failed to create contact! + Save Phone numbers & SIP addresses Company: @@ -434,6 +435,7 @@ Create calendar event Meeting has been deleted Description + Create Join