From c50076194057aa872dae00dcf5cbecaf88e4c08b Mon Sep 17 00:00:00 2001
From: Sylvain Berfini <sylvain.berfini@belledonne-communications.com>
Date: Fri, 10 Jan 2025 10:50:33 +0100
Subject: [PATCH] Keep screen on while playing media + fixed log file not
 opened if no extension is set for the file

---
 .../org/linphone/ui/fileviewer/viewmodel/FileViewModel.kt  | 7 ++++---
 .../org/linphone/ui/fileviewer/viewmodel/MediaViewModel.kt | 2 +-
 .../linphone/ui/main/chat/fragment/ConversationFragment.kt | 4 +++-
 .../main/res/layout/file_media_viewer_child_fragment.xml   | 1 +
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/FileViewModel.kt b/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/FileViewModel.kt
index 922dbf63e9..850679cb99 100644
--- a/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/FileViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/FileViewModel.kt
@@ -125,10 +125,11 @@ class FileViewModel
         }
 
         filePath = file
-        val extension = FileUtils.getExtensionFromFileName(name)
+        val extension = FileUtils.getExtensionFromFileName(file)
         val mime = FileUtils.getMimeTypeFromExtension(extension)
         mimeType.postValue(mime)
-        when (FileUtils.getMimeType(mime)) {
+        val mimeType = FileUtils.getMimeType(mime)
+        when (mimeType) {
             FileUtils.MimeType.Pdf -> {
                 Log.d("$TAG File [$file] seems to be a PDF")
                 loadPdf()
@@ -138,7 +139,7 @@ class FileViewModel
                 loadPlainText()
             }
             else -> {
-                Log.e("$TAG Unexpected MIME type [$mime] for file at [$file]")
+                Log.e("$TAG Unexpected MIME type [$mimeType] for file at [$file] with extension [$extension]")
                 fileReadyEvent.value = Event(false)
             }
         }
diff --git a/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/MediaViewModel.kt b/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/MediaViewModel.kt
index c8b15f3d19..d7a0a8ce57 100644
--- a/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/MediaViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/fileviewer/viewmodel/MediaViewModel.kt
@@ -93,7 +93,7 @@ class MediaViewModel
         val name = FileUtils.getNameFromFilePath(file)
         fileName.value = name
 
-        val extension = FileUtils.getExtensionFromFileName(name)
+        val extension = FileUtils.getExtensionFromFileName(file)
         val mime = FileUtils.getMimeTypeFromExtension(extension)
         when (FileUtils.getMimeType(mime)) {
             FileUtils.MimeType.Image -> {
diff --git a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt
index 581b20d7d7..af2ef8ac9b 100644
--- a/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/chat/fragment/ConversationFragment.kt
@@ -1092,6 +1092,8 @@ open class ConversationFragment : SlidingPaneChildFragment() {
         Log.i("$TAG Navigating to file viewer fragment with path [$path]")
         val extension = FileUtils.getExtensionFromFileName(path)
         val mime = FileUtils.getMimeTypeFromExtension(extension)
+        val mimeType = FileUtils.getMimeType(mime)
+        Log.i("$TAG Extension for file [$path] is [$extension], associated MIME type is [$mimeType]")
 
         val bundle = Bundle()
         bundle.apply {
@@ -1102,7 +1104,7 @@ open class ConversationFragment : SlidingPaneChildFragment() {
             putLong("timestamp", fileModel.fileCreationTimestamp)
             putString("originalPath", fileModel.originalPath)
         }
-        when (FileUtils.getMimeType(mime)) {
+        when (mimeType) {
             FileUtils.MimeType.Image, FileUtils.MimeType.Video, FileUtils.MimeType.Audio -> {
                 bundle.putBoolean("isMedia", true)
                 sharedViewModel.displayFileEvent.value = Event(bundle)
diff --git a/app/src/main/res/layout/file_media_viewer_child_fragment.xml b/app/src/main/res/layout/file_media_viewer_child_fragment.xml
index c4baeb1071..ceec211efe 100644
--- a/app/src/main/res/layout/file_media_viewer_child_fragment.xml
+++ b/app/src/main/res/layout/file_media_viewer_child_fragment.xml
@@ -17,6 +17,7 @@
         android:onClick="@{toggleFullScreenModeClickListener}"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:keepScreenOn="true"
         android:background="@color/bc_black">
 
         <androidx.constraintlayout.widget.Group
-- 
GitLab