Files

902 lines
21 KiB
Odin
Raw Permalink Normal View History

2026-09-03 10:44:30 +02:00
// GENERATED by jnigen from the JNI spec. Do not edit.
//
// Every binding returns `ok` -- false means the class, method or field
// failed to resolve, or the call raised a Java exception (already printed
// to logcat and cleared). Class and method IDs resolve once and are cached.
package main
import "shared:android"
import "jni"
//
// Object types
//
// android/content/Context
Context :: distinct android.jobject
// android/widget/Toast
Toast :: distinct android.jobject
// java/lang/StringBuilder
StringBuilder :: distinct android.jobject
// android/os/Looper
Looper :: distinct android.jobject
// android/app/Activity
Activity :: distinct android.jobject
// android/view/Window
Window :: distinct android.jobject
// android/view/View
View :: distinct android.jobject
// android/view/WindowInsets
WindowInsets :: distinct android.jobject
// android/graphics/Insets
Insets :: distinct android.jobject
// java/lang/System.currentTimeMillis()J
system_current_time_millis :: proc() -> (result: i64, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "java/lang/System")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "currentTimeMillis", "()J")
if mid == nil {
return
}
}
_ret := env^^.CallStaticLongMethodA(env, cls, mid, nil)
if jni.failed(env) {
return
}
result = i64(_ret)
ok = true
return
}
// android/widget/Toast.makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
toast_make_text :: proc(ctx: Context, text: string, duration: i32) -> (result: Toast, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/widget/Toast")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "makeText", "(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;")
if mid == nil {
return
}
}
args := [3]android.jvalue{}
args[0].l = android.jobject(ctx)
_a1 := jni.to_jstring(env, text)
defer jni.free_local(env, android.jobject(_a1))
args[1].l = android.jobject(_a1)
args[2].i = android.jint(duration)
_ret := env^^.CallStaticObjectMethodA(env, cls, mid, raw_data(args[:]))
if jni.failed(env) {
return
}
result = Toast(_ret)
ok = true
return
}
// android/os/Looper.prepare()V
looper_prepare :: proc() -> (ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/os/Looper")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "prepare", "()V")
if mid == nil {
return
}
}
env^^.CallStaticVoidMethodA(env, cls, mid, nil)
if jni.failed(env) {
return
}
ok = true
return
}
// android/os/Looper.myLooper()Landroid/os/Looper;
looper_my_looper :: proc() -> (result: Looper, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/os/Looper")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "myLooper", "()Landroid/os/Looper;")
if mid == nil {
return
}
}
_ret := env^^.CallStaticObjectMethodA(env, cls, mid, nil)
if jni.failed(env) {
return
}
result = Looper(_ret)
ok = true
return
}
// android/widget/Toast.show()V
toast_show :: proc(self: Toast) -> (ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/widget/Toast")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "show", "()V")
if mid == nil {
return
}
}
env^^.CallVoidMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
ok = true
return
}
// java/lang/StringBuilder.append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sb_append :: proc(self: StringBuilder, s: string) -> (result: StringBuilder, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "java/lang/StringBuilder")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "append", "(Ljava/lang/String;)Ljava/lang/StringBuilder;")
if mid == nil {
return
}
}
args := [1]android.jvalue{}
_a0 := jni.to_jstring(env, s)
defer jni.free_local(env, android.jobject(_a0))
args[0].l = android.jobject(_a0)
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
if jni.failed(env) {
return
}
result = StringBuilder(_ret)
ok = true
return
}
// java/lang/StringBuilder.toString()Ljava/lang/String;
sb_to_string :: proc(self: StringBuilder, allocator := context.allocator) -> (result: string, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "java/lang/StringBuilder")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "toString", "()Ljava/lang/String;")
if mid == nil {
return
}
}
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
defer jni.free_local(env, _ret)
result = jni.from_jstring(env, android.jstring(_ret), allocator)
ok = true
return
}
// new java/lang/StringBuilder()V
sb_new :: proc() -> (result: StringBuilder, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "java/lang/StringBuilder")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "<init>", "()V")
if mid == nil {
return
}
}
_ret := env^^.NewObjectA(env, cls, mid, nil)
if jni.failed(env) {
return
}
result = StringBuilder(_ret)
ok = true
return
}
// android/os/Build$VERSION.SDK_INT : I (get)
build_sdk_int :: proc() -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/os/Build$VERSION")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.static_field_id(env, cls, "SDK_INT", "I")
if fid == nil {
return
}
}
_ret := env^^.GetStaticIntField(env, cls, fid)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/os/Build.MODEL : Ljava/lang/String; (get)
build_model :: proc(allocator := context.allocator) -> (result: string, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/os/Build")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.static_field_id(env, cls, "MODEL", "Ljava/lang/String;")
if fid == nil {
return
}
}
_ret := env^^.GetStaticObjectField(env, cls, fid)
if jni.failed(env) {
return
}
defer jni.free_local(env, _ret)
result = jni.from_jstring(env, android.jstring(_ret), allocator)
ok = true
return
}
// java/util/Arrays.sort([I)V
arrays_sort :: proc(vals: []i32) -> (ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "java/util/Arrays")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "sort", "([I)V")
if mid == nil {
return
}
}
args := [1]android.jvalue{}
_a0 := jni.to_i32_array(env, vals)
defer jni.free_local(env, android.jobject(_a0))
args[0].l = android.jobject(_a0)
env^^.CallStaticVoidMethodA(env, cls, mid, raw_data(args[:]))
if jni.failed(env) {
return
}
ok = true
return
}
// android/os/Build.SUPPORTED_ABIS : [Ljava/lang/String; (get)
build_supported_abis :: proc(allocator := context.allocator) -> (result: []string, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/os/Build")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.static_field_id(env, cls, "SUPPORTED_ABIS", "[Ljava/lang/String;")
if fid == nil {
return
}
}
_ret := env^^.GetStaticObjectField(env, cls, fid)
if jni.failed(env) {
return
}
defer jni.free_local(env, _ret)
result = jni.from_string_array(env, android.jobjectArray(_ret), allocator)
ok = true
return
}
// android/app/Activity.getWindow()Landroid/view/Window;
activity_get_window :: proc(self: Activity) -> (result: Window, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/app/Activity")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getWindow", "()Landroid/view/Window;")
if mid == nil {
return
}
}
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = Window(_ret)
ok = true
return
}
// android/view/Window.getDecorView()Landroid/view/View;
window_get_decor_view :: proc(self: Window) -> (result: View, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/Window")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getDecorView", "()Landroid/view/View;")
if mid == nil {
return
}
}
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = View(_ret)
ok = true
return
}
// android/view/View.getRootWindowInsets()Landroid/view/WindowInsets;
view_get_root_window_insets :: proc(self: View) -> (result: WindowInsets, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/View")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getRootWindowInsets", "()Landroid/view/WindowInsets;")
if mid == nil {
return
}
}
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = WindowInsets(_ret)
ok = true
return
}
// android/view/WindowInsets$Type.systemBars()I
insets_type_system_bars :: proc() -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets$Type")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "systemBars", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallStaticIntMethodA(env, cls, mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets$Type.displayCutout()I
insets_type_display_cutout :: proc() -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets$Type")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.static_method_id(env, cls, "displayCutout", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallStaticIntMethodA(env, cls, mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets.getInsetsIgnoringVisibility(I)Landroid/graphics/Insets;
window_insets_get_ignoring_visibility :: proc(self: WindowInsets, type_mask: i32) -> (result: Insets, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getInsetsIgnoringVisibility", "(I)Landroid/graphics/Insets;")
if mid == nil {
return
}
}
args := [1]android.jvalue{}
args[0].i = android.jint(type_mask)
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
if jni.failed(env) {
return
}
result = Insets(_ret)
ok = true
return
}
// android/view/WindowInsets.getInsets(I)Landroid/graphics/Insets;
window_insets_get :: proc(self: WindowInsets, type_mask: i32) -> (result: Insets, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getInsets", "(I)Landroid/graphics/Insets;")
if mid == nil {
return
}
}
args := [1]android.jvalue{}
args[0].i = android.jint(type_mask)
_ret := env^^.CallObjectMethodA(env, android.jobject(self), mid, raw_data(args[:]))
if jni.failed(env) {
return
}
result = Insets(_ret)
ok = true
return
}
// android/graphics/Insets.left : I (get)
insets_left :: proc(self: Insets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/graphics/Insets")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.field_id(env, cls, "left", "I")
if fid == nil {
return
}
}
_ret := env^^.GetIntField(env, android.jobject(self), fid)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/graphics/Insets.top : I (get)
insets_top :: proc(self: Insets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/graphics/Insets")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.field_id(env, cls, "top", "I")
if fid == nil {
return
}
}
_ret := env^^.GetIntField(env, android.jobject(self), fid)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/graphics/Insets.right : I (get)
insets_right :: proc(self: Insets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/graphics/Insets")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.field_id(env, cls, "right", "I")
if fid == nil {
return
}
}
_ret := env^^.GetIntField(env, android.jobject(self), fid)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/graphics/Insets.bottom : I (get)
insets_bottom :: proc(self: Insets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/graphics/Insets")
if cls == nil {
return
}
}
@(static) fid: android.jfieldID
if fid == nil {
fid = jni.field_id(env, cls, "bottom", "I")
if fid == nil {
return
}
}
_ret := env^^.GetIntField(env, android.jobject(self), fid)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets.getSystemWindowInsetLeft()I
window_insets_sys_left :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getSystemWindowInsetLeft", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets.getSystemWindowInsetTop()I
window_insets_sys_top :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getSystemWindowInsetTop", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets.getSystemWindowInsetRight()I
window_insets_sys_right :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getSystemWindowInsetRight", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}
// android/view/WindowInsets.getSystemWindowInsetBottom()I
window_insets_sys_bottom :: proc(self: WindowInsets) -> (result: i32, ok: bool) {
env := jni.env()
if env == nil {
return
}
@(static) cls: android.jclass
if cls == nil {
cls = jni.class_ref(env, "android/view/WindowInsets")
if cls == nil {
return
}
}
@(static) mid: android.jmethodID
if mid == nil {
mid = jni.method_id(env, cls, "getSystemWindowInsetBottom", "()I")
if mid == nil {
return
}
}
_ret := env^^.CallIntMethodA(env, android.jobject(self), mid, nil)
if jni.failed(env) {
return
}
result = i32(_ret)
ok = true
return
}