From 535779b6ff5cd21590e5ed3aff3c9ae4c785e34d Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 19 Feb 2018 13:12:57 +0200 Subject: jvm: Implement more java apis --- src/libjvm-android.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/libjvm-android.c') 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; } -- cgit v1.2.3