Fixed file sharing in newly created room
This commit is contained in:
parent
3aafed8677
commit
f7064b81f5
9 changed files with 52 additions and 57 deletions
|
@ -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 (findNavController().currentDestination?.id == R.id.chatRoomCreationFragment) {
|
||||||
if (!resources.getBoolean(R.bool.isTablet)) {
|
if (!resources.getBoolean(R.bool.isTablet)) {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment,
|
R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment,
|
||||||
null,
|
args,
|
||||||
getRightToLeftAnimationNavOptions()
|
getRightToLeftAnimationNavOptions()
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment,
|
R.id.action_chatRoomCreationFragment_to_detailChatRoomFragment,
|
||||||
null,
|
args,
|
||||||
getRightToLeftAnimationNavOptions(R.id.emptyFragment, true)
|
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 (findNavController().currentDestination?.id == R.id.groupInfoFragment) {
|
||||||
if (!resources.getBoolean(R.bool.isTablet)) {
|
if (!resources.getBoolean(R.bool.isTablet)) {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_groupInfoFragment_to_detailChatRoomFragment,
|
R.id.action_groupInfoFragment_to_detailChatRoomFragment,
|
||||||
null,
|
args,
|
||||||
getRightToLeftAnimationNavOptions()
|
getRightToLeftAnimationNavOptions()
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_groupInfoFragment_to_detailChatRoomFragment,
|
R.id.action_groupInfoFragment_to_detailChatRoomFragment,
|
||||||
null,
|
args,
|
||||||
getRightToLeftAnimationNavOptions(R.id.emptyFragment, true)
|
getRightToLeftAnimationNavOptions(R.id.emptyFragment, true)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import org.linphone.LinphoneApplication
|
import org.linphone.LinphoneApplication
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
|
@ -37,6 +36,7 @@ import org.linphone.activities.navigateToChatRoom
|
||||||
import org.linphone.activities.navigateToGroupInfo
|
import org.linphone.activities.navigateToGroupInfo
|
||||||
import org.linphone.core.tools.Log
|
import org.linphone.core.tools.Log
|
||||||
import org.linphone.databinding.ChatRoomCreationFragmentBinding
|
import org.linphone.databinding.ChatRoomCreationFragmentBinding
|
||||||
|
import org.linphone.utils.AppUtils
|
||||||
import org.linphone.utils.PermissionHelper
|
import org.linphone.utils.PermissionHelper
|
||||||
|
|
||||||
class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>() {
|
class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>() {
|
||||||
|
@ -73,9 +73,7 @@ class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>
|
||||||
binding.contactsList.layoutManager = layoutManager
|
binding.contactsList.layoutManager = layoutManager
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.contactsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.contactsList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
binding.setBackClickListener {
|
binding.setBackClickListener {
|
||||||
findNavController().popBackStack()
|
findNavController().popBackStack()
|
||||||
|
@ -109,7 +107,7 @@ class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>
|
||||||
viewModel.chatRoomCreatedEvent.observe(viewLifecycleOwner, {
|
viewModel.chatRoomCreatedEvent.observe(viewLifecycleOwner, {
|
||||||
it.consume { chatRoom ->
|
it.consume { chatRoom ->
|
||||||
sharedViewModel.selectedChatRoom.value = chatRoom
|
sharedViewModel.selectedChatRoom.value = chatRoom
|
||||||
navigateToChatRoom()
|
navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -148,13 +146,6 @@ class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addParticipantsFromSharedViewModel() {
|
|
||||||
val participants = sharedViewModel.chatRoomParticipants.value
|
|
||||||
if (participants != null && participants.size > 0) {
|
|
||||||
viewModel.selectedAddresses.value = participants
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onRequestPermissionsResult(
|
override fun onRequestPermissionsResult(
|
||||||
requestCode: Int,
|
requestCode: Int,
|
||||||
permissions: Array<out String>,
|
permissions: Array<out String>,
|
||||||
|
@ -171,4 +162,11 @@ class ChatRoomCreationFragment : SecureFragment<ChatRoomCreationFragmentBinding>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun addParticipantsFromSharedViewModel() {
|
||||||
|
val participants = sharedViewModel.chatRoomParticipants.value
|
||||||
|
if (participants != null && participants.size > 0) {
|
||||||
|
viewModel.selectedAddresses.value = participants
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.MainActivity
|
import org.linphone.activities.main.MainActivity
|
||||||
|
@ -41,6 +40,7 @@ import org.linphone.core.Address
|
||||||
import org.linphone.core.ChatRoom
|
import org.linphone.core.ChatRoom
|
||||||
import org.linphone.core.ChatRoomCapabilities
|
import org.linphone.core.ChatRoomCapabilities
|
||||||
import org.linphone.databinding.ChatRoomGroupInfoFragmentBinding
|
import org.linphone.databinding.ChatRoomGroupInfoFragmentBinding
|
||||||
|
import org.linphone.utils.AppUtils
|
||||||
import org.linphone.utils.DialogUtils
|
import org.linphone.utils.DialogUtils
|
||||||
|
|
||||||
class GroupInfoFragment : SecureFragment<ChatRoomGroupInfoFragmentBinding>() {
|
class GroupInfoFragment : SecureFragment<ChatRoomGroupInfoFragmentBinding>() {
|
||||||
|
@ -81,9 +81,7 @@ class GroupInfoFragment : SecureFragment<ChatRoomGroupInfoFragmentBinding>() {
|
||||||
binding.participants.layoutManager = layoutManager
|
binding.participants.layoutManager = layoutManager
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.participants.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.participants.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
viewModel.participants.observe(viewLifecycleOwner, {
|
viewModel.participants.observe(viewLifecycleOwner, {
|
||||||
adapter.submitList(it)
|
adapter.submitList(it)
|
||||||
|
@ -114,7 +112,7 @@ class GroupInfoFragment : SecureFragment<ChatRoomGroupInfoFragmentBinding>() {
|
||||||
viewModel.createdChatRoomEvent.observe(viewLifecycleOwner, {
|
viewModel.createdChatRoomEvent.observe(viewLifecycleOwner, {
|
||||||
it.consume { chatRoom ->
|
it.consume { chatRoom ->
|
||||||
sharedViewModel.selectedChatRoom.value = chatRoom
|
sharedViewModel.selectedChatRoom.value = chatRoom
|
||||||
navigateToChatRoom()
|
navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.MainActivity
|
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.activities.main.viewmodels.SharedMainViewModel
|
||||||
import org.linphone.core.tools.Log
|
import org.linphone.core.tools.Log
|
||||||
import org.linphone.databinding.ChatRoomImdnFragmentBinding
|
import org.linphone.databinding.ChatRoomImdnFragmentBinding
|
||||||
|
import org.linphone.utils.AppUtils
|
||||||
import org.linphone.utils.RecyclerViewHeaderDecoration
|
import org.linphone.utils.RecyclerViewHeaderDecoration
|
||||||
|
|
||||||
class ImdnFragment : SecureFragment<ChatRoomImdnFragmentBinding>() {
|
class ImdnFragment : SecureFragment<ChatRoomImdnFragmentBinding>() {
|
||||||
|
@ -92,9 +92,7 @@ class ImdnFragment : SecureFragment<ChatRoomImdnFragmentBinding>() {
|
||||||
binding.participantsList.layoutManager = layoutManager
|
binding.participantsList.layoutManager = layoutManager
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.participantsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.participantsList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
// Displays state header
|
// Displays state header
|
||||||
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -138,9 +137,7 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
|
||||||
.attachToRecyclerView(binding.chatList)
|
.attachToRecyclerView(binding.chatList)
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.chatList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.chatList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
listViewModel.chatRooms.observe(viewLifecycleOwner, { chatRooms ->
|
listViewModel.chatRooms.observe(viewLifecycleOwner, { chatRooms ->
|
||||||
adapter.submitList(chatRooms)
|
adapter.submitList(chatRooms)
|
||||||
|
@ -159,7 +156,7 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
|
||||||
sharedViewModel.destructionPendingChatRoom = chatRoom
|
sharedViewModel.destructionPendingChatRoom = chatRoom
|
||||||
} else {
|
} else {
|
||||||
sharedViewModel.selectedChatRoom.value = chatRoom
|
sharedViewModel.selectedChatRoom.value = chatRoom
|
||||||
navigateToChatRoom(createBundleWithSharedTextAndFiles())
|
navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -200,7 +197,7 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
|
||||||
Log.w("[Chat] Found pending chat room from before activity was recreated")
|
Log.w("[Chat] Found pending chat room from before activity was recreated")
|
||||||
sharedViewModel.destructionPendingChatRoom = null
|
sharedViewModel.destructionPendingChatRoom = null
|
||||||
sharedViewModel.selectedChatRoom.value = pendingDestructionChatRoom
|
sharedViewModel.selectedChatRoom.value = pendingDestructionChatRoom
|
||||||
navigateToChatRoom(createBundleWithSharedTextAndFiles())
|
navigateToChatRoom(AppUtils.createBundleWithSharedTextAndFiles(sharedViewModel))
|
||||||
}
|
}
|
||||||
|
|
||||||
val localSipUri = arguments?.getString("LocalSipUri")
|
val localSipUri = arguments?.getString("LocalSipUri")
|
||||||
|
@ -274,16 +271,4 @@ class MasterChatRoomsFragment : MasterFragment<ChatRoomMasterFragmentBinding, Ch
|
||||||
private fun scrollToTop() {
|
private fun scrollToTop() {
|
||||||
binding.chatList.scrollToPosition(0)
|
binding.chatList.scrollToPosition(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createBundleWithSharedTextAndFiles(): Bundle {
|
|
||||||
val bundle = Bundle()
|
|
||||||
bundle.putString("TextToShare", sharedViewModel.textToShare.value.orEmpty())
|
|
||||||
bundle.putStringArrayList("FilesToShare", sharedViewModel.filesToShare.value)
|
|
||||||
|
|
||||||
// Remove values from shared view model
|
|
||||||
sharedViewModel.textToShare.value = ""
|
|
||||||
sharedViewModel.filesToShare.value = arrayListOf()
|
|
||||||
|
|
||||||
return bundle
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -122,9 +121,7 @@ class MasterContactsFragment : MasterFragment<ContactMasterFragmentBinding, Cont
|
||||||
.attachToRecyclerView(binding.contactsList)
|
.attachToRecyclerView(binding.contactsList)
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.contactsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.contactsList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
// Displays the first letter header
|
// Displays the first letter header
|
||||||
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -123,9 +122,7 @@ class MasterCallLogsFragment : MasterFragment<HistoryMasterFragmentBinding, Call
|
||||||
.attachToRecyclerView(binding.callLogsList)
|
.attachToRecyclerView(binding.callLogsList)
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.callLogsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.callLogsList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
// Displays formatted date header
|
// Displays formatted date header
|
||||||
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
import org.linphone.activities.main.fragments.MasterFragment
|
import org.linphone.activities.main.fragments.MasterFragment
|
||||||
|
@ -32,6 +31,7 @@ import org.linphone.activities.main.recordings.adapters.RecordingsListAdapter
|
||||||
import org.linphone.activities.main.recordings.data.RecordingData
|
import org.linphone.activities.main.recordings.data.RecordingData
|
||||||
import org.linphone.activities.main.recordings.viewmodels.RecordingsViewModel
|
import org.linphone.activities.main.recordings.viewmodels.RecordingsViewModel
|
||||||
import org.linphone.databinding.RecordingsFragmentBinding
|
import org.linphone.databinding.RecordingsFragmentBinding
|
||||||
|
import org.linphone.utils.AppUtils
|
||||||
import org.linphone.utils.RecyclerViewHeaderDecoration
|
import org.linphone.utils.RecyclerViewHeaderDecoration
|
||||||
|
|
||||||
class RecordingsFragment : MasterFragment<RecordingsFragmentBinding, RecordingsListAdapter>() {
|
class RecordingsFragment : MasterFragment<RecordingsFragmentBinding, RecordingsListAdapter>() {
|
||||||
|
@ -63,9 +63,7 @@ class RecordingsFragment : MasterFragment<RecordingsFragmentBinding, RecordingsL
|
||||||
binding.recordingsList.layoutManager = layoutManager
|
binding.recordingsList.layoutManager = layoutManager
|
||||||
|
|
||||||
// Divider between items
|
// Divider between items
|
||||||
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
binding.recordingsList.addItemDecoration(AppUtils.getDividerDecoration(requireContext(), layoutManager))
|
||||||
dividerItemDecoration.setDrawable(resources.getDrawable(R.drawable.divider, null))
|
|
||||||
binding.recordingsList.addItemDecoration(dividerItemDecoration)
|
|
||||||
|
|
||||||
// Displays the first letter header
|
// Displays the first letter header
|
||||||
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
val headerItemDecoration = RecyclerViewHeaderDecoration(adapter)
|
||||||
|
|
|
@ -21,12 +21,17 @@ package org.linphone.utils
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.*
|
import android.content.*
|
||||||
|
import android.os.Bundle
|
||||||
import android.text.format.Formatter.formatShortFileSize
|
import android.text.format.Formatter.formatShortFileSize
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import androidx.emoji.text.EmojiCompat
|
import androidx.emoji.text.EmojiCompat
|
||||||
|
import androidx.recyclerview.widget.DividerItemDecoration
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||||
import org.linphone.R
|
import org.linphone.R
|
||||||
|
import org.linphone.activities.main.viewmodels.SharedMainViewModel
|
||||||
import org.linphone.core.tools.Log
|
import org.linphone.core.tools.Log
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -101,5 +106,24 @@ class AppUtils {
|
||||||
Log.e(ex)
|
Log.e(ex)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun getDividerDecoration(context: Context, layoutManager: LinearLayoutManager): DividerItemDecoration {
|
||||||
|
val dividerItemDecoration = DividerItemDecoration(context, layoutManager.orientation)
|
||||||
|
val divider = ResourcesCompat.getDrawable(context.resources, R.drawable.divider, null)
|
||||||
|
if (divider != null) dividerItemDecoration.setDrawable(divider)
|
||||||
|
return dividerItemDecoration
|
||||||
|
}
|
||||||
|
|
||||||
|
fun createBundleWithSharedTextAndFiles(sharedViewModel: SharedMainViewModel): Bundle {
|
||||||
|
val bundle = Bundle()
|
||||||
|
bundle.putString("TextToShare", sharedViewModel.textToShare.value.orEmpty())
|
||||||
|
bundle.putStringArrayList("FilesToShare", sharedViewModel.filesToShare.value)
|
||||||
|
|
||||||
|
// Remove values from shared view model
|
||||||
|
sharedViewModel.textToShare.value = ""
|
||||||
|
sharedViewModel.filesToShare.value = arrayListOf()
|
||||||
|
|
||||||
|
return bundle
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue