summaryrefslogtreecommitdiff
path: root/src/libjvm-android.c
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2018-02-19 13:12:57 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2018-02-19 13:12:57 +0200
commit535779b6ff5cd21590e5ed3aff3c9ae4c785e34d (patch)
tree0de3478713ad5c33d90f00194702e9520e33af7a /src/libjvm-android.c
parent12f987e88031c5cbd9ff6534b9279b11219510ac (diff)
jvm: Implement more java apis
Diffstat (limited to 'src/libjvm-android.c')
-rw-r--r--src/libjvm-android.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/libjvm-android.c b/src/libjvm-android.c
index e633347..7cece38 100644
--- a/src/libjvm-android.c
+++ b/src/libjvm-android.c
@@ -17,5 +17,32 @@ android_content_Context_getSharedPreferences(JNIEnv *env, jobject object, va_lis
jstring str = va_arg(args, jstring);
printf("%s::%d\n", (*env)->GetStringUTFChars(env, str, NULL), va_arg(args, jint));
va_end(args);
- return (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/SharedPreferences"));
+ static jobject sv;
+ return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/SharedPreferences"))));
+}
+
+jobject
+android_content_SharedPreferences_edit(JNIEnv *env, jobject object, va_list args)
+{
+ assert(env && object);
+ static jobject sv;
+ return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/SharedPreferences/Editor"))));
+}
+
+jobject
+android_content_SharedPreferences_getAll(JNIEnv *env, jobject object, va_list args)
+{
+ assert(env && object);
+ static jobject sv;
+ return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "java/util/Map"))));
+}
+
+jobject
+android_content_SharedPreferences_Editor_putInt(JNIEnv *env, jobject object, va_list args)
+{
+ assert(env && object);
+ jstring str = va_arg(args, jstring);
+ printf("%s::%d\n", (*env)->GetStringUTFChars(env, str, NULL), va_arg(args, jint));
+ va_end(args);
+ return object;
}