diff --git a/app/src/main/java/org/linphone/ui/call/conference/model/ConferenceParticipantDeviceModel.kt b/app/src/main/java/org/linphone/ui/call/conference/model/ConferenceParticipantDeviceModel.kt
index dfd7a6a44..18cb90ceb 100644
--- a/app/src/main/java/org/linphone/ui/call/conference/model/ConferenceParticipantDeviceModel.kt
+++ b/app/src/main/java/org/linphone/ui/call/conference/model/ConferenceParticipantDeviceModel.kt
@@ -136,7 +136,7 @@ class ConferenceParticipantDeviceModel
screenSharing: Boolean
) {
Log.i(
- "$TAG Participant device [${participantDevice.address.asStringUriOnly()}] is ${if (screenSharing) "sharing it's screen" else "no longer sharing it's screen"}"
+ "$TAG Participant device [${participantDevice.address.asStringUriOnly()}] is ${if (screenSharing) "sharing its screen" else "no longer sharing its screen"}"
)
isScreenSharing.postValue(screenSharing)
}
@@ -193,7 +193,7 @@ class ConferenceParticipantDeviceModel
val screenSharing = device.isScreenSharingEnabled
isScreenSharing.postValue(screenSharing)
if (screenSharing) {
- Log.i("$TAG Participant [${device.address.asStringUriOnly()}] is sharing it's screen")
+ Log.i("$TAG Participant [${device.address.asStringUriOnly()}] is sharing its screen")
}
isVideoAvailable.postValue(device.getStreamAvailability(StreamType.Video))
diff --git a/app/src/main/java/org/linphone/ui/call/conference/viewmodel/ConferenceViewModel.kt b/app/src/main/java/org/linphone/ui/call/conference/viewmodel/ConferenceViewModel.kt
index c904141bf..dd6bf072d 100644
--- a/app/src/main/java/org/linphone/ui/call/conference/viewmodel/ConferenceViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/call/conference/viewmodel/ConferenceViewModel.kt
@@ -316,7 +316,7 @@ class ConferenceViewModel
conferenceLayout.postValue(currentLayout)
if (currentLayout == GRID_LAYOUT && screenSharing) {
Log.w(
- "$TAG Conference has a participant sharing it's screen, changing layout from mosaic to active speaker"
+ "$TAG Conference has a participant sharing its screen, changing layout from mosaic to active speaker"
)
setNewLayout(ACTIVE_SPEAKER_LAYOUT)
}
diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationDocumentsListFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationDocumentsListFragment.kt
index 3454cc767..bf6b4cc96 100644
--- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationDocumentsListFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationDocumentsListFragment.kt
@@ -27,7 +27,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -117,9 +116,7 @@ class ConversationDocumentsListFragment : SlidingPaneChildFragment() {
viewModel.chatRoomFoundEvent.observe(viewLifecycleOwner) {
it.consume {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt
index 44044353d..966ae0f57 100644
--- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationInfoFragment.kt
@@ -29,7 +29,6 @@ import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
@@ -119,19 +118,15 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
Log.i(
"$TAG Found matching conversation for local SIP URI [$localSipUri] and remote SIP URI [$remoteSipUri]"
)
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
} else {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- Log.e("$TAG Failed to find conversation, going back")
- goBack()
- val message = getString(R.string.conversation_to_display_no_found_toast)
- (requireActivity() as GenericActivity).showRedToast(
- message,
- R.drawable.warning_circle
- )
- }
+ Log.e("$TAG Failed to find conversation, going back")
+ goBack()
+ val message = getString(R.string.conversation_to_display_no_found_toast)
+ (requireActivity() as GenericActivity).showRedToast(
+ message,
+ R.drawable.warning_circle
+ )
}
}
}
@@ -333,6 +328,24 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
binding.setCopyPeerSipUriClickListener {
copyAddressToClipboard(viewModel.peerSipUri.value.orEmpty())
}
+
+ binding.setGoToSharedMediaClickListener {
+ if (findNavController().currentDestination?.id == R.id.conversationInfoFragment) {
+ Log.i("$TAG Going to shared media fragment")
+ val action =
+ ConversationInfoFragmentDirections.actionConversationInfoFragmentToConversationMediaListFragment(localSipUri, remoteSipUri)
+ findNavController().navigate(action)
+ }
+ }
+
+ binding.setGoToSharedDocumentsClickListener {
+ if (findNavController().currentDestination?.id == R.id.conversationInfoFragment) {
+ Log.i("$TAG Going to shared documents fragment")
+ val action =
+ ConversationInfoFragmentDirections.actionConversationInfoFragmentToConversationDocumentsListFragment(localSipUri, remoteSipUri)
+ findNavController().navigate(action)
+ }
+ }
}
private fun showParticipantAdminPopupMenu(view: View, participantModel: ParticipantModel) {
diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationMediaListFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationMediaListFragment.kt
index 3370ccb6f..4ae642f08 100644
--- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationMediaListFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationMediaListFragment.kt
@@ -27,7 +27,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -146,9 +145,7 @@ class ConversationMediaListFragment : SlidingPaneChildFragment() {
viewModel.chatRoomFoundEvent.observe(viewLifecycleOwner) {
it.consume {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
index 64918e7f3..c75728cf0 100644
--- a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt
@@ -32,7 +32,6 @@ import android.view.View
import android.view.ViewGroup
import androidx.annotation.UiThread
import androidx.core.content.FileProvider
-import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -125,10 +124,8 @@ class ContactFragment : SlidingPaneChildFragment() {
viewModel.contactFoundEvent.observe(viewLifecycleOwner) {
it.consume {
Log.i("$TAG Contact has been found, start postponed enter transition")
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- sharedViewModel.openSlidingPaneEvent.value = Event(true)
- }
+ startPostponedEnterTransition()
+ sharedViewModel.openSlidingPaneEvent.value = Event(true)
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/contacts/fragment/EditContactFragment.kt b/app/src/main/java/org/linphone/ui/main/contacts/fragment/EditContactFragment.kt
index 4ce286347..de681b115 100644
--- a/app/src/main/java/org/linphone/ui/main/contacts/fragment/EditContactFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/contacts/fragment/EditContactFragment.kt
@@ -28,7 +28,6 @@ import androidx.activity.OnBackPressedCallback
import androidx.activity.result.PickVisualMediaRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
import androidx.lifecycle.lifecycleScope
@@ -164,10 +163,7 @@ class EditContactFragment : SlidingPaneChildFragment() {
for (items in viewModel.phoneNumbers) {
addCell(items)
}
-
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
}
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/history/fragment/HistoryFragment.kt b/app/src/main/java/org/linphone/ui/main/history/fragment/HistoryFragment.kt
index 395ea84c4..6a77a4533 100644
--- a/app/src/main/java/org/linphone/ui/main/history/fragment/HistoryFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/history/fragment/HistoryFragment.kt
@@ -29,7 +29,6 @@ import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
@@ -112,15 +111,11 @@ class HistoryFragment : SlidingPaneChildFragment() {
Log.i(
"$TAG Found matching call log for call ID [$callId]"
)
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- sharedViewModel.openSlidingPaneEvent.value = Event(true)
- }
+ startPostponedEnterTransition()
+ sharedViewModel.openSlidingPaneEvent.value = Event(true)
} else {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- Log.e("$TAG Failed to find call log, going back")
- goBack()
- }
+ Log.e("$TAG Failed to find call log, going back")
+ goBack()
}
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
index cf7000753..1e6fec22f 100644
--- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingFragment.kt
@@ -32,7 +32,6 @@ import android.view.View
import android.view.ViewGroup
import android.widget.PopupWindow
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
@@ -165,14 +164,10 @@ class MeetingFragment : SlidingPaneChildFragment() {
viewModel.conferenceInfoFoundEvent.observe(viewLifecycleOwner) {
it.consume { found ->
if (found) {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
} else {
Log.e("$TAG Failed to find meeting with URI [$uri], going back")
- (view.parent as? ViewGroup)?.doOnPreDraw {
- goBack()
- }
+ goBack()
}
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingWaitingRoomFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingWaitingRoomFragment.kt
index 41832d3bf..acdeff2c7 100644
--- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingWaitingRoomFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingWaitingRoomFragment.kt
@@ -28,7 +28,6 @@ import android.view.ViewGroup
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.UiThread
import androidx.core.content.ContextCompat
-import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -116,14 +115,10 @@ class MeetingWaitingRoomFragment : GenericMainFragment() {
viewModel.conferenceInfoFoundEvent.observe(viewLifecycleOwner) {
it.consume { found ->
if (found) {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- }
+ startPostponedEnterTransition()
} else {
Log.e("$TAG Failed to find meeting with URI [$uri], going back")
- (view.parent as? ViewGroup)?.doOnPreDraw {
- goBack()
- }
+ goBack()
}
}
}
diff --git a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt
index 3d5822ea0..012943494 100644
--- a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt
@@ -31,7 +31,6 @@ import android.widget.ArrayAdapter
import androidx.activity.result.PickVisualMediaRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.UiThread
-import androidx.core.view.doOnPreDraw
import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
@@ -194,10 +193,8 @@ class AccountProfileFragment : GenericMainFragment() {
viewModel.accountFoundEvent.observe(viewLifecycleOwner) {
it.consume { found ->
if (found) {
- (view.parent as? ViewGroup)?.doOnPreDraw {
- startPostponedEnterTransition()
- setupDialPlanPicker()
- }
+ startPostponedEnterTransition()
+ setupDialPlanPicker()
} else {
Log.e(
"$TAG Failed to find an account matching this identity address [$identity]"
diff --git a/app/src/main/java/org/linphone/ui/main/viewmodel/AddressSelectionViewModel.kt b/app/src/main/java/org/linphone/ui/main/viewmodel/AddressSelectionViewModel.kt
index ed2efc56e..9cfbdc00a 100644
--- a/app/src/main/java/org/linphone/ui/main/viewmodel/AddressSelectionViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/viewmodel/AddressSelectionViewModel.kt
@@ -129,7 +129,7 @@ abstract class AddressSelectionViewModel
@UiThread
fun switchToMultipleSelectionMode() {
- Log.i("$$TAG Multiple selection mode ON")
+ Log.i("$TAG Multiple selection mode ON")
multipleSelectionMode.value = true
selectionCount.postValue(
diff --git a/app/src/main/res/layout/chat_info_fragment.xml b/app/src/main/res/layout/chat_info_fragment.xml
index d998bbd6b..68a6eab6b 100644
--- a/app/src/main/res/layout/chat_info_fragment.xml
+++ b/app/src/main/res/layout/chat_info_fragment.xml
@@ -33,6 +33,12 @@
+
+
@@ -340,6 +346,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
+ android:layout_marginBottom="10dp"
android:background="@drawable/tertiary_button_background"
android:drawableStart="@drawable/plus_circle"
android:drawablePadding="8dp"
@@ -354,11 +361,79 @@
android:text="@string/conversation_info_add_participants_label"
android:visibility="@{!viewModel.expandParticipants || !viewModel.isMyselfAdmin || !viewModel.isGroup || viewModel.isReadOnly ? View.GONE : View.VISIBLE, default=gone}"
app:drawableTint="?attr/color_main1_500"
- app:layout_constraintBottom_toTopOf="@id/actions"
+ app:layout_constraintBottom_toTopOf="@id/media_actions"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/participants" />
+
+
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/media_actions_background" />
+ app:layout_constraintTop_toBottomOf="@id/action_leave_group" />
diff --git a/app/src/main/res/navigation/chat_nav_graph.xml b/app/src/main/res/navigation/chat_nav_graph.xml
index dcf50e0ae..0d5b0acb8 100644
--- a/app/src/main/res/navigation/chat_nav_graph.xml
+++ b/app/src/main/res/navigation/chat_nav_graph.xml
@@ -101,6 +101,22 @@
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_right" />
+
+
Trust
No device found…
Number of trusted devices:
+ Media & documents
Other actions
Edit
Add to favourites
@@ -726,7 +727,7 @@
Participant was kicked out of conference
Joining…
Paused
- is sharing it\'s screen
+ is sharing its screen
Invalid SIP address, can\'t be added to conference
Mosaic