More shortcut fixes

This commit is contained in:
Henrik Rydgård
2021-09-09 00:00:54 +02:00
parent 273376ab8d
commit c9bcbf326f
2 changed files with 18 additions and 2 deletions
+9 -1
View File
@@ -46,6 +46,7 @@
#include "Common/Net/HTTPClient.h"
#include "Common/Net/Resolve.h"
#include "Common/Net/URL.h"
#include "Common/Render/TextureAtlas.h"
#include "Common/Render/Text/draw_text.h"
#include "Common/GPU/OpenGL/GLFeatures.h"
@@ -683,7 +684,14 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch
}
}
if (okToLoad) {
boot_filename = Path(std::string(argv[i]));
std::string str = std::string(argv[i]);
// Handle file:/// URIs, since you get those when creating shortcuts on some Android systems.
if (startsWith(str, "file:///")) {
str = UriDecode(str.substr(7));
INFO_LOG(IO, "Decoding '%s' to '%s'", argv[i], str.c_str());
}
boot_filename = Path(str);
skipLogo = true;
}
if (okToLoad && okToCheck) {
@@ -103,6 +103,12 @@ public class ShortcutActivity extends Activity {
} catch (Exception e) {
Log.i(TAG, "Exception getting name: " + e);
}
} else if (path.startsWith("file:///")) {
try {
pathStr = java.net.URLDecoder.decode(path.substring(7), StandardCharsets.UTF_8.name());
} catch (Exception e) {
Log.i(TAG, "Exception getting name: " + e);
}
} else {
pathStr = path;
}
@@ -111,6 +117,8 @@ public class ShortcutActivity extends Activity {
name = pathSegments[pathSegments.length - 1];
/*
// No longer working for various reasons.
PpssppActivity.CheckABIAndLoadLibrary();
String name = queryGameName(path);
if (name.equals("")) {
@@ -119,7 +127,7 @@ public class ShortcutActivity extends Activity {
return;
}*/
Log.i(TAG, "Game name: " + name + " : Creating shortcut to " + path);
Log.i(TAG, "Game name: " + name + " : Creating shortcut to " + uri.toString());
// This is Intent that will be returned by this method, as response to
// ACTION_CREATE_SHORTCUT. Wrap shortcut intent inside this intent.