This commit is contained in:
wheremyfoodat 2024-02-17 11:51:16 +02:00
parent c8db0098f5
commit f1e97fcd61
4 changed files with 20 additions and 16 deletions

View file

@ -37,20 +37,6 @@ JNIEnv* jniEnv() {
return env;
}
int AndroidUtils::openDocument(const char* path, const char* perms) {
auto env = jniEnv();
jstring uri = env->NewStringUTF(path);
jstring jmode = env->NewStringUTF(perms);
jint result = env->CallStaticIntMethod(alberClass, alberClassOpenDocument, uri, jmode);
env->DeleteLocalRef(uri);
env->DeleteLocalRef(jmode);
return (int)result;
}
extern "C" {
#define MAKE_SETTING(functionName, type, settingName) \
@ -140,3 +126,17 @@ AlberFunction(jbyteArray, GetSmdh)(JNIEnv* env, jobject obj) {
}
#undef AlberFunction
int AndroidUtils::openDocument(const char* path, const char* perms) {
auto env = jniEnv();
jstring uri = env->NewStringUTF(path);
jstring jmode = env->NewStringUTF(perms);
jint result = env->CallStaticIntMethod(alberClass, alberClassOpenDocument, uri, jmode);
env->DeleteLocalRef(uri);
env->DeleteLocalRef(jmode);
return (int)result;
}

View file

@ -26,6 +26,6 @@ public class Constants {
public static final String PREF_GAME_UTILS = "app.GameUtils";
public static final String PREF_INPUT_MAP = "app.InputMap";
public static final String PREF_SCREEN_CONTROLLER_PROFILES = "app.input.ScreenControllerManager";
public static final String RESOURCE_FOLDER_ELF = "ELF";
public static final String RESOURCE_FOLDER_ELF = "ELF"; // Folder for caching ELF files
public static final String RESOURCE_FOLDER_LUA_SCRIPTS = "Lua Scripts";
}

View file

@ -91,6 +91,7 @@ public class FileUtils {
case "wa":
return "wa";
}
throw new IllegalArgumentException("Invalid file mode: "+mode);
}
@ -282,6 +283,7 @@ public class FileUtils {
return name.toLowerCase();
}
String[] parts = name.split("\\.");
return parts[parts.length-1].toLowerCase();
}

View file

@ -68,12 +68,14 @@ public class GameUtils {
if (!lower.contains("://")) {
return path;
}
Uri uri = Uri.parse(path);
switch (uri.getScheme().toLowerCase()) {
case "elf":{
case "elf": {
return FileUtils.getResourcePath(Constants.RESOURCE_FOLDER_ELF)+"/"+uri.getAuthority();
}
}
return path;
}