diff --git a/app/src/main/java/org/linphone/activities/Navigation.kt b/app/src/main/java/org/linphone/activities/Navigation.kt index 3a118b404..ed36a6cf1 100644 --- a/app/src/main/java/org/linphone/activities/Navigation.kt +++ b/app/src/main/java/org/linphone/activities/Navigation.kt @@ -413,18 +413,18 @@ internal fun ChatRoomCreationFragment.navigateToGroupInfo() { } } -internal fun ChatRoomCreationFragment.navigateToChatRoom() { +internal fun ChatRoomCreationFragment.navigateToChatRoom(args: Bundle) { if (findNavController().currentDestination?.id == R.id.chatRoomCreationFragment) { if (!resources.getBoolean(R.bool.isTablet)) { findNavController().navigate( R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment, - null, + args, getRightToLeftAnimationNavOptions() ) } else { findNavController().navigate( R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment, - null, + args, getRightToLeftAnimationNavOptions(R.id.emptyFragment, true) ) } @@ -440,18 +440,18 @@ internal fun GroupInfoFragment.navigateToChatRoomCreation(args: Bundle?) { } } -internal fun GroupInfoFragment.navigateToChatRoom() { +internal fun GroupInfoFragment.navigateToChatRoom(args: Bundle?) { if (findNavController().currentDestination?.id == R.id.groupInfoFragment) { if (!resources.getBoolean(R.bool.isTablet)) { findNavController().navigate( R.id.action_groupInfoFragment_to_detailChatRoomFragment, - null, + args, getRightToLeftAnimationNavOptions() ) } else { findNavController().navigate( R.id.action_groupInfoFragment_to_detailChatRoomFragment, - null, + args, getRightToLeftAnimationNavOptions(R.id.emptyFragment, true) ) } diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt index 70df57761..46a526e03 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ChatRoomCreationFragment.kt @@ -24,7 +24,6 @@ import android.os.Bundle import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import org.linphone.LinphoneApplication import org.linphone.R @@ -37,6 +36,7 @@ import org.linphone.activities.navigateToChatRoom import org.linphone.activities.navigateToGroupInfo import org.linphone.core.tools.Log import org.linphone.databinding.ChatRoomCreationFragmentBinding +import org.linphone.utils.AppUtils import org.linphone.utils.PermissionHelper class ChatRoomCreationFragment : SecureFragment() { @@ -73,9 +73,7 @@ class ChatRoomCreationFragment : SecureFragment binding.contactsList.layoutManager = layoutManager // Divider between items - val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation) - dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null)) - binding.contactsList.addItemDecoration(dividerItemDecoration) + binding.contactsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager)) binding.setBackClickListener { findNavController().popBackStack() @@ -109,7 +107,7 @@ class ChatRoomCreationFragment : SecureFragment viewModel.chatRoomCreatedEvent.observe(viewLifecycleOwner, { it.consume { chatRoom -> sharedViewModel.selectedChatRoom.value = chatRoom - navigateToChatRoom() + navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel)) } }) @@ -148,13 +146,6 @@ class ChatRoomCreationFragment : SecureFragment } } - private fun addParticipantsFromSharedViewModel() { - val participants = sharedViewModel.chatRoomParticipants.value - if (participants != null && participants.size > 0) { - viewModel.selectedAddresses.value = participants - } - } - override fun onRequestPermissionsResult( requestCode: Int, permissions: Array, @@ -171,4 +162,11 @@ class ChatRoomCreationFragment : SecureFragment } } } + + private fun addParticipantsFromSharedViewModel() { + val participants = sharedViewModel.chatRoomParticipants.value + if (participants != null && participants.size > 0) { + viewModel.selectedAddresses.value = participants + } + } } diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt index 6c0a7af01..5c876bacd 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/GroupInfoFragment.kt @@ -24,7 +24,6 @@ import android.os.Bundle import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import org.linphone.R import org.linphone.activities.main.MainActivity @@ -41,6 +40,7 @@ import org.linphone.core.Address import org.linphone.core.ChatRoom import org.linphone.core.ChatRoomCapabilities import org.linphone.databinding.ChatRoomGroupInfoFragmentBinding +import org.linphone.utils.AppUtils import org.linphone.utils.DialogUtils class GroupInfoFragment : SecureFragment() { @@ -81,9 +81,7 @@ class GroupInfoFragment : SecureFragment() { binding.participants.layoutManager = layoutManager // Divider between items - val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation) - dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null)) - binding.participants.addItemDecoration(dividerItemDecoration) + binding.participants.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager)) viewModel.participants.observe(viewLifecycleOwner, { adapter.submitList(it) @@ -114,7 +112,7 @@ class GroupInfoFragment : SecureFragment() { viewModel.createdChatRoomEvent.observe(viewLifecycleOwner, { it.consume { chatRoom -> sharedViewModel.selectedChatRoom.value = chatRoom - navigateToChatRoom() + navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel)) } }) diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/ImdnFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/ImdnFragment.kt index b3686a41f..fd9d34031 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/ImdnFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/ImdnFragment.kt @@ -23,7 +23,6 @@ import android.os.Bundle import android.view.View import androidx.lifecycle.ViewModelProvider import androidx.navigation.fragment.findNavController -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager import org.linphone.R import org.linphone.activities.main.MainActivity @@ -34,6 +33,7 @@ import org.linphone.activities.main.fragments.SecureFragment import org.linphone.activities.main.viewmodels.SharedMainViewModel import org.linphone.core.tools.Log import org.linphone.databinding.ChatRoomImdnFragmentBinding +import org.linphone.utils.AppUtils import org.linphone.utils.RecyclerViewHeaderDecoration class ImdnFragment : SecureFragment() { @@ -92,9 +92,7 @@ class ImdnFragment : SecureFragment() { binding.participantsList.layoutManager = layoutManager // Divider between items - val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation) - dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null)) - binding.participantsList.addItemDecoration(dividerItemDecoration) + binding.participantsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager)) // Displays state header val headerItemDecoration = RecyclerViewHeaderDecoration(adapter) diff --git a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt index b62f3e101..7a00b177b 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/fragments/MasterChatRoomsFragment.kt @@ -24,7 +24,6 @@ import android.os.Bundle import android.view.View import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider -import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -138,9 +137,7 @@ class MasterChatRoomsFragment : MasterFragment adapter.submitList(chatRooms) @@ -159,7 +156,7 @@ class MasterChatRoomsFragment : MasterFragment() { @@ -63,9 +63,7 @@ class RecordingsFragment : MasterFragment