diff --git a/app/src/main/java/org/linphone/ui/main/viewer/fragment/FileViewerFragment.kt b/app/src/main/java/org/linphone/ui/main/viewer/fragment/FileViewerFragment.kt
index 97a914964..af267b86d 100644
--- a/app/src/main/java/org/linphone/ui/main/viewer/fragment/FileViewerFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/viewer/fragment/FileViewerFragment.kt
@@ -2,6 +2,7 @@ package org.linphone.ui.main.viewer.fragment
import android.app.Activity
import android.content.Intent
+import android.net.Uri
import android.os.Bundle
import android.util.DisplayMetrics
import android.view.LayoutInflater
@@ -10,14 +11,17 @@ import android.view.ViewGroup
import androidx.annotation.UiThread
import androidx.core.view.doOnPreDraw
import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
+import kotlinx.coroutines.launch
import org.linphone.core.tools.Log
import org.linphone.databinding.FileViewerFragmentBinding
import org.linphone.ui.main.MainActivity
import org.linphone.ui.main.fragment.GenericFragment
import org.linphone.ui.main.viewer.adapter.PdfPagesListAdapter
import org.linphone.ui.main.viewer.viewmodel.FileViewModel
+import org.linphone.utils.FileUtils
@UiThread
class FileViewerFragment : GenericFragment() {
@@ -64,6 +68,22 @@ class FileViewerFragment : GenericFragment() {
goBack()
}
+ binding.setShareClickListener {
+ lifecycleScope.launch {
+ val filePath = FileUtils.getProperFilePath(path)
+ val copy = FileUtils.getFilePath(requireContext(), Uri.parse(filePath), false)
+ if (!copy.isNullOrEmpty()) {
+ sharedViewModel.filesToShareFromIntent.value = arrayListOf(copy)
+ Log.i("$TAG Sharing file [$copy], going back to conversations list")
+ val action =
+ FileViewerFragmentDirections.actionFileViewerFragmentToConversationsListFragment()
+ findNavController().navigate(action)
+ } else {
+ Log.e("$TAG Failed to copy file [$filePath] to share!")
+ }
+ }
+ }
+
viewModel.pdfRendererReadyEvent.observe(viewLifecycleOwner) {
it.consume {
Log.i("$TAG PDF renderer is ready, attaching adapter to ViewPager")
diff --git a/app/src/main/res/navigation/main_nav_graph.xml b/app/src/main/res/navigation/main_nav_graph.xml
index 922e29913..5806b1a0a 100644
--- a/app/src/main/res/navigation/main_nav_graph.xml
+++ b/app/src/main/res/navigation/main_nav_graph.xml
@@ -330,6 +330,11 @@
+