From a362c984c976ff8daa26128effb1c7a8a5dbaedc Mon Sep 17 00:00:00 2001 From: solohsu Date: Tue, 29 Jan 2019 20:19:50 +0800 Subject: [PATCH] Fix global mode not working properly --- Core/jni/main/inject/config_manager.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; }