From 32795e1e256b2072eb614b01f5debacae0c1c9ed Mon Sep 17 00:00:00 2001 From: SSimco <37044560+SSimco@users.noreply.github.com> Date: Sun, 22 Sep 2024 07:18:29 +0300 Subject: [PATCH] Fixed conversion from native paths & check for intent data if launch path from extras was null --- .../main/java/info/cemu/Cemu/emulation/EmulationActivity.java | 4 ++-- .../app/src/main/java/info/cemu/Cemu/utils/FileUtil.java | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/android/app/src/main/java/info/cemu/Cemu/emulation/EmulationActivity.java b/src/android/app/src/main/java/info/cemu/Cemu/emulation/EmulationActivity.java index b23794acc..001261eb0 100644 --- a/src/android/app/src/main/java/info/cemu/Cemu/emulation/EmulationActivity.java +++ b/src/android/app/src/main/java/info/cemu/Cemu/emulation/EmulationActivity.java @@ -1,6 +1,5 @@ package info.cemu.Cemu.emulation; -import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -53,7 +52,8 @@ protected void onCreate(Bundle savedInstanceState) { String launchPath = null; if (extras != null) { launchPath = extras.getString(LAUNCH_PATH); - } else if (data != null) { + } + if (launchPath == null && data != null) { launchPath = data.toString(); } if (launchPath == null) { diff --git a/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java b/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java index 0d15085ee..91d4f8bce 100644 --- a/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java +++ b/src/android/app/src/main/java/info/cemu/Cemu/utils/FileUtil.java @@ -22,11 +22,15 @@ public class FileUtil { private static String toCppPath(Uri uri) { String uriPath = uri.toString(); int delimiterPos = uriPath.lastIndexOf(COLON_ENCODED); + if (delimiterPos == -1) + return uriPath; return uriPath.substring(0, delimiterPos) + uriPath.substring(delimiterPos).replace(PATH_SEPARATOR_ENCODED, PATH_SEPARATOR_DECODED); } private static Uri fromCppPath(String cppPath) { int delimiterPos = cppPath.lastIndexOf(COLON_ENCODED); + if (delimiterPos == -1) + return Uri.parse(cppPath); return Uri.parse(cppPath.substring(0, delimiterPos) + cppPath.substring(delimiterPos).replace(PATH_SEPARATOR_DECODED, PATH_SEPARATOR_ENCODED)); }