Fixed navigation issue

This commit is contained in:
Sylvain Berfini 2023-09-15 09:46:02 +02:00
parent 35729e5726
commit 7deef26f80
5 changed files with 7 additions and 36 deletions

View file

@ -33,7 +33,6 @@ import android.webkit.MimeTypeMap
import android.widget.PopupWindow
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
import androidx.core.view.doOnPreDraw
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
@ -163,6 +162,7 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
postponeEnterTransition()
binding.lifecycleOwner = viewLifecycleOwner
@ -208,11 +208,6 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
return
}
view.doOnPreDraw {
// Notifies fragment is ready to be drawn
sharedViewModel.chatRoomFragmentOpenedEvent.value = Event(true)
}
Compatibility.setLocusIdInContentCaptureSession(binding.root, chatRoom)
isSecure = chatRoom.currentParams.isEncryptionEnabled
@ -800,6 +795,8 @@ class DetailChatRoomFragment : MasterFragment<ChatRoomDetailFragmentBinding, Cha
sharedViewModel.isPendingMessageForward.value = false
}
}
startPostponedEnterTransition()
}
override fun deleteItems(indexesOfItemToDelete: ArrayList<Int>) {

View file

@ -115,15 +115,6 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
}
})
// Chat room loading can take some time, so wait until it is ready before opening the pane
sharedViewModel.chatRoomFragmentOpenedEvent.observe(
viewLifecycleOwner
) {
it.consume {
binding.slidingPane.openPane()
}
}
sharedViewModel.layoutChangedEvent.observe(
viewLifecycleOwner
) {
@ -280,6 +271,7 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
sharedViewModel
)
)
binding.slidingPane.openPane()
}
}
}

View file

@ -24,7 +24,6 @@ import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
import org.linphone.LinphoneApplication.Companion.coreContext
import org.linphone.R
@ -48,6 +47,7 @@ class DetailContactFragment : GenericFragment<ContactDetailFragmentBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
postponeEnterTransition()
binding.lifecycleOwner = viewLifecycleOwner
@ -140,10 +140,7 @@ class DetailContactFragment : GenericFragment<ContactDetailFragmentBinding>() {
}
viewModel.updateNumbersAndAddresses()
view.doOnPreDraw {
// Notifies fragment is ready to be drawn
sharedViewModel.contactFragmentOpenedEvent.value = Event(true)
}
startPostponedEnterTransition()
}
override fun onResume() {

View file

@ -98,14 +98,6 @@ class MasterContactsFragment : MasterFragment<ContactMasterFragmentBinding, Cont
}
}
sharedViewModel.contactFragmentOpenedEvent.observe(
viewLifecycleOwner
) {
it.consume {
binding.slidingPane.openPane()
}
}
sharedViewModel.layoutChangedEvent.observe(
viewLifecycleOwner
) {
@ -230,6 +222,7 @@ class MasterContactsFragment : MasterFragment<ContactMasterFragmentBinding, Cont
sipUriToAdd = null
} else {
navigateToContact()
binding.slidingPane.openPane()
}
}
}

View file

@ -39,10 +39,6 @@ class SharedMainViewModel : ViewModel() {
/* Chat */
val chatRoomFragmentOpenedEvent: MutableLiveData<Event<Boolean>> by lazy {
MutableLiveData<Event<Boolean>>()
}
val selectedChatRoom = MutableLiveData<ChatRoom>()
var destructionPendingChatRoom: ChatRoom? = null
@ -75,10 +71,6 @@ class SharedMainViewModel : ViewModel() {
/* Contacts */
val contactFragmentOpenedEvent: MutableLiveData<Event<Boolean>> by lazy {
MutableLiveData<Event<Boolean>>()
}
val selectedContact = MutableLiveData<Friend>()
// For correct animations directions