MCPcopy Create free account
hub / github.com/Tencent/MMKV / jniInitialize

Function jniInitialize

Android/MMKV/mmkv/src/main/cpp/native-bridge.cpp:213–238  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

211static string jstring2string(JNIEnv *env, jstring str);
212
213MMKV_JNI void jniInitialize(JNIEnv *env, jobject obj, jstring rootDir, jstring cacheDir, jint logLevel, jboolean logReDirecting, jboolean hasCallback, jlong nativeLogHandler) {
214 if (!rootDir) {
215 return;
216 }
217 const char *kstr = env->GetStringUTFChars(rootDir, nullptr);
218 if (kstr) {
219 g_jniHandler.setLogRedirecting(logReDirecting == JNI_TRUE);
220 g_jniHandler.setHasCallback(hasCallback == JNI_TRUE);
221 if (logReDirecting && nativeLogHandler != 0) {
222 g_androidLogHandler = (AndroidLogHandler) nativeLogHandler;
223 } else {
224 g_androidLogHandler = nullptr;
225 }
226 mmkv::MMKVHandler *handler = (logReDirecting || hasCallback) ? &g_jniHandler : nullptr;
227 MMKV::initializeMMKV(kstr, (MMKVLogLevel) logLevel, handler);
228 env->ReleaseStringUTFChars(rootDir, kstr);
229
230 g_android_tmpDir = jstring2string(env, cacheDir);
231
232 if (hasCallback == JNI_TRUE || logReDirecting == JNI_TRUE) {
233 MMKV::registerHandler(&g_jniHandler);
234 } else {
235 MMKV::unRegisterHandler();
236 }
237 }
238}
239
240MMKV_JNI void onExit(JNIEnv *env, jobject obj) {
241 MMKV::onExit();

Callers

nothing calls this directly

Calls 3

setLogRedirectingMethod · 0.80
setHasCallbackMethod · 0.80
jstring2stringFunction · 0.70

Tested by

no test coverage detected