summaryrefslogtreecommitdiff
path: root/src/libjvm-android.c
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2018-02-27 13:36:46 +0200
committerJari Vetoniemi <mailroxas@gmail.com>2018-02-27 13:43:05 +0200
commit12bfb391c7ad6d14eca2c401bf4a15636b231b33 (patch)
tree7ffc827805dca0dee770570ebfd7b184c86ef4e4 /src/libjvm-android.c
parent73001513015f3dcbcd9172ee3bc4686a1e983bcb (diff)
jvm: Make java implementations optional
No need to implement crap that doesn't matter for app's functionality.
Diffstat (limited to 'src/libjvm-android.c')
-rw-r--r--src/libjvm-android.c138
1 files changed, 11 insertions, 127 deletions
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 <stdio.h>
#include <assert.h>
#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;
-}