Skip to content

Commit

Permalink
refactor: pass version name to rime setup via JNI
Browse files Browse the repository at this point in the history
  • Loading branch information
WhiredPlanck committed Feb 1, 2025
1 parent dbd5ed0 commit 071297e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
13 changes: 11 additions & 2 deletions app/src/main/java/com/osfans/trime/core/Rime.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

package com.osfans.trime.core

import com.osfans.trime.BuildConfig
import com.osfans.trime.data.base.DataManager
import com.osfans.trime.data.opencc.OpenCCDictManager
import com.osfans.trime.data.schema.SchemaManager
Expand Down Expand Up @@ -54,8 +55,15 @@ class Rime :

val sharedDataDir = DataManager.sharedDataDir.absolutePath
val userDataDir = DataManager.userDataDir.absolutePath
Timber.i("Starting up Rime APIs ...")
startupRime(sharedDataDir, userDataDir, fullCheck)
Timber.d(
"""
Starting rime with:
sharedDataDir: $sharedDataDir
userDataDir: $userDataDir
fullCheck: $fullCheck
""".trimIndent(),
)
startupRime(sharedDataDir, userDataDir, BuildConfig.BUILD_VERSION_NAME, fullCheck)

lifecycleImpl.emitState(RimeLifecycle.State.READY)

Expand Down Expand Up @@ -298,6 +306,7 @@ class Rime :
external fun startupRime(
sharedDir: String,
userDir: String,
versionName: String,
fullCheck: Boolean,
)

Expand Down
11 changes: 0 additions & 11 deletions app/src/main/jni/librime_jni/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,3 @@ target_include_directories(rime_jni PRIVATE
"${CMAKE_SOURCE_DIR}/librime/src"
"${Opencc_INCLUDE_PATH}"
)


execute_process(
COMMAND git --git-dir ${CMAKE_SOURCE_DIR}/../../../../.git describe --tags
OUTPUT_VARIABLE TRIME_VERSION
)
string(STRIP ${TRIME_VERSION} TRIME_VERSION)

target_compile_definitions(rime_jni PRIVATE
TRIME_VERSION="${TRIME_VERSION}"
)
8 changes: 5 additions & 3 deletions app/src/main/jni/librime_jni/rime_jni.cc
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,16 @@ class Rime {
if (!rime) return;
const char *userDir = getenv("RIME_USER_DATA_DIR");
const char *sharedDir = getenv("RIME_SHARED_DATA_DIR");
const char *versionName = getenv("RIME_DISTRIBUTION_VERSION");

RIME_STRUCT(RimeTraits, trime_traits)
trime_traits.shared_data_dir = sharedDir;
trime_traits.user_data_dir = userDir;
trime_traits.log_dir = ""; // set empty log_dir to log to logcat only
trime_traits.app_name = "rime.trime";
trime_traits.distribution_name = "Rime";
trime_traits.distribution_name = "Trime";
trime_traits.distribution_code_name = "trime";
trime_traits.distribution_version = TRIME_VERSION;
trime_traits.distribution_version = versionName;

if (firstRun) {
rime->setup(&trime_traits);
Expand Down Expand Up @@ -176,11 +177,12 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) {

extern "C" JNIEXPORT void JNICALL Java_com_osfans_trime_core_Rime_startupRime(
JNIEnv *env, jclass clazz, jstring shared_dir, jstring user_dir,
jboolean full_check) {
jstring version_name, jboolean full_check) {
// for rime shared data dir
setenv("RIME_SHARED_DATA_DIR", CString(env, shared_dir), 1);
// for rime user data dir
setenv("RIME_USER_DATA_DIR", CString(env, user_dir), 1);
setenv("RIME_DISTRIBUTION_VERSION", CString(env, version_name), 1);

auto notificationHandler = [](void *context_object, RimeSessionId session_id,
const char *message_type,
Expand Down

0 comments on commit 071297e

Please sign in to comment.