summaryrefslogtreecommitdiff
path: root/Source/Android/jni/AndroidCommon/IDCache.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2020-06-26 17:52:31 +0200
committerJosJuice <josjuice@gmail.com>2020-09-16 18:38:53 +0200
commit6e1e6d2311df787e800be199df369b5d12aa6cae (patch)
tree6679d4714979bda6527f6dd8d84854eb3fc5bc17 /Source/Android/jni/AndroidCommon/IDCache.cpp
parentd9f3e382fe1b2f1c7d9de54cefa920b4f0502af6 (diff)
Android: Add content provider support to File::IOFile
Taking the hit now to prepare us for when Google Play will force us to use scoped storage...
Diffstat (limited to 'Source/Android/jni/AndroidCommon/IDCache.cpp')
-rw-r--r--Source/Android/jni/AndroidCommon/IDCache.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/Android/jni/AndroidCommon/IDCache.cpp b/Source/Android/jni/AndroidCommon/IDCache.cpp
index 0e2e9026c6..f44b5402f8 100644
--- a/Source/Android/jni/AndroidCommon/IDCache.cpp
+++ b/Source/Android/jni/AndroidCommon/IDCache.cpp
@@ -39,6 +39,9 @@ static jmethodID s_ini_file_section_constructor;
static jclass s_compress_cb_class;
static jmethodID s_compress_cb_run;
+static jclass s_content_handler_class;
+static jmethodID s_content_handler_open_fd;
+
namespace IDCache
{
JNIEnv* GetEnvForThread()
@@ -174,6 +177,16 @@ jmethodID GetCompressCallbackRun()
return s_compress_cb_run;
}
+jclass GetContentHandlerClass()
+{
+ return s_content_handler_class;
+}
+
+jmethodID GetContentHandlerOpenFd()
+{
+ return s_content_handler_open_fd;
+}
+
} // namespace IDCache
#ifdef __cplusplus
@@ -241,6 +254,12 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved)
s_compress_cb_class = reinterpret_cast<jclass>(env->NewGlobalRef(compress_cb_class));
s_compress_cb_run = env->GetMethodID(s_compress_cb_class, "run", "(Ljava/lang/String;F)Z");
+ const jclass content_handler_class =
+ env->FindClass("org/dolphinemu/dolphinemu/utils/ContentHandler");
+ s_content_handler_class = reinterpret_cast<jclass>(env->NewGlobalRef(content_handler_class));
+ s_content_handler_open_fd = env->GetStaticMethodID(s_content_handler_class, "openFd",
+ "(Ljava/lang/String;Ljava/lang/String;)I");
+
return JNI_VERSION;
}
@@ -258,6 +277,7 @@ void JNI_OnUnload(JavaVM* vm, void* reserved)
env->DeleteGlobalRef(s_ini_file_class);
env->DeleteGlobalRef(s_ini_file_section_class);
env->DeleteGlobalRef(s_compress_cb_class);
+ env->DeleteGlobalRef(s_content_handler_class);
}
#ifdef __cplusplus