Files
openless/openless-all/app/android/kotlin/OpenLessNative.kt
T
TRIP 5aed1e46ed fix: audit batch 2 — correctness bugs + Android robustness (#696)
7 medium findings: corrupt-timestamp context truncation, voice_agent flag timing, Volcengine/Bailian ASR cancel-on-error, graceful store-init fallback (no startup panic), Android OVERLAY_VISIBLE desync (Rust+Kotlin onDestroy), JNI null-check, accessibility clipboard restore. All-platform CI green; 446 tests pass.
2026-06-17 11:39:55 +08:00

45 lines
1.4 KiB
Kotlin

package com.openless.app
/**
* JNI bridge from Kotlin overlay / lifecycle code into Rust Coordinator.
*/
object OpenLessNative {
init {
try {
System.loadLibrary("openless_lib")
} catch (error: UnsatisfiedLinkError) {
android.util.Log.e("OpenLessNative", "failed to load openless_lib", error)
}
}
@JvmStatic external fun nativeStartDictation()
@JvmStatic external fun nativeStartDictationWithTranslation(translation: Boolean)
@JvmStatic external fun nativeStopDictation()
@JvmStatic external fun nativeStopDictationWithTranslation(translation: Boolean)
@JvmStatic external fun nativeCancelDictation()
@JvmStatic external fun nativeSwitchStylePack()
@JvmStatic external fun nativeOpenQaFromOverlay()
@JvmStatic external fun nativeFinalizeQaFromOverlay()
@JvmStatic external fun nativeGetOverlayTriggerMode(): String
@JvmStatic external fun nativeCanDrawOverlays(context: android.content.Context): Boolean
@JvmStatic external fun nativeShowOverlay(context: android.content.Context)
@JvmStatic external fun nativeHideOverlay(context: android.content.Context)
@JvmStatic external fun nativeIsOverlayVisible(): Boolean
@JvmStatic external fun nativeNotifyOverlayPermissionChanged(context: android.content.Context)
@JvmStatic external fun nativeNotifyOverlayDestroyed()
}