diff --git a/Core/jni/main/inject/config_manager.cpp b/Core/jni/main/inject/config_manager.cpp index 24683687..2901f577 100644 --- a/Core/jni/main/inject/config_manager.cpp +++ b/Core/jni/main/inject/config_manager.cpp @@ -19,6 +19,15 @@ #define GLOBAL_MODE "/data/misc/riru/modules/edxposed/forceglobal" static char package_name[256]; +static bool global_mode = false; +static bool inited = false; + +void initOnce() { + if (!inited) { + global_mode = access(GLOBAL_MODE, F_OK) == 0; + inited = true; + } +} // default is true int is_app_need_hook(JNIEnv *env, jstring appDataDir) { @@ -61,5 +70,6 @@ int is_app_need_hook(JNIEnv *env, jstring appDataDir) { } int is_global_mode() { - return access(GLOBAL_MODE, F_OK) == 0; + initOnce(); + return global_mode; }