Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e9d16f3d authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "[LayoutlibLoader] Allow to skip ICU / Keyboard initialization" into main

parents dcbd0748 a2d5162e
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -416,11 +416,17 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void*) {
                                                           env->NewStringUTF("icu.data.path"),
                                                           env->NewStringUTF(""));
    const char* path = env->GetStringUTFChars(stringPath, 0);

    if (strcmp(path, "**n/a**") != 0) {
        bool icuInitialized = init_icu(path);
    env->ReleaseStringUTFChars(stringPath, path);
        if (!icuInitialized) {
            fprintf(stderr, "Failed to initialize ICU\n");
            return JNI_ERR;
        }
    } else {
        fprintf(stderr, "Skip initializing ICU\n");
    }
    env->ReleaseStringUTFChars(stringPath, path);

    jstring useJniProperty =
            (jstring)env->CallStaticObjectMethod(system, getPropertyMethod,
@@ -449,12 +455,18 @@ JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void*) {
    // Use English locale for number format to ensure correct parsing of floats when using strtof
    setlocale(LC_NUMERIC, "en_US.UTF-8");

    auto keyboardPathsString =
    auto keyboardPathsJString =
            (jstring)env->CallStaticObjectMethod(system, getPropertyMethod,
                                                 env->NewStringUTF("keyboard_paths"),
                                                 env->NewStringUTF(""));
    vector<string> keyboardPaths = parseCsv(env, keyboardPathsString);
    const char* keyboardPathsString = env->GetStringUTFChars(keyboardPathsJString, 0);
    if (strcmp(keyboardPathsString, "**n/a**") != 0) {
        vector<string> keyboardPaths = parseCsv(env, keyboardPathsJString);
        init_keyboard(env, keyboardPaths);
    } else {
        fprintf(stderr, "Skip initializing keyboard\n");
    }
    env->ReleaseStringUTFChars(keyboardPathsJString, keyboardPathsString);

    return JNI_VERSION_1_6;
}