From 12bfb391c7ad6d14eca2c401bf4a15636b231b33 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Tue, 27 Feb 2018 13:36:46 +0200 Subject: jvm: Make java implementations optional No need to implement crap that doesn't matter for app's functionality. --- src/libjvm-android.c | 138 ++++----------------------------------------------- 1 file changed, 11 insertions(+), 127 deletions(-) (limited to 'src/libjvm-android.c') diff --git a/src/libjvm-android.c b/src/libjvm-android.c index dda4dd7..60219db 100644 --- a/src/libjvm-android.c +++ b/src/libjvm-android.c @@ -2,7 +2,6 @@ #include #include #include "jvm/jni.h" -#include "wrapper/verbose.h" jstring android_os_Build_MANUFACTURER(JNIEnv *env, jobject object) @@ -24,121 +23,37 @@ android_os_Build_PRODUCT(JNIEnv *env, jobject object) } jstring -android_content_Context_getPackageName(JNIEnv *env, jobject object, va_list args) +android_os_Build_ID(JNIEnv *env, jobject object) { - assert(env && object); - return (*env)->NewStringUTF(env, "com.gnu.linux"); + return android_os_Build_MANUFACTURER(env, object); } jstring -android_content_Context_getPackageCodePath(JNIEnv *env, jobject object, va_list args) +android_os_Build_VERSION_RELEASE(JNIEnv *env, jobject object) { assert(env && object); - return (*env)->NewStringUTF(env, "."); + return (*env)->NewStringUTF(env, "4.4.4"); } jstring -android_content_Context_POWER_SERVICE(JNIEnv *env, jobject object) +android_os_Build_VERSION_INCREMENTAL(JNIEnv *env, jobject object) { assert(env && object); - return (*env)->NewStringUTF(env, "power"); + return (*env)->NewStringUTF(env, "0"); // XXX: maybe git sha of this repo } jstring -android_content_Context_WINDOW_SERVICE(JNIEnv *env, jobject object) -{ - assert(env && object); - return (*env)->NewStringUTF(env, "window"); -} - -jobject -android_content_Context_getSystemService(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - (*env)->GetStringUTFChars(env, str, NULL); - return NULL; -} - -jint -android_content_Context_checkCallingOrSelfPermission(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - (*env)->GetStringUTFChars(env, str, NULL); - return -1; // PERMISSION_DENIED -} - -jobject -android_content_Context_getPackageManager(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/pm/PackageManager")))); -} - -jobject -android_content_pm_PackageManager_getApplicationInfo(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - verbose("%s::%d", (*env)->GetStringUTFChars(env, str, NULL), va_arg(args, jint)); - static jobject sv; - return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/pm/ApplicationInfo")))); -} - -jobject -android_content_Context_getSharedPreferences(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - (*env)->GetStringUTFChars(env, str, NULL); - verbose("%d", va_arg(args, jint)); - va_end(args); - static jobject sv; - return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/SharedPreferences")))); -} - -jint -android_content_SharedPreferences_getInt(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - verbose("%s::%d", (*env)->GetStringUTFChars(env, str, NULL), va_arg(args, jint)); - va_end(args); - return 0; -} - -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) +android_content_Context_getPackageName(JNIEnv *env, jobject object, va_list args) { assert(env && object); - jstring str = va_arg(args, jstring); - verbose("%s::%d", (*env)->GetStringUTFChars(env, str, NULL), va_arg(args, jint)); - va_end(args); - return object; + return (*env)->NewStringUTF(env, "com.miHoYo.bh3oversea"); } -void -android_content_SharedPreferences_Editor_apply(JNIEnv *env, jobject object, va_list args) +jstring +android_content_Context_getPackageCodePath(JNIEnv *env, jobject object, va_list args) { assert(env && object); + return (*env)->NewStringUTF(env, "/mnt/media/dev/android2gnulinux/apks/honkai"); } jobject @@ -149,7 +64,6 @@ android_content_Context_getExternalFilesDir(JNIEnv *env, jobject object, va_list // use `$XDG_DATA_HOME/android2gnulinux/appid` for the path jstring str = va_arg(args, jstring); (*env)->GetStringUTFChars(env, str, NULL); - va_end(args); static jobject sv; return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "java/io/File")))); } @@ -161,33 +75,3 @@ android_content_Context_getFilesDir(JNIEnv *env, jobject object, va_list args) static jobject sv; return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "java/io/File")))); } - -jobject -android_app_ApplicationErrorReport_getErrorReportReceiver(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jobject obj = va_arg(args, jobject); // android.content.Context - jstring str = va_arg(args, jstring); - jint flags = va_arg(args, jint); - (*env)->GetStringUTFChars(env, str, NULL); - verbose("%p, %d", obj, flags); - va_end(args); - static jobject sv; - return (sv ? sv : (sv = (*env)->AllocObject(env, (*env)->FindClass(env, "android/content/ComponentName")))); -} - -jstring -android_app_Activity_getPackageName(JNIEnv *env, jobject object, va_list args) -{ - // FIXME: Maybe we should be able to handle java inheritance somehow - // so we don't have to create these wrapper functions. - return android_content_Context_getPackageName(env, object, args); -} - -jstring -android_net_Uri_encode(JNIEnv *env, jobject object, va_list args) -{ - assert(env && object); - jstring str = va_arg(args, jstring); - return str; -} -- cgit v1.2.3