Store the TTS object in the struct.

This commit is contained in:
Nolan Darilek 2020-12-29 15:47:11 -06:00
parent da8260cba8
commit 84926ea110
1 changed files with 13 additions and 21 deletions

View File

@ -27,13 +27,8 @@ impl Android {
let id = BackendId::Android(*backend_id);
*backend_id += 1;
let native_activity = ndk_glue::native_activity();
let mut vm = VM.lock().unwrap();
if vm.is_none() {
let vm_ptr = native_activity.vm();
let new_vm = unsafe { jni::JavaVM::from_raw(vm_ptr) }?;
*vm = Some(new_vm);
}
if let Some(vm) = &*vm {
let vm = unsafe { jni::JavaVM::from_raw(vm_ptr) }?;
let env = vm.attach_current_thread()?;
let tts = env.new_object(
"android/speech/tts/TextToSpeech",
@ -45,9 +40,6 @@ impl Android {
)?;
let tts = env.new_global_ref(tts)?;
Ok(Self { id, tts })
} else {
Err(Error::NoneError)
}
}
}