From cb6cf5e257c25d6d80a30ad8cb34181738524cc8 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Wed, 16 Sep 2015 01:09:39 +0300
Subject: [PATCH] unix/modjni: Add env() module function.

Useful to load native method libraries not loaded by VM (as happens on
Android).
---
 unix/modjni.c       | 6 ++++++
 unix/qstrdefsport.h | 1 +
 2 files changed, 7 insertions(+)

diff --git a/unix/modjni.c b/unix/modjni.c
index ddf7fb0ff..5fc4dca35 100644
--- a/unix/modjni.c
+++ b/unix/modjni.c
@@ -409,9 +409,15 @@ STATIC mp_obj_t mod_jni_cls(mp_obj_t cls_name_in) {
 }
 MP_DEFINE_CONST_FUN_OBJ_1(mod_jni_cls_obj, mod_jni_cls);
 
+STATIC mp_obj_t mod_jni_env() {
+    return mp_obj_new_int((mp_int_t)env);
+}
+MP_DEFINE_CONST_FUN_OBJ_0(mod_jni_env_obj, mod_jni_env);
+
 STATIC const mp_map_elem_t mp_module_jni_globals_table[] = {
     { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_OBJ_NEW_QSTR(MP_QSTR_jni) },
     { MP_OBJ_NEW_QSTR(MP_QSTR_cls), (mp_obj_t)&mod_jni_cls_obj },
+    { MP_OBJ_NEW_QSTR(MP_QSTR_env), (mp_obj_t)&mod_jni_env_obj },
 };
 
 STATIC MP_DEFINE_CONST_DICT(mp_module_jni_globals, mp_module_jni_globals_table);
diff --git a/unix/qstrdefsport.h b/unix/qstrdefsport.h
index 0ae8f8007..a04f4b9ed 100644
--- a/unix/qstrdefsport.h
+++ b/unix/qstrdefsport.h
@@ -106,6 +106,7 @@ Q(B115200)
 #if MICROPY_PY_JNI
 Q(jni)
 Q(cls)
+Q(env)
 Q(jclass)
 Q(jobject)
 Q(jmethod)
-- 
GitLab