@@ -567,11 +567,11 @@ pub mod android {
567567
568568 #[ no_mangle]
569569 pub unsafe extern "C" fn Java_net_neevek_omnip_Omnip_nativeInitLogger (
570- env : JNIEnv ,
570+ mut env : JNIEnv ,
571571 _: JClass ,
572572 jlogLevel : JString ,
573573 ) -> jboolean {
574- let log_level = match get_string ( & env, & jlogLevel) . as_str ( ) {
574+ let log_level = match get_string ( & mut env, & jlogLevel) . as_str ( ) {
575575 "T" => "trace" ,
576576 "D" => "debug" ,
577577 "I" => "info" ,
@@ -589,7 +589,7 @@ pub mod android {
589589
590590 #[ no_mangle]
591591 pub unsafe extern "C" fn Java_net_neevek_omnip_Omnip_nativeCreate (
592- env : JNIEnv ,
592+ mut env : JNIEnv ,
593593 _: JClass ,
594594 jaddr : JString ,
595595 jupstream : JString ,
@@ -611,15 +611,15 @@ pub mod android {
611611 return 0 ;
612612 }
613613
614- let addr = get_string ( & env, & jaddr) ;
615- let upstream = get_string ( & env, & jupstream) ;
616- let dot_server = get_string ( & env, & jdotServer) ;
617- let name_servers = get_string ( & env, & jnameServers) ;
618- let proxy_rules_file = get_string ( & env, & jproxyRulesFile) ;
619- let cert = get_string ( & env, & jcert) ;
620- let key = get_string ( & env, & jkey) ;
621- let cipher = get_string ( & env, & jcipher) ;
622- let password = get_string ( & env, & jpassword) ;
614+ let addr = get_string ( & mut env, & jaddr) ;
615+ let upstream = get_string ( & mut env, & jupstream) ;
616+ let dot_server = get_string ( & mut env, & jdotServer) ;
617+ let name_servers = get_string ( & mut env, & jnameServers) ;
618+ let proxy_rules_file = get_string ( & mut env, & jproxyRulesFile) ;
619+ let cert = get_string ( & mut env, & jcert) ;
620+ let key = get_string ( & mut env, & jkey) ;
621+ let cipher = get_string ( & mut env, & jcipher) ;
622+ let password = get_string ( & mut env, & jpassword) ;
623623
624624 let config = match create_config (
625625 addr,
@@ -684,13 +684,13 @@ pub mod android {
684684 server_ptr : jlong ,
685685 ) -> jstring {
686686 if server_ptr == 0 {
687- return env. new_string ( "" ) . unwrap ( ) . into_inner ( ) ;
687+ return env. new_string ( "" ) . unwrap ( ) . into_raw ( ) ;
688688 }
689689
690690 let server = & mut * ( server_ptr as * mut Arc < Server > ) ;
691691 env. new_string ( server. get_state ( ) . to_string ( ) )
692692 . unwrap ( )
693- . into_inner ( )
693+ . into_raw ( )
694694 }
695695
696696 #[ no_mangle]
@@ -721,13 +721,13 @@ pub mod android {
721721 let jvm = env. get_java_vm ( ) . unwrap ( ) ;
722722 let jobj_global_ref = env. new_global_ref ( jobj) . unwrap ( ) ;
723723 server. set_on_info_listener ( move |data : & str | {
724- let env = jvm. attach_current_thread ( ) . unwrap ( ) ;
724+ let mut env = jvm. attach_current_thread ( ) . unwrap ( ) ;
725725 if let Ok ( s) = env. new_string ( data) {
726726 env. call_method (
727727 & jobj_global_ref,
728728 "onInfo" ,
729729 "(Ljava/lang/String;)V" ,
730- & [ s . into ( ) ] ,
730+ & [ ( & s ) . into ( ) ] ,
731731 )
732732 . unwrap ( ) ;
733733 }
@@ -737,9 +737,9 @@ pub mod android {
737737 server. set_enable_on_info_report ( bool_enable) ;
738738 }
739739
740- fn get_string ( env : & JNIEnv , jstring : & JString ) -> String {
741- if !jstring . is_null ( ) {
742- env. get_string ( * jstring ) . unwrap ( ) . into ( )
740+ fn get_string ( env : & mut JNIEnv , jstr : & JString ) -> String {
741+ if !jstr . is_null ( ) {
742+ env. get_string ( & jstr ) . unwrap ( ) . to_string_lossy ( ) . to_string ( )
743743 } else {
744744 String :: from ( "" )
745745 }
0 commit comments