diff options
author | 2019-06-19 16:30:32 +0000 | |
---|---|---|
committer | 2019-06-19 16:30:32 +0000 | |
commit | 2da38e0fa0527b9c4794cb5cb3660e3b90a809b4 (patch) | |
tree | 1a2dbc2882bc733f68b76911efa6e39bb3659928 | |
parent | 71abb3cee195219c9512ea63d303a789403bac8b (diff) | |
parent | 858c2e7eed7ed18fef75d74c0d7178f6e12bd4ff (diff) |
Merge "Allow LayoutLibLoader customization."
-rw-r--r-- | core/jni/LayoutlibLoader.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/jni/LayoutlibLoader.cpp b/core/jni/LayoutlibLoader.cpp index b0dbb68637a3..94064c1d28be 100644 --- a/core/jni/LayoutlibLoader.cpp +++ b/core/jni/LayoutlibLoader.cpp @@ -174,7 +174,8 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void*) { } // Get the names of classes that have to delegate their native methods - jclass createInfo = FindClassOrDie(env, "com/android/tools/layoutlib/create/CreateInfo"); + + jclass createInfo = FindClassOrDie(env, "com/android/tools/layoutlib/create/NativeConfig"); jfieldID arrayId = GetStaticFieldIDOrDie(env, createInfo, "DELEGATE_CLASS_NATIVES_TO_NATIVES", "[Ljava/lang/String;"); jobjectArray array = (jobjectArray) env->GetStaticObjectField(createInfo, arrayId); @@ -194,11 +195,15 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void*) { } // Set the location of ICU data - jclass bridge = FindClassOrDie(env, "com/android/layoutlib/bridge/Bridge"); - jstring stringPath = (jstring) env->CallStaticObjectMethod(bridge, - GetStaticMethodIDOrDie(env, bridge, "getIcuDataPath", "()Ljava/lang/String;")); + jclass system = FindClassOrDie(env, "java/lang/System"); + jmethodID getPropertyMethod = GetStaticMethodIDOrDie(env, system, "getProperty", + "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"); + jstring stringPath = (jstring) (jstring) env->CallStaticObjectMethod(system, + getPropertyMethod, env->NewStringUTF("icu.dir"), + env->NewStringUTF("")); const char* path = env->GetStringUTFChars(stringPath, 0); u_setDataDirectory(path); env->ReleaseStringUTFChars(stringPath, path); return JNI_VERSION_1_6; } + |